[ Обновленные темы · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Andrey_A, ХарВик, chip642  
Присвоение переменной (VBS скрипт)
turoc1Дата: Вторник, 19.01.2016, 12:06 | Сообщение № 1
Рядовой

На сайте с: 08.01.2016
Город: Ростов-на-Дону
Сообщений: 4
Награды: 0
Репутация: 0
Здарова ВСЕМ.
Люди помогите незнающему . Есть скрипт который читает и выводит в окне последние 3 строки в TXT файле. Так как сделать так чтоб не выводить последние три строчки , а просто присвоить переменные отдельно например (в файле 5 строчек 1,2,3,4,5 нужно чтоб было так 1=a, 2=b, 3=c ну и так далее . Повторюсь знание VBS у меня =0. Поэтому если можно помогите.
Вот скрипт.
Код
Option Explicit

Dim strPath
Dim lngLines

Dim objFSO
Dim objTS

Dim i
Dim j

strPath = "d:\xdx\testreadfile.txt" ' Путь к текстовому файлу
lngLines = 3 ' Количество потребных последних строк

ReDim arrLines(lngLines - 1) ' Массив для организации очереди из считываемых строк

Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(strPath)

With objTS
i = 0

Do Until .AtEndOfStream
arrLines(i) = .ReadLine()

i = (i + 1) Mod lngLines
Loop

.Close
End With

Set objTS = Nothing
Set objFSO = Nothing

For j = 0 To lngLines - 1
WScript.Echo arrLines((i + j) Mod lngLines)
Next

WScript.Quit 0


Сообщение отредактировал turoc1 - Вторник, 19.01.2016, 15:15
 
Andrey_AДата: Вторник, 19.01.2016, 15:38 | Сообщение № 2
Генералиссимус

На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
turoc1, видимо это не вся задача, которая нужна (желательно озвучивать всю...), т.к. после присвоения последних 3-х строчек переменным что-то надо ещё.
Там присваивать нечего т.к. и так все присвоено, а именно строки хранятся в массиве arrLines

т.е
arrLines(0) - строчка 1
arrLines(1) - строчка 2
arrLines(2) - строчка 3
...
arrLines(N) - строчка N-1

именно эти переменные можно и использовать, вот пример их использования:

Код
strPath = "d:\xdx\testreadfile.txt" ' Путь к текстовому файлу
lngLines = 3 ' Количество потребных последних строк

ReDim arrLines(lngLines - 1) ' Массив для организации очереди из считываемых строк
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objTS = objFSO.OpenTextFile(strPath)

With objTS
  i = 0
  Do Until .AtEndOfStream
    arrLines(i) = .ReadLine()
    i = (i + 1) Mod lngLines
  Loop
  .Close
End With

Set objTS = Nothing
Set objFSO = Nothing
MsgBox "Выражение arrLines(0) =" & vbNewLine & "<" & arrLines(0) & ">"
MsgBox "Выражение arrLines(1) =" & vbNewLine & "<" & arrLines(1) & ">"
MsgBox "Выражение arrLines(2) =" & vbNewLine & "<" & arrLines(2) & ">"

' For j = 0 To lngLines - 1
' WScript.Echo arrLines((i + j) Mod lngLines)
' Next

WScript.Quit


.


 
turoc1Дата: Вторник, 19.01.2016, 16:25 | Сообщение № 3
Рядовой

На сайте с: 08.01.2016
Город: Ростов-на-Дону
Сообщений: 4
Награды: 0
Репутация: 0
Спасибо за быстрый ответ. Сейчас буду пробывать. up
 
  • Страница 1 из 1
  • 1
Поиск:

Интеллектуальные права и отказ от ответственности