Показать полную графическую версию : [решено] Stop цикл при обнаружении нужного значения из файла
Доброе время суток.
Set fso = CreateObject("Scripting.FileSystemObject")
Set txtStream = fso.OpenTextFile("C:\List.txt") ' Этот файл существует, то есть проверка наличия файла пропускается
Do While Not (txtStream.atEndOfStream)
Text=Text & txtStream.ReadLine & vbCrLf
Loop
Этот код прочитывает строки из файла.
В файле ("C:\List.txt") записаны следующие данные в пять строчек: one, two, three, four, five.
Мне нужно, чтобы при обнаружении значения "three" цикл остановился и присвоил бы найденное значение какой-нибудь строковой переменной, чтобы потом я вывел бы это значение оператором WScript.Echo. Подумал может структура if then поможет, но у меня ничего не вышло. Жду ваших поддержок.
Заранее спасибо.
Petya V4sechkin
26-01-2009, 12:43
Мне нужно, чтобы при обнаружении значения "three" цикл остановился и присвоил бы найденное значение какой-нибудь строковой переменной
Присвоил бы найденное значение "three" какой-нибудь строковой переменной?
Поясните.
Присвоил бы найденное значение "three" какой-нибудь строковой переменной?
Поясните. »
Цикл получает условие проверки (в данном случае не достигнут ли конец файла).
Далее в теле цикла выполняется оператор, который прочитывает строки файла (содержимое файла включает в себя пять строчек со следующими записями: 1-ая строка - one, 2-ая строка - two, третяя строка -three, четвертая строка - four, пятая строка - five.
Прочитал первую строку, обнаружил запись one, перешел ко второй строке, обнаружил запись two, перешел к третьей строке, обнаружил запись three (опа, то что нам надо). Именно в этом момент надо прекратить выполнение цикла (если явно не завершить выполнение цикла то оно будет продолжаться пока не дойдет конца строки, условие проверки в заголовке цикла говорит об этом.) и присвоить строку "three" строковой переменной.
Надеюсь смог изложить то, что мне нужно. Если что спросите пожалуйста, может я не так излагаюсь.
Одним словом мне нужно проходить по записям файла и найдя нужную мне запись остановится и присвоить это значение строковой переменной.
Заранее спасибо.
Petya V4sechkin
26-01-2009, 14:51
Set fso = CreateObject("Scripting.FileSystemObject")
Set txtStream = fso.OpenTextFile("C:\List.txt") ' Этот файл существует, то есть проверка наличия файла пропускается
V = ""
Do While Not txtStream.atEndOfStream And V <> "three"
V = txtStream.ReadLine
Text = Text & V & vbCrLf
Loop
Set fso = CreateObject("Scripting.FileSystemObject")
Set txtStream = fso.OpenTextFile("C:\List.txt") ' Этот файл существует, то есть проверка наличия файла пропускается
V = ""
Do While Not txtStream.atEndOfStream And V <> "three"
V = txtStream.ReadLine
Text = Text & V & vbCrLf
Loop »
Спасибо большое. Это именно то, что я хотел.
Спасибо всем.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC