ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΠ‘
ΠΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Windows ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ·Π½Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π½Π° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΡΡΡ. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Ρ ΠΏΠΎΡΡΠ°ΡΠ°Π»ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ»ΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΡΠ΅. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ «ΠΠ°Π»Π»» ΡΠ²ΠΎΠ΅Π³ΠΎ Hardware ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΡΠ°ΡΠ΅Π»ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ»ΠΈ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΠ‘ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΎΠ»ΠΆΡΠΊΠΈΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ ΠΈΠΌΠ΅Π½ΠΈ Π. Π. Π’Π°ΡΠΈΡΠ΅Π²Π° Π€Π°ΠΊΡΠ»ΡΡΠ΅Ρ «ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ° ΠΈ ΡΠ΅Π»Π΅ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ»
ΠΠ°ΡΠ΅Π΄ΡΠ° «ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ° ΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ»
ΠΠ£Π Π‘ΠΠΠΠ― Π ΠΠΠΠ’Π ΠΏΠΎ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π΅: «Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅»
Π’Π΅ΠΌΠ°: «ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΠ‘»
Π’ΠΎΠ»ΡΡΡΡΠΈ 200
- ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
- 1.1 ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΠ‘ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΌΠΈΡΠ΅
- 1.2 ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ ΡΠ°ΡΡΡ
- 1.3 ΠΠ°Π΄Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
- 1.4 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
- 1.5 ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
ΠΠΠΠΠΠΠΠ
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π΄Π΅ΡΡΡΠΈΠ»Π΅ΡΠΈΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π²ΡΡΡΠΏΠΈΠ»ΠΎ Π² ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π½ΠΎΠ²ΡΡ ΡΠ°Π·Ρ. ΠΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ ΠΏΡΠΈΡΠ»ΠΈ Π²ΠΎ Π²ΡΠ΅ ΡΡΠ΅ΡΡ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΎΠΉ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅, Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΡΠ΅ΡΡ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΡΡΠ΄Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π±Π΅Π· ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ.
Π¨ΠΈΡΠΎΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² ΠΈ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΠΈΡ ΡΡΠ°Π½ΡΠΈΠΉ Π² Π±ΠΈΠ·Π½Π΅ΡΠ΅ Π½Π°ΡΠ°Π»ΠΎΡΡ Π² Π½Π°ΡΠ°Π»Π΅ 80-Ρ Π³ΠΎΠ΄ΠΎΠ². Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΡΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΠΎΠ»Ρ ΠΆΠ΅ Π½Π΅ΠΎΡΡΠ΅ΠΌΠ»Π΅ΠΌΡΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΎΡΠΈΡΠ°, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π»Π΅ΡΠΎΠ½.
Π‘ΡΠ΅Π΄ΠΈ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ρ.ΠΊ. ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π²ΡΡ ΠΎΠ΄ΠΈΠ»ΠΈ ΠΈΠ· ΡΡΡΠΎΡ, Π»ΠΈΠ±ΠΎ ΡΠ°Π±ΠΎΡΠ°Π»ΠΈ Π½ΠΈ Π½Π° ΠΏΠΎΠ»Π½ΠΎΠΌ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ. Π ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ ΡΡΠ°Π»ΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ: ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ ΠΈΠ»ΠΈ Π²Π΅ΡΡΡΠ°Π»ΡΡΠΈΠΊ. Π‘ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΠΌΠ΅Π½ΡΠ»ΠΈΡΡ, Π½ΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΎΡΡΠ°Π»ΡΡ ΡΠ΅ΠΌ ΠΆΠ΅ — ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.
1. ΠΠΠΠΠ’ΠΠ ΠΠΠ ΠΠΠΠ ΠΠ¦ΠΠΠΠΠΠ Π‘ΠΠ‘Π’ΠΠΠ« Π Π‘ΠΠΠ ΠΠΠΠΠΠΠ ΠΠΠ Π
Π‘Π΅ΠΉΡΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π°, Π² Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Ρ ΠΎΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ (ΠΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΠΏΠΎΡΡΠ΄ΠΎΠΊ), Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π·Π° Hardware ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ. Π Π°Π½ΡΡΠ΅ ΡΡΠΎ Π±ΡΠ»ΠΎ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ.ΠΊ. Π½Π΅ Π±ΡΠ»ΠΎ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΈ «ΠΌΠΎΠ·Π³ΠΎΠ²», Π° Π΅ΡΠ»ΠΈ ΠΈ Π±ΡΠ»ΠΈ Π»ΡΠ΄ΠΈ ΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»ΠΎ. ΠΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌ ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ. ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ°Π» ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠΌ. ΠΠΎ Π²ΡΠ΅Ρ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΠΎΡΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ° ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠΌΡ ΠΆΠ΅ Π²ΠΎΠΏΡΠΎΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ «AIDA, sisSoftware, ΠΈ Π΄Ρ.»
2. ΠΠ ΠΠΠ ΠΠΠΠΠΠ― Π§ΠΠ‘Π’Π¬
2.1 ΠΠ°Π΄Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Windows ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ·Π½Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π½Π° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΡΡΡ. Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Ρ ΠΏΠΎΡΡΠ°ΡΠ°Π»ΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ»ΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΡΠ΅. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ·Π½Π°ΡΡ «ΠΠ°Π»Π»» ΡΠ²ΠΎΠ΅Π³ΠΎ Hardware ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΡΠ°ΡΠ΅Π»ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ»Π° ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ , ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΌΠ½Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±Π°Π»Π» ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΈΠ· ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ².
2.2 ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»Π°ΡΡ ΠΏΠΎΠ΄ ΠΠ‘ Windows 95/98/ME/NT/2000/XP Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Delphi 7.0
ΠΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π³Π»Π°Π²Π½ΠΎΠ΅ ΡΠ°Π±ΠΎΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ (Π ΠΈΡ. 5.1)
Π ΠΈΡ. 5.1 ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠΎΡΠΌΡ Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΠΌΠ΅ΡΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ: ΠΡΠΎΡΠ΅ΡΡΠΎΡ, ΠΏΠ°ΠΌΡΡΡ, Π΄ΠΈΡΠΏΠ»Π΅ΠΉ, ΠΠ‘, Π΄ΠΈΡΠΊΠΈ, Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ°, ΠΎΠ± Π°Π²ΡΠΎΡΠ΅ ΠΈ Π²ΡΡ ΠΎΠ΄.
ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ (Π ΠΈΡ. 5.2) ΠΎΠΊΠ½ΠΎ Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ: Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°, ΡΠ΅Π°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΠΎΡΠ° Π΅Π³ΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠΈ, Π³ΡΠ°ΡΠΈΠΊ Π·Π°Π³ΡΡΠ·ΠΊΠΈ, ΡΡΠ΅Π΄Π½ΡΡ ΡΠ°ΡΡΠΎΡΠ°, ΠΈ Π±Π°Π»Π»ΠΎΠ²Π°Ρ ΠΎΡΠ΅Π½ΠΊΠ° Π ΠΈΡ. 5.2 ΠΡΠΎΡΠ΅ΡΡΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ°ΠΌΡΡΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ (Π ΠΈΡ 5.3) Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠΎΠ²Π΅Π½Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΠΈ Π±Π°Π»Π» Π΅Π΅ ΠΎΡΠ΅Π½ΠΊΠΈ.
Π ΠΈΡ. 5.3 ΠΠΠ£
ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ (Π ΠΈΡ. 5.4) Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ° ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ ΠΈΠΌ ΡΠ΅ΠΆΠΈΠΌΡ.
Π ΠΈΡ. 5.4 ΠΠΈΡΠΏΠ»Π΅ΠΉ ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΠΠ‘ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ (Π ΠΈΡ. 5.5) Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²Π΅ΡΡΠΈΡ ΠΠ‘, Π΅Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π° ΡΠ°ΠΊ ΠΆΠ΅ Π±Π°Π»Π» ΠΎΡΠ΅Π½ΠΊΠΈ.
Π ΠΈΡ. 5.5 ΠΠ‘ ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Π΄ΠΈΡΠΊΠΈ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ (Π ΠΈΡ. 5.6) Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²ΡΠ΅Ρ ΠΈΠΌΠ΅ΡΡΠΈΡ ΡΡ Π΄ΠΈΡΠΊΠΎΠ², ΠΈ Π΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
Π ΠΈΡ. 5.6 ΠΠΈΡΠΊΠΈ ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ (Π ΠΈΡ. 5.7) Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ.
Π ΠΈΡ. 5.7 ΠΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ°
2.3 ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ ΡΠ°ΡΡΡ
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons, jpeg, registry;
type
TForm1 = class (TForm)
Image1: TImage;
Image2: TImage;
Image3: TImage;
Image4: TImage;
Image5: TImage;
Image6: TImage;
Image7: TImage;
Image8: TImage;
Image9: TImage;
Image10: TImage;
Image11: TImage;
Image12: TImage;
Image13: TImage;
Image14: TImage;
Image15: TImage;
Image16: TImage;
Image17: TImage;
Image18: TImage;
Image19: TImage;
Image20: TImage;
Image21: TImage;
Image22: TImage;
Image23: TImage;
Image24: TImage;
Image25: TImage;
procedure FormCreate (Sender: TObject);
procedure FormMouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure FormMouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormMouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormPaint (Sender: TObject);
procedure Image2MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image2MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image2MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image3MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image4MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image5MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image6MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image7MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image8MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image9MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image3MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image4MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image5MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image6MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image7MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image8MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image9MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image3MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image4MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image5MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image6MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image7MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image8MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image9MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Image5Click (Sender: TObject);
procedure Image9Click (Sender: TObject);
procedure Image2Click (Sender: TObject);
procedure Image4Click (Sender: TObject);
procedure Image3Click (Sender: TObject);
procedure Image8Click (Sender: TObject);
procedure Image7Click (Sender: TObject);
procedure Image6Click (Sender: TObject);
private
{ Private declarations }
Dragging, Stop: Boolean;
OldLeft, OldTop: Integer;
modes:array[0.255] of TDevMode;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8;
{$R *.dfm}
{ TForm1 }
function CreateRgnFromBitmap (rgnBitmap: TBitmap): HRGN;
var
TransColor: TColor;
i, j: Integer;
i_width, i_height: Integer;
i_left, i_right: Integer;
rectRgn: HRGN;
begin
Result := 0;
i_width := rgnBitmap. Width;
i_height := rgnBitmap. Height;
transColor := rgnBitmap.Canvas.Pixels[0, 0];
for i := 0 to i_height — 1 do
begin
i_left := -1;
for j := 0 to i_width — 1 do
begin
if i_left < 0 then
begin
if rgnBitmap.Canvas.Pixels[j, i] <> transColor then
i_left := j;
end
else
if rgnBitmap.Canvas.Pixels[j, i] = transColor then
begin
i_right := j;
rectRgn := CreateRectRgn (i_left, i, i_right, i + 1);
if Result = 0 then
Result := rectRgn
else
begin
CombineRgn (Result, Result, rectRgn, RGN_OR);
DeleteObject (rectRgn);
end;
i_left := -1;
end;
end;
if i_left >= 0 then
begin
rectRgn := CreateRectRgn (i_left, i, i_width, i + 1);
if Result = 0 then
Result := rectRgn
else
begin
CombineRgn (Result, Result, rectRgn, RGN_OR);
DeleteObject (rectRgn);
end;
end;
end;
end;
procedure TForm1. FormCreate (Sender: TObject);
var
WindowRgn: HRGN;
begin
BorderStyle := bsNone;
ClientWidth := Image1.Picture.Bitmap.Width;
ClientHeight := Image1.Picture.Bitmap.Height;
windowRgn := CreateRgnFromBitmap (Image1.Picture.Bitmap);
SetWindowRgn (Handle, WindowRgn, True);
end;
procedure TForm1. FormPaint (Sender: TObject);
begin
Canvas.Draw (0, 0, Image1.Picture.Bitmap);
end;
procedure TForm1. FormMouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if button=mbLeft then
begin
Dragging := True;
OldLeft := X;
OldTop := Y;
end;
end;
procedure TForm1. FormMouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if Dragging then
begin
Left := Left+X-OldLeft;
Top := Top+Y-OldTop;
end;
end;
procedure TForm1. FormMouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Dragging := False;
end;
procedure TForm1. Image2MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Image2.Cursor:=crHandPoint;
end;
procedure TForm1. Image2MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image2.Picture:=Image14.Picture;
end;
procedure TForm1. Image2MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image2.Picture:=Image15.Picture;
end;
procedure TForm1. Image3MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image3.Picture:=Image16.Picture;
end;
procedure TForm1. Image4MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image4.Picture:=Image18.Picture;
end;
procedure TForm1. Image5MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image5.Picture:=Image13.Picture;
end;
procedure TForm1. Image6MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image6.Picture:=Image24.Picture;
end;
procedure TForm1. Image7MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image7.Picture:=Image23.Picture;
end;
procedure TForm1. Image8MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image8.Picture:=Image20.Picture;
end;
procedure TForm1. Image9MouseUp (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image9.Picture:=Image11.Picture;
end;
procedure TForm1. Image3MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image3.Picture:=Image17.Picture;
end;
procedure TForm1. Image4MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image4.Picture:=Image19.Picture;
end;
procedure TForm1. Image5MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image5.Picture:=Image12.Picture;
end;
procedure TForm1. Image6MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image6.Picture:=Image25.Picture;
end;
procedure TForm1. Image7MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image7.Picture:=Image22.Picture;
end;
procedure TForm1. Image8MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image8.Picture:=Image21.Picture;
end;
procedure TForm1. Image9MouseDown (Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image9.Picture:=Image10.Picture;
end;
procedure TForm1. Image3MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Image3.Cursor:=crHandPoint;
end;
procedure TForm1. Image4MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Image4.Cursor:=crHandPoint;
end;
procedure TForm1. Image5MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Image5.Cursor:=crHandPoint;
end;
procedure TForm1. Image6MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Image6.Cursor:=crHandPoint;
end;
procedure TForm1. Image7MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Image7.Cursor:=crHandPoint;
end;
procedure TForm1. Image8MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Image8.Cursor:=crHandPoint;
end;
procedure TForm1. Image9MouseMove (Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Image9.Cursor:=crHandPoint;
end;
procedure TForm1. Image5Click (Sender: TObject);
begin
//ΠΡΡ ΠΎΠ΄
Application.Terminate;
end;
procedure TForm1. Image9Click (Sender: TObject);
var
Reg:TRegistry;
begin
Form1.Visible:=False;
FormCPUSpeed.Visible:=True;
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey ('HardwareDESCRIPTIONSystemCentralProcessor', False);
FormCPUSpeed.LabelCPUName.Caption:=Reg.ReadString ('ProcessorNameString');
Reg.CloseKey;
FormCPUSpeed.BitBtnStart.Click;
end;
procedure TForm1. Image2Click (Sender: TObject);
var
MemInfo: TMemoryStatus;
begin
MemInfo.dwLength := Sizeof (MemInfo);
GlobalMemoryStatus (MemInfo);
FormPamyt.PolnayaFizPamyt.Caption:=IntToStr (MemInfo.dwTotalPhys div 1024);
FormPamyt.DostupnayaFizPamyat.Caption:=IntToStr (MemInfo.dwAvailPhys div 1024);
FormPamyt.ObshayaPodkachka.Caption:=IntToStr (MemInfo.dwTotalPageFile div 1024);
FormPamyt.DostupPodkachka.Caption:=IntToStr (MemInfo.dwAvailPageFile div 1024);
FormPamyt.Pamyt1.Progress := MemInfo. dwAvailPhys div (MemInfo.dwTotalPhys div 100);
FormPamyt.Pamyt2.Progress := MemInfo. dwAvailPageFile div (MemInfo.dwTotalPageFile div 100);
{Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅ ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠ²Π΅Ρ Π½Π° ΠΊΡΠ°ΡΠ½ΡΠΉ}
if (FormPamyt.Pamyt1.Progress < 5) then FormPamyt. Pamyt1.ForeColor := clRed
else FormPamyt. Pamyt1.ForeColor := clActiveCaption;
if (FormPamyt.Pamyt2.Progress < 20) then FormPamyt. Pamyt2.ForeColor := clRed
else FormPamyt. Pamyt2.ForeColor := clActiveCaption;
Form1.Visible:=False;
FormPamyt.Visible:=True;
if (StrToFloat (FormPamyt.PolnayaFizPamyt.Caption)>0)and (StrToFloat (FormPamyt.PolnayaFizPamyt.Caption)<65 536) then begin FormPamyt.OcenkaPamyati.Caption:='1';FormPamyt.Label6.Caption:='-Π±Π°Π»Π» (ΠΡΠ΅Π½Ρ ΡΠ»Π°Π±Π°Ρ)';end;
if (StrToFloat (FormPamyt.PolnayaFizPamyt.Caption)>63 488)and (StrToFloat (FormPamyt.PolnayaFizPamyt.Caption)<131 072) then begin FormPamyt.OcenkaPamyati.Caption:='2';FormPamyt.Label6.Caption:='-Π±Π°Π»Π»Π° (Π‘Π»Π°Π±Π°Ρ)';end;
if (StrToFloat (FormPamyt.PolnayaFizPamyt.Caption)>129 024)and (StrToFloat (FormPamyt.PolnayaFizPamyt.Caption)<262 144) then begin FormPamyt.OcenkaPamyati.Caption:='3';FormPamyt.Label6.Caption:='-Π±Π°Π»Π»Π° (ΠΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ)';end;
if (StrToFloat (FormPamyt.PolnayaFizPamyt.Caption)>260 096)and (StrToFloat (FormPamyt.PolnayaFizPamyt.Caption)<524 288) then begin FormPamyt.OcenkaPamyati.Caption:='4';FormPamyt.Label6.Caption:='-Π±Π°Π»Π»Π° (Π₯ΠΎΡΠΎΡΠ°Ρ)';end;
if (StrToFloat (FormPamyt.PolnayaFizPamyt.Caption)>522 240)then begin FormPamyt.OcenkaPamyati.Caption:='5';FormPamyt.Label6.Caption:='-Π±Π°Π»Π»ΠΎΠ² (ΠΡΠ»ΠΈΡΠ½Π°Ρ)';end;
end;
procedure TForm1. Image4Click (Sender: TObject);
var
OsVersion: TOSVersionInfo;
PathArray:Array[0.255] of char;
begin
Form1.Visible:=False;
FormOS.Visible:=True;
//OS
OSVersion.dwOSVersionInfoSize := SizeOf (OSVersion);
if GetVersionEx (OSVersion) then
begin
FormOS.VersionLabel.Caption:= Format ('%d.%d (%d.%s)',[OSVersion.dwMajorVersion, OSVersion. dwMinorVersion,(OSVersion.dwBuildNumber and $FFFF), OSVersion. szCSDVersion]);
case OSVersion. dwPlatformID of
VER_PLATFORM_WIN32s: FormOS.VersionNumberLabel.Caption := 'Windows 3.1';
VER_PLATFORM_WIN32_WINDOWS: FormOS.VersionNumberLabel.Caption := 'Windows 95';
VER_PLATFORM_WIN32_NT: FormOS.VersionNumberLabel.Caption := 'Windows NT';
else FormOS.VersionNumberLabel.Caption := '';
end; //of case
end; //of if
FillChar (PathArray, SizeOf (PathArray), #0);
GetWindowsDirectory (PathArray, 255);
FormOS.WindowsDirLabel.Caption:= Format ('%s',[PathArray]);
FillChar (PathArray, SizeOf (PathArray), #0);
ExpandEnvironmentStrings ('%TEMP%', PathArray, 255);
FormOS.TempDir.Caption:=Format ('%s',[PathArray]);
if FormOS.VersionNumberLabel.Caption='Windows NT' then
begin
FormOS.OcenkaOC.Caption:='2'; FormOS. Label7.Caption:='-Π±Π°Π»Π»Π° (ΠΡΠ»ΠΈΡΠ½Π°Ρ)'end else
begin FormOS.OcenkaOC.Caption:='1';FormOS.Label7.Caption:='-Π±Π°Π»Π» (Π‘ΡΠ°ΡΠ°Ρ)';end;
if FormOS.VersionNumberLabel.Caption='Windows NT' then FormOS.WindowsOS.Caption:='NT/2000/XP'else FormOS.WindowsOS.Caption:='95/98/ME';
end;
procedure TForm1. Image3Click (Sender: TObject);
var
i:Integer;
begin
case GetDeviceCaps (Canvas.Handle, TECHNOLOGY) of
DT_PLOTTER: FormDisplay. Memo1.Lines.Add ('Π’ΠΈΠΏ: ΠΠ΅ΠΊΡΠΎΡΠ½ΡΠΉ ΠΏΠ»ΠΎΡΠ΅Ρ');
DT_RASDISPLAY: FormDisplay. Memo1.Lines.Add ('Π’ΠΈΠΏ: Π Π°ΡΡΡΠΎΠ²ΡΠΉ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ');
DT_RASPRINTER: FormDisplay. Memo1.Lines.Add ('Π’ΠΈΠΏ: Π Π°ΡΡΡΠΎΠ²ΡΠΉ ΠΏΡΠΈΠ½ΡΠ΅Ρ');
DT_RASCAMERA: FormDisplay. Memo1.Lines.Add ('Π’ΠΈΠΏ: Π Π°ΡΡΡΠΎΠ²Π°Ρ ΠΊΠ°ΠΌΠ΅ΡΠ°');
DT_CHARSTREAM: FormDisplay. Memo1.Lines.Add ('Π’ΠΈΠΏ: ΠΠΎΡΠΎΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²');
DT_METAFILE: FormDisplay. Memo1.Lines.Add ('Π’ΠΈΠΏ: ΠΠ΅ΡΠ°ΡΠ°ΠΉΠ»');
DT_DISPFILE: FormDisplay. Memo1.Lines.Add ('Π’ΠΈΠΏ: Π€Π°ΠΉΠ» Π΄ΠΈΡΠΏΠ»Π΅Ρ');
end;
FormDisplay.Memo1.Lines.Add ('Π¨ΠΈΡΠΈΠ½Π° Π² ΠΌΠΈΠ»Π»ΠΈΠΌΠ΅ΡΡΠ°Ρ '+IntToStr (GetDeviceCaps (Canvas.Handle, HORZSIZE)));
FormDisplay.Memo1.Lines.Add ('ΠΡΡΠΎΡΠ° Π² ΠΌΠΈΠ»Π»ΠΈΠΌΠ΅ΡΡΠ°Ρ '+IntToStr (GetDeviceCaps (Canvas.Handle, VERTSIZE)));
FormDisplay.Memo1.Lines.Add ('Π¨ΠΈΡΠΈΠ½Π° Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ '+IntToStr (GetDeviceCaps (Canvas.Handle, HORZRES)));
FormDisplay.Memo1.Lines.Add ('ΠΡΡΠΎΡΠ° Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ '+IntToStr (GetDeviceCaps (Canvas.Handle, VERTRES)));
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Π½Π° Π΄ΡΠΉΠΌ ΠΏΠΎ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ '+
IntToStr (GetDeviceCaps (Canvas.Handle, LOGPIXELSX)));
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Π½Π° Π΄ΡΠΉΠΌ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ '+
IntToStr (GetDeviceCaps (Canvas.Handle, LOGPIXELSY)));
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±ΠΈΡ Π½Π° ΠΏΠΈΠΊΡΠ΅Π»Ρ '+
IntToStr (GetDeviceCaps (Canvas.Handle, BITSPIXEL)));
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ²Π΅ΡΠΎΠ²ΡΡ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΠ΅ΠΉ '+
IntToStr (GetDeviceCaps (Canvas.Handle, PLANES)));
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ²Π΅ΡΠΎΠ² Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΏΠ°Π»ΠΈΡΡΠ΅ '+
IntToStr (GetDeviceCaps (Canvas.Handle, SIZEPALETTE)));
FormDisplay.Memo1.Lines.Add ('ΠΠ΅ΡΡΠΈΡΠΊΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΠΎΡΠ° ΡΠ°Π·Π²ΡΡΡΠΊΠΈ '+
IntToStr (GetDeviceCaps (Canvas.Handle, VREFRESH)));
if (GetDeviceCaps (Canvas.Handle, RASTERCAPS) and
RC_BANDING)=RC_BANDING then
FormDisplay.Memo1.Lines.Add ('Π’ΡΠ΅Π±ΡΠ΅ΡΡΡΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ');
if (GetDeviceCaps (Canvas.Handle, RASTERCAPS) and
RC_BITBLT)=RC_BITBLT then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Bitmaps');
if (GetDeviceCaps (Canvas.Handle, RASTERCAPS) and
RC_BITMAP64)=RC_BITMAP64 then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Bitmaps > 64K');
if (GetDeviceCaps (Canvas.Handle, RASTERCAPS) and
RC_DI_BITMAP)=RC_DI_BITMAP then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SetDIBits and GetDIBits');
if (GetDeviceCaps (Canvas.Handle, RASTERCAPS) and
RC_DIBTODEV)=RC_DIBTODEV then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° SetDIBitsToDevice');
if (GetDeviceCaps (Canvas.Handle, RASTERCAPS) and
RC_FLOODFILL)=RC_FLOODFILL then
FormDisplay.Memo1.Lines.Add ('Can Perform Floodfills');
if (GetDeviceCaps (Canvas.Handle, RASTERCAPS) and
RC_GDI20_OUTPUT)=RC_GDI20_OUTPUT then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Windows 2.0 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ');
if (GetDeviceCaps (Canvas.Handle, RASTERCAPS) and
RC_PALETTE)=RC_PALETTE then
FormDisplay.Memo1.Lines.Add ('ΠΡΠ½ΠΎΠ²Π°Π½ΠΎ Π½Π° ΠΏΠ°Π»ΠΈΡΠΊΠ΅');
if (GetDeviceCaps (Canvas.Handle, RASTERCAPS) and
RC_SCALING)=RC_SCALING then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ');
if (GetDeviceCaps (Canvas.Handle, RASTERCAPS) and
RC_STRETCHBLT)=RC_STRETCHBLT then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° StretchBlt');
if (GetDeviceCaps (Canvas.Handle, RASTERCAPS) and
RC_STRETCHDIB)=RC_STRETCHDIB then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° StretchDIBits');
if GetDeviceCaps (Canvas.Handle, CURVECAPS)=CC_NONE then
FormDisplay.Memo1.Lines.Add ('Π£ΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΡΠΈΠ²ΡΠ΅')
else
begin
if (GetDeviceCaps (Canvas.Handle, CURVECAPS) and
CC_CIRCLES)=CC_CIRCLES then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Cirles');
if (GetDeviceCaps (Canvas.Handle, CURVECAPS) and
CC_PIE)=CC_PIE then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Pie Wedges');
if (GetDeviceCaps (Canvas.Handle, CURVECAPS) and
CC_CHORD)=CC_CHORD then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Chords');
if (GetDeviceCaps (Canvas.Handle, CURVECAPS) and
CC_ELLIPSES)=CC_ELLIPSES then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Ellipses');
if (GetDeviceCaps (Canvas.Handle, CURVECAPS) and
CC_WIDE)=CC_WIDE then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Wide Borders');
if (GetDeviceCaps (Canvas.Handle, CURVECAPS) and
CC_STYLED)=CC_STYLED then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Styled Borders');
if (GetDeviceCaps (Canvas.Handle, CURVECAPS) and
CC_WIDESTYLED)=CC_WIDESTYLED then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Wide And Styled Borders');
if (GetDeviceCaps (Canvas.Handle, CURVECAPS) and
CC_INTERIORS)=CC_INTERIORS then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Interiors');
if (GetDeviceCaps (Canvas.Handle, CURVECAPS) and
CC_ROUNDRECT)=CC_ROUNDRECT then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Rounded Rectangles');
end;
if GetDeviceCaps (Canvas.Handle, LINECAPS)=LC_NONE then
FormDisplay.Memo1.Lines.Add ('Device Does Not Support Lines')
else
begin
if (GetDeviceCaps (Canvas.Handle, LINECAPS) and
LC_POLYLINE)=LC_POLYLINE then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Polylines');
if (GetDeviceCaps (Canvas.Handle, LINECAPS) and
LC_MARKER)=LC_MARKER then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Markers');
if (GetDeviceCaps (Canvas.Handle, LINECAPS) and
LC_POLYMARKER)=LC_POLYMARKER then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Multiple Markers');
if (GetDeviceCaps (Canvas.Handle, LINECAPS) and
LC_WIDE)=LC_WIDE then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Wide Lines');
if (GetDeviceCaps (Canvas.Handle, LINECAPS) and
LC_STYLED)=LC_STYLED then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Styled Lines');
if (GetDeviceCaps (Canvas.Handle, LINECAPS) and
LC_WIDESTYLED)=LC_WIDESTYLED then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Wide And Styled Lines');
if (GetDeviceCaps (Canvas.Handle, LINECAPS) and
LC_INTERIORS)=LC_INTERIORS then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Interiors');
end;
if GetDeviceCaps (Canvas.Handle, POLYGONALCAPS)=PC_NONE then
FormDisplay.Memo1.Lines.Add ('Device Does Not Support Polygons')
else
begin
if (GetDeviceCaps (Canvas.Handle, POLYGONALCAPS) and
PC_POLYGON)=PC_POLYGON then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Alternate Fill Polygons');
if (GetDeviceCaps (Canvas.Handle, POLYGONALCAPS) and
PC_RECTANGLE)=PC_RECTANGLE then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Rectangles');
if (GetDeviceCaps (Canvas.Handle, POLYGONALCAPS) and
PC_WINDPOLYGON)=PC_WINDPOLYGON then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Winding Fill Polygons');
if (GetDeviceCaps (Canvas.Handle, POLYGONALCAPS) and
PC_SCANLINE)=PC_SCANLINE then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Single Scanlines');
if (GetDeviceCaps (Canvas.Handle, POLYGONALCAPS) and
PC_WIDE)=PC_WIDE then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Wide Borders');
if (GetDeviceCaps (Canvas.Handle, POLYGONALCAPS) and
PC_STYLED)=PC_STYLED then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Styled Borders');
if (GetDeviceCaps (Canvas.Handle, POLYGONALCAPS) and
PC_WIDESTYLED)=PC_WIDESTYLED then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Wide And Styled Borders');
if (GetDeviceCaps (Canvas.Handle, POLYGONALCAPS) and
PC_INTERIORS)=PC_INTERIORS then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Interiors');
end;
if (GetDeviceCaps (Canvas.Handle, TEXTCAPS) and
TC_OP_CHARACTER)=TC_OP_CHARACTER then
FormDisplay.Memo1.Lines.Add ('Capable of Character Output Precision');
if (GetDeviceCaps (Canvas.Handle, TEXTCAPS) and
TC_OP_STROKE)=TC_OP_STROKE then
FormDisplay.Memo1.Lines.Add ('Capable of Stroke Output Precision');
if (GetDeviceCaps (Canvas.Handle, TEXTCAPS) and
TC_CP_STROKE)=TC_CP_STROKE then
FormDisplay.Memo1.Lines.Add ('Capable of Stroke Clip Precision');
if (GetDeviceCaps (Canvas.Handle, TEXTCAPS) and
TC_CR90)=TC_CR90 then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° 90 Degree Character Rotation');
if (GetDeviceCaps (Canvas.Handle, TEXTCAPS) and
TC_CR_ANY)=TC_CR_ANY then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Character Rotation to Any Angle');
if (GetDeviceCaps (Canvas.Handle, TEXTCAPS) and
TC_SF_X_YINDEP)=TC_SF_X_YINDEP then
FormDisplay.Memo1.Lines.Add ('X And Y Scale Independent');
if (GetDeviceCaps (Canvas.Handle, TEXTCAPS) and
TC_SA_DOUBLE)=TC_SA_DOUBLE then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Doubled Character Scaling');
if (GetDeviceCaps (Canvas.Handle, TEXTCAPS) and
TC_SA_INTEGER)=TC_SA_INTEGER then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Integer Multiples Only When Scaling');
if (GetDeviceCaps (Canvas.Handle, TEXTCAPS) and
TC_SA_CONTIN)=TC_SA_CONTIN then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Any Multiples For Exact Character Scaling');
if (GetDeviceCaps (Canvas.Handle, TEXTCAPS) and
TC_EA_DOUBLE)=TC_EA_DOUBLE then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Double Weight Characters');
if (GetDeviceCaps (Canvas.Handle, TEXTCAPS) and
TC_IA_ABLE)=TC_IA_ABLE then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Italics');
if (GetDeviceCaps (Canvas.Handle, TEXTCAPS) and
TC_UA_ABLE)=TC_UA_ABLE then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Underlines');
if (GetDeviceCaps (Canvas.Handle, TEXTCAPS) and
TC_SO_ABLE)=TC_SO_ABLE then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Strikeouts');
if (GetDeviceCaps (Canvas.Handle, TEXTCAPS) and
TC_RA_ABLE)=TC_RA_ABLE then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Raster Fonts');
if (GetDeviceCaps (Canvas.Handle, TEXTCAPS) and
TC_VA_ABLE)=TC_VA_ABLE then
FormDisplay.Memo1.Lines.Add ('ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Vector Fonts');
if (GetDeviceCaps (Canvas.Handle, TEXTCAPS) and
TC_SCROLLBLT)=TC_SCROLLBLT then
FormDisplay.Memo1.Lines.Add ('Cannot Scroll Using Blts');
//ΠΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌ
begin
i := 0;
while EnumDisplaySettings (nil, i, Modes[i]) do
begin
FormDisplay.Memo2.Lines.Add (IntToStr (Modes[i]. dmBitsPerPel)+' '+IntToStr (Modes[i]. dmPelsWidth)+' '+
IntToStr (Modes[i]. dmPelsHeight)+' '+IntToStr (Modes[i]. dmDisplayFrequency));
Inc (i);
end;
end;
Form1.Visible:=False;
FormDisplay.Visible:=True;
end;
procedure TForm1. Image8Click (Sender: TObject);
begin
Form1.Visible:=False;
FormDiski.Visible:=True;
end;
procedure TForm1. Image7Click (Sender: TObject);
var
lpDisplayDevice: TDisplayDevice;
dwFlags: DWORD;
cc: DWORD;
begin
lpDisplayDevice.cb := sizeof (lpDisplayDevice);
dwFlags := 0;
cc := 0;
while EnumDisplayDevices (nil, cc, lpDisplayDevice, dwFlags) do
begin
dec (cc);
FormVideo.Video1.Caption:=(lpDisplayDevice.DeviceString);
Form1.Visible:=False;
FormVideo.Visible:=True;
end;
end;
procedure TForm1. Image6Click (Sender: TObject);
begin
Form1.Visible:=False;
FormAbout.Visible:=True;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, TeEngine, Series, TeeProcs, Chart,
DbChart, jpeg, registry;
type
TFormCPUSpeed = class (TForm)
LabelCPUSpeed: TLabel;
BitBtnStart: TBitBtn;
BitBtnStop: TBitBtn;
Timer1: TTimer;
Chart1: TChart;
Label1: TLabel;
Image1: TImage;
Series1: TFastLineSeries;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
LabelCPUName: TLabel;
LabelCPUSpeedSR: TLabel;
LabelCPUStat: TLabel;
Label7: TLabel;
Label6: TLabel;
procedure BitBtnStartClick (Sender: TObject);
procedure BitBtnStopClick (Sender: TObject);
procedure Timer1Timer (Sender: TObject);
procedure FormCloseQuery (Sender: TObject; var CanClose: Boolean);
private
{ Private declarations }
Stop: Boolean;
public
{ Public declarations }
end;
var
FormCPUSpeed: TFormCPUSpeed;
Flag:Integer;
implementation
uses Unit1;
{$R *.DFM}
function GetCPUSpeed: Double;
const
DelayTime = 500;
var
TimerHi, TimerLo: DWORD;
PriorityClass, Priority: Integer;
begin
PriorityClass := GetPriorityClass (GetCurrentProcess);
Priority := GetThreadPriority (GetCurrentThread);
SetPriorityClass (GetCurrentProcess, REALTIME_PRIORITY_CLASS);
SetThreadPriority (GetCurrentThread, THREAD_PRIORITY_TIME_CRITICAL);
Sleep (10);
asm
dw 310Fh
mov TimerLo, eax
mov TimerHi, edx
end;
Sleep (DelayTime);
asm
dw 310Fh
sub eax, TimerLo
sbb edx, TimerHi
mov TimerLo, eax
mov TimerHi, edx
end;
SetThreadPriority (GetCurrentThread, Priority);
SetPriorityClass (GetCurrentProcess, PriorityClass);
Result := TimerLo / (1000.0 * DelayTime);
end;
procedure TFormCPUSpeed. BitBtnStartClick (Sender: TObject);
begin
BitBtnStart.Enabled := False;
BitBtnStop.Enabled := True;
Stop := False;
while not Stop do
begin
LabelCPUSpeed.Caption := FloatToStr (GetCPUSpeed);
Application.ProcessMessages;
end;
BitBtnStart.Enabled := True;
BitBtnStop.Enabled := False;
end;
procedure TFormCPUSpeed. BitBtnStopClick (Sender: TObject);
begin
Stop := True;
FormCPUSpeed.Visible:=False;
Form1.Visible:=True;
end;
procedure TFormCPUSpeed. Timer1Timer (Sender: TObject);
var
i:Real;
begin
i:=StrToFloat (LabelCPUSpeed.Caption);
Series1.AddXY (Time, i,'', clNone);
if Series1. Count>20 then Series1. Delete (0);
LabelCPUSpeedSR.Caption:=FloatToStr (round (StrToFloat (LabelCPUSpeed.Caption)-(abs ((Series1.FirstValueIndex-Series1.LastValueIndex))/2)));
if (StrToFloat (LabelCPUSpeedSR.Caption)>0)and (StrToFloat (LabelCPUSpeedSR.Caption)<=500)then begin LabelCPUStat. Caption:='1'; Label6. Caption:='-Π±Π°Π»Π» (ΠΡΠ΅Π½Ρ ΡΠ»Π°Π±ΡΠΉ)'; end;
if (StrToFloat (LabelCPUSpeedSR.Caption)>500)and (StrToFloat (LabelCPUSpeedSR.Caption)<=1000)then begin LabelCPUStat. Caption:='2';Label6.Caption:='-Π±Π°Π»Π»Π° (Π‘Π»Π°Π±ΡΠΉ)';end;
if (StrToFloat (LabelCPUSpeedSR.Caption)>1000)and (StrToFloat (LabelCPUSpeedSR.Caption)<=1800)then begin LabelCPUStat. Caption:='3';Label6.Caption:='-Π±Π°Π»Π»Π° (Π‘ΡΠ΅Π΄Π½ΠΈΠΉ)'; end;
if (StrToFloat (LabelCPUSpeedSR.Caption)>1800)and (StrToFloat (LabelCPUSpeedSR.Caption)<=2600)then begin LabelCPUStat. Caption:='4';Label6.Caption:='-Π±Π°Π»Π»Π° (Π₯ΠΎΡΠΎΡΠΈΠΉ)'; end;
if (StrToFloat (LabelCPUSpeedSR.Caption)>2600)then begin LabelCPUStat. Caption:='5';Label6.Caption:='-Π±Π°Π»Π»ΠΎΠ² (ΠΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΈΠΉ)';end;
end;
procedure TFormCPUSpeed. FormCloseQuery (Sender: TObject;
var CanClose: Boolean);
begin
Application.Terminate;
end;
end.
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, XPMan, FileCtrl, Buttons, jpeg, ExtCtrls;
type
TFormDiski = class (TForm)
VolumeSerial: TLabel;
FileSystemName: TLabel;
SectorsPerCluster: TLabel;
BytesPerSector: TLabel;
VolumeName: TLabel;
DriveComboBox1: TDriveComboBox;
Image1: TImage;
Image2: TImage;
BitBtn1: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure FormShow (Sender: TObject);
procedure DriveComboBox1Change (Sender: TObject);
procedure BitBtn1Click (Sender: TObject);
private
{ Private declarations }
procedure UpdateDisk;
public
{ Public declarations }
end;
var
FormDiski: TFormDiski;
implementation
uses Unit1;
{$R *.dfm}
procedure TFormDiski. FormShow (Sender: TObject);
begin
UpdateDisk;
end;
procedure TFormDiski. UpdateDisk;
var
lpRootPathName: PChar;
lpVolumeNameBuffer: PChar;
nVolumeNameSize: DWORD;
lpVolumeSerialNumber: DWORD;
lpMaximumComponentLength: DWORD;
lpFileSystemFlags: DWORD;
lpFileSystemNameBuffer: PChar;
nFileSystemNameSize: DWORD;
FSectorsPerCluster: DWORD;
FBytesPerSector: DWORD;
FFreeClusters: DWORD;
FTotalClusters: DWORD;
begin
lpVolumeNameBuffer := '';
lpVolumeSerialNumber := 0;
lpMaximumComponentLength:= 0;
lpFileSystemFlags := 0;
lpFileSystemNameBuffer := '';
try
GetMem (lpVolumeNameBuffer, MAX_PATH + 1);
GetMem (lpFileSystemNameBuffer, MAX_PATH + 1);
nVolumeNameSize := MAX_PATH + 1;
nFileSystemNameSize := MAX_PATH + 1;
lpRootPathName := PChar (FormDiski.DriveComboBox1.Drive+':');
if GetVolumeInformation (lpRootPathName, lpVolumeNameBuffer,
nVolumeNameSize, @lpVolumeSerialNumber, lpMaximumComponentLength,
lpFileSystemFlags, lpFileSystemNameBuffer, nFileSystemNameSize)
then
begin
VolumeName.Caption := lpVolumeNameBuffer;
VolumeSerial.Caption := IntToHex (HIWord (lpVolumeSerialNumber), 4) + '-' + IntToHex (LOWord (lpVolumeSerialNumber), 4);
FileSystemName.Caption:= lpFileSystemNameBuffer;
GetDiskFreeSpace (PChar (DriveComboBox1.Drive+':'), FSectorsPerCluster, FBytesPerSector, FFreeClusters, FTotalClusters);
end;
finally
FreeMem (lpVolumeNameBuffer);
FreeMem (lpFileSystemNameBuffer);
end;
SectorsPerCluster.Caption:=IntToStr (FSectorsPerCluster);
BytesPerSector.Caption:=IntToStr (FBytesPerSector);
end;
procedure TFormDiski. DriveComboBox1Change (Sender: TObject);
begin
UpdateDisk;
end;
procedure TFormDiski. BitBtn1Click (Sender: TObject);
begin
FormDiski.Visible:=False;
Form1.Visible:=True;
end;
end.
Π‘ΠΠΠ‘ΠΠ ΠΠ‘ΠΠΠΠ¬ΠΠ£ΠΠΠΠ ΠΠΠ’ΠΠ ΠΠ’Π£Π Π«
1. ΠΡΡ Π°Π½Π³Π΅Π»ΡΡΠΊΠΈΠΉ Π. Π―. ΠΠΎΡΠΊΠ²Π° 2003 «Delphi 7.0»
2. Π€Π°ΡΠΎΠ½ΠΎΠ² Π. Π. Π‘Π°Π½ΠΊΡ-ΠΠΈΡΠ΅ΡΠ±ΡΡΠ³ «ΠΠΈΡΠ΅Ρ» 2004 «Delphi ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ»
3. http://delphimastak.ru
4. ΠΠ΅ΠΊΡΠΈΠΈ ΠΏΠΎ «Π‘ΠΠ»