|
Вопрос # 4 361/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Имеется бинарный файл,в котором записаны блок текстовой информации, затем блок числовых данных, а затем еще много повторяющихся блоков с числовой информацией,вобщем инфо разных форматов. Но эти повторяющиеся числовые данные расположены в блоках разной величины- по 2 или 4 байта , они чередуются.Как правильно считать этот файл?
 |
Вопрос задала: MStar (статус: Посетитель)
Вопрос отправлен: 23 июня 2010, 14:41
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 11; последнее сообщение — 29 июня 2010, 22:10; участников в обсуждении: 5.
|
Вадим К (статус: Академик), 23 июня 2010, 14:47 [#1]:
при такой постановке задачи решить ее не получиться.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
min@y™ (статус: Доктор наук), 23 июня 2010, 15:16 [#2]:
Считать инфу из такого файла можно если известен размер всех блоков и смещение.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
res-res (статус: Посетитель), 23 июня 2010, 17:02 [#3]:
Считываешь первый символ - число, значит началс я числовой блок. Считываешь посимвольно, пока не наткнешся на символ. Символ - начало символьного блока. Числовой блок пихаешь куда хочеш. Считаваеш символьный блок посимвольно. Наткнулся на число - начало числового блока. Записуешь символьный блок. Ну и так далее.
|
|
Вадим К (статус: Академик), 23 июня 2010, 17:21 [#4]:
файл бинарный там нет число/символ ))
а вот "отображаемые символы" - может быть.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
min@y™ (статус: Доктор наук), 23 июня 2010, 17:54 [#5]:
Цитата (res-res):
Считываешь первый символ - число, значит началс я числовой блок...
Ха! Если бы всё было так просто...
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
padonak (статус: Посетитель), 23 июня 2010, 18:08 [#6]:
хм... а если тупо сделать новый класс, впихнуть два значения: числовые и строковые, и считывать из бинарника?
|
|
Вадим К (статус: Академик), 23 июня 2010, 18:25 [#7]:
to padonak
интересно было бы увидеть реализацию.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
padonak (статус: Посетитель), 24 июня 2010, 02:07 [#8]:
Вадим К: это теория... в общем ладно, практики тоже не чураюсь, попробую, вдруг получится...
MStar: давай свой бинарник, поэксперементируем...
|
|
Amidamaru (статус: 4-ый класс), 28 июня 2010, 17:13 [#9]:
Не вижу никакой сложности в считывании файла.
Хранить данные тоже не сложно:
type
TDataType = (dtText, dtWord, dtDoubleWord);
TDataRecord = record
DataType: TDataType;
dText: string;
dWord: word;
dDoubleWord: cardinal;
end;
var
datas:array of TDataRecord;
... а дальше всё зависит от твоей фантазии.
|
|
min@y™ (статус: Доктор наук), 28 июня 2010, 18:21 [#10]:
Цитата (Amidamaru):
Хранить данные тоже не сложно:
Компилятор твою конструкцию не пропустит.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Amidamaru (статус: 4-ый класс), 29 июня 2010, 22:10 [#11]:
вот что значит привык к Code Insight'у который сам end; добавляет где надо (а иногда и где не надо)
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|