ВУЗ:
Составители:
Рубрика:
82
begin
p:=PPerson(MyStream^.Get);{читаем очередной объект из потока, PPerson
– абстрактный объект, наследниками которого являются PEmployee и
PStudent}
if MyStream^.status=0 then begin {если нет ошибки}
inc(k);
MyCollection^.Insert(p); {объект вставляется в коллекцию}
end;
8. Для записи объектов в поток из коллекции можно использовать
процедуру SaveInStream, в которой с помощью стандартного окна диалога
выбирается нужный файл, создается поток, затем выбираются из коллек-
ции
объекты и помещаются в поток:
MyStream:=New(PBufStream,Init(s,stCreate,1024));{открываем поток}
if MyStream^.Status=stOk then{если нет ошибки}
begin
SaveCollection;
Dispose(MyStream,Done);
end;
SaveCollection − вспомогательная процедура, которая все объекты из
коллекции записывает в поток. В ней выполняются следующие действия:
for k:=0 to MyCollection^.count-1 do
begin
p:=MyCollection^.At(k);
MyStream^.Put(p);{p^ помещается в поток}
end;
Если необходимо объекты из коллекции добавить в существующий
файл, то поток создается в режиме mode=stOpenWrite
MyStream:=New(PBufStream,Init(s,stOpenWrite,1024));
Затем устанавливаем
текущую позицию в конец потока:
MyStream^.Seek(MyStream^.GetSize);
после этого добавляем объекты из коллекции в поток.
Содержание отчета.
1. Титульный лист.
2. Графическая схема иерархии классов.
3. Графическая схема иерархии объектов.
4. Определение всех классов и глобальных имен (констант, типов,
переменных, процедур и функций).
5. Реализация методов Load и Store с комментариями.
82
begin
p:=PPerson(MyStream^.Get);{читаем очередной объект из потока, PPerson
– абстрактный объект, наследниками которого являются PEmployee и
PStudent}
if MyStream^.status=0 then begin {если нет ошибки}
inc(k);
MyCollection^.Insert(p); {объект вставляется в коллекцию}
end;
8. Для записи объектов в поток из коллекции можно использовать
процедуру SaveInStream, в которой с помощью стандартного окна диалога
выбирается нужный файл, создается поток, затем выбираются из коллек-
ции объекты и помещаются в поток:
MyStream:=New(PBufStream,Init(s,stCreate,1024));{открываем поток}
if MyStream^.Status=stOk then{если нет ошибки}
begin
SaveCollection;
Dispose(MyStream,Done);
end;
SaveCollection − вспомогательная процедура, которая все объекты из
коллекции записывает в поток. В ней выполняются следующие действия:
for k:=0 to MyCollection^.count-1 do
begin
p:=MyCollection^.At(k);
MyStream^.Put(p);{p^ помещается в поток}
end;
Если необходимо объекты из коллекции добавить в существующий
файл, то поток создается в режиме mode=stOpenWrite
MyStream:=New(PBufStream,Init(s,stOpenWrite,1024));
Затем устанавливаем текущую позицию в конец потока:
MyStream^.Seek(MyStream^.GetSize);
после этого добавляем объекты из коллекции в поток.
Содержание отчета.
1. Титульный лист.
2. Графическая схема иерархии классов.
3. Графическая схема иерархии объектов.
4. Определение всех классов и глобальных имен (констант, типов,
переменных, процедур и функций).
5. Реализация методов Load и Store с комментариями.
