ΠΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΡ ΡΠ°Π·ΠΎΠ±ΡΠ°Π»ΠΈ. Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΡΡΠ½ΠΈΡΡ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠΎΡΠ»ΠΎ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π°ΡΠ°Π»Π° Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΊ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° MediaPlayer, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊ Length (Π΄Π»ΠΈΠ½Π° Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°) ΠΈ Position (ΡΠ΅ΠΊΡΡΠ°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π² Π½Π΅ΠΌ). ΠΠ½Π°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ°Π½Π΅Π΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ FileLangToStr Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ΠΌΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ (Π»ΠΈΡΡΠΈΠ½Π³ 5.7).
...ΠΠΈΡΡΠΈΠ½Π³ 5.7.
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠ²
procedure TSoundPlayerForm.UpdateViewTime;
var
//ΠΠ»ΠΈΠ½Π° ΡΠ°ΠΉΠ»Π° ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅
leng, posit: longint;
begin
//ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ Π΄Π»ΠΈΠ½Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
leng := mdpSoundPlayer.Length;
//ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π² Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΠΎΠΌ ΡΠ°ΠΉΠ»Π΅
posit := mdpSoundPlayer.Position;
//ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΡ Π² ΡΡΡΠΎΠΊΡ
lbMainTime.Caption := FileLangToStr(posit);
//Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°
lbFileName.Caption := mdpSoundPlayer.FileName;
end;
ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ ΠΈΠ· Π»ΠΈΡΡΠΈΠ½Π³Π° 5.7, ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π² ΡΠ°ΠΉΠ»Π΅ ΠΈ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΈ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡ lbMainTime ΠΈ lbFileName ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΡΠΊΡΡΡΠΈΠ΅ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»Π° Π² ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈΠ· Π»ΠΈΡΡΠΈΠ½Π³Π° 5.8. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π½Π°ΠΌ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ UpdateViewTime ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠ°ΠΉΠΌΠ΅Ρ (tmTimer. Enabled:= true).
...ΠΠΈΡΡΠΈΠ½Π³ 5.8.
ΠΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π°
procedure TSoundPlayerForm.bnOpenFileClick(Sender: TObject);
begin
if opdOpenDialog.Execute=true then
begin
//ΠΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ»
mdpSoundPlayer.FileName := opdOpenDialog.FileName;
mdpSoundPlayer.Open;
//Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°Ρ
UpdateViewTime;
//ΠΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°ΠΉΠΌΠ΅Ρ
tmTimer.Enabled := true;
end;
end;
ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΎΠ² (UpdateViewTime) (Π»ΠΈΡΡΠΈΠ½Π³ΠΈ 5.9 ΠΈ 5.10).
...ΠΠΈΡΡΠΈΠ½Π³ 5.9.
Π‘ΠΎΠ±ΡΡΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ°
procedure TSoundPlayerForm.tmTimerTimer(Sender: TObject);
begin
//ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΊΡΠ°Π½Π°
UpdateViewTime;
end;
ΠΠΈΡΡΠΈΠ½Π³ 5.10.
ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΡΠΌΡ
procedure TSoundPlayerForm.FormActivate(Sender: TObject);
begin
//ΠΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΠ°
tmTimer.Enabled := false;
//ΠΠ°Π΄Π°Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ
lbMainTime.Caption := \'00:00\
lbFileName.Caption := \'no fileβ¦\
// Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΈΠ»ΡΡΡΠΎΠ² Π΄Π»Ρ Π΄ΠΈΠ°Π»ΠΎΠ³Π°
opdOpenDialog.Filter :=
\'MP3 music (*.mp3)|*.MP3|Wav files (*.wav)|*.WAV\
end;
ΠΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π΄Π²ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠΈ Π²ΠΏΠ΅ΡΠ΅Π΄ Π½Π° Π΄Π΅ΡΡΡΡ ΡΠ΅ΠΊΡΠ½Π΄ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°ΡΡΒ», Π½Π°Π·Π°Π΄ β Β«(Π»ΠΈΡΡΠΈΠ½Π³ΠΈ 5.11 ΠΈ 5.12).
...ΠΠΈΡΡΠΈΠ½Π³ 5.11.
ΠΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° Π²ΠΏΠ΅ΡΠ΅Π΄
procedure TSoundPlayerForm.bnNextStClick(Sender: TObject);
begin
if mpCanPlay in mdpSoundPlayer.Capabilities then
begin
if (mdpSoundPlayer.Position+perem)<=mdpSoundPlayer.Length then
mdpSoundPlayer.Position := mdpSoundPlayer.Position + perem
else
mdpSoundPlayer.Position := mdpSoundPlayer.Length;
mdpSoundPlayer.Play;
end;
end;
ΠΠΈΡΡΠΈΠ½Π³ 5.12.
ΠΠ΅ΡΠ΅ΠΌΠΎΡΠΊΠ° Π½Π°Π·Π°Π΄
procedure TSoundPlayerForm.bnPrevStClick(Sender: TObject);
begin
if mpCanPlay in mdpSoundPlayer.Capabilities then
begin
if mdpSoundPlayer.Position>=perem then
mdpSoundPlayer.Position := mdpSoundPlayer.Position β perem
else
mdpSoundPlayer.Position := 0;
mdpSoundPlayer.Play;
end;
end;
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅Ρ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ. ΠΠΎ ΠΎΠ½ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π²Π°ΠΆΠ½ΡΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΡΡΠΎΡΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΡ ΠΈ ΠΠ Π-ΡΠ°ΠΉΠ»Ρ. ΠΡΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ β ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ², ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅. Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Windows Π₯Π ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ΄Π΅ΠΊΠΈ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΡΠ°Π²ΠΊΠΈ. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ Π² Π΄ΡΡΠ³ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠΈΠΏΠ° Windows, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ΄Π΅ΠΊΠΎΠ².
ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ Π·Π²ΡΠΊΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π²Π°ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½. Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π²ΠΈΠ΄Π΅ΠΎΠ·Π°ΠΏΠΈΡΠ΅ΠΉ, ΡΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° MediaPLayer ΠΎΠ½ ΡΡ ΠΎΠΆ Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π·Π²ΡΠΊΠΎΠ²ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
5.5. ΠΠΈΠ΄Π΅ΠΎΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ
ΠΠ΅ ΠΌΠ΅Π½Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ, ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΠΎΠΉ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΡΠΎΠΉ Π³Π»Π°Π²Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ Π²ΠΈΠ΄Π΅ΠΎΡΠ°ΠΉΠ»ΠΎΠ². Π€ΠΎΡΠΌΠ°ΡΠΎΠ² Π²ΠΈΠ΄Π΅ΠΎ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ, Π½ΠΎ ΡΠ°ΠΌΡΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ ΠΈΠ· Π½ΠΈΡ , Π½Π΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ, ΡΠ²Π»ΡΠ΅ΡΡΡ AVI. Π£ΡΠΈΡΡΠ²Π°Ρ ΡΡΠΎΡ ΡΠ°ΠΊΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ Π²ΠΈΠ΄Π΅ΠΎΡΠ°ΠΉΠ»ΠΎΠ² Π² AVI-ΡΠΎΡ-ΠΌΠ°ΡΠ΅.
Π£ΡΠΈΡΡΠ²Π°Ρ ΡΠΎ, ΡΡΠΎ ΡΡΠ΅Π΄Π° Delphi ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, ΡΠ°ΠΌ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ. ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠΎ Π·Π²ΡΠΊΠΎΠ²ΡΠΌ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Π΅ΠΌ, Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π·Π½Π°ΠΊΠΎΠΌΡΠΉ Π²Π°ΠΌ ΡΠ°Π½Π΅Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ MediaPLayer. ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ²ΠΎΠ΄ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠΊΡΠ°Π½ Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π·Π²ΡΠΊΠΎΠ²ΠΎΠΌΡ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΌΠΎΠ³Ρ Ρ ΡΠ»ΡΠΆΠΈΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π² Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡΠΎΠΊΠ°.
ΠΡΠΈΡΡΡΠΏΠΈΠΌ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ Π²ΠΈΠ΄Π΅ΠΎ (ΡΠΈΡ. 5.4). ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ, Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ: ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ MediaPLayer, Π΄ΠΈΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² OpenDiaLog, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ GroupBox). ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ ΡΠΎΡΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π£Π±ΠΈΡΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈΡΠ½Π΅ΠΉ: ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Ρ biMaximaze, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Borderlcons, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ False. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ BorderStyle ΡΠ°Π²Π½ΡΠΌ bsSingle. ΠΡΠΎ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠΎΡΠΌΡ. ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΠ΅Π½ΡΡΠ΅ ΡΠΊΡΠ°Π½Π°, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Position ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ KaKpoScreenCenter. Π ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ MediaPLayer ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π²ΠΈΠ΄ΠΈΠΌΡΠΌΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π°ΡΠ°Π»Π°, ΠΏΠ°ΡΠ·Ρ ΠΈ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ (Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ Π² ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Π΅ Π·Π²ΡΠΊΠ°). ΠΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ Π½Π° ΡΠΎΡΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ GroupBox, ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Caption ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΏΡΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² ΡΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅.
Π ΠΈΡ. 5.4. ΠΠΈΠ΄ Π²ΠΈΠ΄Π΅ΠΎΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π΅ΠΎΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π΄Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ GroupBox, ΠΏΠΎΡΡΠΎΠΌΡ Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ»ΠΎ Π½Π°Π·Π½Π°ΡΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ Π²ΡΠ²ΠΎΠ΄Π° Π²ΠΈΠ΄Π΅ΠΎ Π΄Π»Ρ MediaPLayer. ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Ρ Display ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° MediaPLayer ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° GroupBox. ΠΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΡΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΡΠΌΡ (Π»ΠΈΡΡΠΈΠ½Π³ 5.13).
...ΠΠΈΡΡΠΈΠ½Π³ 5.13.
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
procedure TFormVideoPlayer.FormActivate(Sender: TObject);
begin
//Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ
mpVideoPlayer.Display := gbViewVideo;
end;
Π ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΌ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ gbViewVideo ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° GroupBox.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄ΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΡΡΠ²Π° ΠΏΡΠΎΡΡΠΎΡΡ, ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° MediaPLayer ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π²Π΅ΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π»ΠΈΡΡΠΈΠ½Π³ 5.14).
...ΠΠΈΡΡΠΈΠ½Π³ 5.14.
ΠΠΈΠ΄Π΅ΠΎΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ
unit video_player;
interface
uses
//ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls, MPlayer;
Type
//ΠΠ»Π°Π²Π½Π°Ρ ΡΠΎΡΠΌΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
TFormVideoPlayer = class(TForm)
mpVideoPlayer: TMediaPlayer;
FileOpenDlg: TOpenDialog;
gbViewVideo: TGroupBox;
bnOpenFile: TButton;
//ΠΠ°ΠΆΠ°ΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°
procedure bnOpenFileClick(Sender: TObject);
//ΠΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΡ ΡΠΎΡΠΌΡ
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FormVideoPlayer: TFormVideoPlayer;
implementation
{$R *.dfm}
procedure TFormVideoPlayer.bnOpenFileClick(Sender: TObject);
begin
if FileOpenDlg.Execute = True then
begin
//ΠΠ°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΠ°ΠΉΠ», Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°
mpVideoPlayer.FileName := FileOpenDlg.FileName;
//ΠΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ
mpVideoPlayer.Open;
end;
end;
procedure TFormVideoPlayer.FormActivate(Sender: TObject);
begin
//Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΎΠ±Π»Π°ΡΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ
mpVideoPlayer.Display := gbViewVideo;
end;
end.
ΠΠ· ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ° Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ, ΠΎΠ±Π»Π°Π΄Π°Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°, Π²ΠΈΠ΄Π΅ΠΎΠΏΡΠΎΠΈΠ³ΡΡΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ»Π°Π²Π° 6 ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Windows GDI
β’ ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ
β’ ΠΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ-Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΠ²ΠΎΠ΄
β’ ΠΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
β’ ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΠΆΠΈΠΌΡ
β’ Π Π°Π±ΠΎΡΠ° ΡΠΎ ΡΡΠΈΡΡΠ°ΠΌΠΈ
β’ Π ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ²
β’ Π Π°Π±ΠΎΡΠ° Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ
β’ Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°ΡΡΡΠΎΠ²ΡΠΌΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ
β’ ΠΠ»ΡΡΠ°-ΡΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΠ΅
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Windows Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π²Π°Π»Π°ΡΡ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ ΠΊΠ°ΠΊ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ°. Π ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅, Π² Π½Π΅ΠΉ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠΏΠΎΠ»Π½Π΅ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΏΠΎΡΡΠΈ Π»ΡΠ±ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΊΡΠ°Π½ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅, ΡΠ°ΠΌΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Windows ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΊΠ°ΠΊ Π½Π° ΡΠΊΡΠ°Π½Π΅, ΡΠ°ΠΊ ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ Π²ΡΠ²ΠΎΠ΄Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΏΡΠΈΠ½ΡΠ΅ΡΠ΅. Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ΅Π»Π΅Π²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π΅ΠΌΡ ΠΌΠΎΠ΄ΡΠ»Ρ. ΠΠ‘ Windows ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°ΡΠ½ΠΎΠΉ ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΠ΅Ρ ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ ΡΡΠ΄ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΈΡΠΊΠ»ΡΡΠ°ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄Π°. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Windows ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Π±ΠΎΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ°ΡΡ β ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ. ΠΠ°Π²Π΅ΡΠ½ΠΎΠ΅, Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΠΎΠΊΠ½ΠΎ, Π° Π½Π΅ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΊΡΠ°Π½. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²ΡΠ²ΠΎΠ΄Π° Π² Windows Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΠ΅ΡΡΡ Π½Π°Π±ΠΎΡΠΎΠΌ ΡΠ΅ΠΊΡΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΠ²ΠΎΠ΄. ΠΡΠΈΡΠ΅ΠΌ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²ΡΠ²ΠΎΠ΄Π°, ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΡΠ°Π»ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π²ΡΠ²ΠΎΠ΄Π° Π΄ΡΡΠ³ΠΈΠΌ.