Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Чтение текста из файла НЕ по одному символу Добавлено: 01.09.05 06:42  

Автор вопроса:  Olga
Здравствуйте,
ребят, помогите пожалуйста:
Есть текстовый файл, который я считываю в переменную:
    Open FileName For Input As FileNum
        FileLenght = LOF(FileNum)
        Do While Not EOF(FileNum)
            MyChar = Input(1, #FileNum)
            textSource = textSource & MyChar
        Loop
     Close #FileNum
На маленьких файлах - все отлично, тяжелые же обрабатываются по 1 символу больше минуты(!), что естст-нно не очень удобно.
Вопрос: есть ли другие способы чтения данных из файла - не посимвольно, или как это все можно ускорить???

Ответить

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

Номер ответа: 1
Автор ответа:
 aleksander



Вопросов: 5
Ответов: 6
 Профиль | | #1 Добавлено: 01.09.05 08:41

Попробуйи так
...........
Dim textSource as String
Set textSource=""
...........
textSource=textSource & vbCr &input(1,#FileNum)
...........
вроде должно сработать

Ответить

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



Вопросов: 5
Ответов: 6
 Профиль | | #2 Добавлено: 01.09.05 08:56
Dim FileNum As Integer
Dim txt As String
Dim textSource As String
FileNum = FreeFile
Open FileName For Input As FileNum
Do Until EOF(FileNum)
  Line Input #FileNum, txt
  textSource = textSource + txt + vbCrLf
Loop

Лучше используй этот код

____ Здесь по строковое считывание ________

Ответить

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



Вопросов: 2
Ответов: 1
 Профиль | | #3 Добавлено: 01.09.05 09:14
Отлично!
Спасибо большое!
2-ой вариант - то что надо!

Ответить

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



Вопросов: 0
Ответов: 1876


 Профиль | | #4 Добавлено: 01.09.05 12:46
А чё б не сразу?

dim f as integer, textSource as string

f=freefile
open "file" for input access read as #f
textSource=input$(lof(f),f)
close #f

Ответить

Номер ответа: 5
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #5 Добавлено: 01.09.05 21:23

Private Function LoadTextFile(path As String) As String
'Загрузка файла в переменную
 Dim l As Long
 Dim s As String
 n = FreeFile
 Open path For Binary As #n
 l = LOF(n)
 s = String(l, vbNullChar)
 Get n, , s
 Close #n
 LoadTextFile = s
End Function

Ответить

Номер ответа: 6
Автор ответа:
 Alex



Вопросов: 13
Ответов: 26
 Web-сайт: metalosplav.ru
 Профиль | | #6
Добавлено: 02.09.05 00:41
Private Function sTextFile(sFile As String)As String
 ;Dim txt As String
  Open FileName For Binary Access Read #1
   txt=Space$(LOF(1))
   Get #1,,txt
  Close #1
 sTextFile=txt
End Function

Ответить

Номер ответа: 7
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #7
Добавлено: 02.09.05 12:13
Ну прям тут все высказалися :))

Private Function sTextFile(ByRef sFile As String)As String
    Dim nf As Integer

    nf = FreeFile()
    Open sFile For Binary Access Read Lock Write As nf
        sTextFile = Space$(LOF(nf))
        Get nf, vbNull, sTextFile
    Close nf
End Function

Ответить

Номер ответа: 8
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #8 Добавлено: 02.09.05 12:23
Ну прям тут все высказалися

Действительно, повторяться уже начали. Уж через FSO и не выкладываю, все и так знают.

Ответить

Страница: 1 |

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



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