Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 361

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Имеется бинарный файл,в котором записаны блок текстовой информации, затем блок числовых данных, а затем еще много повторяющихся блоков с числовой информацией,вобщем инфо разных форматов. Но эти повторяющиеся числовые данные расположены в блоках разной величины- по 2 или 4 байта , они чередуются.Как правильно считать этот файл?

MStar Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задала: MStar (статус: Посетитель)
Вопрос отправлен: 23 июня 2010, 14:41
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 11; последнее сообщение — 29 июня 2010, 22:10; участников в обсуждении: 5.
Вадим К

Вадим К (статус: Академик), 23 июня 2010, 14:47 [#1]:

при такой постановке задачи решить ее не получиться.
Галочка "подтверждения прочтения" - вселенское зло.
min@y™

min@y™ (статус: Доктор наук), 23 июня 2010, 15:16 [#2]:

Считать инфу из такого файла можно если известен размер всех блоков и смещение.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
res-res

res-res (статус: Посетитель), 23 июня 2010, 17:02 [#3]:

Считываешь первый символ - число, значит началс я числовой блок. Считываешь посимвольно, пока не наткнешся на символ. Символ - начало символьного блока. Числовой блок пихаешь куда хочеш. Считаваеш символьный блок посимвольно. Наткнулся на число - начало числового блока. Записуешь символьный блок. Ну и так далее.
Вадим К

Вадим К (статус: Академик), 23 июня 2010, 17:21 [#4]:

файл бинарный:) там нет число/символ:)))
а вот "отображаемые символы" - может быть.
Галочка "подтверждения прочтения" - вселенское зло.
min@y™

min@y™ (статус: Доктор наук), 23 июня 2010, 17:54 [#5]:

Цитата (res-res):

Считываешь первый символ - число, значит началс я числовой блок...

Ха! Если бы всё было так просто...
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
padonak

padonak (статус: Посетитель), 23 июня 2010, 18:08 [#6]:

хм... а если тупо сделать новый класс, впихнуть два значения: числовые и строковые, и считывать из бинарника?
Вадим К

Вадим К (статус: Академик), 23 июня 2010, 18:25 [#7]:

to padonak
интересно было бы увидеть реализацию.
Галочка "подтверждения прочтения" - вселенское зло.
padonak

padonak (статус: Посетитель), 24 июня 2010, 02:07 [#8]:

Вадим К: это теория... в общем ладно, практики тоже не чураюсь, попробую, вдруг получится...

MStar: давай свой бинарник, поэксперементируем...
Amidamaru

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;
...
а дальше всё зависит от твоей фантазии.
Приглашаю Вас на наш IRC-канал: #delphiintru в сети DalNet.
min@y™

min@y™ (статус: Доктор наук), 28 июня 2010, 18:21 [#10]:

Цитата (Amidamaru):

Хранить данные тоже не сложно:


Компилятор твою конструкцию не пропустит.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Amidamaru

Amidamaru (статус: 4-ый класс), 29 июня 2010, 22:10 [#11]:

вот что значит привык к Code Insight'у который сам end; добавляет где надо (а иногда и где не надо)
Приглашаю Вас на наш IRC-канал: #delphiintru в сети DalNet.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:55
Выполнено за 0.03 сек.