Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Из файла в список [D7, XP]


Dragon-zla ©   (2009-12-14 21:36:00) 

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

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


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


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

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


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


> Leonid Troyanovsky ©

Учтем'c.


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


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

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

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

--
Regards, LVT.


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

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


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

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

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;


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


Наверх

Титульная страница Поиск, карта сайта Написать письмо