Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Delphi. Учимся Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 7

Автор Π‘Π΅Ρ€Π³Π΅ΠΉ ΠŸΠ°Ρ€ΠΈΠΆΡΠΊΠΈΠΉ

 Image1: TImage;

 MainMenu1: TMainMenu;

 N1: TMenuItem;

 N2: TMenuItem;

 N3: TMenuItem;

 N4: TMenuItem;

 N5: TMenuItem;

 N6: TMenuItem;

 N7: TMenuItem;

 Open1: TOpenDialog;

 Save1: TSaveDialog;

 procedure FormCreate(Sender: TObject);

 procedure N2Click(Sender: TObject);

 procedure N3Click(Sender: TObject);

 procedure N5Click(Sender: TObject);

 procedure N7Click(Sender: TObject);

private

 { Private declarations }

public

 { Public declarations }

end;


var

 Form1: TForm1;


implementation

{$R *.dfm}


procedure TForm1.FormCreate(Sender: TObject);

var

 Str: String; //ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ поступил ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€

 i:Integer;

begin

 if (ParamCount > 0)

 then //Ссли Π½Π° Π²Ρ…ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ поступил ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€

 begin

  //составляСм ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ ΠΏΠΎ символам

  Str:= ParamStr(1) ;

  for i:=2 to ParamCount do Str:= Str + ' ' + ParamStr(i);

  Image1.Picture.LoadFromFile(str); //Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ рисунок

  Image1.Show; //ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ рисунок

 end;

end;


procedure TForm1.N2Click (Sender: TObject);

begin

 //Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ ΠΎΠ±Π·ΠΎΡ€ с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ

 Open1.InitialDir:= GetCurrentDir;

 //ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° Ρ„Π°ΠΉΠ»Π°

 if Open1.Execute then begin

  //Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ рисунок

  Image1.Picture.LoadFromFile(Open1.FileName);

  Image1.Show; //ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ рисунок Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅

 end

 else //Если рисунок Π½Π΅ Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½

  ShowMessage('Π’Ρ‹ Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ рисунок!');

 Image1.Show;

end;


procedure TForm1.N3Click(Sender: TObject);

begin

 if Save1.Execute then //сохранСниС рисунка

  Image1.Picture.SaveToFile(Save1.FileName)

 else ShowMessage('Рисунок Π½Π΅ Π±Ρ‹Π» сохранСн!');

end;


procedure TForm1.N5Click(Sender: TObject);

begin

 Halt; //Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

end;


procedure TForm1.N7Click(Sender: TObject);

begin

 Image1.Hide; //прячСм рисунок

end;


end.

⊚ ВсС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ исполняСмый Ρ„Π°ΠΉΠ» рассмотрСнной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ находятся Π½Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π΅ΠΌΠΎΠΌ ΠΊ ΠΊΠ½ΠΈΠ³Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚-дискС Π² ΠΏΠ°ΠΏΠΊΠ΅ Chapter_06.

Π“Π»Π°Π²Π° 7

Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚-ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π»ΡŒΡ‰ΠΈΠΊ

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ стандартного Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π° с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ….

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„ΠΎΡ€ΠΌΡ‹

Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Delphi. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ сдСлаСм ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ Π½Π° интСрфСйс стандартного Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π°. РазмСститС Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Memo (многострочноС тСкстовоС ΠΏΠΎΠ»Π΅) ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Standard. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ Π»ΡŽΠ±Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… ΠΎΠΊΠ½Π° этот ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ заполнял всю Ρ„ΠΎΡ€ΠΌΡƒ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства Memo1.Align Π½Π° alClient. Для тСкстового поля Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ полоса ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ автоматичСский пСрСнос слов Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку). Для этого слСдуСт ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства ScrollBars Π½Π° ssVertical.

РазмСститС Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ MainMenu ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Standard ΠΈ создайтС мСню, прСдставлСнноС Π½Π° рис. 7.1.

Рис. 7.1. МСню ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚-ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π»ΡŒΡ‰ΠΈΠΊ

β‡– Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° мСню рассматриваСтся Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅.

