Есть готовый код, нужны пояснения
Есть лабораторная работа с заданием:
У администратора железнодорожных касс хранится информация о свободных местах в поездах дальнего следования на ближайшую неделю в следующем виде: дата выезда, пункт назначения, время отправления, число свободных мест. Оргкомитет международной конференции обращается к администратору с просьбой зарезервировать m мест до города N на k-й день недели с временем отправления поезда не позднее t часов вечера. Вывести время отправления или сообщение о невозможности выполнить заказ в полном объеме.
Есть код:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, XPMan;
type
TForm1 = class(TForm)
XPManifest1: TXPManifest;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Button1: TButton;
Memo1: TMemo;
Button2: TButton;
Button3: TButton;
Button5: TButton;
BitBtn1: TBitBtn;
Button4: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Type
TPoezda = record
data,punkt,time,mesta: string[40]; //поля дата,пункт,время,кол-во мест
end;
Var
Fz : file of TPoezda; //файл типа запись
Ft:TextFile; //текстовый файл
Poezd:array[1..100] of TPoezda;//массив записей
Nzap:integer; //номер записи
FileNameZ, FileNameT:string; //имена файлов
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
Memo1.Clear;
Button1.Hide;
nzap:=0;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
nzap:=nzap+1;
with poezd[nzap] do begin
data:=Edit1.Text;
punkt:=Edit2.Text;
time:=Edit3.Text;
mesta:=Edit4.Text;
Memo1.Lines.Add(data+' '+punkt+' '+time+' '+mesta);
end;
Write(fz,Poezd[nzap]); //запись в файл
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
OpenDialog1.Title :='Создать новый файл'; //Измен. заголовка окна
if OpenDialog1.Execute then //диалог выбора имени файла
begin
FileNameZ:= OpenDialog1.FileName;
AssignFile(Fz, FileNameZ); //связывание Fz с именем файла
Rewrite(Fz); //создание нового файла
Button1.Show;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
Var data,punkt,time,mesta: string;
begin
if OpenDialog1.Execute then
begin
FileNameZ:= OpenDialog1.FileName;
AssignFile(Fz, FileNameZ);
Reset(Fz); //открытие существ.файла
end;
while not EOF(fz) do
begin
nzap:=nzap+1;
Read(fz,poezd[nzap]); //чтение записи файла
with poezd[nzap] do
Memo1.Lines.Add(data+' '+punkt+' '+time+' '+mesta);
end;
Button1.Show;
end;
procedure TForm1.Button4Click(Sender: TObject);
var pz:Tpoezda;
data,punkt,time,mesta,d,p,t,m: string;
begin
d:=InputBox('Ввод данных','Введите день недели','');
p:=InputBox('Ввод данных','Введите город','');
t:=InputBox('Ввод данных','Введите время','');
m:=InputBox('Ввод данных','Введите кол-во мест','');
nzap:=nzap+1;
//Memo1.Clear;
with poezd[nzap] do
begin
if d=data and p=punkt and t<=time and m<=mesta
then
Memo1.Lines.Add(d+' '+p+' '+t+' '+m)
else
Memo1.Lines.Add('Невозможно выполнить заказ в полном объёме')
end;
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 poezd[i] do
Writeln(Ft,i:4,'.',data+' '+punkt+' '+time+' '+mesta); // Запись в текстовой файл
CloseFile(Ft);
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
CloseFile(fz);
end;
end.
Нужны пояснения для каждой кнопки и каждого эдита, если можно..
Как работать с программой и т.д. Краткий обзор для нуба 
|