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

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

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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π½Π°ΠΌΠΈ Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅Π»ΡŒ экрана Π² дСйствии ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° рис. 5.2. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π±Ρ‹Π» случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹Π±Ρ€Π°Π½ ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ заполнСния ΠΈ происходит ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅ насыщСниС этим Ρ†Π²Π΅Ρ‚ΠΎΠΌ. МоТно Ρ€Π°Π·Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΈΠ΄Π½Ρ‹ сквозь ΠΏΠΎΠ»ΡƒΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ.

Рис. 5.2. Π₯Ρ€Π°Π½ΠΈΡ‚Π΅Π»ΡŒ экрана Π² дСйствии

ΠŸΠΎΠ»Π½Ρ‹ΠΉ исходный ΠΊΠΎΠ΄ модуля

ΠŸΠΎΠ»Π½Ρ‹ΠΉ исходный ΠΊΠΎΠ΄ модуля ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π₯Ρ€Π°Π½ΠΈΡ‚Π΅Π»ΡŒ экрана прСдставлСн Π² листингС 5.1.

Листинг 5.1. ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π₯Ρ€Π°Π½ΠΈΡ‚Π΅Π»ΡŒ экрана

unit Unit1;


interface


uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;

type TForm1 = class(TForm)

 Timer1: TTimer;

 Timer2: TTimer;

 procedure FormCreate(Sender: TObject);

 procedure FormKeyPress(Sender: TObject; var Key: Char);

 procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

 procedure Timer1Timer(Sender: TObject);

 procedure Timer2Timer(Sender: TObject);

private

 { Private declarations }

 procedure color_check();

public

 { Public declarations }

end;


var

 Form1: TForm1;

 mouse: TPoint;


implementation

{$R *.dfm}


procedure TForm1.color_check();

var

 ran: integer; //случайноС число, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅

 //ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ Ρ†Π²Π΅Ρ‚Ρƒ

begin

 Randomize; //Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ случайных чисСл

 ran: = Random(6) + 1; //Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ случайноС число ΠΎΡ‚ 1 Π΄ΠΎ 6

 //НазначаСм Ρ„ΠΎΡ€ΠΌΠ΅ Ρ†Π²Π΅Ρ‚, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ числу

 case ran of

 1: Form1.Color:= clBlack;

 2: Form1.Color:= clWhite;

 3: Form1.Color:= clBlue;

 4: Form1.Color:= clGray;

 5: Form1.Color:= clYellow;

 6: Form1.Color:= clGreen;

 end;

end;


procedure TForm1.FormCreate(Sender: TObject);

begin

 GetCursorPos(mouse); //ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ курсора ΠΌΡ‹ΡˆΠΈ

 ShowCursor(False); //прячСм курсор

end;


procedure TForm1.FormKeyPress(Sender: TObject; var Key:Char)

begin

 Halt; //Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

end;


procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin

 if (X <> mouse.X) or (Y <> mouse.Y) then Halt;

end;


procedure TForm1.Timer1Timer(Sender: TObject);

begin

 if Form1.AlphaBlendValue > 250

 then //провСряСм: Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π»ΠΈ ΠΌΡ‹ закрасили Ρ„ΠΎΡ€ΠΌΡƒ

 begin

  Timer1.Enabled:= False; //Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ насыщСниС Ρ„ΠΎΡ€ΠΌΡ‹

  Timer2.Enabled:= True; //Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ процСсс

 end;

 //постСпСнноС насыщСниС Ρ„ΠΎΡ€ΠΌΡ‹

 Form1.AlphaBlendValue:= Form1.AlphaBlendValue + 1;

end;


procedure TForm1.Timer2Timer(Sender: TObject);

begin

 if Form1.AlphaBlendValue < 5

 then //Ссли Ρ„ΠΎΡ€ΠΌΠ° ΡƒΠΆΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ прозрачная

 begin

  color_check(); //Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ случайный Ρ†Π²Π΅Ρ‚ для Ρ„ΠΎΡ€ΠΌΡ‹

  Timer2.Enabled:= False; //Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€

  Timer1.Enabled := True; //Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€

 end;

 //УмСньшаСм ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ Π½Π° 1

 Form1.AlphaBlendValue:= Form1.AlphaBlendValue – 1;

end;


end.

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

