| 
| 
 | Вопрос # 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; добавляет где надо (а иногда и где не надо) |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |