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.


Информация о работе «Опрацювання масивів»
Раздел: Информатика, программирование
Количество знаков с пробелами: 38872
Количество таблиц: 1
Количество изображений: 13

Похожие работы

Скачать
42154
0
0

... ії переміщень ПА виділено три етапи: 1945, 1958 та 1983 рр. Встановлено додаткові обставини останнього передавання. Доведено, що основними причинами переміщення архівних і бібліотечних комплексів української еміграції з Чехословацької Республіки були ідеологічні міркування та "оперативні" потреби спецслужб. Опрацьовані джерела дають підстави для спростування деяких міфологем, що побутують в історі ...

Скачать
43487
5
3

... – С.205-206 (Особистий внесок: участь у дослідженнях, оформлення матеріалів і підготовка до публікації). АНОТАЦІЯ Зейдо Фірас Мазен. Опрацювання складу, технології та дослідження вагінальних супозиторіїв противірусної дії з Протефлазідом. – Рукопис. Дисертація на здобуття наукового ступеня кандидата фармацевтичних наук за спеціальністю 15.00.01 – технологія ліків та організація фармацевтичної ...

Скачать
187287
0
2

... дприємства, але й реалізує заходи з підвищення рівня охорони праці на підприємстві, тому трудові колективи працюють в безпечних, екологічно чистих умовах діяльності.  2.2. Специфіка організації документаційного забезпечення установи на ТОВ «СВІТОЧ» та ВАТ «АГРЕГАТ» Для ВАТ «АГРЕГАТ» характерним є машинна обробка документів. Машинна інформаційна база охоплює всі види спеціально організованої і ...

Скачать
312140
1
113

... 4.                 Як графічно позначаються польові транзистори? Інструкційна картка №9 для самостійного опрацювання навчального матеріалу з дисципліни «Основи електроніки та мікропроцесорної техніки» І. Тема: 2 Електронні прилади 2.4 Електровакуумні та іонні прилади Мета: Формування потреби безперервного, самостійного поповнення знань; розвиток творчих здібностей та активізації розумово ...

0 комментариев


Наверх