unit unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls, ComCtrls, Menus;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Memo1: TMemo;
btnAddZap: TButton;
btnSaveResult: TButton;
SaveDialog1: TSaveDialog;
OpenDialog1: TOpenDialog;
btnSort: TButton;
btnOpen: TButton;
btnCreate: TButton;
BitBtn1: TBitBtn;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure BtnAddZapClick(Sender: TObject);
procedure BtnCreateClick(Sender: TObject);
procedure btnOpenClick(Sender: TObject);
procedure btnSaveResultClick(Sender: TObject);
procedure btnSortClick(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

type
TZap=record
grup:string[40];
marka:string[40];
day:integer;
ready:boolean;{yes/no}
end;

Var
Ft:TextFile;
Zap:array[1..100] of Tzap;
Fz:file of TZap;
nzap:integer;
FileNameZ, FileNameT:string;
aSort:array[1..100] of integer;

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Clear;
btnAddZap.enabled:=False;
nzap:=0;
end;

procedure TForm1.BtnAddZapClick(Sender: TObject);
var s:string;
begin
inc(nZap);
with zap[nzap] do begin
grup:=Edit1.Text;
marka:=Edit2.Text;
day:=StrToInt(Edit3.Text);
if Edit4.Text='yes' then ready:=true else ready:=false;
if Edit4.Text='yes' then s:='да' else s:='нет';
Memo1.Lines.Add(grup+' '+marka+' day:'+ inttostr(day)+' '+s);
end;
Write(fz,Zap[nzap]);
Edit1.Text:='';
Edit2.Text:='';
Edit3.Text:='';
Edit4.Text:='';
end;

procedure TForm1.BtnCreateClick(Sender: TObject);
begin
OpenDialog1.Title :='Создать новый файл';
if OpenDialog1.Execute then begin
FileNameZ:= OpenDialog1.FileName;
if not (fileNameZ [ Length(fileNameZ)-3]='.') then FileNameZ:=FileNameZ+'.lab';
AssignFile(Fz, FileNameZ);
Rewrite(Fz);
end;
btnAddZap.enabled:=true;
end;

procedure TForm1.btnOpenClick(Sender: TObject);
var s:string;
begin
if OpenDialog1.Execute then
begin
FileNameZ:= OpenDialog1.FileName;
AssignFile(Fz, FileNameZ);
Reset(Fz);
end else halt;
while not eof(fz) do begin
nzap:=nzap+1;
Read(fz,zap[nzap]);
if zap[nzap].ready then s:='да' else s:='нет';
with zap[nzap] do Memo1.Lines.Add(grup+' '+marka+' day:'+ inttostr(day)+' '+s)
end;
btnAddZap.enabled:=true;
end;

procedure TForm1.btnSortClick(Sender: TObject);
var n,i,j,k:integer;
st:TZap;
s,str:string;
ZapTemp,zapTemp2:array[1..100] of Tzap;
use:array[1..100] of boolean;
begin
Memo1.clear;
n:=1;
for i:=1 to nZap do use[i]:=false;
for i:=1 to nZap do begin
if use[i] then continue;
ZapTemp[n]:=zap[i];
use[i]:=true;
inc(n);
for k:=1 to nZap do begin
if (zap[k].grup=zapTemp[n-1].grup) and (not use[k]) then begin
zapTemp[n]:=zap[k];
use[k]:=true;
inc(n);
end;
end;
end;
for i:=1 to nZap do begin
if zapTemp[i].ready then s:='да' else s:='нет';
with zapTemp[i] do Memo1.Lines.Add(grup+' '+marka+' day:'+ inttostr(day)+' '+s)
end;
end;

procedure TForm1.btnSaveResultClick(Sender: TObject);
var i:word;
s:string;
begin
if SaveDialog1.Execute then begin
FileNameT:= SaveDialog1.FileName;
if not (fileNamet [ Length(fileNamet)-3]='.') then FileNameT:=FileNameT+'.txt';
AssignFile(Ft, FileNameT);
Rewrite(Ft);
end else halt;
for i:=1 to nzap do begin
if zap[i].ready then s:='да' else s:='нет';
with zap[i] do Writeln(ft,grup+' '+marka+' day:'+ inttostr(day)+' '+s);
end;
CloseFile(Ft);
end;
procedure TForm1.N2Click(Sender: TObject);
begin
BtnCreate.Click;
end;

procedure TForm1.N3Click(Sender: TObject);
begin
btnOpen.Click;
end;

procedure TForm1.N4Click(Sender: TObject);
begin
BtnAddZap.Click;
end;

procedure TForm1.N5Click(Sender: TObject);
begin
btnSaveResult.Click;
end;

procedure TForm1.N6Click(Sender: TObject);
begin
btnSort.Click;
end;

procedure TForm1.N7Click(Sender: TObject);
begin
memo1.Clear;
end;

procedure TForm1.N8Click(Sender: TObject);
begin
application.Terminate;
end;

end.
Соседние файлы в папке В радиоателье хранятся квитанции о сданной в ремонт
  • #
    15.06.20145.85 Кб66project1.dsk
  • #
    15.06.2014876 б66project1.res
  • #
    15.06.201411.42 Кб66unit1.dcu
  • #
    15.06.201451 б66unit1.ddp
  • #
    15.06.20146.82 Кб66unit1.dfm
  • #
    15.06.20144.81 Кб66unit1.pas