• 1 Сухарев М.В. Основы Delphi. Профессиональный подход. - СПб.: Наука и Техника, 2004. - 600 с.: ил.
• Кэнту М. Delphi 7: Для профессионалов. - СПб.: Питер, 2004. - 1101 с.: ил.
• Фленов М.Е. Программирование в Delphi глазами хакера. - СПб.: БХВ-Петербург, 2004. - 368 с.: ил.
• Тейксейра С., Пачеко К. Delphi 5, Руководство разработчика. в 2 т. - СПб.: Питер, 2005.
• Стивенс Р. Delphi. Готовые алгоритмы / Пер. с англ. - М.: ДМК Пресс, 2001. - 384.: ил.
• Borland Delphi 2005. Электронный самоучитель. ООО «ИДДК», 2005.
• https://www.codenet.ru/progr/bcb/borland_builder/
• https://www.mydelphi.info/
• https://www.delphibasics.ru/
Приложение А
(Обязательное)
Листинг программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls, jpeg, ExtCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
ProgressBar1: TProgressBar;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Timer1: TTimer;
Label1: TLabel;
Label2: TLabel;
procedure Timer1Timer(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
ProgressBar1.Position:=ProgressBar1.Position+1;
If (ProgressBar1.Position=ProgressBar1.Max) Then
bitBtn1.Visible:=true;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
form1.visible:=false;
form2.show;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Form1.Close;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, jpeg, ExtCtrls;
type
TForm2 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N6: TMenuItem;
N12: TMenuItem;
N13: TMenuItem;
N31: TMenuItem;
N41: TMenuItem;
N51: TMenuItem;
N61: TMenuItem;
N71: TMenuItem;
N91: TMenuItem;
N101: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N18: TMenuItem;
N19: TMenuItem;
N20: TMenuItem;
N22: TMenuItem;
N23: TMenuItem;
N24: TMenuItem;
N25: TMenuItem;
Delphi71: TMenuItem;
N111: TMenuItem;
Image1: TImage;
N21: TMenuItem;
N27: TMenuItem;
N28: TMenuItem;
procedure N13Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure N31Click(Sender: TObject);
procedure N19Click(Sender: TObject);
procedure N41Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N51Click(Sender: TObject);
procedure N22Click(Sender: TObject);
procedure N61Click(Sender: TObject);
procedure N27Click(Sender: TObject);
procedure N28Click(Sender: TObject);
procedure N25Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure Image1Click(Sender: TObject);
procedure N71Click(Sender: TObject);
procedure N81Click(Sender: TObject);
procedure N91Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N101Click(Sender: TObject);
procedure Delphi71Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N24Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, Unit10,
Unit11;
{$R *.dfm}
procedure TForm2.N13Click(Sender: TObject);
begin
form1.visible:=false;
form1.show;
end;
procedure TForm2.N15Click(Sender: TObject);
begin
form3.visible:=false;
form3.show;
end;
procedure TForm2.N21Click(Sender: TObject);
begin
form2.visible:=false;
form2.show;
end;
procedure TForm2.N31Click(Sender: TObject);
begin
form3.visible:=false;
form3.show;
end;
procedure TForm2.N19Click(Sender: TObject);
begin
form4.visible:=false;
form4.show;
end;
procedure TForm2.N41Click(Sender: TObject);
begin
form4.visible:=false;
form4.show;
end;
procedure TForm2.N20Click(Sender: TObject);
begin
form5.visible:=false;
form5.show;
end;
procedure TForm2.N51Click(Sender: TObject);
begin
form5.visible:=false;
form5.show;
end;
procedure TForm2.N22Click(Sender: TObject);
begin
form6.visible:=false;
form6.show;
end;
procedure TForm2.N61Click(Sender: TObject);
begin
form6.visible:=false;
form6.show;
end;
procedure TForm2.N27Click(Sender: TObject);
begin
Form2.Close;
end;
procedure TForm2.N28Click(Sender: TObject);
begin
Form1.close;
form2.Close;
form3.Close;
form4.Close;
form5.Close;
form6.Close;
form7.Close;
Form8.Close;
Form9.Close;
Form10.Close;
Form11.Close;
end;
procedure TForm2.N25Click(Sender: TObject);
begin
form3.visible:=false;
form3.show;
end;
procedure TForm2.N2Click(Sender: TObject);
begin
form7.show;
end;
procedure TForm2.Image1Click(Sender: TObject);
begin
Form8.show;
end;
procedure TForm2.N71Click(Sender: TObject);
begin
Form7.Show;
end;
procedure TForm2.N81Click(Sender: TObject);
begin
Form8.Show;
end;
procedure TForm2.N91Click(Sender: TObject);
begin
Form9.Show;
end;
procedure TForm2.N6Click(Sender: TObject);
begin
Form9.Show;
end;
procedure TForm2.N101Click(Sender: TObject);
begin
Form10.Show;
end;
procedure TForm2.Delphi71Click(Sender: TObject);
begin
Form10.Show;
end;
procedure TForm2.N3Click(Sender: TObject);
begin
Form8.Show;
end;
procedure TForm2.N24Click(Sender: TObject);
begin
Form11.Show;
end;
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, Menus, ExtCtrls, Buttons;
type
TForm3 = class(TForm)
Button5: TButton;
Button1: TButton;
Button2: TButton;
StringGrid1: TStringGrid;
Panel3: TPanel;
Button9: TButton;
Label7: TLabel;
Label8: TLabel;
Edit6: TEdit;
Button10: TButton;
Panel1: TPanel;
Button4: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Panel2: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
BitBtn1: TBitBtn;
Button3: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Panel4: TPanel;
Button11: TButton;
Label9: TLabel;
Edit7: TEdit;
Label10: TLabel;
Button12: TButton;
Panel5: TPanel;
Label11: TLabel;
Button13: TButton;
Label12: TLabel;
Label13: TLabel;
Edit8: TEdit;
Edit9: TEdit;
Button14: TButton;
Button15: TButton;
procedure Button5Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Edit8Change(Sender: TObject);
procedure Edit9Change(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure Edit3Change(Sender: TObject);
procedure Edit4Change(Sender: TObject);
procedure Edit5Change(Sender: TObject);
procedure Edit6Change(Sender: TObject);
procedure Edit7Change(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
ff:string;
myFile:TextFile;
chMode:integer;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm3.Button5Click(Sender: TObject);
begin
Form3.Close;
end;
procedure TForm3.Button10Click(Sender: TObject);
var txt,bacTXT:string;
V:array[1..5] of string;
ii:integer;
nz:integer;
begin
ff:=Edit6.Text;
if chmode=1 then begin
label7.Caption:='Ñîçäàíèå áàçû'; button10.Caption:='Ñîçäàòü';
if pos('.txt',AnsiLowerCase(ff))= 0 then ff:=ff+'.txt';
AssignFile(myFile, ff);
ReWrite(myFile);
Write(myFile, '');
CloseFile(myFile);
panel1.Show;
end;
if chMode=2 then begin
label7.Caption:='Çàãðóçêà áàçû'; button10.Caption:='Îòêðûòü';
nz:=0; ff:=ff+'.txt';
AssignFile(myFile, ff);
Reset(myFile);
stringgrid1.Cells[0,0]:='Íàçâàíèå ÓÎ';
stringgrid1.Cells[1,0]:='Àäðåñ';
stringgrid1.Cells[2,0]:='Äèðåêòîð';
stringgrid1.Cells[3,0]:='Êîë-âî ñòîðóäíèêîâ';
stringgrid1.Cells[4,0]:='Êîë-âî ó÷àùèõñÿ';
while not Eof(myFile) do begin
ReadLn(myFile, txt);
nz:=nz+1;
for ii:=1 to 5 do begin
V[ii]:=Copy(txt,0,pos('!',txt)-1);
bacTXT:=txt; txt:= Copy(bactxt,Length(V[ii])+2,Length(bacTXT)+2-Length(V[ii]));
end;
stringgrid1.Cells[0,nz]:=V[1]; stringgrid1.Cells[1,nz]:=V[2];
stringgrid1.Cells[2,nz]:=V[3]; stringgrid1.Cells[3,nz]:=V[4];
stringgrid1.Cells[4,nz]:=V[5];
end;
form1.Caption:=txt;
CloseFile(myFile);
end;
panel4.Hide; panel1.Show; PANEL3.HIDE;
stringGrid1.enabled:=true; button1.enabled:=true; button2.enabled:=true; button5.enabled:=true; panel1.enabled:=true;
end;
procedure TForm3.Button9Click(Sender: TObject);
begin
panel3.Hide;
stringGrid1.enabled:=true; button1.enabled:=true; button2.enabled:=true; button5.enabled:=true; panel1.enabled:=true;
end;
procedure TForm3.Button1Click(Sender: TObject);
var ii:integer;
begin
for ii:=1 to StringGrid1.RowCount do stringgrid1.Rows[ii].Clear;
panel3.show; chmode:=1; label7.Caption:='Ñîçäàíèå áàçû'; button10.Caption:='Ñîçäàòü'; stringgrid1.CleanupInstance;
stringGrid1.enabled:=false;
button1.enabled:=false;
button2.enabled:=false;
button5.enabled:=false;
panel1.enabled:=false;
end;
procedure TForm3.Button2Click(Sender: TObject);
var ii:integer;
begin
for ii:=1 to StringGrid1.RowCount do stringgrid1.Rows[ii].Clear;
panel3.Show; chmode:=2; label7.Caption:='Çàãðóçêà áàçû'; button10.Caption:='Îòêðûòü'; panel1.Show;
stringGrid1.enabled:=false;
button1.enabled:=false;
button2.enabled:=false;
button5.enabled:=false;
panel1.enabled:=false;
end;
procedure TForm3.Button4Click(Sender: TObject);
begin
panel2.visible:=true;
stringGrid1.enabled:=false;
button1.enabled:=false;
button2.enabled:=false;
button5.enabled:=false;
panel1.enabled:=false;
end;
procedure TForm3.Button3Click(Sender: TObject); {Äîáàâëåíèå â áàçó}
var zap,txt,bacTXT:string;
ii,n,nz,kz,i1,iii:integer;
V:array[1..5] of string;
myfile1:textfile;
begin
zap:=edit1.Text +'!'+edit2.Text+'!'+edit3.Text+'!'+edit4.Text+'!'+edit5.Text+'!'; {ôîðìèðóåì çàïèñü äëÿ äîáàâëåíèÿ}
AssignFile(myFile1, ff); Append(myFile1); WriteLn(myFile1,zap); CloseFile(myFile1);{Ïèøåì çàïèñü â ôàéë}
{ îáíîâëÿåì StringGrid ïîñëå äîáàâëåíèÿ }
stringgrid1.Cells[0,0]:='Íàçâàíèå ÓÎ'; {Èìåíóåì çàãîëîâêè ñòîëáöîâ}
stringgrid1.Cells[1,0]:='Àäðåñ';
stringgrid1.Cells[2,0]:='Äèðåêòîð';
stringgrid1.Cells[3,0]:='Êîë-âî ñîòðóäíèêîâ';
stringgrid1.Cells[4,0]:='Êîë-âî ó÷àùèõñÿ';
AssignFile(myFile, ff); Reset(myFile); n:=0; {ïîñëå çàïèñè îòêðûâàåì áàçó äëÿ ÷òåíèÿ}
while not Eof(myFile) do begin
ReadLn(myFile, txt);
n:=n+1; {N-ïåðåìåííàÿ ó÷¸òà êîëè÷åñòâà çàïèñåé â ôàéëå}
for ii:=1 to 5 do begin {â ýòîì áëîêå ðàçáèâàåì êàæäóþ çàïèñü èç ôàéëà íà 5 ÷àñòåé - ïàðàìåòðîâ}
V[ii]:=Copy(txt,0,pos('!',txt)-1);
bacTXT:=txt; txt:= Copy(bactxt,Length(V[ii])+2,Length(bacTXT)+2-Length(V[ii]));
end;
{ïîñëå ñ÷èòûâàíèÿ êàæäîé ñòðîêè èç ôàéëà - äîáàâëÿåì å¸ ïî ÷àñòÿì â íîâóþ, n-íóþ cnhjre StringGrid}
for i1:=0 to 4 do stringgrid1.Cells[i1,n]:=V[i1+1];
end;
closeFile(myFile); {çàêðûâàåì ôàéë áàçû, îòêðûòûé íà ÷òåíèå}
stringGrid1.enabled:=true; button1.enabled:=true; button2.enabled:=true; button5.enabled:=true; panel1.enabled:=true;
{Äàëüíåéøèé êîä ôèêñèò áàãè ïðåäûäóùåãî}
nz:=1; for ii:=1 to StringGrid1.RowCount do stringgrid1.Rows[ii].Clear;
ff:=Edit6.Text; ff:=ff+'.txt'; AssignFile(myFile, ff); Reset(myFile);
while not Eof(myFile) do begin ReadLn(myFile, txt);
for ii:=1 to 5 do begin
V[ii]:=Copy(txt,0,pos('!',txt)-1); bacTXT:=txt;
txt:= Copy(bactxt,Length(V[ii])+2,Length(bacTXT)+2-Length(V[ii]));
end;
if V[1]<>edit7.Text then begin
stringgrid1.Cells[0,nz]:=V[1]; stringgrid1.Cells[1,nz]:=V[2];
stringgrid1.Cells[2,nz]:=V[3]; stringgrid1.Cells[3,nz]:=V[4];
stringgrid1.Cells[4,nz]:=V[5]; nz:=nz+1;
end;
end; closefile(myfile); kz:=nz; nz:=0;
{Ïðî÷èòàëè ôàéë è âûâåëè â StringGrid çàïèñè ñ óæå âûïîëåííûì óäàëåíèåì}
AssignFile(myFile, ff); rewrite(myFile); closefile(myfile); {î÷èùàåì èñõîäíûé ôàéë}
AssignFile(myFile, ff); Append(myFile);
For iii:=1 to kz do begin nz:=nz+1;
zap:=stringgrid1.Cells[0,nz] +'!'+stringgrid1.Cells[1,nz]+'!'+stringgrid1.Cells[2,nz]+'!'+stringgrid1.Cells[3,nz]+'!'+stringgrid1.Cells[4,nz]+'!';
WriteLn(myFile,zap);
end;
closefile(myfile); {Çàïèñûâàåì â ôàéë ñîäåðæèìîå ÑòðèíãÃðèäà}
panel4.hide; panel1.visible:=true; {Êàêàÿ-òî íåíóæíàÿ ñòðîêà}
stringGrid1.enabled:=true; button1.enabled:=true; button2.enabled:=true; button5.enabled:=true; panel1.enabled:=true;
end;
procedure TForm3.BitBtn1Click(Sender: TObject);
begin
panel2.Hide;
stringGrid1.enabled:=true; button1.enabled:=true; button2.enabled:=true; button5.enabled:=true; panel1.enabled:=true;
end;
procedure TForm3.Button6Click(Sender: TObject);
begin
panel4.Show;
stringGrid1.enabled:=false;
button1.enabled:=false;
button2.enabled:=false;
button5.enabled:=false;
panel1.enabled:=false;
end;
procedure TForm3.Button12Click(Sender: TObject); {Óäàëåíèå çàïèñåé ïî êîíêðåòíîìó ÓÎ}
var ii,nz,kz,iii:integer;
txt,bacTXT,zap:string;
V:array[1..5] of string;
begin
nz:=1; for ii:=1 to StringGrid1.RowCount do stringgrid1.Rows[ii].Clear;
ff:=Edit6.Text; ff:=ff+'.txt'; AssignFile(myFile, ff); Reset(myFile);
while not Eof(myFile) do begin ReadLn(myFile, txt);
for ii:=1 to 5 do begin
V[ii]:=Copy(txt,0,pos('!',txt)-1); bacTXT:=txt;
txt:= Copy(bactxt,Length(V[ii])+2,Length(bacTXT)+2-Length(V[ii]));
end;
if V[1]<>edit7.Text then begin
stringgrid1.Cells[0,nz]:=V[1]; stringgrid1.Cells[1,nz]:=V[2];
stringgrid1.Cells[2,nz]:=V[3]; stringgrid1.Cells[3,nz]:=V[4];
stringgrid1.Cells[4,nz]:=V[5]; nz:=nz+1;
end;
end; closefile(myfile); kz:=nz; nz:=0;
{Ïðî÷èòàëè ôàéë è âûâåëè â StringGrid çàïèñè ñ óæå âûïîëåííûì óäàëåíèåì}
AssignFile(myFile, ff); rewrite(myFile); closefile(myfile); {î÷èùàåì èñõîäíûé ôàéë}
AssignFile(myFile, ff); Append(myFile);
For iii:=1 to kz do begin nz:=nz+1;
zap:=stringgrid1.Cells[0,nz] +'!'+stringgrid1.Cells[1,nz]+'!'+stringgrid1.Cells[2,nz]+'!'+stringgrid1.Cells[3,nz]+'!'+stringgrid1.Cells[4,nz]+'!';
WriteLn(myFile,zap);
end;
closefile(myfile); {Çàïèñûâàåì â ôàéë ñîäåðæèìîå ÑòðèíãÃðèäà}
panel4.hide; panel1.visible:=true; {Êàêàÿ-òî íåíóæíàÿ ñòðîêà}
stringGrid1.enabled:=true; button1.enabled:=true; button2.enabled:=true; button5.enabled:=true; panel1.enabled:=true;
end;
procedure TForm3.Button8Click(Sender: TObject);
var ii,nz,iii,i1:integer;
txt,bacTXT,zap:string;
V:array[1..5] of string;
begin
for ii:=1 to StringGrid1.RowCount do stringgrid1.Rows[ii].Clear; nz:=0;
{Î÷èñòèëè ÑòðèíãÃðèä}
ff:=Edit6.Text; ff:=ff+'.txt'; AssignFile(myFile, ff); Reset(myFile);
while not Eof(myFile) do begin
ReadLn(myFile, txt);
for ii:=1 to 5 do begin
V[ii]:=Copy(txt,0,pos('!',txt)-1);
bacTXT:=txt; txt:= Copy(bactxt,Length(V[ii])+2,Length(bacTXT)+2-Length(V[ii]));
end;
{×èòàåì êàæäóþ çàïèñü(ñòðîêó) èç áàçû è ðàçáèâàåì íà 5 ÷àñòåé}
if V[4]<>'' then {À ýòî îáðàáîòêà îøèáîê}
if Strtoint(V[4])<50 then begin {Åñëè êîë-âî ñîòðóäèêîâ<50 - òîãäà âûâîäèì â ÑòðèíãÃðèä}
nz:=nz+1; for i1:=0 to 4 do stringgrid1.Cells[i1,nz]:=V[i1+1];
end;
end;
CloseFile(MyFile);
end;
procedure TForm3.Button7Click(Sender: TObject);
begin
panel5.Show;
stringGrid1.enabled:=false;
button1.enabled:=false;
button2.enabled:=false;
button5.enabled:=false;
panel1.enabled:=false;
end;
procedure TForm3.Button14Click(Sender: TObject);
var ii,nz,kz,iii,i1:integer;
txt,bacTXT,zap:string;
V:array[1..5] of string;
begin
nz:=1; for ii:=1 to StringGrid1.RowCount do stringgrid1.Rows[ii].Clear;
ff:=Edit6.Text; ff:=ff+'.txt'; AssignFile(myFile, ff); Reset(myFile);
{ÑòðíãÃðèä î÷èùåí, ôàéë îòêðûò äëÿ ÷òåíèÿ}
while not Eof(myFile) do begin
ReadLn(myFile, txt);
for ii:=1 to 5 do begin
V[ii]:=Copy(txt,0,pos('!',txt)-1); bacTXT:=txt;
txt:= Copy(bactxt,Length(V[ii])+2,Length(bacTXT)+2-Length(V[ii]));
end;
{ðàçáèâàåì êàæäóþ ñòðîêó ôàéëà íà 5 ÷àñòåé}
if V[1]<>'' then {Îáðàáîòêà îøèáîê}
if V[1]<>edit8.Text then begin
stringgrid1.Cells[0,nz]:=V[1]; stringgrid1.Cells[1,nz]:=V[2]; stringgrid1.Cells[2,nz]:=V[3]; stringgrid1.Cells[3,nz]:=V[4]; stringgrid1.Cells[4,nz]:=V[5]; nz:=nz+1;
end;
if V[1]=edit8.Text then begin
stringgrid1.Cells[0,nz]:=V[1]; stringgrid1.Cells[1,nz]:=V[2]; stringgrid1.Cells[2,nz]:=Edit9.Text; stringgrid1.Cells[3,nz]:=V[4]; stringgrid1.Cells[4,nz]:=V[5]; nz:=nz+1;
end;
end; closefile(myfile); kz:=nz; nz:=0;
{Ïðî÷èòàëè ôàéë è âûâåëè â StringGrid çàïèñè ñ óæå âûïîëåííîé çàìåíîé}
AssignFile(myFile, ff); rewrite(myFile); closefile(myfile); {î÷èùàåì èñõîäíûé ôàéë}
AssignFile(myFile, ff); Append(myFile);
For iii:=1 to kz do begin nz:=nz+1;
zap:=stringgrid1.Cells[0,nz] +'!'+stringgrid1.Cells[1,nz]+'!'+stringgrid1.Cells[2,nz]+'!'+stringgrid1.Cells[3,nz]+'!'+stringgrid1.Cells[4,nz]+'!';
WriteLn(myFile,zap);
end;
closefile(myfile); {Çàïèñûâàåì â ôàéë ñîäåðæèìîå ÑòðèíãÃðèäà}
panel5.hide; panel1.visible:=true; {Êàêàÿ-òî íåíóæíàÿ ñòðîêà}
stringGrid1.enabled:=true; button1.enabled:=true; button2.enabled:=true; button5.enabled:=true; panel1.enabled:=true;
end;
procedure TForm3.Button13Click(Sender: TObject);
begin
panel5.Hide;
stringGrid1.enabled:=true; button1.enabled:=true; button2.enabled:=true; button5.enabled:=true; panel1.enabled:=true;
end;
procedure TForm3.Edit8Change(Sender: TObject);
begin
if (Length(edit8.Text)<1) or (Length(edit9.text)<1) then button14.Enabled:= false
else button14.Enabled:= true;
end;
procedure TForm3.Edit9Change(Sender: TObject);
begin
if (Length(edit8.Text)<1) or (Length(edit9.text)<1) then button14.Enabled:= false
else button14.Enabled:= true;
end;
procedure TForm3.Edit1Change(Sender: TObject);
begin
if (Length(edit1.Text)<1) or (Length(edit2.text)<1) or (Length(edit3.text)<1) or (Length(edit4.text)<1) or (Length(edit5.text)<1) then button3.Enabled:= false
else button3.Enabled:= true;
end;
procedure TForm3.Edit2Change(Sender: TObject);
begin
if (Length(edit1.Text)<1) or (Length(edit2.text)<1) or (Length(edit3.text)<1) or (Length(edit4.text)<1) or (Length(edit5.text)<1) then button3.Enabled:= false
else button3.Enabled:= true;
end;
procedure TForm3.Edit3Change(Sender: TObject);
begin
if (Length(edit1.Text)<1) or (Length(edit2.text)<1) or (Length(edit3.text)<1) or (Length(edit4.text)<1) or (Length(edit5.text)<1) then button3.Enabled:= false
else button3.Enabled:= true;
end;
procedure TForm3.Edit4Change(Sender: TObject);
Var i:integer; ss:string;
begin
ss:=edit4.text;
for i:=1 to length(ss) do if (Ord(ss[i])<48)or(Ord(ss[i])>57) then edit4.clear;
if (Length(edit1.Text)<1) or (Length(edit2.text)<1) or (Length(edit3.text)<1) or (Length(edit4.text)<1) or (Length(edit5.text)<1) then button3.Enabled:= false
else button3.Enabled:= true;
end;
procedure TForm3.Edit5Change(Sender: TObject);
Var i:integer; ss:string;
begin
ss:=edit5.text;
for i:=1 to length(ss) do if (Ord(ss[i])<48)or(Ord(ss[i])>57) then edit5.clear;
if (Length(edit1.Text)<1) or (Length(edit2.text)<1) or (Length(edit3.text)<1) or (Length(edit4.text)<1) or (Length(edit5.text)<1) then button3.Enabled:= false
else button3.Enabled:= true;
end;
procedure TForm3.Edit6Change(Sender: TObject);
begin
if (Length(edit6.text))<1 then button10.enabled:=false
else button10.enabled:=true;
end;
procedure TForm3.Edit7Change(Sender: TObject);
begin
if (Length(edit7.text))<1 then button12.enabled:=false
else button12.enabled:=true;
end;
procedure TForm3.Button11Click(Sender: TObject);
begin
stringGrid1.enabled:=true; button1.enabled:=true; button2.enabled:=true; button5.enabled:=true; panel1.enabled:=true;
panel4.Hide;
end;
procedure TForm3.Button15Click(Sender: TObject);
var ii,nz,kz,iii,i1,i,j:integer;
txt,bacTXT,zap:string;
V:array[1..5] of string;
begin
nz:=1; for ii:=1 to StringGrid1.RowCount do stringgrid1.Rows[ii].Clear;
ff:=Edit6.Text; ff:=ff+'.txt'; AssignFile(myFile, ff); Reset(myFile);
{ÑòðíãÃðèä î÷èùåí, ôàéë îòêðûò äëÿ ÷òåíèÿ}
while not Eof(myFile) do begin
ReadLn(myFile, txt);
for ii:=1 to 5 do begin
V[ii]:=Copy(txt,0,pos('!',txt)-1); bacTXT:=txt;
txt:= Copy(bactxt,Length(V[ii])+2,Length(bacTXT)+2-Length(V[ii]));
end;
{ðàçáèâàåì êàæäóþ ñòðîêó ôàéëà íà 5 ÷àñòåé}
if V[1]<>'' then {Îáðàáîòêà îøèáîê}
begin stringgrid1.Cells[0,nz]:=V[1]; stringgrid1.Cells[1,nz]:=V[2]; stringgrid1.Cells[2,nz]:=V[3]; stringgrid1.Cells[3,nz]:=V[4]; stringgrid1.Cells[4,nz]:=V[5]; nz:=nz+1;
end;
end; closefile(myfile); kz:=nz; nz:=0;
{Ïðî÷èòàëè ôàéë è âûâåëè â StringGrid çàïèñè}
{À òåïåðü ñîðòèðîâêà}
for j:=1 to kz do
for i:=j to kz do if stringgrid1.Cells[4,i] <>'' then
if StrToInt(stringgrid1.Cells[4,i]) > StrToInt(stringgrid1.Cells[4,j]) then begin
for iii:=0 to 4 do begin
v[iii]:= stringgrid1.Cells[iii+1,i];
stringgrid1.Cells[iii+1,i]:=stringgrid1.Cells[iii+1,j];
stringgrid1.Cells[iii+1,j]:= v[iii];
end;
end;
end;
end.
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls;
type
TForm4 = class(TForm)
Image1: TImage;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label2: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject);
begin
form4.close;
end;
end.
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls;
type
TForm5 = class(TForm)
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form5: TForm5;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm5.Button1Click(Sender: TObject);
begin
form5.close;
end;
end.
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls;
type
TForm6 = class(TForm)
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form6: TForm6;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm6.Button1Click(Sender: TObject);
begin
form6.close;
end;
end.
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, StdCtrls;
type
TForm7 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Image1: TImage;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form7: TForm7;
implementation
{$R *.dfm}
procedure TForm7.Button1Click(Sender: TObject);
begin
form7.Close;
end;
end.
unit Unit8;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, jpeg, ExtCtrls, StdCtrls;
type
TForm8 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Image1: TImage;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form8: TForm8;
implementation
{$R *.dfm}
procedure TForm8.Button1Click(Sender: TObject);
begin
Form8.Close;
end;
end.
unit Unit9;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm9 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form9: TForm9;
implementation
{$R *.dfm}
procedure TForm9.Button1Click(Sender: TObject);
begin
Form9.Close;
end;
end.
unit Unit10;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls;
type
TForm10 = class(TForm)
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form10: TForm10;
implementation
{$R *.dfm}
procedure TForm10.Button1Click(Sender: TObject);
begin
Form10.Close;
end;
end.
unit Unit11;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls, StdCtrls, Buttons;
type
TForm11 = class(TForm)
TreeView1: TTreeView;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form11: TForm11;
implementation
{$R *.dfm}
procedure TForm11.BitBtn1Click(Sender: TObject);
begin
Form11.Close;
end;
end.