|
|
|
EOF(#) и текстовый файл
|
|||
|---|---|---|---|
|
#18+
Есть некоторое не удобство, читаю текстовый файл при помощи : Open Fname.Text For Input As #1 Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2004, 13:20:32 |
|
||
|
EOF(#) и текстовый файл
|
|||
|---|---|---|---|
|
#18+
Если читается простой текстовый файл, то программа правильная. OD - код конца строки OA- код перехода на новую строку Line Input должен считывать строку до этой пары кодов, потом другуй и т.д. Может выложишь кусок своего файла со странностями, покумекаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 13:29:08 |
|
||
|
EOF(#) и текстовый файл
|
|||
|---|---|---|---|
|
#18+
A4 AA AB EE E7 A0 A9 E2 │ A5 E1 EC 21 20 8C EB 20 A1 E3 A4 A5 AC 20 A6 A4 │ A0 E2 EC 20 A2 A0 E1 20 A2 20 E1 A5 E2 A8 2E 0D │ 0A 0D 0A 20 20 20 20 91 AE 20 20 A2 E1 A5 AC A8 │ 20 20 A2 AE AF E0 AE E1 A0 AC A8 2C 20 20 A2 20 │ E2 AE AC 20 20 E7 A8 E1 AB A5 20 20 E1 20 A2 AE │ AF E0 AE E1 A0 AC A8 20 20 AE 20 AF AE A4 AA AB │ EE E7 A5 AD A8 A8 2C 20 AC AE A6 A5 E2 A5 0D 0A │ 20 20 20 20 AE A1 E0 A0 E9 A0 E2 EC E1 EF 20 AA │ 20 4E 43 20 2D 20 32 3A 35 30 33 30 2F 31 35 31 │ 37 20 28 49 67 6F 72 20 44 76 6F 72 79 61 6E 6F │ 76 29 2E 0D 0A 20 20 20 20 28 69 32 64 5F 42 42 │ 53 20 35 39 30 2D 38 36 35 31 20 32 33 3A 30 30 │ 2D 31 31 3A 30 30 29 0D 0A 0D 0A 1A 0D 0A 0D 0A │ 2D 2D 2D 0D 0A 20 2A 20 4F 72 69 67 69 6E 3A 20 │ 8E E1 E2 A0 AD AE A2 A8 E2 A5 20 87 A5 AC AB EE │ 2C 2E 2E EF 20 E1 AE A9 Файл всего 1.9 Гб, пока ищу пакетный обработчик, помянять 0a на 32, но это не выход. Так как на подходе еще один такой файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 14:24:34 |
|
||
|
EOF(#) и текстовый файл
|
|||
|---|---|---|---|
|
#18+
Немного дополню. Если в текстовом файле есть символ 1A то eof возвращает конец файла...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2004, 15:20:15 |
|
||
|
EOF(#) и текстовый файл
|
|||
|---|---|---|---|
|
#18+
Честно говоря, не знаю что и сказать. У меня все работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 15:00:52 |
|
||
|
EOF(#) и текстовый файл
|
|||
|---|---|---|---|
|
#18+
BolikЧестно говоря, не знаю что и сказать. У меня все работает. Не должно ! =) Текст постил в hex. Вообще в ехе по дельфи сказано, что 1A это и есть конец файла. Похоже так и есть, тогда остается 2 решения: 1. Читать файл как binary и функцией передавать часть текста по строкам, т.е. функция читает файл как бинарный, но возвращает только по строчно. 2. Найти прогу, которая изменить все байты 1A на 20, допустим. Если у кого есть работающие примеры по п.1 то pls выложите. По п.2 в дебрях инета не нашел ничего подходящего, почти все проги меняют только символы начиная с 20 или не тянуть 1.8 Гб файлы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2004, 16:50:06 |
|
||
|
EOF(#) и текстовый файл
|
|||
|---|---|---|---|
|
#18+
MikeTech Не должно ! =) ................... 1. Читать файл как binary Стоп-стоп-стоп. Объясните мне дураку - это вообще что за файл? Что Вы выложили на форум? Если ваш файл открыть в блокноте и он выглядит так как вы запостили сюда - то тогда все работало, работает и будет работать!!! Если же это вид файла в HEX-режиме, то тогда ПОЧЕМУ вы читаете его как текстовый??? Его естественно надо читать как binary. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2004, 14:59:39 |
|
||
|
EOF(#) и текстовый файл
|
|||
|---|---|---|---|
|
#18+
В hex можно точно сохранить содержимое, в атаче пример файла. Если его открыть как текстовый, то до конца он не читается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2004, 15:16:14 |
|
||
|
EOF(#) и текстовый файл
|
|||
|---|---|---|---|
|
#18+
Правильно ли я понял, что вам нужно парсить именно такие файлы? То есть у файла есть "голова", которую иначе как plain text воспринять нельзя и тело? Тело, которое является частью какого-то архива и соответственно должно читаться как binary ??? Если кругом да, то я не понимаю вопроса. Открывать файл как Random и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2004, 09:57:35 |
|
||
|
EOF(#) и текстовый файл
|
|||
|---|---|---|---|
|
#18+
BolikПравильно ли я понял, что вам нужно парсить именно такие файлы? То есть у файла есть "голова", которую иначе как plain text воспринять нельзя и тело? Тело, которое является частью какого-то архива и соответственно должно читаться как binary ??? Если кругом да, то я не понимаю вопроса. Открывать файл как Random и все. Это часть файла. Тело всегда text, в примере был кодированый файл для передачи по обычным каналам почтой (uue).Как random все читать нельзя. Опять же как я говорил раньше, если написать функцию которая откроет файл как binary, но будет возвращать строки, то это выход. Есть ли такая рабочая прога ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2004, 16:17:51 |
|
||
|
EOF(#) и текстовый файл
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2004, 16:52:48 |
|
||
|
EOF(#) и текстовый файл
|
|||
|---|---|---|---|
|
#18+
Если все так было просто. Файл как binary открыть не сложно, но читать именно по строкам.....? (длинна строки ограничена 255 символов) =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 10:03:59 |
|
||
|
EOF(#) и текстовый файл
|
|||
|---|---|---|---|
|
#18+
MikeTechно читать именно по строкам - что значит по строкам? Есть два варианта: 1 - Строки фиксированной длины? 2 - Стороки с разделителями. если да, то какими кодами символов они разделяются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 10:28:00 |
|
||
|
EOF(#) и текстовый файл
|
|||
|---|---|---|---|
|
#18+
marvan MikeTechно читать именно по строкам - что значит по строкам? Есть два варианта: 1 - Строки фиксированной длины? 2 - Стороки с разделителями. если да, то какими кодами символов они разделяются Когда мы читаем файл как binary то можно прочитать только определенное кол-ва байт. А в текстовом файле конец строки есть 0D 0A. Т.е. как я себе представляю, читаем 255 байт, находим там конец строки, перемешаем позицию в файле после 0D 0A и передаем эту строку и т.д. и т.п. Есть готовые варианты ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 13:08:23 |
|
||
|
EOF(#) и текстовый файл
|
|||
|---|---|---|---|
|
#18+
А почему только по 255 байт? - читать надо порциями как можно ближе к 64К - размер буфера чтения, если я не ошибаюсь. ну можно еще пробежаться по файлу, понаходить и позапоминать все позиции конца строки и потом уже читать только то, что надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 18:09:47 |
|
||
|
EOF(#) и текстовый файл
|
|||
|---|---|---|---|
|
#18+
Есть готовые варианты ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 18:19:08 |
|
||
|
|

start [/forum/topic.php?fid=60&gotonew=1&tid=2168744]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
11ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 342ms |

| 0 / 0 |
