По указанию преподавателя выберите вариант задачи. В программе преду-смотреть сохранение вводимых данных в файле и возможность чтения из ра-нее сохраненного файла. Результаты выводить в окно просмотра и в текстовой файл.
В магазине формируется список лиц, записавшихся на покупку товара. Каждая запись этого списка содержит: порядковый номер, Ф.И.О., домашний адрес покупателя и дату постановки на учет. !!!!Удалить из списка все повторные записи, проверяя Ф.И.О. и домашний адрес.!!!!
Код:
Type Tspisok = record
naimen:string[50];
nomer:integer;
adres:string[100];
data:TdateTime;
end;
Var Fz:file of Tspisok;
Ft:TextFile;
spisok:array[1..100] of Tspisok;
nzap:integer;
FileNameZ, FileNameT:string;
mn:integer;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Clear; Edit2.Clear; Edit3.Clear; Edit4.Clear;
Edit5.Clear; Edit6.Clear;
Memo1.Clear;
Button1.Hide;
nzap:=0;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
OpenDialog1.Title :='Создать новый файл';
if OpenDialog1.Execute then
begin
FileNameZ:= OpenDialog1.FileName;
AssignFile(Fz, FileNameZ);
Rewrite(Fz);
end;
Button1.Show;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
begin
nzap:=nzap+1;
with spisok[nzap] do begin
naimen:=Edit1.Text;
nomer:=strtoint(Edit2.Text);
adres:=Edit3.Text;
data:=encodeDate(strtoint(Edit4.text),
strtoint(Edit5.Text),strtoint(Edit6.Text));
Memo1.lines.add(inttostr(nomer)+' '+naimen+' '
+adres+' '+datetostr(data));
end;
Write(Fz,spisok[nzap]);
Edit1.Clear; Edit2.Clear; Edit3.Clear; Edit4.Clear;
Edit5.Clear; Edit6.Clear;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if OpenDialog1.Execute then begin
FileNameZ:= OpenDialog1.FileName;
AssignFile(Fz, FileNameZ);
Reset(Fz);
end;
nzap:=0;
while not eof(fz) do begin
nzap:=nzap+1;
Read(fz,spisok[nzap]);
with spisok[nzap] do
Memo1.Lines.Add(IntToStr(nomer)+' '+naimen+' '
+adres+' '+DateToStr(data));
end;
Button1.Show;
end;
procedure TForm1.Button5Click(Sender: TObject);
var i:word;
begin
if SaveDialog1.Execute then
begin
FileNameT:= SaveDialog1.FileName;
AssignFile(Ft, FileNameT);
Rewrite(Ft);
end;
for i:=1 to nzap do
with spisok[i] do Writeln(Ft,nomer,' ',naimen,' ',adres,' ',datetostr(data));
CloseFile(Ft);
end;
end.
я всё сделал ,осталось Удалить из списка все повторные записи, проверяя Ф.И.О. и домашний адрес.