Подскажите пожалуйста,как прочитать нужную строку из файла txt в форму VB,при этом в файле много строк...
Здравствуйте, ALEx2007, Вы писали:
ALE>Подскажите пожалуйста,как прочитать нужную строку из файла txt в форму VB,при этом в файле много строк...
Чёйта поиск не загружаиЦЦа, так что сам ищщи: "FileSystemObject+(OpenTextFile|OpenAsTextStream)".
Ну ещё на
www.firststeps.ru посмотри (те же слова).
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков
Здравствуйте, ZAMUNDA, Вы писали:
ZAM>Здравствуйте, ALEx2007, Вы писали:
ALE>>Подскажите пожалуйста,как прочитать нужную строку из файла txt в форму VB,при этом в файле много строк...
ZAM>Чёйта поиск не загружаиЦЦа, так что сам ищщи: "FileSystemObject+(OpenTextFile|OpenAsTextStream)".
ZAM>Ну ещё на www.firststeps.ru посмотри (те же слова).
Ну чего в дебри лезть и подключать чего-то?
Есть стандартные же грабли
FileNum = FreeFile
Open "чота.txt" For Input As #FileNum
Do Until Eof(FileNum)
Line Input #FileNum, Stroka
Debug.Print Stroka
Loop
Close #FileNum
Нафига изобретать ласапед? При таком подходе можно вообще посоветовать использовать ADODB.Stream как редкий и мучительный способ самоистязания.
Живите проще.
Здравствуйте, Gromo.Boy, Вы писали:
Ну по мотивам нашего с тобой разговора в макдоне...
GB>Нафига изобретать ласапед?
FileSystemObject был сделан в VB6, чтоб уйти от неудобного и морально устаревшего синтаксиса работы с файлами, который был в предыдущих версиях. Оставлено это животное для совместимости.
Когда я осваивал VB6, мне этот синтаксис с трудом давался и когда я узнал про FSO, то с радостью забыл про него.
Впрочем вам, линуксоидам, не понять. ;)
GB>При таком подходе можно вообще посоветовать использовать ADODB.Stream как редкий и мучительный способ самоистязания.
Плохое сравнение. Проще говоря, удар ниже пояса.
GB>Живите проще.
Куда уж прощще-то:
Dim FSO As New FileSystemObject
Dim TS As TextStream
Set TS = FSO.OpenTextFile("чота.txt", ForReading, False, TristateFalse)
Do Until TS.AtEndOfStream
Debug.Print TS.ReadLine() 'Там ещё SkipLine есть. ;-)
Loop
TS.Close 'Это можно и не делать
Кстати, прошу заметить, что TextStream, после выхода из функции (в т.ч. по ошибке) уничтожится и освободит файл. А #FileNum будет жив пока приложение не выгрузится или Close не сделают.
Из этого всего неясно только две вещщи:
1) Откуда берётся FileSystemObject и TextStream.
2) Последний параметр OpenTextFile.
Отвечаю:
1) Project->References там в большом списке находим "Microsoft Scripting Runtime" и ставим напротив галку. И это НАДО уметь делать, если на VB6 пишешь, так что эта ЖОП@ нам только на пользу.
2) Ну и навсяк, предпоследний это грохнуться если файл не найден (false) или создать новый (true). Последний параметр: TristateFalse ANSI (Win-1251) файл, TristateTrue -- UNICODE файл, TristateUseDefault автоопределение формата, а TristateMixed вообще для файла в котором и ANSI и UNICODE символы. А вот "Open ..." только ANSI понимает, а UNICODE в страшные крякозябры превращает и надо делать StrConv.
Ну и
обращаясь к общественности, могу предложить "+" или "-" поставить в
моёмАвтор: ZAMUNDA
Дата: 23.05.07
или в
Gromo.BoyАвтор: Gromo.Boy
Дата: 24.05.07
сообщении.
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков