Скачиваний:
80
Добавлен:
04.03.2014
Размер:
11.27 Кб
Скачать
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, Menus, StdCtrls, jpeg, ExtCtrls;

type
TForm1 = class(TForm)
strngrd1: TStringGrid;
dlgOpen1: TOpenDialog;
dlgSave1: TSaveDialog;
mm1: TMainMenu;
N1: TMenuItem;
jnrhsnm1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
Button1: TButton;
edt1: TEdit;
edt2: TEdit;
lbl1: TLabel;
lbl2: TLabel;
strngrd2: TStringGrid;
edt3: TEdit;
N5: TMenuItem;
edt4: TEdit;
btn2: TButton;
N4: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
btn1: TButton;
lbl3: TLabel;
lbl4: TLabel;
btn3: TButton;
btn4: TButton;
pm1: TPopupMenu;
N9: TMenuItem;
img1: TImage;
img2: TImage;
img3: TImage;
img4: TImage;
img5: TImage;
img6: TImage;
img7: TImage;
N10: TMenuItem;
N501: TMenuItem;
Ah1: TMenuItem;
Rah661: TMenuItem;
AH561: TMenuItem;
N261: TMenuItem;
procedure N1Click(Sender: TObject);
procedure jnrhsnm1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);

procedure btn2Click(Sender: TObject);
procedure btn1Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure btn3Click(Sender: TObject);
procedure btn4Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N501Click(Sender: TObject);
procedure Ah1Click(Sender: TObject);
procedure Rah661Click(Sender: TObject);
procedure AH561Click(Sender: TObject);
procedure N261Click(Sender: TObject);



private
{ Private declarations }
public
{ Public declarations }
end;
type
st= string[50];
vertolet= record
cena: integer;
god:Integer;
model:st;
proizvoditel:st;
end ;
fz= file of vertolet;

var
Form1: TForm1;

f,fnew:fz;
b:vertolet;
implementation

{$R *.dfm}
uses
Unit2;

procedure TForm1.N1Click(Sender: TObject);
begin
close;
end;

procedure TForm1.jnrhsnm1Click(Sender: TObject);
begin
strngrd1.Visible:=True;
strngrd1.Cells[0,0]:='N';
strngrd1.Cells[1,0]:='модель';
strngrd1.Cells[2,0]:='цена';
strngrd1.Cells[3,0]:='производитель' ;
strngrd1.Cells[4,0]:='год выпуска' ;
strngrd2.Visible:=true;
strngrd2.Cells[0,0]:='N';
strngrd2.Cells[1,0]:='модель';
strngrd2.Cells[2,0]:='цена';
strngrd2.Cells[3,0]:='производитель' ;
strngrd2.Cells[4,0]:='год выпуска' ;
strngrd1.RowCount:=strngrd1.RowCount+1;
strngrd2.RowCount:= strngrd1.RowCount;
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
strngrd1.Visible:=False;
strngrd2.Visible:=False;
end;

procedure TForm1.N2Click(Sender: TObject);
var
i,j:integer;
begin
If dlgSave1.Execute then
begin
assignfile(f,dlgSave1.filename);

rewrite(f);

for i:= 1 to strngrd1.RowCount do

if strngrd1.Cells[1,i]<>'' then
begin
strngrd1.Cells[0,i ]:= inttostr(i);
b.model:= strngrd1.Cells[1,i];
b.cena:= strtoint(strngrd1.Cells[2,i]);
b.proizvoditel:= strngrd1.Cells[3,i];
b.god:= strtoint(strngrd1.Cells[4,i]);
write(f,b);
end;
end;
closefile(f);
for i:=1 to strngrd1.ColCount-1 do
for j:=1 to strngrd1.rowCount-1 do
strngrd1.Cells[i,j]:='';
strngrd1.visible:=false;
end;


procedure TForm1.N3Click(Sender: TObject);
var
k:Integer;
begin
if dlgopen1.execute then
begin
assignfile(f,dlgopen1.filename);
k:=0;
reset(f);
strngrd1.visible:=true;

while not eof(f) do
begin
k:=k+1;
read(f,b);
strngrd1.Cells[0,k]:=inttostr(k);
strngrd1.Cells[1,k]:=b.model;
strngrd1.Cells[2,k]:=inttostr(b.cena);
strngrd1.Cells[3,k]:=b.proizvoditel;
strngrd1.Cells[4,k]:=inttostr(b.god);
end;
closefile(f);
strngrd1.RowCount:=k+1;
end;
end;



