Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π½Π° ΡΠΈΡ. 3.2.
Π ΠΈΡ. 3.2. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ
ΠΠΎΠ»Π½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠ΄ΡΠ»Ρ
ΠΠΎΠ΄ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 3.1.
ΠΠΈΡΡΠΈΠ½Π³ 3.1. ΠΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π‘ΡΠ°ΡΠΈΡΡΠΈΠΊΠ°unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
words: TLabel;
symbols: TLabel;
spaces: TLabel;
lines: TLabel;
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
Open1: TOpenDialog;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ButtonlClick(Sender: TObject); begin
//Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΠΎΠ±Π·ΠΎΡ Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ
Open1.InitialDir:= GetCurrentDir;
if Open1.Execute // ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π²ΡΠ±ΠΎΡΠ° ΡΠ°ΠΉΠ»Π°
then Edit1.Text:= Open1.FileName
else ShowMessage('Π€Π°ΠΉΠ» Π½Π΅ Π²ΡΠ±ΡΠ°Π½!');
end;
procedure TForm1.Button2Click(Sender: TObject);
var
f: file of byte; //ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ
str: byte; //Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠΈΡΠ°Π½Π½ΡΠΉ Π±Π°ΠΉΡ
oldstr, symbol, word, line, space: Integer;
begin
symbol:= 0; //ΠΎΠ±Π½ΡΠ»ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ
word:= 0;
space:= 0;
line:= 0;
if FileExists(Edit1.Text) //ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΡΠ°ΠΉΠ»
then begin
AssignFile(f,Edit1.Text) ; //ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ f
reset(f); //ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» Π½Π° ΡΡΠ΅Π½ΠΈΠ΅
while not eof(f) do
begin //ΡΠΈΡΠ°Π΅ΠΌ ΡΠ°ΠΉΠ» Π΄ΠΎ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ° ΡΠ°ΠΉΠ»Π°
oldstr:= str;
Read(f, str); //ΡΡΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠΈΠΌΠ²ΠΎΠ» Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ str
if ((str <> 32) and (str <> 13) and (str <> 10))
then symbol := symbol + 1; {ΠΏΠΎΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΎΠΌ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΠ΄ΠΎΠΌ Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ}
//Π΅ΡΠ»ΠΈ ΡΡΠΈΡΠ°Π½ ΠΏΡΠΎΠ±Π΅Π», ΠΏΠΎΠΏΠΎΠ»Π½ΠΈΠΌ ΡΡΠ΅ΡΡΠΈΠΊ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ²
if str = 32 then space:= space + 1;
if str = 13 then line:= line + 1; //ΡΡΠ΅ΡΡΠΈΠΊ ΡΡΡΠΎΠΊ
if ((str = 32) or (str = 13) or (str = 10)) then
if ((oldstr<>32) and (oldstr<>10) and (oldstr<>13))
then word: = word + 1; //ΡΡΠ΅ΡΡΠΈΠΊ ΡΠ»ΠΎΠ²
end;
CloseFile(f); //Π·Π°ΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ»
end
else ShowMessage('ΠΡΠΈΠ±ΠΊΠ°: Π€Π°ΠΉΠ» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ !'); {Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, ΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅}
symbols.caption:= IntToStr(symbol); //ΠΡΠ²ΠΎΠ΄ΠΈΠΌ Π²ΡΡ
spaces.caption:= IntToStr(space); //ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ
lines.caption:=IntToStr(line); //ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°ΠΉΠ»Π΅
words.caption:= IntToStr(word);
end;
end.
β ΠΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½Π° ΠΏΡΠΈΠ»Π°Π³Π°Π΅ΠΌΠΎΠΌ ΠΊ ΠΊΠ½ΠΈΠ³Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ-Π΄ΠΈΡΠΊΠ΅ Π² ΠΏΠ°ΠΏΠΊΠ΅ Chapter 03.
ΠΠ»Π°Π²Π° 4
Π‘Π½ΠΈΠΌΠΎΠΊ ΡΠΊΡΠ°Π½Π°
ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ
Π Π°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠ½ΠΈΠΌΠ°ΡΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠΊΡΠ°Π½Π°.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΡΠΌΡ
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Delphi ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΠΎΡΠΌΡ (ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Caption) Π½Π° Screenshot. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΠΌΠΎΠ³ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΊΠ½Π° ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Ρ BorderStyle Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ bsDialog. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΏΠΈΠΉ ΡΠΊΡΠ°Π½Π° ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΡΠ΅Π³Π΄Π° ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΎ ΠΏΠΎΠ²Π΅ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΎΠΊΠΎΠ½. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Ρ FormStyle Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ fsStayOnTop. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΅Π±Π΅ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ: Π½Π° ΡΠ°ΠΌΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ ΡΠΊΡΠ°Π½Π° ΠΎΠΊΠ½ΠΎ Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠΊΡΡΡΠΎ.
ΠΠ»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΏΠΈΠΈ ΡΠΊΡΠ°Π½Π° Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ SaveDialog ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Dialogs. Π Π°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π° ΡΠΎΡΠΌΠ΅. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ Π·Π°ΡΠ°Π½Π΅Π΅ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ Π±ΡΠ΄Π΅ΠΌ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠΈΡΡΠ½ΠΎΠΊ, ΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Ρ SaveDialog1.Filter ΠΏΡΠΈΡΠ²ΠΎΠΉΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π ΠΈΡΡΠ½ΠΎΠΊ|*.bmp|ΠΡΠ΅ ΡΠ°ΠΉΠ»Ρ|*.*. ΠΡΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»Π° Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ±ΠΎΡ: ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ°ΠΉΠ» ΠΊΠ°ΠΊ ΡΠΈΡΡΠ½ΠΎΠΊ (*.bmp) ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°ΠΉΠ» (*.*).
Π Π°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ Π²Π΄ΠΎΠ»Ρ ΠΏΡΠ°Π²ΠΎΠ³ΠΎ ΠΊΡΠ°Ρ ΡΠΎΡΠΌΡ ΡΠ΅ΡΡΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Button ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Standard) ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ (ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Caption): Π‘Π΄Π΅Π»Π°ΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠΊΡΠ°Π½Π°, ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ, ΠΡΠΈΡΡΠΈΡΡ ΠΈ Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ. Π’Π°ΠΊΠΆΠ΅ Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠΊΡΠ°Π½Π°. ΠΠ»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Image ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Additional. ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΈΠΌΡ (ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Name) Π½Π° Screen1, Π° ΡΠ²ΠΎΠΉΡΡΠ²Ρ Proportional ΠΏΡΠΈΡΠ²ΠΎΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ True.
ΠΠ° ΡΡΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΡΠΌΡ Π·Π°Π²Π΅ΡΡΠ΅Π½Π°. ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΈΡ. 4.1.
Π ΠΈΡ. 4.1. Π€ΠΎΡΠΌΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΏΠΈΠΉ ΡΠΊΡΠ°Π½Π°
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΎΠ±ΡΡΠ²ΠΈΠΌ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π±ΡΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅:
var
Form1: TForm1; //Π³Π»Π°Π²Π½Π°Ρ ΡΠΎΡΠΌΠ°
ΠΠΠ 1 :Graphics.Π’Πitmap; //Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΠ½ΠΊΠ°ΠΌΠΈ (*.bmp)
DC1: HDC;//ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΠΊΠΈ
Image1:TImage;
Π‘Π°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ β ΡΡΠΎ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π‘Π΄Π΅Π»Π°ΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠΊΡΠ°Π½Π°. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ:
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Visible := False;//ΠΏΡΡΡΠ΅ΠΌ ΡΠΎΡΠΌΡ
Sleep(15); //ΠΏΠ°ΡΠ·Π° 15 ΠΌΡ
BMP1:= Graphics.TBitmap.Create;
//Π·Π°Π΄Π°Π΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΈΡΡΠ½ΠΊΠ° ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΊΡΠ°Π½Π°
ΠΠΠ 1.Height:= Screen.Height;
ΠΠΠ 1.Width:= Screen.Width;
DC1:=GetDC(0);
//ΠΠ΅Π»Π°Π΅ΠΌ ΠΊΠΎΠΏΠΈΡ ΡΠΊΡΠ°Π½Π°
BitBlt(BMP1.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, DC1, 0, 0, SRCCOPY);
Form1.Visible:= True;//Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Image1:= TImage.Create(nil);
BMP1.IgnorePalette:= True;
Image1.Picture.Assign(BMP1);
ΠΠΠ 1.SaveToFile('Ρ:\1.bmp'); //ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΡΠ½ΠΈΠΌΠΎΠΊ Π² ΡΠ°ΠΉΠ» 1.bmp Π½Π° Π΄ΠΈΡΠΊΠ΅ Π‘:\
end;
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠΊΡΠ°Π½Π°, ΠΌΡ ΠΏΡΡΡΠ΅ΠΌ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π΄Π΅Π»Π°Π΅ΠΌ ΠΏΠ°ΡΠ·Ρ Π² 15 ΠΌΡ ΠΈ Π·Π°Π΄Π°Π΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΡ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠΈΡΡΠ½ΠΊΠ°. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π΄Π΅Π»Π°Π΅ΠΌ ΡΠ½ΠΈΠΌΠΎΠΊ ΡΠΊΡΠ°Π½Π° ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΡΠ°ΠΉΠ» 1.bmp, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π΄ΠΈΡΠΊΠ΅ C:\.
ΠΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΈΡΡΠ½ΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
procedure TForm1.Button4Click(Sender: TObject);
begin
Screen1.Show; // Π΄Π΅Π»Π°Π΅ΠΌ ΡΠΈΡΡΠ½ΠΎΠΊ Π²ΠΈΠ΄ΠΈΠΌΡΠΌ
if FileExists('Ρ:\1.bmp') then //Π΅ΡΠ»ΠΈ ΡΠΈΡΡΠ½ΠΎΠΊ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ,
Screen1.Picture.LoadFromFile('c:\1.bmp'); //Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Π΅Π³ΠΎ
end;
ΠΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΡΠΈΡΡΠΈΡΡ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΡΡΠ²Π°ΡΡ ΡΠΈΡΡΠ½ΠΎΠΊ ΠΈ ΡΠ΄Π°Π»ΡΡΡ Π΅Π³ΠΎ Ρ Π΄ΠΈΡΠΊΠ°:
procedure TForm1.Button3Click(sender: TObject);
begin
//ΡΠ΄Π°Π»ΡΠ΅ΠΌ ΡΠΈΡΡΠ½ΠΎΠΊ Ρ Π΄ΠΈΡΠΊΠ°
if FileExists('Ρ:\1.bmp') then DeleteFile('Π‘:\1.bmp');
Screen1.Hide; //ΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠΈΡΡΠ½ΠΎΠΊ
end;
ΠΠ»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΈΡΡΠ½ΠΊΠ° Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ. ΠΠΎΠ΄ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΡ:
procedure TForm1.Button2Click(Sender: TObject);
begin
if SaveDialog1.Execute then
BMP1.SaveToFile(SaveDialog1.FileName)//ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΡΠΈΡΡΠ½ΠΎΠΊ
else ShowMessage('Π€Π°ΠΉΠ» Π½Π΅ Π±ΡΠ» ΡΠΎΡ ΡΠ°Π½Π΅Π½!');
end;
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π²ΡΠ±ΡΠ°Π» Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠ΅ΡΡΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°. ΠΡΠ»ΠΈ Π΄Π°, ΡΠΎ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΡΠΈΡΡΠ½ΠΎΠΊ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌ ΠΈ Π·Π°ΠΏΡΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ (ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ β Π½Π° ΡΠΈΡ. 4.2).
Π ΠΈΡ. 4.2. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ScreenShot Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ
ΠΠΎΠ»Π½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠ΄ΡΠ»Ρ
ΠΠΎΠ»Π½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ScreenShot ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 4.1.
ΠΠΈΡΡΠΈΠ½Π³ 4.1. ΠΠΎΠ΄ΡΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ScreenShotunit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Registry, WinProcs, jpeg;
type TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Screen1: TImage;
SaveDialog1: TSaveDialog;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1; //Π³Π»Π°Π²Π½Π°Ρ ΡΠΎΡΠΌΠ°
ΠΠΠ 1: Graphics.TBitmap; //Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΠ½ΠΊΠ°ΠΌΠΈ (* .bmp)
DC1: HDC; //ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΠΊΠΈ
Image1: TImage;
implementation
{$R *.dfm}
procedure TForm1.ButtonlClick(Sender: TObject);
begin
Form1.Visible:= False; //ΠΏΡΡΡΠ΅ΠΌ ΡΠΎΡΠΌΡ
Sleep(15);//ΠΏΠ°ΡΠ·Π° 15 ΠΌΡ
BMP1:= Graphics.TBitmap.Create;
//Π·Π°Π΄Π°Π΅ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΈΡΡΠ½ΠΊΠ° ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΊΡΠ°Π½Π°