Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Сохранение в файл

Автор: NickOFF 4.04.2006 1:06

Имеется дерево которое создано с помощью поинтеров. Задача следущая. Нужно сохранить всю эту конструкцию в файл. Вопрос. Как это сделать?

Автор: volvo 4.04.2006 1:12

Описание типов (а еще лучше - всю реализацию) в студию, и я перенесу тему в "Задачи"...

Автор: NickOFF 4.04.2006 1:19

type
aktivitaet = record
nummer:string;
beschreibung:string;
bearbeiter:string;
faellig:string;
aufwand:integer;
zustand:string;
end;
liste=^list;
list = record
activity:aktivitaet;
nextact:liste;
upact:liste;
underact:liste;
end;

Автор: volvo 4.04.2006 1:26

Ну, и что я из этого должен понять?
КАК заполнение происходит? Что тебе надо записать в файл (только данные? структуру?)

Потом ведь надо будет читать!!! А то я ведь могу тебе посоветовать просто ВСЕ подряд сбросить в текстовый файл и все. А как читать - это уже твоя проблема. И где тут у тебя пойнтеры?

Телепаты в отпуске. Либо приводи код, либо ищи форум телепатов.

Автор: NickOFF 4.04.2006 1:30

Заполнение происходит следщим образом

procedure addact(var l:liste);
var temp,tmp:liste;
test:boolean;
begin
temp:=l;
if l = nil then test:=true else test:=false;
while l <> nil do begin
temp:=l;
l:=l^.nextact;
end;
l:=temp;
new(tmp);
readln(tmp^.activity.beschreibung);
readln(tmp^.activity.bearbeiter);
readln(tmp^.activity.faellig);
readln(tmp^.activity.aufwand);
readln(tmp^.activity.zustand);
tmp^.underact:=nil;
tmp^.nextact:=nil;
if test then begin
tmp^.upact:=nil;
l:=tmp;
end else begin
tmp^.upact:=l^.upact;
l^.nextact:=tmp;
end;
end;


когда дерево заполнено нужно сохранить его в файл.