procedure TForm1.Button1Click(Sender: TObject);
var
a:array[1..10,1..10]of Integer;
i,t,j,min,max:Integer;
begin

for i:=1 to strngrd1.RowCount-1 do

begin
a[2,i]:=StrToInt(strngrd1.Cells[2,i]);

end;
max:=a[2,1];
min:=a[2,1];

for j:=1 to strngrd1.RowCount-1 do

begin
if a[2,j]>max then max:=a[2,j];
if a[2,j]<min then min:=a[2,j];
end;

edt1.text:=inttostr(max);
edt2.text:=inttostr(min);
end;


procedure TForm1.btn2Click(Sender: TObject);
var
k,i:Integer;
fa:st;
begin
fa:=InputBox('vvod','vvedi model udal','');
Reset(f);
k:=0;
for i:=0 to filesize(f)-1 do
begin
Seek(f,i);
read(f,b);
if b.model<>fa then
begin
Seek(f,k);
write(f,b);
k:=k+1;
end;
end;
Seek(f,k);
Truncate(f);
CloseFile(f);
if dlgopen1.execute then
begin
assignfile(f,dlgopen1.filename);
k:=0;
reset(f);
strngrd1.visible:=true;

while not eof(f) do
begin
k:=k+1;
read(f,b);
strngrd2.Cells[0,k]:=inttostr(k);
strngrd2.Cells[1,k]:=b.model;
strngrd2.Cells[2,k]:=inttostr(b.cena);
strngrd2.Cells[3,k]:=b.proizvoditel;
strngrd2.Cells[4,k]:=inttostr(b.god);
end;
closefile(f);
strngrd2.RowCount:=k+1;
end;
end;



procedure TForm1.btn1Click(Sender: TObject);
var
S,p : String;
i, j : Integer;

begin

S := Edt3.Text;
p:=edt4.text;
j := strngrd2.FixedRows;
strngrd2.RowCount := strngrd2.FixedRows + 1;
strngrd2.Rows[j].Clear;

for i := 0 to strngrd1.RowCount - 1 do
begin

if (strngrd1.Cells[2, i] <> S) and (strngrd1.Cells[3,i]<>p) then Continue;
if j = strngrd2.RowCount then strngrd2.RowCount := j + 1;
strngrd2.Rows[j].Assign(strngrd1.Rows[i]);
Inc(j);
end;

end;

procedure TForm1.N6Click(Sender: TObject);
var
b1:vertolet;
i,j,n:Integer;
begin
strngrd2.RowCount:=strngrd1.RowCount;
Reset(f);
n:=filesize(f);
for i:=1 to n-1 do
for j:=1 to n-i do
begin
Seek(f,j-1);
read(f,b,b1);
if b.cena>b1.cena then
begin
Seek(f,j-1);
write(f,b1,b)

end;
end;
CloseFile(f);
assignfile(f,dlgopen1.filename);
reset(f);
strngrd1.rowcount:=n+1;
if n<>0 then
for i:=1 to n do
begin
read(f,b);
strngrd2.cells[0,i]:=inttostr(i);
strngrd2.Cells[1,i]:=b.model;
strngrd2.Cells[2,i]:=inttostr(b.cena);
strngrd2.Cells[3,i]:=b.proizvoditel;
strngrd2.Cells[4,i]:=inttostr(b.god);
end;

end;

procedure TForm1.btn3Click(Sender: TObject);

var

i, j: Integer;
begin
for i := 1 to strngrd2.RowCount - 1 do
for j := 0 to strngrd2.ColCount - 1 do
strngrd2.Cells[j, i] := '';
edt3.Text:='';
edt4.Text:='';
end;

procedure TForm1.btn4Click(Sender: TObject);
var
S,p : String;
i, j : Integer;

begin

S := Edt3.Text;
p:=edt4.text;
j := strngrd2.FixedRows;
strngrd2.RowCount := strngrd2.FixedRows + 1;
strngrd2.Rows[j].Clear;
for i := 0 to strngrd1.RowCount - 1 do
begin
if (strngrd1.Cells[2, i] <> S) or (strngrd1.Cells[3,i]<>p) then Continue;
if j = strngrd2.RowCount then strngrd2.RowCount := j + 1;
strngrd2.Rows[j].Assign(strngrd1.Rows[i]);
Inc(j);
end;
end;
procedure TForm1.N4Click(Sender: TObject);
var
b1:vertolet;
i,j,n:Integer;
begin
strngrd2.RowCount:=strngrd1.RowCount;
Reset(f);
n:=filesize(f);
for i:=1 to n-1 do
for j:=1 to n-i do
begin
Seek(f,j-1);
read(f,b,b1);
if b.model>b1.model then
begin
Seek(f,j-1);
write(f,b1,b)

