1. MaxY] of TPanel;
X1,Y1: Integer;
implementation
uses Unit1, Unit2, Unit3;
{$R *. dfm}
procedure TForm1. FormCreate(Sender: TObject);
var
i, j: integer;
begin
for i: = 1 to MaxX do begin
for j: = 1 to MaxY do begin
sbut [i, j]: = TPanel. Create(form1);
sbut [i, j]. Parent: = form1;
sbut [i, j]. Height: = 20;
sbut [i, j]. Width: = 20;
sbut [i, j]. Top: = (i - 1) * 26 + 10;
sbut [i, j]. Left: = (j - 1) * 26 + 10;
sbut [i, j]. Color: = clYellow;
sbut [i, j]. OnClick: = panelOnClick;
end;
end;
end;
function TForm1. Search_LR: Boolean;
var
i, j, k: integer;
Myword: String;
begin
Search_LR: =False;
if Edit1. Text<>'' then begin
for i: = 1 to MaxX do
for j: = 1 to MaxY do
if (j+Length(Edit1. Text) - 1) <=MaxY then begin
for k: =0 to Length(Edit1. Text) - 1 do
Myword: =Myword+SBut [i,j+k]. Caption;
if Myword=Edit1. Text then begin
for k: =0 to Length(Edit1. Text) - 1 do begin
sbut [i, j+k]. Font. Color: =clYellow;
sbut [i, j+k]. Color: = clBlue;
end;
Search_LR: =True;
{Exit; }
end else Myword: ='';
end;
end;
end;
function TForm1. Search_RL: Boolean;
var
i, j, k: integer;
Myword: String;
begin
Search_RL: =False;
if Edit1. Text<>'' then begin
for i: = 1 to MaxX do
for j: = 1 to MaxY do
if (j+Length(Edit1. Text) - 1) <=MaxY then begin
for k: =Length(Edit1. Text) - 1 DownTo 0 do
Myword: =Myword+SBut [i,j+k]. Caption;
if Myword=Edit1. Text then begin
for k: =Length(Edit1. Text) - 1 DownTo 0 do begin
sbut [i, j+k]. Font. Color: =clRed;
sbut [i, j+k]. Color: = clBlack;
end;
Search_RL: =True;
{Exit; }
end else Myword: ='';
end;
end;
end;
function TForm1. Search_UD: Boolean;
var
i, j, k: integer;
Myword: String;
begin
Search_UD: =False;
if Edit1. Text<>'' then begin
for i: = 1 to MaxX do
for j: = 1 to MaxY do
if (i+Length(Edit1. Text) - 1) <=MaxX then begin
for k: =0 to Length(Edit1. Text) - 1 do
Myword: =Myword+SBut [i+k,j]. Caption;
if Myword=Edit1. Text then begin
for k: =0 to Length(Edit1. Text) - 1 do begin
sbut [i+k,j]. Font. Color: =clBlack;
sbut [i+k,j]. Color: = clRed;
end;
Search_UD: =True;
{Exit; }
end else Myword: ='';
end;
end;
end;
function TForm1. Search_DU: Boolean;
var
i, j, k: integer;
Myword: String;
begin
Search_DU: =False;
if Edit1. Text<>'' then begin
for i: = 1 to MaxX do
for j: = 1 to MaxY do
if (i+Length(Edit1. Text) - 1) <=MaxX then begin
for k: =Length(Edit1. Text) - 1 DownTo 0 do
Myword: =Myword+SBut [i+k,j]. Caption;
if Myword=Edit1. Text then begin
for k: =Length(Edit1. Text) - 1 DownTo 0 do begin
sbut [i+k,j]. Font. Color: =clBlue;
sbut [i+k,j]. Color: = clGreen;
end;
Search_DU: =True;
{Exit; }
end else Myword: ='';
end;
end;
end;
procedure TForm1. Search;
var Find,F1,F2,F3,F4: Boolean;
begin
if SearCB. ItemIndex<0 then Search_LR;
Find: =True;
F1: =True; F3: =True;
F2: =True; F4: =True;
case SearCB. ItemIndex of
0: Find: =Search_LR;
1: Find: =Search_RL;
2: Find: =Search_UD;
3: Find: =Search_DU;
4: begin
F1: =Search_LR;
F2: =Search_RL;
F3: =Search_UD;
F4: =Search_DU;
end;
end;
if (Find=False) or((F1=False) and(F2=False) and(F3=False) and(F4=False)) then
ShowMessage('Шуканої послідовності символів не знайдено! ')
end;
function TForm1. Sumbol: Char;
const
Ukr='йцукенгшщзхїфівапролджєячсмитьбюЙЦУКЕНГШЩЗХЇФІВАПРОЛДЖЄЯЧСМИТЬБЮ';
UkrL='йцукенгшщзхїфівапролджєячсмитьбю';
UkrB='ЙЦУКЕНГШЩЗХЇФІВАПРОЛДЖЄЯЧСМИТЬБЮ';
Rus='йцукенгшщзхъфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ';
RusL='йцукенгшщзхъфывапролджэячсмитьбю';
RusB='ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ';
Eng='qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM';
EngL='qwertyuiopasdfghjklzxcvbnm';
EngB='QWERTYUIOPASDFGHJKLZXCVBNM';
Num='0123456789';
begin
if ALF. ItemIndex<0 then ALF. ItemIndex: =0;
case ALF. ItemIndex of
0: begin
case RG. ItemIndex of
0: Sumbol: =UkrB [Random(Length(UkrB)) +1] ;
1: Sumbol: =UkrL [Random(Length(UkrL)) +1] ;
2: Sumbol: =Ukr [Random(Length(Ukr)) +1] ;
end;
end;
1: begin
case RG. ItemIndex of
0: Sumbol: =RusB [Random(Length(RusB)) +1] ;
1: Sumbol: =RusL [Random(Length(RusL)) +1] ;
2: Sumbol: =Rus [Random(Length(Rus)) +1] ;
end;
end;
2: begin
case RG. ItemIndex of
0: Sumbol: =EngB [Random(Length(EngB)) +1] ;
1: Sumbol: =EngL [Random(Length(EngL)) +1] ;
2: Sumbol: =Eng [Random(Length(Eng)) +1] ;
end;
end;
3: Sumbol: =Num [Random(Length(Num)) +1] ;
end;
end;
procedure TForm1. Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then Search;
end;
procedure TForm1. SpeedButton1Click(Sender: TObject);
begin
Close;
end;
procedure Tform1. panelOnClick (sender: Tobject);
var
s: string;
Col: Integer;
begin
Col: =TPanel(sender). Color;
TPanel(sender). Color: =clRed;
s: = InputBox ('Введіть потрібний символ', 'Символ: ', TPanel(sender). Caption);
if S<>'' then
TPanel(sender). Caption: = S [1] ;
TPanel(sender). Color: =Col;
end;
procedure TForm1. ALFChange(Sender: TObject);
begin
if ALF. ItemIndex=3 then RG. Enabled: =False
else RG. Enabled: =True;
Edit1. SetFocus;
end;
procedure TForm1. SearCBChange(Sender: TObject);
begin
Edit1. SetFocus;
end;
procedure TForm1. Panel1Click(Sender: TObject);
begin
if SearCB. ItemIndex<0 then SearCB. ItemIndex: =0;
Search;
end;
procedure TForm1. Panel2Click(Sender: TObject);
var i,j: Integer;
begin
for i: =1 to MaxX do
for j: =1 to MaxY do begin
sbut [i, j]. Font. Color: =clBlue;
sbut [i, j]. Color: =clYellow;
end;
end;
procedure TForm1. Panel3Click(Sender: TObject);
var i,j: Integer;
begin
Randomize;
for i: = 1 to MaxX do
for j: = 1 to MaxY do begin
sbut [i, j]. Caption: = Sumbol;
sbut [i, j]. Font. Color: =clBlue;
sbut [i, j]. Color: =clYellow;
end;
end;
procedure TForm1. Panel4Click(Sender: TObject);
begin
Close;
end;
procedure TForm1. N1Click(Sender: TObject);
begin
Form1. Enabled: =False;
AboutProgram. Show;
end;
procedure TForm1. N2Click(Sender: TObject);
begin
Form1. Enabled: =False;
AboutBox. Show;
end;
procedure TForm1. FormClose(Sender: TObject; var Action: TCloseAction);
begin
AboutBox1. close;
end;
procedure TForm1. sBitBtn1Click(Sender: TObject);
begin
close;
end;
end.
Лістінг модуля Unit2:
unit Unit2;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls, sBitBtn, sSkinProvider, sSkinManager, sPanel, sLabel,
sButton;
type
TAboutBox = class(TForm)
Panel1: TPanel;
Image1: TImage;
sLabelFX1: TsLabelFX;
sLabelFX2: TsLabelFX;
sStickyLabel1: TsStickyLabel;
sStickyLabel2: TsStickyLabel;
sLabelFX3: TsLabelFX;
sSkinProvider1: TsSkinProvider;
sButton1: TsButton;
procedure OKButtonClick(Sender: TObject);
procedure sBitBtn1Click(Sender: TObject);
procedure sBitBtn2Click(Sender: TObject);
procedure sButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
AboutBox: TAboutBox;
implementation
uses Unit1_0;
{$R *. dfm}
procedure TAboutBox. OKButtonClick(Sender: TObject);
begin
Form1. Enabled: =True;
close;
end;
procedure TAboutBox. sBitBtn1Click(Sender: TObject);
begin
Form1. Enabled: =True;
close;
end;
procedure TAboutBox. sBitBtn2Click(Sender: TObject);
begin
Form1. Enabled: =True;
close;
end;
procedure TAboutBox. sButton1Click(Sender: TObject);
begin
Form1. Enabled: =True;
close;
end;
end.
Лістінг модуля Unit3:
unit Unit3;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls, sSkinProvider, sBitBtn, sSkinManager, sLabel;
type
TAboutBox1 = class(TForm)
Edit1: TEdit;
sBitBtn1: TsBitBtn;
sSkinProvider1: TsSkinProvider;
sBitBtn2: TsBitBtn;
sLabelFX1: TsLabelFX;
sSkinManager1: TsSkinManager;
procedure OKButtonClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Panel1Click(Sender: TObject);
procedure Panel2Click(Sender: TObject);
procedure sBitBtn1Click(Sender: TObject);
procedure sBitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
AboutBox1: TAboutBox1;
implementation
uses Unit1_0, Unit2;
{$R *. dfm}
procedure TAboutBox1. OKButtonClick(Sender: TObject);
begin
if Edit1. Text='1111' then begin
Form1. Show;
AboutBox. Visible: =False;
end
else
Edit1. Text: ='Код не вірний, спробуйте ще раз... ';
end;
procedure TAboutBox1. Button1Click(Sender: TObject);
begin
close;
end;
procedure TAboutBox1. Panel1Click(Sender: TObject);
begin
if Edit1. Text='80968540042' then begin
Form1. Show;
AboutBox. Visible: =False;
end
else
Edit1. Text: ='Код не вірний, спробуйте ще раз... ';
end;
procedure TAboutBox1. Panel2Click(Sender: TObject);
begin
close;
end;
procedure TAboutBox1. sBitBtn1Click(Sender: TObject);
begin
if Edit1. Text='80968540042' then begin
Form1. Show;
AboutBox. Visible: =False;
end
else
Edit1. Text: ='Код не вірний, спробуйте ще раз... ';
end;
procedure TAboutBox1. sBitBtn2Click(Sender: TObject);
begin
close;
end;
end.
... ії переміщень ПА виділено три етапи: 1945, 1958 та 1983 рр. Встановлено додаткові обставини останнього передавання. Доведено, що основними причинами переміщення архівних і бібліотечних комплексів української еміграції з Чехословацької Республіки були ідеологічні міркування та "оперативні" потреби спецслужб. Опрацьовані джерела дають підстави для спростування деяких міфологем, що побутують в історі ...
... – С.205-206 (Особистий внесок: участь у дослідженнях, оформлення матеріалів і підготовка до публікації). АНОТАЦІЯ Зейдо Фірас Мазен. Опрацювання складу, технології та дослідження вагінальних супозиторіїв противірусної дії з Протефлазідом. – Рукопис. Дисертація на здобуття наукового ступеня кандидата фармацевтичних наук за спеціальністю 15.00.01 – технологія ліків та організація фармацевтичної ...
... дприємства, але й реалізує заходи з підвищення рівня охорони праці на підприємстві, тому трудові колективи працюють в безпечних, екологічно чистих умовах діяльності. 2.2. Специфіка організації документаційного забезпечення установи на ТОВ «СВІТОЧ» та ВАТ «АГРЕГАТ» Для ВАТ «АГРЕГАТ» характерним є машинна обробка документів. Машинна інформаційна база охоплює всі види спеціально організованої і ...
... 4. Як графічно позначаються польові транзистори? Інструкційна картка №9 для самостійного опрацювання навчального матеріалу з дисципліни «Основи електроніки та мікропроцесорної техніки» І. Тема: 2 Електронні прилади 2.4 Електровакуумні та іонні прилади Мета: Формування потреби безперервного, самостійного поповнення знань; розвиток творчих здібностей та активізації розумово ...
0 комментариев