Для ΠΏΡƒΠ½ΠΊΡ‚Π° мСню Π€ΠΎΡ€ΠΌΠ°Ρ‚β†’ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ ΠΏΠΎ словам слСдуСт ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ свойство Checked Ρ€Π°Π²Π½Ρ‹ΠΌ True, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ этот ΠΏΡƒΠ½ΠΊΡ‚ мСню Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€ΠΎΠ»ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ.

Для Π²Ρ‹Π·ΠΎΠ²Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° открытия Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ OpenDialog ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Dialogs, Π° для сохранСния Ρ„Π°ΠΉΠ»Π° β€” ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ SaveDialog Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ. Для ΠΎΠ±ΠΎΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства Filter Π½Π° Π‘Π»ΠΎΠΊΠ½ΠΎΡ‚|*.txt|ВсС Ρ„Π°ΠΉΠ»Ρ‹|*.*. Π’Π°ΠΊΠΆΠ΅ размСститС Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Dialogs: FontDialog. Он Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ для измСнСния ΡˆΡ€ΠΈΡ„Ρ‚Π°.

Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ оформлСния Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ рис. 7.2.

Рис. 7.2. Π€ΠΎΡ€ΠΌΠ° Π±Π»ΠΎΠΊΠ½ΠΎΡ‚Π°-ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π»ΡŒΡ‰ΠΈΠΊΠ°

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

Π¨ΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ тСкст Π±ΡƒΠ΄Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ xor ΠΈΠ»ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ смСщСния. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ тСксты нСльзя Π±Ρ‹Π»ΠΎ Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ, Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ самому Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ число xor, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π°Π΄ΠΎ ΡΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ символ.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚Π΅ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ xr_num Ρ‚ΠΈΠΏΠ° string :

var

 Form1: TForm1;

 xr_num: string;

Π’Π΅ΠΏΠ΅Ρ€ΡŒ займСмся ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ мСню. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnClick для ΠΏΡƒΠ½ΠΊΡ‚Π° Π€Π°ΠΉΠ»β†’ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ:

procedure TForm1.N1Click(Sender: TObject);

begin

 //Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ ΠΎΠ±Π·ΠΎΡ€ с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ

 OpenDialog1.InitialDir:= GetCurrentDir;

 if not OpenDialog1.Execute then ShowMessage('File not selected!')

 else //Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² Memo

  Memo1.Lines.LoadFromFile(OpenDialog1.FileName);

end;

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ стандартноС Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΎΠ±Π·ΠΎΡ€Π° ΠΈ просим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ тСкстовый ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„Π°ΠΉΠ». ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Ρ€Π°Π» Ρ„Π°ΠΉΠ», Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Π΅Π³ΠΎ Π² Π½Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnClick для ΠΏΡƒΠ½ΠΊΡ‚Π° Π€Π°ΠΉΠ»β†’Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ:

procedure TForm1.N2Click(Sender: TObject);

begin

 SaveDialog1.InitialDir:= GetCurrentDir;

 if not SaveDialog1.Execute then ShowMessage('File not saved!')

 else //сохраняСм Π² Ρ„Π°ΠΉΠ»

  Memo1.Lines.SaveToFile(SaveDialog1.FileName);

end;

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ сохранСния Ρ„Π°ΠΉΠ»Π°. ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Ρ€Π°Π» мСсто сохранСния Ρ„Π°ΠΉΠ»Π°, ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ тСкст ΠΈΠ· Memo ΠΈ сохраняСм Π΅Π³ΠΎ Π² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnClick для ΠΏΡƒΠ½ΠΊΡ‚Π° Π€Π°ΠΉΠ»β†’Π’Ρ‹Ρ…ΠΎΠ΄:

procedure TForm1.N4Click(Sender: TObject);

begin

 Close;//Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ

end;

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnClick для ΠΏΡƒΠ½ΠΊΡ‚Π° ΠŸΡ€Π°Π²ΠΊΠ°β†’Π§ΠΈΡΠ»ΠΎ XOR:

procedure TForm1.XoR1Click(Sender: TObject);

begin

 if not InputQuery('XOR', 'Π’Π²Π΅Π΄ΠΈΡ‚Π΅ число xor:', xr_num)

 then Exit;

end;

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΠΊΠ½ΠΎ для Π²Ρ‹Π±ΠΎΡ€Π° числа xor. Π£ΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ число Π±ΡƒΠ΄Π΅Ρ‚ занСсСно Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ xr_num.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnClick для ΠΏΡƒΠ½ΠΊΡ‚Π° ΠŸΡ€Π°Π²ΠΊΠ°β†’Π—Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ/Π Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Ρ‚ΡŒ:

