ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ОБ

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Моя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы 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. Π›Π΅ΠΊΡ†ΠΈΠΈ ΠΏΠΎ «Π‘ПО»

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