end;
end;
CloseFile(f);
assignfile(f,dlgopen1.filename);
reset(f);
strngrd1.rowcount:=n+1;
if n<>0 then
for i:=1 to n do
begin
read(f,b);
strngrd2.cells[0,i]:=inttostr(i);
strngrd2.Cells[1,i]:=b.model;
strngrd2.Cells[2,i]:=inttostr(b.cena);
strngrd2.Cells[3,i]:=b.proizvoditel;
strngrd2.Cells[4,i]:=inttostr(b.god);
end;
end;

procedure TForm1.N7Click(Sender: TObject);
var
b1:vertolet;
i,j,n:Integer;
begin
strngrd2.RowCount:=strngrd1.RowCount;
Reset(f);
n:=filesize(f);
for i:=1 to n-1 do
for j:=1 to n-i do
begin
Seek(f,j-1);
read(f,b,b1);
if b.proizvoditel>b1.proizvoditel then
begin
Seek(f,j-1);
write(f,b1,b)

end;
end;
CloseFile(f);
assignfile(f,dlgopen1.filename);
reset(f);
strngrd1.rowcount:=n+1;
if n<>0 then
for i:=1 to n do
begin
read(f,b);
strngrd2.cells[0,i]:=inttostr(i);
strngrd2.Cells[1,i]:=b.model;
strngrd2.Cells[2,i]:=inttostr(b.cena);
strngrd2.Cells[3,i]:=b.proizvoditel;
strngrd2.Cells[4,i]:=inttostr(b.god);
end;
end;

procedure TForm1.N8Click(Sender: TObject);
var
b1:vertolet;
i,j,n:Integer;
begin
strngrd2.RowCount:=strngrd1.RowCount;
Reset(f);
n:=filesize(f);
for i:=1 to n-1 do
for j:=1 to n-i do
begin
Seek(f,j-1);
read(f,b,b1);
if b.god>b1.god then
begin
Seek(f,j-1);
write(f,b1,b)

end;
end;
CloseFile(f);
assignfile(f,dlgopen1.filename);
reset(f);
strngrd1.rowcount:=n+1;
if n<>0 then
for i:=1 to n do
begin
read(f,b);
strngrd2.cells[0,i]:=inttostr(i);
strngrd2.Cells[1,i]:=b.model;
strngrd2.Cells[2,i]:=inttostr(b.cena);
strngrd2.Cells[3,i]:=b.proizvoditel;
strngrd2.Cells[4,i]:=inttostr(b.god);
end;


end;

procedure TForm1.N9Click(Sender: TObject);
begin
img6.visible:=True;
img1.visible:=false;
img2.visible:=false;
img4.visible:=false;
img3.visible:=false;
img5.visible:=false;
img7.visible:=false;
end;

procedure TForm1.N10Click(Sender: TObject);
begin
img6.visible:=false;
img1.visible:=false;
img2.visible:=false;
img4.visible:=true;
img3.visible:=false;
img5.visible:=false;
img7.visible:=false;
end;

procedure TForm1.N501Click(Sender: TObject);
begin
img6.visible:=false;
img1.visible:=false;
img2.visible:=false;
img4.visible:=false;
img3.visible:=false;
img5.visible:=false;
img7.visible:=true;
end;

procedure TForm1.Ah1Click(Sender: TObject);
begin
img6.visible:=false;
img1.visible:=false;
img2.visible:=false;
img4.visible:=false;
img3.visible:=true;
img5.visible:=false;
img7.visible:=false;
end;

procedure TForm1.Rah661Click(Sender: TObject);
begin
img6.visible:=false;
img1.visible:=false;
img2.visible:=false;
img4.visible:=false;
img3.visible:=false;
img5.visible:=true;
img7.visible:=false;
end;
procedure TForm1.AH561Click(Sender: TObject);
begin
img6.visible:=false;
img1.visible:=false;
img2.visible:=true;
img4.visible:=false;
img3.visible:=false;
img5.visible:=false;
img7.visible:=false;
end;

procedure TForm1.N261Click(Sender: TObject);
begin
img6.visible:=false;
img1.visible:=true;
img2.visible:=false;
img4.visible:=false;
img3.visible:=false;
img5.visible:=false;
img7.visible:=false;
end;

end.




Соседние файлы в папке Типизорованный файл. Helicopter