Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Читать текстовый файл Добавлено: 12.08.03 23:07  

Автор вопроса:  denver_t

Есть некий текстовый файл.

Как этот файл прочитать построчно ??? То есть целую сторку, учитывая что длины строк все разные, а файл обычный текстовый.

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 Алексей



black  admin

ICQ: 261779681 

Вопросов: 87
Ответов: 633
 Web-сайт: aleksey.nemiro.ru
 Профиль | | #1
Добавлено: 13.08.03 05:39

Dim s As String

Open Имя_файла For Input As #1

Line Input #1, s

MsgBox s ' Покажет первую строку файла

close

Ответить

Номер ответа: 2
Автор ответа:
 Malyav



ICQ: 8440085 

Вопросов: 15
Ответов: 117
 Web-сайт: malyav.narod.ru
 Профиль | | #2
Добавлено: 13.08.03 09:05

А еще можно воспользоваться FSO (File System Object насколько помню) там много возможностей. В меню Project/Referenceы выбрать Microsoft Scripting Runtime. Примеров использования FSO в сети много.

Ответить

Номер ответа: 3
Автор ответа:
 neon2k



Вопросов: 6
Ответов: 3
 Профиль | | #3 Добавлено: 14.08.03 04:17

Чтоб прочитать строки используй ето:

open "myfile.txt" for append as #1

DO WHILE NOT EOF(1)

LINE INPUT #1, REC

text1.text=rec

LOOP

close

Вот и все!

Ответить

Номер ответа: 4
Автор ответа:
 serv



ICQ: 165774570 

Вопросов: 0
Ответов: 2
 Профиль | | #4 Добавлено: 14.08.03 14:45

Привет всем!

Бывает (правда редко), когда надо считать юниксовый текстовый файл. Если файл был скачен в виндовую среду и в ней начинается обрабатываться (читаться), то может возникнуть следующая проблема: при чтении командой Line Input будет считаны все строки в одну переменную, поэтому лучше применить приблезительно следующий код для чтения:

Dim ArrRows() As String
Dim myArryTotal() As String
Dim OMS_Files As String
Dim CountOfRows As Double
CountOfRows = 0
OMS_Files = "H:\Temp\010103.db"

Open OMS_Files For Input As #10
Do While Not EOF(10)
    Line Input #10, sAllFile
    myArryTotal = Split(sAllFile, Chr(10))
    For I = 0 To UBound(myArryTotal)
        ReDim Preserve ArrRows(CountOfRows)
        ArrRows(CountOfRows) = myArryTotal(I)
        CountOfRows = CountOfRows + 1
    Next I
Loop
Close #10

P.S. На имена переменных просьба особо внимания не обращать, т.к. взяты из куска проги. Кто хочет проверить , могу переслать пару тестовых файла

 

 

Ответить

Номер ответа: 5
Автор ответа:
 -=sashOK=-



Вопросов: 10
Ответов: 19
 Профиль | | #5 Добавлено: 15.08.03 08:25

а с FSO можно сделать так :

Public fso As New FileSystemObject
Public txt As TextStream
Public fil As File

--------------------------------------------------------------------------

private  sub form_load()

Set fil = fso.GetFile(имя файла в ковычках)
Set txt = fil.OpenAsTextStream(ForReading)

 

txt.read(переменная) - читает текущую строку

txt.readline(переменная) - читает текущую строку и переводит на следующую

txt.skip(кол-во) - пропускает кол-во строк 

txt.skipline - пропускает одну строку

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам