Страница: 1 |
Страница: 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
А чё б не сразу?
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-сайт:
Профиль | | #6
Добавлено: 02.09.05 00:41
Private Function sTextFile(sFile As String)As String
 im 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-сайт:
Профиль | | #7
Добавлено: 02.09.05 12:13
Ну прям тут все высказалися )
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 и не выкладываю, все и так знают.