Delphi, файлы

01.01.2001

Delphi, файлы.
Всем доброго времени суток.
В общем, такая ситуация.. .
У меня есть:
1) Три целых числа;
2) Одномерный динамический массив типа TPoint;
3) Двумерная динамическая матрица типа boolean;
Возможно добавление 4-го пункта - двумерная динамическая матрица целых чисел;

Всё это надо запихнуть в ОДИН файл.
Сразу оговорюсь: я не хочу перерабатывать всё это таким образом, что бы это всё можно было последовательно запихнуть в файл целых чисел, ибо на это понадобится много времени, а так же думать, как перебирать числа точек для правильного сохранения в одномерный динамический массив TPoint.

Есть другая последовательность данных:
1) Три целых числа;
2) Одномерный динамический массив типа TPoint;
3) Изображение;
В этом случае, если можно узнать размеры изображения, выгружаемого из сохранённого файла, то НЕ три, а ОДНО целое число;

У обоих наборов данных есть один общий вопрос - КАК СОХРАНИТЬ ИХ В ОДИН (!!!) ФАЙЛ (?)

P.S. Это практика в институте по программированию - интерфейс для работы с графами.

  • Можно создать свой тип данных и записать все в файл одним махом,
    но я все же сделал бы последовательное запихивание данных в файл и времени не так уж много нужно:
    1. Посчитал бы размеры всех элементов:
    1) Три целых числа; (3*4=12 байт)
    2) Одномерный динамический массив типа TPoint; (х байт)
    3) Двумерная динамическая матрица типа boolean; (у байт)
    Возможно добавление 4-го пункта - двумерная динамическая матрица целых чисел; (z байт)
    2. На заголовок выделяем 3 элемента * 4 байта (ну или сколько там нужно) =16 байт. В заголовок файла пишем смещение каждого элемента (1 элемент сразу за заголовком, можно не выделять на него адрес) , второй элемент 16+12=28 байт и т. д.
    Можно придумать XML формат (наверно самый простой вариант)

Вас заинтересует