Π“Π»Π°Π²Π° 6

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° просмотра рисунков

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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ для просмотра рисунков. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ рисунок, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стандартного Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° ΠΎΠ±Π·ΠΎΡ€Π°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, любой рисунок Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ связан с Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ Сю ΠΏΠΎ Π΄Π²ΠΎΠΉΠ½ΠΎΠΌΡƒ Ρ‰Π΅Π»Ρ‡ΠΊΡƒ ΠΌΡ‹ΡˆΡŒΡŽ ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ клавиши <Enter> Π² ΠŸΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ ΠΈΠ»ΠΈ любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ Ρ„Π°ΠΉΠ»-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅.

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

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Delphi. РазмСститС Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Image ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Additional, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ для отобраТСния рисунка. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ Π»ΡŽΠ±Ρ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… ΠΎΠΊΠ½Π° рисунок всСгда заполнял всю Ρ„ΠΎΡ€ΠΌΡƒ, слСдуСт ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства Align Π½Π° alClient.

Для Π²Ρ‹Π·ΠΎΠ²Π° Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠΎΠ½ открытия ΠΈ сохранСния рисунка Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ OpenDialog ΠΈ SaveDialog ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Dialogs. ΠŸΡ€ΠΈΡΠ²ΠΎΠΈΠΌ свойству Name этих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² значСния Open1 ΠΈ Save1 соотвСтствСнно. Для ΠΎΠ±ΠΎΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² присвойтС свойству Filter Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ВсС Ρ„Π°ΠΉΠ»Ρ‹|*.*.

Для доступа ΠΊ функциям ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ мСню. РазмСститС Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ MainMenu ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Standard. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню, слСдуСт Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΡŒΡŽ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ MainMenu1, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ откроСтся Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ мСню, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹ΠΉ Π½Π° рис. 6.1.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚, слСдуСт Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΡŒΡŽ Π² этом ΠΎΠΊΠ½Π΅ Π½Π° пустом элСмСнтС мСню ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² инспСкторС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства Caption. Π’Π½Π°Ρ‡Π°Π»Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню, Π° Π·Π°Ρ‚Π΅ΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ β€” ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ (ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹). Для создания Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ свойству Caption слСдуСт ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ - (дСфис).

Рис. 6.1. Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ мСню

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ мСню, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ рис. 6.2.

Рис. 6.2. МСню для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ просмотра рисунков

Π’ΠΈΠ΄ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ прСдставлСн Π½Π° рис. 6.3.

Рис. 6.3. Π€ΠΎΡ€ΠΌΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ просмотра рисунков

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

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

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;

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ просто ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° рисунка, ΠΈ, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Ρ€Π°Π» рисунок, Ρ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Π΅Π³ΠΎ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Image1 ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅.

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

procedure TForm1.N3Click(Sender: TObject);

begin

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

  Image1.Picture.SaveToFile(Save1.FileName)

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

end;

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ сохранСния рисунка, ΠΈ, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Ρ€Π°Π» мСсто сохранСния Ρ„Π°ΠΉΠ»Π°, ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ этот ΠΏΡƒΡ‚ΡŒ (свойство Save1.FileName) ΠΈ сохраняСм ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΉ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ рисунок.

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

procedure TForm1.N5Click(Sender: TObject);

begin

 Halt; //Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

end;

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

procedure TForm1.N7Click(Sender: TObject);

begin

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

end;

ЕдинствСнноС, Ρ‡Π΅Π³ΠΎ Π½Π΅ достаСт этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, β€” это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ с Π΅Π΅ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рисунки Π² Ρ„Π°ΠΉΠ»-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°Ρ…. Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ эту Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnCreate Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„oΡ€ΠΌΡ‹.

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;

ΠŸΡ€ΠΈ создании Ρ„ΠΎΡ€ΠΌΡ‹ выполняСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°: запускаСтся Π»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ. Если Π½Π° Π²Ρ…ΠΎΠ΄ поступили ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Ρ‚ΠΎ опрСдСляСм ΠΏΡƒΡ‚ΡŒ ΠΊ рисунку ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ Π΅Π³ΠΎ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° просмотра рисунков Π² дСйствии прСдставлСна Π½Π° рис. 6.4.

Рис. 6.4. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° просмотра рисунков Π² дСйствии

ΠŸΠΎΠ»Π½Ρ‹ΠΉ исходный ΠΊΠΎΠ΄ модуля

ΠŸΠΎΠ»Π½Ρ‹ΠΉ исходный ΠΊΠΎΠ΄ модуля ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ просмотра рисунков прСдставлСн Π² листингС 6.1.

Листинг 6.1. ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ просмотра рисунков

unit Unit1;


interface


uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ExtCtrls;


type TForm1 = class(TForm)

 Image1: TImage;

 MainMenu1: TMainMenu;

 N1: TMenuItem;

 N2: TMenuItem;

 N3: TMenuItem;