Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.02.14;
Скачать: CL | DM;

Вниз

Из файла в список   Найти похожие ветки 

 
Dragon-zla ©   (2009-12-14 21:36) [0]

Помогите пожалуйста с кодом. Дана запись вида
поле: запись
поле: указатель

У меня не получается реализовать две процедуры : записи в файл и считывания из файла. Подскажите как это реализуется (нужно считать из файла список и записать его).
Список реализуется при помощи указателей


 
Омлет ©   (2009-12-14 21:57) [1]

Что именно вызывает сложность?

procedure SaveData(const FileName: string);
var
 MS: TMemoryStream;
begin
 MS := TMemoryStream.Create;
 try
   // пишем структуры в память
   for to do
     MS.Write(чего надо);

   // сохраняем память
   MS.SaveToFile(FileName);
 finally
   MS.Free;
 end;
end;


Чтение аналогично - в каком порядке записали, в том и читаем.


 
Омлет ©   (2009-12-14 22:03) [2]

Вообще разработка структуры хранения данных - дело не такое простое.
Нужно продумать защиту от порчи данных (контрольные суммы), предусмотреть возможное расширение формата, обратную совместимость и т.п.
Обычно, сначала идет заголовочная часть, в которой описаны размеры данных, количества записей, ссылки на блоки конкретных данных, сигнатура, версия формата, контрольная сумма и т.д.
Потом идут блоки данных, адреса на которые указываются в заголовке. Каждый блок заканчивается контрольной суммой.


 
Leonid Troyanovsky ©   (2009-12-14 22:07) [3]


> Омлет ©   (14.12.09 22:03) [2]

> Вообще разработка структуры хранения данных - дело не такое
> простое.

Не умничай, код давай.

--
Regards, LVT.


 
Германн ©   (2009-12-15 00:28) [4]


> Leonid Troyanovsky ©

Учтем"c.


 
Германн ©   (2009-12-15 00:29) [5]


> Германн ©   (15.12.09 00:28) [4]

Промахнулся веткой. :)



Страницы: 1 вся ветка

Текущий архив: 2010.02.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
2-1260795886
AIK
2009-12-14 16:04
2010.02.14
При клике курсором на едите не появляется фокус


15-1260214111
Маркер Бабуина
2009-12-07 22:28
2010.02.14
гатский фонт


15-1260264866
Гипербореец
2009-12-08 12:34
2010.02.14
Аналог Application.ProcessMessages для С#


2-1260911668
Лёша
2009-12-16 00:14
2010.02.14
Диалог выбора директории.


1-1237982300
StriderMan
2009-03-25 14:58
2010.02.14
TWinControl.PaintTo() и т.п.