procedure TForm1.N5Click (Sender: TObject);

var

 xr: string; //Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ тСкст

 i: integer; //счСтчик Ρ†ΠΈΠΊΠ»Π° begin

 for i:=1 to Length(Memo1.Text) do

 begin //ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ символ Π² тСкстС

  //выполняСм ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ смСщСниС

  xr:= xr + Chr(Ord(Memo1.Text[i]) xor StrToInt(xr_num));

 end;

 //замСняСм ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ тСкст Π½Π° Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ

 Memo1.Text := xr;

end;

По этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ мСню выполняСтся ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСкста, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сСйчас находится Π² ΠΏΠΎΠ»Π΅ Memo. Π’ Ρ†ΠΈΠΊΠ»Π΅ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ всС символы, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΡˆΠΈΡ„Ρ€ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnClick для ΠΏΡƒΠ½ΠΊΡ‚Π° ΠŸΡ€Π°Π²ΠΊΠ°β†’ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ:

procedure TForm1.N8Click(Sender: TObject);

begin

 Memo1.lines.Clear; //очистка Memo

end;

ΠžΡ‡ΠΈΡ‰Π°Π΅ΠΌ ΠΏΠΎΠ»Π΅ Memo ΠΎΡ‚ содСрТащСгося Π² Π½Π΅ΠΌ тСкста.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnClick для ΠΏΡƒΠ½ΠΊΡ‚Π° Π€ΠΎΡ€ΠΌΠ°Ρ‚β†’ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ ΠΏΠΎ словам:

procedure TForm1.N9Click(Sender: TObject);

begin

 if N9.Checked then //Ссли Ρ„Π»Π°ΠΆΠΎΠΊ установлСн

 begin

  N9.Checked:= False; //сбрасываСм Ρ„Π»Π°ΠΆΠΎΠΊ

  //ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ полосу ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ

  Memo1.ScrollBars:= ssBoth;

 end

 else begin //Ссли Ρ„Π»Π°ΠΆΠΎΠΊ Π½Π΅ установлСн

  N9.Checked:= True; //устанавливаСм Ρ„Π»Π°ΠΆΠΎΠΊ

  //ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ полосу ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ

  Memo1.ScrollBars:= ssVertical;

  end;

end;

По этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ мСню ΠΌΡ‹ провСряСм, ΠΊΠ°ΠΊΠΎΠ΅ состояниС сСйчас Ρƒ ΠΏΡƒΠ½ΠΊΡ‚Π° Π€ΠΎΡ€ΠΌΠ°Ρ‚β†’ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ ΠΏΠΎ словам. Если Ρ„Π»Π°ΠΆΠΎΠΊ установлСн, Ρ‚ΠΎ ΠΌΡ‹ сбрасываСм Π΅Π³ΠΎ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ полосу ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, устанавливаСм Ρ„Π»Π°ΠΆΠΎΠΊ ΠΈ ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ полосу ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnClick для ΠΏΡƒΠ½ΠΊΡ‚Π° Π€ΠΎΡ€ΠΌΠ°Ρ‚β†’Π¨Ρ€ΠΈΡ„Ρ‚:

procedure TForm1.N10Click(Sender: TObject);

begin

 //ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ всС настройки ΡˆΡ€ΠΈΡ„Ρ‚Π° ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ ΠΈΡ…

 //Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅

 FontDialog1.Font.Color:= Memo1.Font.Color; //Ρ†Π²Π΅Ρ‚ ΡˆΡ€ΠΈΡ„Ρ‚Π°

 FontDialog1.Font.Style:= Memo1.Font.Style; //ΡΡ‚ΠΈΠ»ΡŒ

 FontDialog1.Font.Size:= Memo1.Font.Size; //Ρ€Π°Π·ΠΌΠ΅Ρ€

 FontDialog1.Font.Charset:= Memo1.Font.Charset; //ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°

 FontDialog1.Font.Name:= Memo1.Font.Name; //Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡˆΡ€ΠΈΡ„Ρ‚Π°

 if FontDialog1.Execute then