Посимвольное чтение файла в VB6 |
Здравствуйте, гость ( Вход | Регистрация )
Посимвольное чтение файла в VB6 |
14.11.2007 - 12:25
Вставить ник | Быстрая цитата | Сообщение
#1
|
|
Продвинутый новичок Группа: Участник Сообщений: 58 Регистрация: 16.01.2005 Пользователь №: 6152 |
Народ! Столкнулся с такой проблемой:
Имеется текстовой файл в 1 строку без enter'ов длиной 10000+ символов. Необходимо его прочитать и обработать. Ну для начала вставить эти самые enter'ы на соответствующие места... Вопрос как это сделать? FileNum1 = FreeFile Open Name1 For Input As #FileNum1 Do Until EOF(FileNum1) Line Input #FileNum1, Stroka1 '*********** loop Пытается "проглотить" строку целиком и пишет ошибку |
|
|
14.11.2007 - 12:46
Вставить ник | Быстрая цитата | Сообщение
#2
|
|
Частый гость Группа: Участник Сообщений: 204 Регистрация: 30.05.2005 Пользователь №: 8240 |
CODE Dim arrFile() As Byte Dim nFile As Integer Dim szDump As Long nFile = FreeFile Open FileName For Binary As #nFile ReDim arrFile(1 To (LOF(nFile))) szDump = UBound(arrFile) Get #nFile, , arrFile Close #nFile CODE Dim fso As Object Dim f As Stream Dim s As String Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile(FileName, 1) s = f.ReadAll f.Close Set f = Nothing Set fso = Nothing Выбирай что больше нравится или пиши по аналогии Сообщение отредактировано Akina - 14.11.2007 - 12:48 |
|
|
14.11.2007 - 12:57
Вставить ник | Быстрая цитата | Сообщение
#3
|
|
Продвинутый новичок Группа: Участник Сообщений: 58 Регистрация: 16.01.2005 Пользователь №: 6152 |
Сенкс!
Счас потестю. |
|
|
14.11.2007 - 13:01
Вставить ник | Быстрая цитата | Сообщение
#4
|
|
Частый гость Группа: Участник Сообщений: 204 Регистрация: 30.05.2005 Пользователь №: 8240 |
Обрати внимание - в первом случае ты получишь массив байтов, во втором - строку.
|
|
|
14.11.2007 - 13:18
Вставить ник | Быстрая цитата | Сообщение
#5
|
|
Bill rulz ^^ Группа: Участник Сообщений: 1418 Регистрация: 28.09.2003 Пользователь №: 24 |
Если это не какая-нибудь лаба типа "сдал, забыл", стоит уже разрюхать WinAPI. Проги написанные с использованием API функий обычно работают значительно быстрее
Поставить эти две поги которые очень сильно помогают: API-Viewer: ]]>http://www.activevb.de/rubriken/apiviewer/...iviewereng.html]]> Почти все API функции, но без примеров их использования. API-Guide: ]]>http://allapi.mentalis.org/agnet/appdown.shtml]]> Только часто используемые API функции, но зато все с примерами. Сообщение отредактировано SHADE - 14.11.2007 - 13:19 |
|
|
14.11.2007 - 13:24
Вставить ник | Быстрая цитата | Сообщение
#6
|
|
Частый гость Группа: Участник Сообщений: 204 Регистрация: 30.05.2005 Пользователь №: 8240 |
Если это не какая-нибудь лаба типа "сдал, забыл", стоит уже разрюхать WinAPI. Проги написанные с использованием API функий обычно работают значительно быстрее Позвольте не согласиться. Scripting Runtime Functions после компиляции дают практически тот же код. А строить обертку что руками, что через создание объекта - один хрен. К тому же API-код в Visual Basic более трудоемок и гораздо хуже сопровождаем. |
|
|
15.11.2007 - 00:34
Вставить ник | Быстрая цитата | Сообщение
#7
|
|
Bill rulz ^^ Группа: Участник Сообщений: 1418 Регистрация: 28.09.2003 Пользователь №: 24 |
Позвольте не согласиться. Scripting Runtime Functions после компиляции дают практически тот же код. А строить обертку что руками, что через создание объекта - один хрен. К тому же API-код в Visual Basic более трудоемок и гораздо хуже сопровождаем. Для текстового файла может быть, а если захочется погонять бинари то FSO не совсем для этого преднозначен, я бы даже сказал что его не стоит для этого использовать. |
|
|
15.11.2007 - 10:14
Вставить ник | Быстрая цитата | Сообщение
#8
|
|
Частый гость Группа: Участник Сообщений: 204 Регистрация: 30.05.2005 Пользователь №: 8240 |
Если метод ReadLine действительно ориентирован на таботу с текстовыми файлами, то Read и ReadAll - на работу с произвольными, в т.ч. бинарными, файлами.
И потом - понятие "текстовый" файл от "бинарного" отличается только тем, что МЫ особым образом интерпретируем некоторые байты и байтовые сочетания, не более того. Т.е. "текстовый" доступ фактически отличается наличием дополнительного парсинга. А это как раз обертка. |
|
|
Текстовая версия | Сейчас: 25.04.2024 - 04:12 |