Теория и практика объектно-ориентированного программирования. Ноткин А.М. - 72 стр.

UptoLike

Составители: 

73
name := PInput^ . Data^;
Employ := Find( MyCollection , name);
где Find внешняя функция поиска, эту функцию надо написать самостоя-
тельно, предусмотрев в ней вызов итератора.
Или
if Application^. ExecuteDialog ( MyDialog, @name)= cmCancel then exit;
Для ввода значения ключевого поля можно использовать также стан-
дартное диалоговое окно, создаваемое функцией InputBox
if InputBox (‘Введите фамилию’ , ‘ Фамилия : ’, name, 35) = cmOk then be-
gin
Employ := Find ( MyCollection, name);
и т.д.;
г) затем вызывается метод Show для показа найденного объекта Em-
ploy^. Show.
7. Для
сохранения коллекции следует использовать типизированный
файл
Type TFile = file of TData1;
где TData1 запись, содержащая поля объекта.
Просматривая коллекцию, мы переносим поля объекта в запись Date1:
TDate1и записываем ее в файл.
8. При загрузке коллекции из файла сначала удаляется старая кол-
лекция MyCollection . FreeAll, затем в коллекцию записываются объекты,
созданные на основе информации, прочитанной из файла:
K := 0;
while not eof ( f ) do begin
read ( f, Data1);
k := k + 1;
MyCollection^ . Insert(New (PEmployee, Init( . . . . . . )));
end;
После этого можно выдать информационное сообщение
if K <> 0 then
MessageBox(‘Коллекция сформирована и содержит %d объектов’, @k,
mfInformation)
else
MessageBox(‘Коллекция пустая’, nil, mfInformation);
9. При сохранении (загрузке) коллекции следует организовать диалог
для ввода имени файла. Для этого лучше всего использовать объект TFile-
Dialog (модуль StdDlg). Например:
var FileDialog : PFileDialog;
S : PathStr;
begin
                                    73
name := PInput^ . Data^;
Employ := Find( MyCollection , name);
где Find − внешняя функция поиска, эту функцию надо написать самостоя-
тельно, предусмотрев в ней вызов итератора.
        Или
if Application^. ExecuteDialog ( MyDialog, @name)= cmCancel then exit;
        Для ввода значения ключевого поля можно использовать также стан-
дартное диалоговое окно, создаваемое функцией InputBox
if InputBox (‘Введите фамилию’ , ‘ Фамилия : ’, name, 35) = cmOk then be-
gin
         Employ := Find ( MyCollection, name);
и т.д.;
        г) затем вызывается метод Show для показа найденного объекта Em-
ploy^. Show.
        7. Для сохранения коллекции следует использовать типизированный
файл
Type TFile = file of TData1;
где TData1 − запись, содержащая поля объекта.
Просматривая коллекцию, мы переносим поля объекта в запись Date1:
TDate1и записываем ее в файл.
        8. При загрузке коллекции из файла сначала удаляется старая кол-
лекция MyCollection . FreeAll, затем в коллекцию записываются объекты,
созданные на основе информации, прочитанной из файла:
K := 0;
while not eof ( f ) do begin
read ( f, Data1);
k := k + 1;
MyCollection^ . Insert(New (PEmployee, Init( . . . . . . )));
end;
        После этого можно выдать информационное сообщение
if K <> 0 then
MessageBox(‘Коллекция сформирована и содержит %d объектов’, @k,
mfInformation)
else
MessageBox(‘Коллекция пустая’, nil, mfInformation);
        9. При сохранении (загрузке) коллекции следует организовать диалог
для ввода имени файла. Для этого лучше всего использовать объект TFile-
Dialog (модуль StdDlg). Например:
var FileDialog : PFileDialog;
     S:        PathStr;
begin