|
|
|
BMP формат
|
|||
|---|---|---|---|
|
#18+
Считывание кодов BMP файла языком QB64 часто останавливается, не достигая конца файла. При этом следует сообщение, что файл закончен, хотя это на самом деле не так. Кто посоветует, как все коды до конца считывать? Требуется статистическая обработка сочетаний кодов в ВМР файлах. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2010, 20:50:04 |
|
||
|
BMP формат
|
|||
|---|---|---|---|
|
#18+
serg111777 , может функция, которой Вы пользуетесь, читает порциями максимум по 32,765 bytes и надо сделать чтение в цикле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2010, 00:27:15 |
|
||
|
BMP формат
|
|||
|---|---|---|---|
|
#18+
AIS, она и стоит в цикле. Вот упрощённый фрагмент программы, касающийся считывания: OPEN f$ + ".bmp" FOR INPUT AS #1 op: IF EOF(1) = -1 THEN GOTO kf1 a$ = INPUT$(1, # 1) for i=1 to k if a$=b$(i) then n(i)=n(i)+1:goto op next i k=k+1:b$(k)=a$:n(k)=1 goto op kf1: CLOSE #1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2010, 14:30:35 |
|
||
|
BMP формат
|
|||
|---|---|---|---|
|
#18+
serg111777, когда приводишь фрагменты, делай так что-бы переменные не терялись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2010, 17:40:45 |
|
||
|
BMP формат
|
|||
|---|---|---|---|
|
#18+
serg111777, Я вот точно не помню, но, похоже, файл надо открывать, как двоичный. Иначе некоторый код, который соответствует символу EOF будет считаться концом файла. Имхо, не помню уже, давно дело было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2010, 18:03:58 |
|
||
|
BMP формат
|
|||
|---|---|---|---|
|
#18+
mayton, "переменные не терялись" - требуется описание что на входе и что на выходе из фрагмента, я правильно понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2010, 19:35:59 |
|
||
|
BMP формат
|
|||
|---|---|---|---|
|
#18+
serg111777mayton, "переменные не терялись" - требуется описание что на входе и что на выходе из фрагмента, я правильно понял? Да-да! Неплохо-бы из принципа узнать чему у тебя К равно. И разберись с типизированным доступом к файлам. Что ты читаешь? Байты или символы или может быть строки? Я к слову не помню как в бейсике это делается но уж больно ты неуверенно вопрос задал. Нелишним было-бы проверить. Для парсинга бинарей - это охуе очень важно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2010, 19:43:12 |
|
||
|
BMP формат
|
|||
|---|---|---|---|
|
#18+
ShSerge, спасибо, буду разбираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2010, 19:47:09 |
|
||
|
BMP формат
|
|||
|---|---|---|---|
|
#18+
mayton, "к" начинается с нуля. Считываются символы. Символ - код. В дальнейшем присваивается стандартный номер 0-255. А здесь "к" сразу присваивает номер ВИДА символа (кода), чтобы массивы не разрастались и непосредственно к считыванию отношения не имеет. На самом деле, регистрация сложнее, чем во фрагменте. Учитываются комбинации символов (кодов). Но проблема проявляется уже в простом варианте. В процентах 30 случаев от общего количества ВМР файлов, считывание и обработка происходит нормально до конца файла. В процентах 10 случаев считывание прерывается в самом начале (менее 1000 символов). В процентах 60 случаев - в середине и очень редко, в конце. Но если говорить об одном и том же файле - то считывание прерывается всегда в одном месте. Я предполагаю причину: иногда при считывании, символы (коды) воспринимаются, как соответствующие команды и принимаются к исполнению. Но почему не во всех файлах и как с этим бороться - не понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2010, 20:30:11 |
|
||
|
BMP формат
|
|||
|---|---|---|---|
|
#18+
Это ближе к правде. По некоторым старым стандартам и протоколам текстовый файл может иметь спец-символы конца файла. Читай здесь. http://en.wikipedia.org/wiki/End-of-file Но еще лучше найти пример как бейсике работать с БИНАРНЫМИ файлами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2010, 20:35:54 |
|
||
|
BMP формат
|
|||
|---|---|---|---|
|
#18+
Я бы попробовал чтение выполнять таким способом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2010, 22:29:12 |
|
||
|
BMP формат
|
|||
|---|---|---|---|
|
#18+
mayton, спасибо, буду продвигаться в этом направлении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2010, 00:26:21 |
|
||
|
BMP формат
|
|||
|---|---|---|---|
|
#18+
Vowk, спасибо большое!!! Попробую! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2010, 00:27:45 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=36518584&tid=1343818]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
197ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 196ms |
| total: | 516ms |

| 0 / 0 |
