ΠΠΈΡΡΠΈΠ½Π³ 7.5.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΈΡΠ°Π½ΠΈΡ
procedure TForm1.LoadPowerStatus();
var
batFlags: String;
status: TSystemPowerStatus;
prof_info: THWProfileInfo;
begin
lvwPowerStatus.Clear;
//ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΏΠΈΡΠ°Π½ΠΈΡ
ZeroMemory(Addr(status), SizeOf(status));
GetSystemPowerStatus(status);
//ΠΠ°ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΏΠΈΡΠ°Π½ΠΈΡ
//..ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅ΡΠΈ
case status.ACLineStatus of
0: AddParam(\'ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅ΡΠΈ\', \'ΠΡΠΊΠ»ΡΡΠ΅Π½\');
1: AddParam(\'ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅ΡΠΈ\', \'ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½\');
else AddParam(\'ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ΅ΡΠΈ\', \'ΠΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ\');
end;
//..Π·Π°ΡΡΠ΄ Π±Π°ΡΠ°ΡΠ΅ΠΈ (Π±ΠΈΡΠΎΠ²Π°Ρ ΠΌΠ°ΡΠΊΠ°)
if status.BatteryFlag and 1 <> 0 then batFlags := \'ΠΡΡΠΎΠΊΠΈΠΉ \
if status.BatteryFlag and 2 <> 0 then batFlags := batFlags +
\'ΠΠΈΠ·ΠΊΠΈΠΉ \
if status.BatteryFlag and 4 <> 0 then
batFlags := batFlags + \'ΠΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ \
if status.BatteryFlag and 8 <> 0 then
batFlags := batFlags + \'(ΠΠ΄Π΅Ρ Π·Π°ΡΡΠ΄ΠΊΠ°)\
if status.BatteryFlag and 128 <> 0 then
batFlags := batFlags + \'ΠΠ°ΡΠ°ΡΠ΅Ρ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π°\
if status.BatteryFlag = 255 then batFlags := batFlags + \'ΠΠ΅-
ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ\
AddParam(\'ΠΠ°ΡΡΠ΄ Π±Π°ΡΠ°ΡΠ΅ΠΈ\', batFlags);
//..ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π±Π°ΡΠ°ΡΠ΅ΠΈ
if status.BatteryLifePercent <> 255 then
AddParam(\'ΠΡΡΠ°ΡΠΎΠΊ Π·Π°ΡΡΠ΄Π° Π±Π°ΡΠ°ΡΠ΅ΠΈ\',
IntToStr(Integer(status.BatteryLifePercent)))
else
AddParam(\'ΠΡΡΠ°ΡΠΎΠΊ Π·Π°ΡΡΠ΄Π° Π±Π°ΡΠ°ΡΠ΅ΠΈ\', \'ΠΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ\');
if status.BatteryLifeTime <> Cardinal(β1) then
AddParam(\'ΠΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π±Π°ΡΠ°ΡΠ΅ΠΈ (ΠΎΡΡΠ°ΡΠΎΠΊ, ΡΠ΅ΠΊ.)\',
IntToStr(Integer(status.BatteryLifeTime)))
else
AddParam(\'ΠΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π±Π°ΡΠ°ΡΠ΅ΠΈ (ΠΎΡΡΠ°ΡΠΎΠΊ, ΡΠ΅ΠΊ.)\', \'ΠΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ\');
if status.BatteryFullLifeTime <> Cardinal(β1) then
AddParam(\'ΠΠΎΠ»Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π±Π°ΡΠ°ΡΠ΅ΠΈ, ΡΠ΅ΠΊ.\',
IntToStr(Integer(status.BatteryFullLifeTime)))
else
AddParam(\'ΠΠΎΠ»Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠ°Π±ΠΎΡΡ Π±Π°ΡΠ°ΡΠ΅ΠΈ, ΡΠ΅ΠΊ.\', \'ΠΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ\');
end;
Π Π»ΠΈΡΡΠΈΠ½Π³Π΅ 7.5 Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΈΡΠ°Π½ΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° AddParam, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΠ°Ρ Π² ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΡΠΌΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΈ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ListView. ΠΠ»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ LoadPowerStatus ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡ. 7.2.
Π ΠΈΡ. 7.2. Π‘ΠΎΠ±ΡΠ°Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΡ
Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΊΠ»ΡΡΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠΏΡΡΡΠ²Π°Π»Π°ΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Ρ ΠΎΡΡ ΠΈ ΡΠ½Π°Π±ΠΆΠ΅Π½Π½ΠΎΠΌ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠΎΠΌ, Π½ΠΎ Ρ ΡΠ²Π½ΠΎ Π½Π΅Π΄ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΠΈΡΠ°Π½ΠΈΡ.
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠ² ΠΎ ΡΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ. Π ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ ΠΎΠ½ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠΈΡΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΌΠΎΠΌ Π²Π°ΠΆΠ½ΡΡ Π΄Π°Π½Π½ΡΡ , Π½Π° ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΈ ΠΏΠΎΡΠ΅ΡΡ ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½Π΅ΡΡΠΈ Π±ΠΎΠ»ΡΡΠΈΠ΅ Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΡΡΠΈ. Π’ΠΎΠ³Π΄Π° ΠΏΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ ΡΠ°Π·ΡΡΠ΄ΠΊΠΈ Π±Π°ΡΠ°ΡΠ΅ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ (Π° ΡΠΎΡΠ½Π΅Π΅, Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡ) Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π΄ΠΈΡΠΊ Π΄ΠΎ Π»ΡΡΡΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²Π½ΠΎΠ²Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΎ, Π° Π·Π°ΡΡΠ΄ Π±Π°ΡΠ°ΡΠ΅ΠΈ Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π½Π΅Ρ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Π‘ΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠΊΠ° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ. ΠΠ΅Π΄Π°ΡΠΎΠΌ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎΡ ΠΆΠ΅ ΠΠ»ΠΎΠΊΠ½ΠΎΡ, Π²ΡΠ²ΠΎΠ΄ΡΡ Π² ΠΎΠΊΠ½Π΅ Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅: Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΎΡΠΌΡ ΡΠ΅ΠΌ-ΡΠΎ Π½Π°Π΄ΠΎ, Π° ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΌΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠ°ΠΆΡΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ.
ΠΡΠ°ΠΊ, ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ API-ΡΡΠ½ΠΊΡΠΈΠΈ GlobalMemoryStatus. ΠΠ°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΡΡΡΠΊΡΡΡΡ TMemoryStatus, Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π΅ ΠΏΠΎΠ»Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ΅ ΠΎΡ Π½ΡΠ»Ρ ΡΠΈΡΠ»ΠΎ. ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ TMemoryStatus Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΠΈ ΡΠΎΠ»ΠΈ Π΅Π΅ ΠΏΠΎΠ»Π΅ΠΉ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ Π½ΠΈΠΆΠ΅:...TMemoryStatus = record
dwLength: DWORD; //Π Π°Π·ΠΌΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ (Π±Π°ΠΉΡ)
dwMemoryLoad: DWORD; //ΠΡΠΎΡΠ΅Π½Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
dwTotalPhys: DWORD; //ΠΠΎΠ»Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
dwAvailPhys: DWORD; //ΠΠ±ΡΠ΅ΠΌ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
dwTotalPageFile: DWORD; //ΠΠΎΠ»Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ
dwAvailPageFile: DWORD; //ΠΠ±ΡΠ΅ΠΌ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°
//Π² ΡΠ°ΠΉΠ»Π΅ ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ
dwTotalVirtual: DWORD; //ΠΠΎΠ»Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
dwAvailVirtual: DWORD; //ΠΠ±ΡΠ΅ΠΌ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
end;
ΠΠ²Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ ΡΡΡΡΠΊΡΡΡΡ TMemoryStatus ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΌΡ ΡΡΠ½ΠΊΡΠΈΡ GlobalMemoryStatus. ΠΠ½ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΡΡΡ Π½ΠΈΠΆΠ΅. ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ GlobalMemoryStatus ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 7.6.
...ΠΠΈΡΡΠΈΠ½Π³ 7.6.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ
procedure TForm1.LoadMemoryInfo();
var
memStat: TMemoryStatus;
begin
memStat.dwLength := SizeOf(memStat);
//ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΏΠ°ΠΌΡΡΠΈ
GlobalMemoryStatus(memStat);
//ΠΠ°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ ΡΠΎΡΠΌΡ
//..% ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ
pbMemUsage.Position := memStat.dwMemoryLoad;
lblMemUsage.Caption := IntToStr(memStat.dwMemoryLoad) + \'%\
//..ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
txtMemTotal.Text := IntToStr(memStat.dwTotalPhys div 1024);
txtMemAvail.Text := InttoStr(memStat.dwAvailPhys div 1024);
//..ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ
txtPageTotal.Text := IntToStr(memStat.dwTotalPageFile div 1024);
txtPageAvail.Text := InttoStr(memStat.dwAvailPageFile div 1024);
//..ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
txtVirtualTotal.Text := IntToStr(memStat.dwTotalVirtual div 1024);
txtVirtualAvail.Text := InttoStr(memStat.dwAvailVirtual div 1024);
end;
ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΡΠΎΡΠΌΡ, ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°ΠΏΠΎΠ»Π½ΡΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 7.6, ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡ. 7.3.
Π ΠΈΡ. 7.3. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°
ΠΠ°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ (Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΡΠΎΡΠ΅Π½Π½ΠΎ), ΡΡΠΎ Π·Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ»ΡΡ ΡΠΎΡΠΌΡ, Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ Π² ΠΊΡΡΡΠ΅, ΠΊΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΡΡ Π² ΠΠ‘ Windows.
ΠΡΠ°ΠΊ, ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ Windows ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ (Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅) ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ ΡΡΡΡ ΠΌΠ΅Π½ΡΡΠ΅ 2 ΠΠ±Π°ΠΉΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ 16-Π±ΠΈΡΠ½ΡΡ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΈΡ, Π² 32-Π±ΠΈΡΠ½ΡΡ Windows Π°Π΄ΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΡΠ²Π»ΡΡΡΡΡ Π·Π°ΠΊΡΡΡΡΠΌΠΈ: ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠ°ΠΌΡΡΡ (Π° ΡΠΎΡΠ½Π΅Π΅, ΠΌΠ»Π°Π΄ΡΠΈΠ΅ 2 ΠΠ±Π°ΠΉΡ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°) Π΅Π΄ΠΈΠ½ΠΎΠ»ΠΈΡΠ½ΠΎ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠΈΠ»ΠΈΠΉ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ². ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π² Π΄Π²ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΏΠΎΠ»ΡΡ CTpyKTypbiTMemoryStatus (ΠΈ Π½ΠΈΠΆΠ½ΡΡ Π³ΡΡΠΏΠΏΠ° ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ»Π΅ΠΉ Π½Π° ΡΠΎΡΠΌΠ΅ ΡΠΈΡ. 7.3) ΠΊΠ°ΠΊ ΡΠ°Π· ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΅ΠΌΡ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π°.
ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ Π½Π°Π΄ΡΡΡΠΎΠΉΠΊΠΎΠΉ, ΡΠΊΡΡΠ²Π°ΡΡΠ΅ΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΡΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ΅ (ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ, ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°). Π ΡΡΠΎΡ ΡΠ°ΠΉΠ» Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π΄Π»Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ (Π±Π»ΠΎΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΠ±Π°ΠΉΡ), Π΄Π°Π²Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π½ΡΠΆΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ ΡΠΎΡΠΌΠ΅, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π½Π° ΡΠΈΡ. 7.3. ΠΡΡΠΏΠΏΠ° ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΠΎΠ»Π½ΡΠΉ ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ (Π·Π° Π²ΡΡΠ΅ΡΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ Π½ΡΠΆΠ΄). ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ Π³ΠΎΠ΄Π³Π΅Π·ΠΠΠ°Π³ Π½Π° ΡΠΎΡΠΌΠ΅. ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ Π³ΡΡΠΏΠΏΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ»Π΅ΠΉ (Π€Π°ΠΉΠ» ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ) Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ.
ΠΠ· ΡΠΈΡΡ, Π²ΡΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΠΏΠΎΠ»Ρ Π½Π° ΡΠΎΡΠΌΠ΅ (ΡΠΈΡ. 7.3), ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΎ ΠΎΠ±ΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠ°ΠΌΡΡΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ (Π²ΡΠ΅Π³ΠΎ Π±ΡΠ»ΠΎ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ 30 ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ²), Π½Π° ΠΈΡΠΏΡΡΡΠ΅ΠΌΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ» ΠΎΠΊΠΎΠ»ΠΎ 1,26 ΠΠ±Π°ΠΉΡ. ΠΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ, ΡΡΠΎ ΠΏΠ°ΠΌΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π²ΡΠ΅ΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ, ΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 43 ΠΠ±Π°ΠΉΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ, Π½Π΅ ΡΡΠΈΡΠ°Ρ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΡΠ΅ΠΌΠΎΠΉ Π΄Π»Ρ ΡΠ°ΠΌΠΎΠΉ ΠΠ‘ Windows.7.2. Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ
ΠΡΠΎΡ ΡΠ°Π·Π΄Π΅Π» ΠΏΠΎΡΠ²ΡΡΠ΅Π½ ΠΎΡΠ½ΡΠ΄Ρ Π½Π΅ ΠΏΡΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Π΄Π°ΡΡ (Π±Π»Π°Π³ΠΎ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Borland). ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅ΠΌΠ΅ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ°Π»ΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠΎΠ² Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π»Π΅Π΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΠΏΠΎΠ΄ΡΡΠ΅ΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Β«ΡΠΈΠΊΠΎΠ²Β» ΡΠ°ΠΉΠΌΠ΅ΡΠ°. ΠΠ»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠΉ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠΈ. ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»Π° ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ ΡΡΠ΅ΡΡΠΈΠΊΠ° Π² Π½Π°ΡΠ°Π»Π΅ ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ°Ρ ΠΎΠ΄ΠΈΠΌ ΡΠ°Π·Π½ΠΎΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΌΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡΠΌΠΈ ΠΈ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ), Π΄Π΅Π»ΠΈΠΌ ΡΠ°Π·Π½ΠΎΡΡΡ Π½Π° ΡΠ°ΡΡΠΎΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°.
ΠΠ°Π²Π½ΠΎ Π»ΠΈ Π·Π°ΠΏΡΡΠ΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°?
Π‘ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ²ΠΎΠ΅Π³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° Windows Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π½Π°ΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅ΡΡΠΈΠΊΠ°, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Β«ΡΠΈΠΊΠΎΠ²Β» (Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ ), ΠΏΡΠΎΡΠ΅Π΄ΡΠΈΡ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΡΠ΅ΡΡΠΈΠΊ Β«ΡΠΈΠΊΠΎΠ²Β» ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠ². ΠΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ API-ΡΡΠ½ΠΊΡΠΈΡ GetTickCount. ΠΠ½Π° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ 32-Π±ΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 7.7. ΡΡΠ½ΠΊΡΠΈΡ GetSystemWorkTime Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° Β«ΡΠΈΠΊΠΎΠ²Β» Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΠ°ΡΠ°Ρ , ΠΌΠΈΠ½ΡΡΠ°Ρ ΠΈ ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ .
...ΠΠΈΡΡΠΈΠ½Π³ 7.7.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ
function GetSystemWorkTime(): String;
var
ticks: DWORD;
hh, mm, ss: Cardinal;
begin
//ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΡΠ°ΡΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ
ticks := GetTickCount();
//ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΠΌ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ
ticks := ticks div 1000;
//ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°ΡΠΎΠ², ΠΌΠΈΠ½ΡΡ, ΡΠ΅ΠΊΡΠ½Π΄
hh := ticks div 3600;
Dec(ticks, hh * 3600);
mm := ticks div 60;
Dec(ticks, mm * 60);
ss := ticks;
GetSystemWorkTime := IntToStr(hh) + \':\' +
IntToStr(mm) + \':\' + IntToStr(ss);
end;
ΠΠ·-Π·Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ°Π»ΠΎΠΉ ΡΠ°Π·ΡΡΠ΄Π½ΠΎΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΠΎΠ±Π½ΡΠ»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠ΅ 49,7 ΡΡΡΠΎΠΊ, ΡΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠΈ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΎΠ² ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΡΠ°Π»ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠ°Π΄Π°Π΅Ρ Π½Π° 50-Π΅ ΡΡΡΠΊΠΈ Π·Π° ΡΠ°Ρ Π΄ΠΎ ΠΎΠ±Π½ΡΠ»Π΅Π½ΠΈΡ ΡΡΠ΅ΡΡΠΈΠΊΠ°).