Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Β«Domain name, IPΒ» Π΄Π»Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΡΠΈΡΡΡΠ°
ΠΠ· ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΏΡΠΈΡΡΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ, ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΎΠ΄ΠΈΠ½ — Click. ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ ΡΠ΅Π»ΡΠΊΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅, Ρ. Π΅. Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ OnClick. ΠΡΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΈΠΌΠΈ-ΡΠΎ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅Π»ΡΠΎΠΊ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅. ΠΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡΠΈ Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ «Π‘» ΠΈΠ»ΠΈ «Ρ» Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Β«Domain name, IPΒ» Π΄Π»Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΡΠΈΡΡΡΠ° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
- 1. ΠΠ½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΡΡ
- 1.1 ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½Π°Ρ ΡΠ΅ΡΡ
- 1.2 ΠΠΎΠΌΠ΅Π½Π½Π°Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΠΈ
- 1.3 IP Π°Π΄ΡΠ΅Ρ
- 2. ΠΡΠΎΠ΅ΠΊΡΠ½Π°Ρ ΡΠ°ΡΡΡ
- 2.1 Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅
- 2.2 Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
- 2.3 Π‘ΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Delphi
- 2.4 ΠΡΡΠΎΡΠΈΡ ΡΠ·ΡΠΊΠ°
- 2.5 ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Delphi
- 2.6 Π¦Π΅Π»Π΅Π²Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°
- 2.7 ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
- 2.7.1 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Button
- 2.7.1.1 Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Button
- 2.7.1.2 Π‘ΠΎΠ±ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Button
- 2.7.1.2.1 ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ
- 2.7.2 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Edit
- 2.7.2.1 Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Edit
- 2.7.2.2 Π‘ΠΎΠ±ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Edit
- 2.7.2.2.1 ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄
- 2.7.3 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Label
- 2.7.3.1 Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Label
- 2.7.3.2 Π‘ΠΎΠ±ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Label
- 2.7.3.2.1 ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ
- 2.7.4 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Bevel
- 2.7.5 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ListBox
- 2.7.5.1 Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ Sorted
- 2.7.5.2 ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ
- 2.7.6 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Timer
- 2.7.6.1 ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄
- 2.8 Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
- ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
- 1. ΠΠ½Π°Π»ΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΡΡ
- 1.1 ΠΠ»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½Π°Ρ ΡΠ΅ΡΡ
Internet — Π³Π»ΠΎΠ±Π°Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½Π°Ρ ΡΠ΅ΡΡ, ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡΠ°Ρ Π²Π΅ΡΡ ΠΌΠΈΡ. Π‘Π΅Π³ΠΎΠ΄Π½Ρ Internet ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΊΠΎΠ»ΠΎ 15 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Π°Π±ΠΎΠ½Π΅Π½ΡΠΎΠ² Π² Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ 150 ΡΡΡΠ°Π½Π°Ρ ΠΌΠΈΡΠ°. ΠΠΆΠ΅ΠΌΠ΅ΡΡΡΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ΅ΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° 7−10%. Internet ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΊΠ°ΠΊ Π±Ρ ΡΠ΄ΡΠΎ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠ΅Π΅ ΡΠ²ΡΠ·Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠ΅ΡΠ΅ΠΉ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΡΡΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡΠΌ Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΌΠΈΡΠ΅, ΠΎΠ΄Π½Π° Ρ Π΄ΡΡΠ³ΠΎΠΉ. Π¦ΠΈΡΡΠΎΠ²ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° — ΠΈ ΡΡΠΎ ΡΡΠ°Π»ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΎΡΠ΅Π½Ρ ΡΠΊΠΎΡΠΎ — Ρ ΠΎΡΠΎΡΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ², Π° Π΄Π»Ρ Π»ΡΠ΄Π΅ΠΉ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅Π΅ ΠΈΠΌΠ΅Π½Π°. ΠΠ΅ΡΠ΄ΠΎΠ±Π½ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΈΡΡΠΎΠ²ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ°, ΠΈ Π΅ΡΡ ΡΡΡΠ΄Π½Π΅Π΅ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΠΈΡ . ΠΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°ΠΌ Π² Internet ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Ρ ΠΈΠΌΠ΅Π½Π°. ΠΡΠ΅ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Internet ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° ΡΠΈΡΡΠ΅ΠΌ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ².
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΡΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π½ΡΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ ΠΈΠΌΡ Π½Π΅ Π±ΡΠ»ΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π΄Π²ΡΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°ΠΌ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΡΠ½ Π² ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ°, Π²Π΅Π΄Ρ ΠΈΠΌΠ΅Π½Π° Ρ ΠΎΡΠΎΡΠΈ Π΄Π»Ρ Π»ΡΠ΄Π΅ΠΉ, Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ Π²ΡΡ-ΡΠ°ΠΊΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ ΡΠΈΡΠ»Π°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΈΠΌΡ, Π½ΠΎ Ρ Π½Π΅Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠΈΡΠΊΠ° ΡΡΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π΅Π³ΠΎ Π² Π°Π΄ΡΠ΅Ρ.
ΠΠ° ΡΡΠ°ΠΏΠ΅ ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Internet Π±ΡΠ»Π° ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠΉ ΠΎΠ±ΡΠ½ΠΎΡΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° Π±ΡΠ»ΠΎ Π»Π΅Π³ΠΊΠΎ. Π¦Π΅Π½ΡΡ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ (NIC) ΡΠΎΠ·Π΄Π°Π²Π°Π» ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΠΆΠ±Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ. ΠΡ ΠΏΠΎΡΡΠ»Π°Π»ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ Π±Π»Π°Π½ΠΊ (ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ), ΠΈ NIC Π²Π½ΠΎΡΠΈΠ» ΠΠ°Ρ Π² ΡΠ²ΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΡΠ½ ΠΈ Π°Π΄ΡΠ΅ΡΠΎΠ². ΠΡΠΎΡ ΡΠ°ΠΉΠ», Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ hosts (ΡΠΏΠΈΡΠΎΠΊ ΡΠ·Π»ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ²), ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ ΡΠ°ΡΡΡΠ»Π°Π»ΡΡ Π½Π° Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΡΠ΅ΡΠΈ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΡΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΡΠ»ΠΎΠ²Π°, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ²Π»ΡΠ»ΠΎΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ. ΠΠΎΠ³Π΄Π° ΠΡ ΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΈ ΠΈΠΌΡ, ΠΠ°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΈΡΠΊΠ°Π» Π΅Π³ΠΎ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΠ» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π°Π΄ΡΠ΅Ρ.
ΠΠΎΠ³Π΄Π° Internet ΡΠ°Π·ΡΠΎΡΠ»Π°ΡΡ, ΠΊ ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠΎΠΆΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΡΡ. Π‘ΡΠ°Π»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈΠΌΡΠ½, ΠΏΠΎΠΈΡΠΊ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ ΠΈΠΌΡΠ½ ΡΡΠ»ΠΎΠΆΠ½ΠΈΠ»ΡΡ. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π° ΡΠ°ΡΡΡΠ»ΠΊΡ ΡΡΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π° Π²ΡΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π² Π½ΡΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΡΡ ΠΎΠ΄ΠΈΠ»ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. Π‘ΡΠ°Π»ΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅ΠΌΠΏΡ ΡΠΎΡΡΠ° ΡΡΠ΅Π±ΡΡΡ Π½Π°Π»ΠΈΡΠΈΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ «Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈΠΌΡΠ½» (Domain Name System, DNS).
1.2 ΠΠΎΠΌΠ΅Π½Π½Π°Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΡΠ΅ΡΠΈ
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΊ ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ. ΠΡΠ° ΡΡΡΡΠΊΡΡΡΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΡΡΡΡΠΊΡΡΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅: Π΅ΡΡΡ Π΄ΠΎΠΌΠ΅Π½Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ, Π΅ΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π² Π½ΠΈΡ Π΄ΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΌΠΎΠ³ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ Π΄ΠΎΠΌΠ΅Π½Ρ. ΠΠΌΠ΅Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² ΡΠ°ΠΌΠΎΠ³ΠΎ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΡΡΠΎΠ³ΠΎ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π΄Π²Π° ΡΠΈΠΏΠ° ΡΠ°ΠΊΠΈΡ ΠΈΠΌΠ΅Π½: ΠΏΠΎ ΡΠΈΠΏΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΠΏΠΎ ΡΡΡΠ°Π½Π΅. ΠΠΌΠ΅Π½Π° ΠΏΠΎ ΡΠΈΠΏΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ (com — ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ, eduΡΡΠ΅Π±Π½Π°Ρ, gov — ΠΏΡΠ°Π²ΠΈΡΠ΅Π»ΡΡΡΠ²Π΅Π½Π½Π°Ρ ΠΈ Ρ. Π΄.), Π±ΡΠ»ΠΈ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ²ΡΠΌΠΈ, ΡΠ΅ΠΉΡΠ°Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΡΡ ΠΈ, Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½Ρ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ Π² Π‘Π¨Π.
ΠΠ±ΡΡΠ½ΠΎ Π°Π΄ΡΠ΅Ρ, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ, Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΌΠΎΠ³ΠΎ «Π²Π΅ΡΡ Π½Π΅Π³ΠΎ» Π΄ΠΎΠΌΠ΅Π½Π° ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠ΅ ΡΡΡΠ°Π½ ΠΏΡΠ΅Π±ΡΠ²Π°Π½ΠΈΡ. Π ΠΎΡΡΠΈΠΉΡΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ ΠΈΠΌΠ΅ΡΡ Π°Π΄ΡΠ΅ΡΠ°, Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΠΈΠ΅ΡΡ Π½Π° ru ΠΈΠ»ΠΈ su. ΠΠ°Π»Π΅Π΅, ΡΠΆΠ΅ Π² ΡΠ°ΠΌΠΊΠ°Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΡΠ°Π½Ρ, ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΡΡ ΡΠ²ΠΎΠΈ Π³ΡΡΠΏΠΏΡ ΠΈΠΌΠ΅Π½ — Π΄ΠΎΠΌΠ΅Π½Ρ. ΠΠΌΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΎΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΎΡΠΊΠΎΠΉ, ΠΏΡΠΈΡΠ΅ΠΌ ΠΈΠΌΡ Π΄ΠΎΠΌΠ΅Π½Π° Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΏΠΈΡΠ΅ΡΡΡ ΡΠΏΡΠ°Π²Π°. Π’Π°ΠΊ, Π°Π΄ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π³Π°Π·Π΅ΡΡ «Π£ΡΠ°Π»ΡΡΠΊΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ» — ΡΡΠΎ ur.etel.ru. Π ΡΡΠΎΠΌ Π°Π΄ΡΠ΅ΡΠ΅ ru — ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½Ρ, etel — Π΄ΠΎΠΌΠ΅Π½, Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠΌ (ΠΠΊΠ°ΡΠ΅ΡΠΈΠ½Π±ΡΡΠ³ΡΠΊΠΈΠΌ ΡΠ΅Π»Π΅Π³ΡΠ°ΡΠΎΠΌ), ur — ΠΈΠΌΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Π² Π³Π°Π·Π΅ΡΠ΅. ΠΡΠ»ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ»ΡΠ³ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ, ΡΠΎ ΠΈΠΌΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠΈΡΠ»Π° Π³ΡΡΠΏΠΏ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Ρ ΠΎΡΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΠ΅Π΄ΠΊΠΎ Π²ΡΡΡΠ΅ΡΠΈΡΡ ΠΈΠΌΠ΅Π½Π°, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠ΅ Π² ΡΠ΅Π±Ρ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΡΠΈ Π³ΡΡΠΏΠΏ. ΠΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎ. ΠΠΎ ΠΎΠ½ΠΎ Π΅ΡΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΠΌΠ΅ΡΡΠΎΠ½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠ΅Π±Ρ Π½ΠΎΠ²ΡΠΉ Π΄ΠΎΠΌΠ΅Π½ ΠΈ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΅Π·Π΄Π΅ ΠΈΠ· Π³ΠΎΡΠΎΠ΄Π° Π² Π³ΠΎΡΠΎΠ΄ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π·Π° ΡΠΎΠ±ΠΎΠΉ ΡΡΠΈ ΠΈΠΌΠ΅Π½Π°. ΠΡΠ΄Π΅Ρ ΠΌΠ΅Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π²Π°Ρ Π²ΡΡ ΠΎΠ΄ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ, ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΡ ΡΡΠΈ ΠΈΠΌΠ΅Π½Π° Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ.
1.3 IP Π°Π΄ΡΠ΅Ρ
ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄ΠΎΠΌΠ΅Π½Π½ΡΠΉ delphi
ΠΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π²Π°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π² ΠΌΠΈΡΠ΅ — ΡΡΠΎ IP Π°Π΄ΡΠ΅Ρ. IP Π°Π΄ΡΠ΅Ρ — ΡΡΠΎ ΡΠ΅ΡΡΡΠ΅ ΡΠΈΡΠ»Π°, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ 0 Π΄ΠΎ 255. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ IP — Π°Π΄ΡΠ΅Ρ ftp-ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠΈΡΠΌΡ Microsoft (ΡΠΎ Π΅ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎ ΡΠ΅ΡΠΈ) 189.105.232.1. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π°Π΄ΡΠ΅Ρ, ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ. ΠΠ΅ Π²Π΄Π°Π²Π°ΡΡΡ Π² Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ, ΠΎΡΠΌΠ΅ΡΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ, ΡΡΠΎ ΡΡΠΎΡ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ Π°Π΄ΡΠ΅Ρ ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½, ΡΠΎ Π΅ΡΡΡ Π² ΠΌΠΈΡΠ΅ Π½Π΅Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ Π°Π΄ΡΠ΅ΡΠΎΠΌ. Π ΡΠ΅ΠΌ ΠΏΡΠΈΡΠΈΠ½Π° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π΄Π²ΡΡ ΡΠΈΠΏΠΎΠ² Π°Π΄ΡΠ΅ΡΠΎΠ²? ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ ΠΏΡΠΎΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΌ Π°Π΄ΡΠ΅ΡΠΎΠΌ, ΡΠ΅ΠΌ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΡ ΡΠΈΡΡ.
ΠΠ±ΡΡΠ½ΠΎ ΠΈΠΌΠ΅Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² Π΄Π°ΡΡΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΉ, ΡΠ°ΠΊ ΡΡΠΎ — Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π½Π°Ρ ΡΠΈΡΡΠΎΠ²ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ° ΡΠΈΡΠΌΡ — ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΠΎ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠΌ Π°Π΄ΡΠ΅ΡΠ΅. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ «Π·Π° ΡΠΎΠ±ΠΎΠΉ «ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ, ΡΡΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΠ΅ΡΠ΅Π΅Π·Π΄ΠΎΠ² ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Π½ΠΎΠ²ΡΡ ΡΠ΅ΠΊΠ»Π°ΠΌΡ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ°. ΠΠΎ-Π²ΡΠΎΡΡΡ , IP Π°Π΄ΡΠ΅ΡΠ° ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π½Π° ΡΠ΅Π±Ρ ΡΠΈΡΠΌΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΡΠ»ΡΠ³ΠΈ Π²ΡΡ ΠΎΠ΄Π° Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ. ΠΡΠΈ Π°Π΄ΡΠ΅ΡΠ° (ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ) ΠΎΠ½ΠΈ Π·Π°ΠΊΡΠ΅ΠΏΠ»ΡΡΡ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ «ΡΠ²ΠΎΠ΅», ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ. ΠΠΎΡΠ»Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΠΈΠ½Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ. ΠΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π°, Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ (ΠΎΠΊΠΎΠ»ΠΎ ΡΡΡΠΎΠΊ), ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° Π²ΠΎ Π²ΡΠ΅ΠΌ ΠΌΠΈΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π»ΠΈ Π½ΡΠΆΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ , ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΡΠ»ΡΠ³ΠΈ Internet, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ IP-Π°Π΄ΡΠ΅ΡΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. ΠΠ°ΠΌΠ΅ΡΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ, ΡΡΠΎ Π½Π΅ Π²ΡΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ, ΠΈΠΌΠ΅ΡΡΠΈΠ΅ IP-Π°Π΄ΡΠ΅Ρ, ΠΈΠΌΠ΅ΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ ΡΠ²ΠΎΠ΅ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΈΠΌΡ.
2. ΠΡΠΎΠ΅ΠΊΡΠ½Π°Ρ ΡΠ°ΡΡΡ
2.1 Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ «Domain name, IP» Π΄Π»Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΡΠΈΡΡΡΠ° Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ IP-Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΈ Π΄ΠΎΠΌΠ΅Π½Π½ΡΡ ΠΈΠΌΠ΅Π½ Π² ΡΠ΅ΡΠΈ ΠΈΠ½ΡΡΠΈΡΡΡΠ°.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Delphi.
2.2 Π‘ΡΠ΅Π΄ΡΡΠ²Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
ΠΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Π±ΡΠ»Π° Π²ΡΠ±ΡΠ°Π½Π° ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Delphi, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΡΠΊΠ°Π·Π°Π½Π° ΠΊΠ°ΠΊ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΠΌΠΈΠΌ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠΎΠΌ.
ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Delphi Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ Π·Π°ΡΡΠ°ΡΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ ΡΠ°ΠΌΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Windows. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΠΎΡΠ½ΠΎΠ²Π΅ Delphi Π»Π΅ΠΆΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ — RAD.
Π ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΈΡΡΠ΅ΠΌ Π±ΡΡΡΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (RAD-ΡΠΈΡΡΠ΅ΠΌ, Rapid Application Development — ΡΡΠ΅Π΄Π° Π±ΡΡΡΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ) Π»Π΅ΠΆΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΎΠ±ΡΡΠΈΠΉΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π±Π΅ΡΠ΅Ρ Π½Π° ΡΠ΅Π±Ρ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΡΡΡΠΈΠ½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ, ΠΎΡΡΠ°Π²Π»ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΎΠΊΠΎΠ½ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ.
2.3 Π‘ΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Delphi
Delphi — ΡΡΠΎ ΡΡΠ΅Π΄Π° Π±ΡΡΡΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ·ΡΠΊ Delphi. Π―Π·ΡΠΊ Delphi — ΡΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ·ΡΠΊ, Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π»Π΅ΠΆΠΈΡ Ρ ΠΎΡΠΎΡΠΎ Π·Π½Π°ΠΊΠΎΠΌΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ Object Pascal.
Delphi — ΡΡΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ:
— Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Π² ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ ΠΊΠΎΠ΄;
— ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ;
— Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ΅ (Π°, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΈ ΡΠΊΠΎΡΠΎΡΡΠ½ΠΎΠ΅) ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠΎΠ²;
— ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ;
2.4 ΠΡΡΠΎΡΠΈΡ ΡΠ·ΡΠΊΠ°
Delphi, ΡΠ°Π½Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΊΠ°ΠΊ Object Pascal, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ ΡΠΈΡΠΌΠΎΠΉ Borland ΠΈ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ Π² Π΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠ΅ Borland Delphi, ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠ» Π² 2003 Π³ΠΎΠ΄Ρ ΡΠ²ΠΎΡ Π½ΡΠ½Π΅ΡΠ½Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΡΠ·ΡΠΊΠ° Turbo Pascal, ΠΊΠΎΡΠΎΡΡΠΉ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠ°Π·Π²ΠΈΠ»ΡΡ ΠΈΠ· ΡΠ·ΡΠΊΠ° Pascal. Pascal Π±ΡΠ» ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ, Turbo Pascal, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 5.5, Π΄ΠΎΠ±Π°Π²ΠΈΠ» Π² Pascal ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°.
— Π²Π΅ΡΡΠΈΡ 1 Π±ΡΠ»Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΠ΄ 16-ΡΠΈ ΡΠ°Π·ΡΡΠ΄Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Win16;
— Π²Π΅ΡΡΠΈΠΈ Π½Π°ΡΠΈΠ½Π°Ρ ΡΠΎ Π²ΡΠΎΡΠΎΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ΄ 32-Ρ ΡΠ°Π·ΡΡΠ΄Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Win32;
ΠΠΌΠ΅ΡΡΠ΅ Ρ 6-ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ Delphi Π²ΡΡΠ»Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ°Ρ Ρ Π½ΠΈΠΌ ΠΏΠΎ ΡΠ·ΡΠΊΡ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌ ΡΡΠ΅Π΄Π° Kylix, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½Π°Ρ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΠΎΠ΄ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Linux;
ΠΠ΅ΡΡΠΈΡ 8 ΡΠΏΠΎΡΠΎΠ±Π½Π° Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.NET. ΠΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΠ΅Π΄Π°, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΌΡΠ»ΡΡΠΈΡΠ·ΡΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Π»ΠΈΡΡ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.NET);
ΠΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ (ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΠΌΡΠ΅ Π³ΠΎΠ΄Π°ΠΌΠΈ Π²ΡΡ ΠΎΠ΄Π°, Π° Π½Π΅ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΌΠΈ Π½ΠΎΠΌΠ΅ΡΠ°ΠΌΠΈ, ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ»ΠΎ ΡΠ°Π½Π΅Π΅) ΠΌΠΎΠ³ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Win32, ΡΠ°ΠΊ ΠΈ Π±Π°ΠΉΡ-ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.NET;
Delphi for .NET — ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Delphi, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΠ·ΡΠΊ Delphi (Object Pascal), ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ NET.
2.5 ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Delphi
ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Delphi — Π±ΡΡΡΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ Π΅Π΅ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π»ΡΠ±ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ: ΠΎΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅Π³ΠΎ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠ° Π΄ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ΠΌ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Delphi ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠ°ΠΌΡΠ΅ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ 2−3 ΡΠ°ΡΠ°, ΡΠ°ΠΊ ΠΈ ΡΠ΅ΡΡΠ΅Π·Π½ΡΠ΅ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π΄Π΅ΡΡΡΠΊΠΎΠ² ΠΈ ΡΠΎΡΠ΅Π½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠ΅Π³ΠΎ Delphi ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ²-ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΎΠ², ΠΈΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈ ΡΡΠΈΡΠ΅Π»Ρ, ΠΈ Π²ΡΠ°ΡΠΈ, ΠΈ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°ΡΠ΅Π»ΠΈ ΠΠ£ΠΠΎΠ², ΠΈ Π±ΠΈΠ·Π½Π΅ΡΠΌΠ΅Π½Ρ, Π²ΡΠ΅ ΡΠ΅, ΠΊΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Ρ ΡΠΈΡΡΠΎ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΡΠ΅Π»ΡΡ, ΡΠΎ Π΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π±ΡΡΡΡΠΎ ΡΠ΅ΡΠΈΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠ²ΠΎΠΈ Π·Π°Π΄Π°ΡΠΈ, Π½Π΅ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°Ρ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ² ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ.
2.6 Π¦Π΅Π»Π΅Π²Π°Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°
ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠ·ΡΠΊ Π±ΡΠ» ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Microsoft Windows, Π·Π°ΡΠ΅ΠΌ Π±ΡΠ» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌ GNU/Linux (ΠΊΠ°ΠΊ Kylix), ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΡΡΠΊΠ° Π² 2002 Π³ΠΎΠ΄Ρ Kylix 3 Π΅Π³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π±ΡΠ»Π° ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π°, ΠΈ, Π²ΡΠΊΠΎΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ, Π±ΡΠ»ΠΎ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΎ ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ Microsoft .NET. ΠΡΠΈ ΡΡΠΎΠΌ Π²ΡΡΠΊΠ°Π·ΡΠ²Π°Π»ΠΈΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎ ΡΡΠΈ Π΄Π²Π° ΡΠ°ΠΊΡΠ° Π²Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·Π°Π½Ρ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Delphi ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Windows, Π½ΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄ΡΡΠ² ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π΄Π»Ρ Linux. Π‘ΡΠ΅Π΄Π° Delphi Π»Π΅Π³ΠΊΠΎ ΡΠ°ΡΡΠΈΡΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΠ°ΠΊΠΆΠ΅ Ρ ΠΎΡΠΎΡΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΉ — ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ΅Π΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π΅ΠΌΡ Π±ΡΠ΄Π΅Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ.
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ·ΡΠΊΠ° Delphi ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ Free Pascal ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΠΊΠ°ΠΊ Mac OS X, Windows CE ΠΈ Linux.
2.7 ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
2.7.1 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Button
ΠΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΉ ΠΈ, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ° Button, ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Standard.
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ Π²ΠΈΠ΄Π° ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ — Caption (Π½Π°Π΄ΠΏΠΈΡΡ). Π Π½Π°Π΄ΠΏΠΈΡΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡ ΡΡΠΊΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°, Π²ΡΠ΄Π΅Π»ΡΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π½Π°Π΄ΠΏΠΈΡΠΈ. ΠΠ΅ΡΠ΅Π΄ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°Π²ΠΈΡΠ΅ ΡΡΠΊΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°, ΡΡΠ°Π²ΠΈΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» Π°ΠΌΠΏΠ΅ΡΡΠ°Π½ΡΠ° «&». ΠΡΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ» Π½Π΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² Π½Π°Π΄ΠΏΠΈΡΠΈ, Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π·Π° Π½ΠΈΠΌ ΡΠΈΠΌΠ²ΠΎΠ» ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΡΡΠΌ. Π’ΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ΅Π»ΡΠΊΠ° Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π½Π°ΠΆΠ°ΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΠ»Π°Π²ΠΈΡΡ Alt ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ ΠΊΠ»Π°Π²ΠΈΡΠ΅ΠΉ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π΄Π°ΡΡ Π΅Π΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Caption ΡΠ°Π²Π½ΡΠΌ «&ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ». ΠΠ° ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΡΡΠ° Π½Π°Π΄ΠΏΠΈΡΡ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄ «ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ». Π Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΠΆΠΌΠ΅Ρ ΠΊΠ»Π°Π²ΠΈΡΠΈ Alt-Π, ΡΠΎ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ ΡΠ΅Π»ΡΠΊΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅.
2.7.1.1 Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Button
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ Cancel, Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² true, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΡΠΎ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡΠΈ Esc Π±ΡΠ΄Π΅Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ. ΠΡΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΠ°Π²Π½ΡΠΌ true Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ «ΠΡΠΌΠ΅Π½ΠΈΡΡ» Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΎΠΊΠ½Π°Ρ , ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π²ΡΠΉΡΠΈ ΠΈΠ· Π΄ΠΈΠ°Π»ΠΎΠ³Π°, Π½Π°ΠΆΠ°Π² Π½Π° ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡΡ Esc.
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ Default, Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π² true, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΡΠΎ Π½Π°ΠΆΠ°ΡΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π²Π²ΠΎΠ΄Π° Enter Π±ΡΠ΄Π΅Ρ ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ Π½Π°ΠΆΠ°ΡΠΈΡ Π½Π° Π΄Π°Π½Π½ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π΄Π°Π½Π½Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΠΎΠΊΡΡΠ΅. ΠΡΠ°Π²Π΄Π°, Π΅ΡΠ»ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π°ΠΆΠ°ΡΠΈΡ Enter Π² ΡΠΎΠΊΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π΄ΡΡΠ³Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°, ΡΠΎ Π²ΡΠ΅-ΡΠ°ΠΊΠΈ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° Π² ΡΠΎΠΊΡΡΠ΅.
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ — ModalResult ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΡΡ ΡΠΎΡΠΌΠ°Ρ , ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ. Π ΠΎΠ±ΡΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ°Π²Π½ΠΎ mrNone.
ΠΠ· ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΏΡΠΈΡΡΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ, ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΠΎΠ΄ΠΈΠ½ — Click. ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΎ ΡΠ΅Π»ΡΠΊΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅, Ρ. Π΅. Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ OnClick. ΠΡΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΈΠΌΠΈ-ΡΠΎ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅Π»ΡΠΎΠΊ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅. ΠΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡΠΈ Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ «Π‘» ΠΈΠ»ΠΈ «Ρ» Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΡ OnClick ΠΊΠ½ΠΎΠΏΠΊΠΈ Button1. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π±ΡΠ΄Π΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠΎΠΊΡΡΠ΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ, Π½Π°Π΄ΠΎ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΠΈΡΡ Π΅Π³ΠΎ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠΎΡΠΌΡ. Π’Π°ΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅Ρ Π²Π°Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΡΠΎΡΠΌΡ KeyPreview Π² true. Π’ΠΎΠ³Π΄Π° Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΡΠΎΡΠΌΡ OnKeyPress ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ if (key='C' or key='c') then Button1. Click;
2.7.1.2 Π‘ΠΎΠ±ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Button
ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΡΠΎΠ±ΡΡΠΈΠ΅ Π»ΡΠ±ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ — OnClick, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠ΅Π΅ ΠΏΡΠΈ ΡΠ΅Π»ΡΠΊΠ΅ Π½Π° Π½Π΅ΠΉ. ΠΠΌΠ΅Π½Π½ΠΎ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΈ ΡΠ΅Π»ΡΠΊΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅. ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ Π΅ΡΠ΅ ΡΡΠ΄ ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΡΠΌΠΈ ΠΊΠ»Π°Π²ΠΈΡΠ°ΠΌΠΈ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΠΌΡΡΠΈ.
Π ΠΈΡΡΠ½ΠΎΠΊ 2.1 — ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Button
2.7.1.2.1 ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ
procedure TForm1. Button1Click (Sender: TObject);
begin
Label1.Caption:='Name: '+IPAddrToName (Edit1.Text);
end;
procedure TForm1. Button2Click (Sender: TObject);
var // Π‘ΠΎΡ ΡΠ°Π½ΠΈΠ΅ΠΌ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ IP Π°Π΄ΡΠ΅ΡΠ°
OrgVal: string; //ΡΠ°ΡΡΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ IP
O1,O2,O3,O4: string; // ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠΈΡΠΈΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ
H1,H2,H3,H4: string; // ΠΠ΄Π΅ΡΡ Π±ΡΠ΄ΡΡ ΡΠΎΠ±ΡΠ°Π½Ρ Π²ΡΠ΅ ΡΠ΅ΡΠ½Π°Π΄ΡΠ°ΡΠΈΡΠΈΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ
HexIP: string;
XN: array[1.8] of Extended;
Flt1: Extended;
Xc: Integer;
begin
//Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ
Xn[8]: =IntPower (16,0);Xn[7]:=IntPower (16,1);
Xn[6]:=IntPower (16,2);Xn[5]:=IntPower (16,3);
Xn[4]:=IntPower (16,4);Xn[3]:=IntPower (16,5);
Xn[2]:=IntPower (16,6);Xn[1]:=IntPower (16,7);
//Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ IP Π°Π΄ΡΠ΅Ρ
OrgVal:=Edit2.Text;
O1:=Copy (OrgVal, 1, Pos ('.', OrgVal)-1);Delete (OrgVal, 1, Pos ('.', OrgVal));
O2:=Copy (OrgVal, 1, Pos ('.', OrgVal)-1);Delete (OrgVal, 1, Pos ('.', OrgVal));
O3:=Copy (OrgVal, 1, Pos ('.', OrgVal)-1);Delete (OrgVal, 1, Pos ('.', OrgVal));
O4:=OrgVal;
H1:=IntToHex (StrToInt (O1), 2);H2:=IntToHex (StrToInt (O2), 2);
H3:=IntToHex (StrToInt (O3), 2);H4:=IntToHex (StrToInt (O4), 2);
// ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠΈΡΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ IP Π°Π΄ΡΠ΅ΡΠ°
HexIP:=H1+H2+H3+H4;
//ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠ΅ΡΠ½Π°Π΄ΡΠ°ΡΠΈΡΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Float
Flt1:=0;
for Xc:=1 to 8 do
begin
case HexIP[Xc] of
'0'.'9': Flt1:=Flt1+(StrToInt (HexIP[XC])*Xn[Xc]);
'A': Flt1:=Flt1+(10*Xn[Xc]);
'B': Flt1:=Flt1+(11*Xn[Xc]);
'C': Flt1:=Flt1+(12*Xn[Xc]);
'D': Flt1:=Flt1+(13*Xn[Xc]);
'E': Flt1:=Flt1+(14*Xn[Xc]);
'F': Flt1:=Flt1+(15*Xn[Xc]);
end;
procedure TForm1. Button3Click (Sender: TObject);
var
WSAData: TWSAData;
p: PHostEnt;
begin
WSAStartup (WINSOCK_VERSION, WSAData);
p:=GetHostByName (PChar (Edit3.Text));
Label6.Caption:='IP: '+inet_ntoa (PInAddr (p.h_addr_list^)^);
WSACleanup;
end;
procedure TForm1. Button4Click (Sender: TObject);
var
wsdata: TWSAData;
hostName: array [0.255] of char;
hostEnt: PHostEnt;
addr: PChar;
begin
WSAStartup ($ 0101, wsdata);
try
GetHostName (hostName, sizeof (hostName));
StrPCopy (hostName, Edit4. Text);
hostEnt:=GetHostByName (hostName);
if Assigned (hostEnt)
then
if Assigned (hostEnt^.h_addr_list)
then
begin
addr:=hostEnt^.h_addr_list^;
if Assigned (addr)
then
begin
Label9.Caption:=Format ('%d.%d.%d.%d',[byte (addr[0]),
byte (addr[1]), byte (addr[2]), byte (addr[3])]);
end;
end;
finally
WSACleanup;
end;
end;
procedure TForm1. Button5Click (Sender: TObject);
begin
Label11.Caption:='Name: '+IPAddrToCompName (Edit5.Text);
end;
procedure TForm1. Button6Click (Sender: TObject);
begin
if stop_traf=false then stop_traf:=true
else stop_traf:=false;
end;
2.7.2 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Edit
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ: Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ — ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ — Π²ΡΠ²ΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π»ΡΠ±Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ ΡΡΠ΅Π±ΡΡΡ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ . Π ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Delphi Π΄Π»Ρ ΡΡΠΎ ΡΠ΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Edit. ΠΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π² ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ Π΄Π°Π½Π½ΡΠ΅. Π Π°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Standart.
2.7.2.1 Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Edit
Π‘Π²ΠΎΠΉΡΡΠ²Π° — ΡΡΠΎ «Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΠΎΠ½ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ, Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ.
Enabled — ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ True ΠΈ False. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ True, ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ False ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Edit ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π΅Ρ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π»ΡΠ±ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Top, Left — ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Edit Π½Π° ΡΠΎΡΠΌΠ΅, ΠΎΠ±Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ°Π·ΠΌΠ΅Ρ ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΠΏΠΈΠΊΡΠ΅Π»ΡΡ . ΠΠ΅ΡΠ²ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π΅ΡΡ Π½Π΅ΠΉ Π³ΡΠ°Π½ΠΈΡΡ ΡΠΎΡΠΌΡ, Π²ΡΠΎΡΠΎΠ΅, Ρ. Π΅. Left — ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»Π΅Π²ΠΎΠΉ Π³ΡΠ°Π½ΠΈΡΡ ΡΠΎΡΠΌΡ.
Text ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΠΎΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠ°ΠΊ ΡΠΆΠ΅ ΠΏΠΈΡΠ°Π»ΠΎΡΡ Π²ΡΡΠ΅ ΠΎΠ½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ «Edit1» .
Visible — ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ Π΄Π»Ρ ΡΠΊΡΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ False ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Edit ΠΈΡΡΠ΅Π·Π°Π΅Ρ ΠΈΠ· Π²ΠΈΠ΄Ρ.
2.7.2.2 Π‘ΠΎΠ±ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Edit
Π‘ΠΎΠ±ΡΡΠΈΡ — ΡΡΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
Π‘ΠΎΠ±ΡΡΠΈΠ΅ OnChange, Π΅ΡΠ»ΠΈ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π½ ΠΊΠΎΠ΄, ΡΠΎ ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Text ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Edit.
OnClick — ΡΠ΅Π°Π³ΠΈΡΡΠ΅Ρ Π½Π° ΡΠ΅Π»ΡΠΎΠΊ ΠΌΡΡΠΊΠΎΠΉ ΠΏΠΎ ΠΏΠΎΠ»Ρ Π²Π²ΠΎΠ΄Π°.
OnKeyPress — ΡΠΎΠ±ΡΡΠΈΠ΅ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π»ΡΠ±ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠΈ.
Π ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΎ ΠΏΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Edit. Edit1, Edit2,Edit4 — ΡΠ»ΡΠΆΠ°Ρ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° IP; Edit3, Edit 5 — Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΈΠΌΠ΅Π½ΠΈ.
Π ΠΈΡΡΠ½ΠΎΠΊ 2.2 — ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Edit.
2.7.2.2.1 ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄
procedure TForm1. Edit1Change (Sender: TObject);
begin
end;
2.7.3 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Label
Label — ΠΌΠ΅ΡΠΊΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ°. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Label ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ³ΡΠ°Π΅Ρ ΡΠΎΠ»Ρ ΠΌΠ΅ΡΠΊΠΈ ΠΈ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
2.7.3.1 Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Label
Π‘Π²ΠΎΠΉΡΡΠ²Π° — ΡΡΠΎ «Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, ΠΎΠ½ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ, Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ.
AutoSize — ΠΡΠ»ΠΈ true — ΡΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π½Π°Π΄ΠΏΠΈΡΠΈ
Aligment — Π£ΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΠΌ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ° Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΌΠ΅ΡΠΊΠΈ (Π²Π»Π΅Π²ΠΎ, Π²ΠΏΡΠ°Π²ΠΎ, ΠΏΠΎ ΡΠ΅Π½ΡΡΡ)
Caption — Π‘ΡΡΠΎΠΊΠ° ΡΠ΅ΠΊΡΡΠ°, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΠΌΠ΅ΡΠΊΠΈ
Color — Π¦Π²Π΅Ρ ΡΠΎΠ½Π° ΠΌΠ΅ΡΠΊΠΈ
FocusControl — ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΠΊΠΎΠ½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΏΠΎΠ»ΡΡΠ°ΡΡΠΈΠΉ ΡΠΎΠΊΡΡ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π±ΡΡΡΡΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΌΠ΅ΡΠΊΠΈ.
Font — ΠΡΡΠΈΠ±ΡΡΡ ΡΡΠΈΡΡΠ°
Layout — ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° Π² ΠΏΠΎΠ»Π΅ ΠΌΠ΅ΡΠΊΠΈ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ
ParentColor — ΠΡΠΈ true — ΡΠΎΠ½ ΠΌΠ΅ΡΠΊΠΈ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π΅Ρ ΡΠΎΡΠΌΡ
ShowAccelChar — ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΊΠ°ΠΊ Π°ΠΌΠΏΠ΅ΡΡΠ°Π½Π΄ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅ ΠΌΠ΅ΡΠΊΠΈ
WordWrap — ΠΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡΡ Π»ΠΈ ΡΠ΅ΠΊΡΡ Π½Π° Π½ΠΎΠ²ΡΡ ΡΡΡΠΎΠΊΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ ΡΠΈΡΠΈΠ½Ρ ΠΌΠ΅ΡΠΊΠΈ
2.7.3.2 Π‘ΠΎΠ±ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Label
Π ΠΈΡΡΠ½ΠΎΠΊ 2.3-ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Label.
Π‘ΠΎΠ±ΡΡΠΈΡ — ΡΡΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
OnMouseEnter — Π½Π°ΡΡΡΠΏΠ°Π΅Ρ Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΡΡΡΠΎΡΠ° ΠΌΡΡΠΈ Π½Π°Π΄ ΠΌΠ΅ΡΠΊΠΎΠΉ.
OnMouseLeave — Π½Π°ΡΡΡΠΏΠ°Π΅Ρ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΊΡΡΡΠΎΡΠ° ΠΌΡΡΠΈ Π½Π°Π΄ ΠΌΠ΅ΡΠΊΠΎΠΉ.
2.7.3.2.1 ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ
procedure TForm1. Label1DblClick (Sender: TObject);
begin
Edit1.Text:=Label1.Caption;
end;
procedure TForm1. Label4DblClick (Sender: TObject);
begin
Edit2.Text:=Label4.Caption;
end;
procedure TForm1. Label6DblClick (Sender: TObject);
begin
Edit3.Text:=Label6.Caption;
end;
procedure TForm1. Label9DblClick (Sender: TObject);
begin
Edit4.Text:=Label9.Caption;
end;
procedure TForm1. Label11DblClick (Sender: TObject);
begin
Edit5.Text:=Label11.Caption;
end;
2.7.4 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Bevel
ΠΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Bevel, ΡΡΠ΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΎΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎΠ± Π°Π²ΡΠΎΡΠ΅ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ Π·Π°ΠΌΠ΅ΡΠΊΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ Π΄Π»Ρ ΡΠ΅Π³ΠΎ Π³ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Bevel — ΡΡΠΎ ΡΠ»ΡΠΆΠΈΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΌ. ΠΠ½ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ³ΠΎΡΡΠ½Π΅ΠΉ ΡΠ²ΠΎΠΉΡΡΠ² ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠΉ, ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½ΠΈ Π·Π° ΡΡΠΎ ΠΎΡΠ²Π΅ΡΠ°ΡΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ Bevel, ΠΈΠ·ΠΌΠ΅Π½ΡΡ Π΅Π³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° Shape ΠΈ Style, ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅Ρ. Shape Bevel ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΄ΡΠΌ ΠΎΠΊΠ½ΠΎΠΌ, ΡΠ°ΠΌΠΊΠΎΠΉ (ΠΎΡΠ΅ΡΡΠ΅Π½Π½ΡΠΌ ΠΎΠΊΠ½ΠΎΠΌ) ΠΈΠ»ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ»ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ. Π‘ΡΠΈΠ»Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ bsRaised («Π²ΡΡΡΡΠΏΠΎΠΌ»,. mnrbsLowered («ΡΠ³Π»ΡΠ±Π»Π΅Π½ΠΈΠ΅ΠΌ»). Bevel ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Additional page (ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅) ΠΏΠ°Π»ΠΈΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
Π ΠΈΡΡΠ½ΠΎΠΊ 2.4-ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Bevel.
2.7.5 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ListBox
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ListBox ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±Ρ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΡ ΠΎΠ±Π»Π°ΡΡΡ, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈΠ»ΠΈ Π·Π° ΡΡΠ΅Ρ Π²ΡΠ±ΠΎΡΠ° ΠΌΡΡΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΠΎΡΠ±ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠΎΠΊ ΡΡΠΎ Items ΡΠΈΠΏΠ° TString. ΠΠ° ΡΡΠ°ΠΏΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄Π»Ρ Π΅Π³ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Ρ ΠΌΠ½ΠΎΠ³ΠΎΡΠΎΡΠΈΠ΅ΠΌ Π½Π°ΠΏΡΠΎΡΠΈΠ² ΡΡΠΎΠ³ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π² ΠΎΠΊΠ½Π΅ ΠΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠ° ΠΠ±ΡΠ΅ΠΊΡΠΎΠ². Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ (Π΄ΠΎΠΏΡΡΡΠΈΠΌ ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ)
ListBox1.Items.Add ΠΈΠ»ΠΈ ListBox1.Items.Add(Edit1.Text); // Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Edit1. Text
ΠΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΎΡΠΈΡΡΠΊΠΈ ΡΠΏΠΈΡΠΊΠ°: ListBox1.Clear; Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ: ListBox1.DeleteSelected;ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. Π Π΅ΡΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈ Π½Π΅ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π½Π΅ΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΏΡΠ°Π²Π° ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ»ΠΈ ΠΈΡΡΠ΅Π·Π°Π΅Ρ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ»ΠΎΡΠ° ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ (ΠΏΠ΅ΡΠ²ΡΠΉ ΠΈ Π²ΡΠΎΡΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ListBox). ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ»ΠΎΡΠ° ΠΏΡΠΎΠΊΡΡΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ²ΠΎΠΉΡΡΠ²Ρ Columns ΡΠΈΠΏΠ° Integer ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠ΅ Π½ΡΠ»Ρ. Π’ΡΠ΅ΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ — Columns ΡΠ°Π²Π΅Π½ 1, Π²ΡΠΎΡΠΎΠΉ 2.
2.7.5.1 Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ Sorted
Π Π°Π²Π½ΠΎΠ΅ true Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² Π°Π»ΡΠ°Π²ΠΈΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. ΠΠ° ΡΡΠ΅Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠΏΠΈΡΠΊΠ° Π² Π°Π»ΡΠ°Π²ΠΈΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π±ΡΠ΄Π΅Ρ Π»Π΅Π³ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ Π±ΠΎΠ»ΡΡΠΎΠΉ. ΠΡΠΈΠΌΠ΅Π½ΠΈΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ Π² ΠΠ½ΡΠΏΠ΅ΠΊΡΠΎΡΠ΅ ΠΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΎΡΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ Π½Π΅ ΡΠ΄Π°ΡΡΡΡ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ, Π²ΠΊΠ»ΡΡΠΈΠ² Π΅Π³ΠΎ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΎΠ±ΡΡΠΈΡ:
ShowMessage (ListBox1.Items[ListBox1.ItemIndex]);
Π³Π΄Π΅ ShowMessage () — ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, Π° ListBox1.ItemIndex — Π½ΠΎΠΌΠ΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
MultiSelect — ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π½Π΅ 1 ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π° Π±ΠΎΠ»Π΅Π΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΡΠ°Π²ΠΈΠΌ Π΅Π³ΠΎ ΡΠ°Π²Π½ΡΠΌ TRUE. Π©Π΅Π»ΠΊΠ°Ρ ΠΌΡΡΡΡ, ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΡΠ΅ CTRL, Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. ΠΡΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ExtendedSelect ΡΠ°Π²Π½ΠΎ TRUE, ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Ρ ΠΊΠ»Π°Π²ΠΈΡΡ SHIFT Π²ΡΠ΄Π΅Π»ΠΈΠΌ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠΏΠΈΡΠΊΠ°. ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΠ΄Π΅Π»Π΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΈΠ»ΠΈ Π½Π΅Ρ ΠΎΠ±ΡΠ°ΡΠΈΠΌΡΡ ΠΊ ΡΠ²ΠΎΠΉΡΡΠ²ΡSelected. ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅: ListBox. Selected[3] ΡΠ°Π²Π½ΠΎ TRUE, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΠ²Π΅ΡΡΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ Π²ΡΠ΄Π΅Π»Π΅Π½ (Π½ΠΎΠΌΠ΅ΡΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π½ΡΠ»Ρ).
ItemAtPos ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠ΅Π»ΡΠΊΠ° Π²Π½ΡΡΡΠΈ ΡΠΏΠΈΡΠΊΠ° Π² ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°. Π Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Π½Π° ΡΠΎΡΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ListBox, Panel ΠΈ Label ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΠΈΡΡΠ½ΠΊΡ. ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ListBox Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΠΎΡΠΏΡΡΠΊΠ°Π½ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡΡΠΈ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄.
Π ΠΈΡΡΠ½ΠΎΠΊ 2.5- ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ListBox.
2.7.5.2 ΠΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠ΄Ρ
procedure TForm1. ListBox1Click (Sender: TObject);
begin
end;
end;
procedure TForm1. ListBox1MouseUp (Sender:
TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
Point: TPoint;
Nomer: Integer;
begin
Point.X := X;
Point.Y := Y;
Nomer := ListBox1. ItemAtPos (Point, True);
Label1.Caption := IntToStr (Nomer);
Panel1.Caption := ListBox1. Items[ListBox1.ItemIndex];
end;
Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Nomer Π·Π°ΠΏΠΈΡΠ΅ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Label1 Π²ΡΠ²Π΅Π΄Π΅Ρ Π΅Π³ΠΎ. ΠΠ°Π΄ΠΏΠΈΡΡ Π½Π° Panel1 Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠ΅ΠΊΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ListBox1.
2.7.6 ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Timer
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Timer ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π²ΠΈΠ΄Π΅Π½ Π½Π° ΡΠΊΡΠ°Π½Π΅, Π½ΠΎ, ΡΠ΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Timer Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. Timer ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅Ρ ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Timer ΠΈΠΌΠ΅Π΅Ρ Π²ΡΠ΅Π³ΠΎ Π΄Π²Π° ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈ ΠΎΠ΄Π½ΠΎ ΡΠΎΠ±ΡΡΠΈΠ΅, ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ Timer ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. CΠ²ΠΎΠΉΡΡΠ²Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΈΠΌ ΡΠΏΡΠ°Π²Π»ΡΡΡ: Interval — ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°Ρ ΠΈ Enabled — Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ. Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ Interval Π·Π°Π΄Π°Π΅Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°. Π§Π΅ΡΠ΅Π· Π·Π°Π΄Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ, ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° Interval, ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Interval ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΉΠΌΠ΅Ρ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ, Π²ΡΠ·ΡΠ²Π°Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ OnTimer. Π ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ±ΡΡΠΈΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
ΠΡΠ»ΠΈ Π·Π°Π΄Π°ΡΡ Interval = 0 ΠΈΠ»ΠΈ Enabled = false, ΡΠΎ ΡΠ°ΠΉΠΌΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΡΡΡΠ΅Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π°Π΄ΠΎ ΠΈΠ»ΠΈ Π·Π°Π΄Π°ΡΡ Enabled = true, Π΅ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Interval, ΠΈΠ»ΠΈ Π·Π°Π΄Π°ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Interval, Π΅ΡΠ»ΠΈ Enabled = true.
2.7.6.1 ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄
procedure TForm1. Timer1Timer (Sender: TObject);
// Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΠ°Ρ ΠΠΠ‘ Π°Π΄ΡΠ΅Ρ ΠΊ
// «Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ» Π²ΠΈΠ΄Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ, ΡΡΠΎΠ±Ρ
// ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²
type
TMAC=array [0.7] of Byte;
// Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ², Π²ΡΠΎΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅,
// ΡΠ°Π·ΠΌΠ΅Ρ Π΄Π°Π½Π½ΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅
function GetMAC (Value: TMAC; Length: DWORD): string;
var
i: integer;
begin
if Length=0
then Result:='00−00−00−00−00−00'
else
begin
Result:='';
for i:=0 to Length-2 do
Result:=Result+IntToHex (Value[i], 2)+'-';
Result:=Result+IntToHex (Value[Length-1], 2);
end;
end;
2.8 Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π ΠΈΡΡΠ½ΠΎΠΊ 2.6- Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
1. ΠΠ°ΡΠΊΠΎΠ² Π. Π. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Delhi 7 / ΠΠ°ΡΠ°Ρ Π²Π΅Π»ΠΈΠ΄Π°Π΅ Π.Π.- ΠΠ°ΡΠΊΠΎΠ² Π. Π — ΠΠ₯Π ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³.
2. ΠΡΡ Π°Π½Π³Π΅Π»ΡΡΠΊΠΈΠΉ Π. Π―. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² Delphi. Π£ΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π²Π΅ΡΡΠΈΡΠΌ Delphi (+ Π΄ΠΈΡΠΊΠ΅ΡΠ°); Π.: ΠΠΈΠ½ΠΎΠΌ, 2006. — 518 c.
3. ΠΠΎΠ±ΡΠΎΠ²ΡΠΊΠΈΠΉ Π‘Π΅ΡΠ³Π΅ΠΉ Delphi 7. Π£ΡΠ΅Π±Π½ΡΠΉ ΠΊΡΡΡ; Π‘ΠΠ±: ΠΠΈΡΠ΅Ρ, 2003. — 736 c
4.. ΠΠ°ΡΠ°Ρ Π²Π΅Π»ΠΈΠ΄Π·Π΅ Π. Π.; ΠΠ°ΡΠΊΠΎΠ², Π.Π. Delphi 2005 Π΄Π»Ρ Win32 Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ; ΠΠ₯Π-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2005. 209 c.
5. ΠΡΠ»ΡΡΠΈΠ½ ΠΠΈΠΊΠΈΡΠ° ΠΡΠ½ΠΎΠ²Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Delphi 7; Π‘ΠΠ±: ΠΠ₯Π, 2003. — 608 c
6. ΠΠ΅Π»ΠΊΠΎΠ²ΠΈΡ Π., Π¨ΠΎΡΠ., ΠΠ΅Π½Π½ΠΎΠ½ ΠΠΆ. ΠΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ/ΠΠ΅Ρ. Ρ Π°Π½Π³Π». — Π.: ΠΠΈΡ, 1982.-386Ρ.
7. ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ/ ΠΠ΅Ρ. Ρ Π°Π½Π³Π». Π. ΠΠΈΠΊ, Π. Π₯ΠΈΡ, Π. Π Π°ΡΠ±ΠΈ ΠΈ Π΄Ρ.; ΠΏΠΎΠ΄ ΡΠ΅Π΄. Π. ΠΠΈΠΊΠ°, Π. Π₯ΠΈΡ, Π.Π Π°ΡΠ±ΠΈ. — Π.: Π Π°Π΄ΠΈΠΎΡΠ²ΡΠ·Ρ, 1986.-168Ρ.
8. Π―ΡΠ°Π΅Π²Π° Π . Π . ΠΠ΅ΠΊΡΠΈΠΈ_ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
9. ΠΠΎΡΠΌΠ°Π½ Π. Π., Π₯ΠΎΠΌΠΎΠ½Π΅Π½ΠΊΠΎ Π. Π. Delphi. ΠΡΡΡΡΡΠΉ ΡΡΠ°ΡΡ. — Π‘ΠΠ±: ΠΠ₯Π-ΠΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2003. — 288 Ρ.: ΠΈΠ».
10. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Delphi 7.0.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
unit dnip;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Winsock, ExtCtrls, Math;
type
TForm1 = class (TForm)
Button1: TButton;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Button2: TButton;
Bevel1: TBevel;
Edit2: TEdit;
Label3: TLabel;
Label4: TLabel;
Bevel2: TBevel;
Button3: TButton;
Edit3: TEdit;
Label5: TLabel;
Label6: TLabel;
Bevel3: TBevel;
Label7: TLabel;
Bevel4: TBevel;
Button4: TButton;
Edit4: TEdit;
Label8: TLabel;
Label9: TLabel;
Button5: TButton;
Edit5: TEdit;
Label10: TLabel;
Label11: TLabel;
Bevel5: TBevel;
Timer1: TTimer;
ListBox1: TListBox;
Button6: TButton;
Label12: TLabel;
Label13: TLabel;
procedure Button1Click (Sender: TObject);
procedure Button2Click (Sender: TObject);
procedure Label4DblClick (Sender: TObject);
procedure Label1DblClick (Sender: TObject);
procedure Button3Click (Sender: TObject);
procedure FormCreate (Sender: TObject);
procedure Button4Click (Sender: TObject);
procedure Label6DblClick (Sender: TObject);
procedure Label9DblClick (Sender: TObject);
procedure Button5Click (Sender: TObject);
procedure Label11DblClick (Sender: TObject);
procedure Timer1Timer (Sender: TObject);
procedure Button6Click (Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
stop_traf: boolean;
count, trafbitin, trafbitout, trafbitold: integer;
implementation
{$R *.dfm}
function IPAddrToName (IPAddr: string): string;
var
SockAddrIn: TSockAddrIn;
HostEnt: PHostEnt;
WSAData: TWSAData;
begin
WSAStartup ($ 101, WSAData);
SockAddrIn.sin_addr.s_addr:=inet_addr (PChar (IPAddr));
HostEnt:=GetHostByAddr (@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
if HostEnt<>nil
then Result:=StrPas (Hostent^.h_name)
else Result:='';
end;
procedure TForm1. Button1Click (Sender: TObject);
begin
Label1.Caption:='Name: '+IPAddrToName (Edit1.Text);
end;
procedure TForm1. Button2Click (Sender: TObject);
var
// Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ IP Π°Π΄ΡΠ΅ΡΠ°
OrgVal: string;
// ΡΠ°ΡΡΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ IP
O1,O2,O3,O4: string;
// ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠΈΡΠΈΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ
H1,H2,H3,H4: string;
// ΠΠ΄Π΅ΡΡ Π±ΡΠ΄ΡΡ ΡΠΎΠ±ΡΠ°Π½Ρ Π²ΡΠ΅ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠΈΡΠΈΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈ
HexIP: string;
XN: array[1.8] of Extended;
Flt1: Extended;
Xc: Integer;
begin
// Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ
Xn[8]: =IntPower (16,0);Xn[7]:=IntPower (16,1); Xn[6]: =IntPower (16,2);Xn[5]:=IntPower (16,3);
Xn[4]:=IntPower (16,4);Xn[3]:=IntPower (16,5); Xn[2]: =IntPower (16,6);Xn[1]:=IntPower (16,7);
// Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ IP Π°Π΄ΡΠ΅Ρ
OrgVal:=Edit2.Text;
O1:=Copy (OrgVal, 1, Pos ('.', OrgVal)-1);Delete (OrgVal, 1, Pos ('.', OrgVal));
O2:=Copy (OrgVal, 1, Pos ('.', OrgVal)-1);Delete (OrgVal, 1, Pos ('.', OrgVal));
O3:=Copy (OrgVal, 1, Pos ('.', OrgVal)-1);Delete (OrgVal, 1, Pos ('.', OrgVal));
O4:=OrgVal;
H1:=IntToHex (StrToInt (O1), 2);H2:=IntToHex (StrToInt (O2), 2);
H3:=IntToHex (StrToInt (O3), 2);H4:=IntToHex (StrToInt (O4), 2);
// ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠΈΡΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ IP Π°Π΄ΡΠ΅ΡΠ°
HexIP:=H1+H2+H3+H4;
// ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠΈΡΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Float
Flt1:=0;
for Xc:=1 to 8 do
begin
case HexIP[Xc] of
'0'.'9': Flt1:=Flt1+(StrToInt (HexIP[XC])*Xn[Xc]);
'A': Flt1:=Flt1+(10*Xn[Xc]);
'B': Flt1:=Flt1+(11*Xn[Xc]);
'C': Flt1:=Flt1+(12*Xn[Xc]);
'D': Flt1:=Flt1+(13*Xn[Xc]);
'E': Flt1:=Flt1+(14*Xn[Xc]);
'F': Flt1:=Flt1+(15*Xn[Xc]);
end;
end;
Label4.Caption:='Number: '+FloatToStr (Flt1);
end;
procedure TForm1. Label4DblClick (Sender: TObject);
begin
Edit2.Text:=Label4.Caption;
end;
procedure TForm1. Label1DblClick (Sender: TObject);
begin
Edit1.Text:=Label1.Caption;
end;
const
WINSOCK_VERSION=$ 0101;
procedure TForm1. Button3Click (Sender: TObject);
var
WSAData: TWSAData;
p: PHostEnt;
begin
WSAStartup (WINSOCK_VERSION, WSAData);
p:=GetHostByName (PChar (Edit3.Text));
Label6.Caption:='IP: '+inet_ntoa (PInAddr (p.h_addr_list^)^);
WSACleanup;
end;
// Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ IP Π°Π΄ΡΠ΅Ρ
function LocalIP: string;
type
TaPInAddr=array [0.10] of PInAddr;
PaPInAddr=^TaPInAddr;
var
phe:PHostEnt;
pptr:PaPInAddr;
Buffer:array [0.63] of char;
i:Integer;
GInitData:TWSADATA;
begin
WSAStartup ($ 101, GInitData);
Result:='';
GetHostName (Buffer, SizeOf (Buffer));
phe:=GetHostByName (buffer);
if phe=nil then Exit;
pptr:=PaPInAddr (Phe^.h_addr_list);
i:=0;
while pptr^[i]<>nil do
begin
result:=StrPas (inet_ntoa (pptr^[i]^));
Inc (i);
end;
WSACleanup;
end;
procedure TForm1. FormCreate (Sender: TObject);
begin
Label7.Caption:='Local IP: '+LocalIP;
end;
procedure TForm1. Button4Click (Sender: TObject);
var
wsdata: TWSAData;
hostName: array [0.255] of char;
hostEnt: PHostEnt;
addr: PChar;
begin
WSAStartup ($ 0101, wsdata);
try
GetHostName (hostName, sizeof (hostName));
StrPCopy (hostName, Edit4. Text);
hostEnt:=GetHostByName (hostName);
if Assigned (hostEnt)
then
if Assigned (hostEnt^.h_addr_list)
then
begin
addr:=hostEnt^.h_addr_list^;
if Assigned (addr)
then
begin
Label9.Caption:=Format ('%d.%d.%d.%d',[byte (addr[0]),
byte (addr[1]), byte (addr[2]), byte (addr[3])]);
end;
end;
finally
WSACleanup;
end;
end;
procedure TForm1. Label6DblClick (Sender: TObject);
begin
Edit3.Text:=Label6.Caption;
end;
procedure TForm1. Label9DblClick (Sender: TObject);
begin
Edit4.Text:=Label9.Caption;
end;
function IPAddrToCompName (IPAddr: string): string;
var
SockAddrIn: TSockAddrIn;
HostEnt: PHostEnt;
WSAData: TWSAData;
begin
WSAStartup ($ 101, WSAData);
SockAddrIn.sin_addr.s_addr:=inet_addr (PChar (IPAddr));
HostEnt:=gethostbyaddr (@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
if HostEnt<>nil
then Result:=StrPas (Hostent^.h_name)
else Result:='';
end;
procedure TForm1. Button5Click (Sender: TObject);
begin
Label11.Caption:='Name: '+IPAddrToCompName (Edit5.Text);
end;
procedure TForm1. Label11DblClick (Sender: TObject);
begin
Edit5.Text:=Label11.Caption;
end;
//////////////////////////////////// Π’ΡΠ°ΡΠΈΠΊ
type
TMibIfRow = packed record
wszName: array[0.255] of WideChar;
dwIndex: DWORD;
dwType: DWORD;
dwMtu: DWORD;
dwSpeed: DWORD; // ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π² Π±ΠΈΡΠ°Ρ Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ
dwPhysAddrLen: DWORD;
bPhysAddr: array[0.7] of Byte; // ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π΄ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (Π΅ΡΠ»ΠΈ ΠΏΡΠΎΡΠ΅ ΡΠΎ Π΅Π³ΠΎ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΎΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ, ΠΠΠ‘ Π°Π΄ΡΠ΅Ρ)
dwAdminStatus: DWORD;
dwOperStatus: DWORD;
dwLastChange: DWORD;
dwInOctets: DWORD; // ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°ΠΉΡ ΠΏΡΠΈΠ½ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
dwInUcastPkts: DWORD;
dwInNUCastPkts: DWORD;
dwInDiscards: DWORD;
dwInErrors: DWORD;
dwInUnknownProtos: DWORD;
dwOutOctets: DWORD; // ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°ΠΉΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ
dwOutUCastPkts: DWORD;
dwOutNUCastPkts: DWORD;
dwOutDiscards: DWORD;
dwOutErrors: DWORD;
dwOutQLen: DWORD;
dwDescrLen: DWORD;
bDescr: array[0.255] of Char; // cΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
end;
TMibIfArray = array [0.512] of TMibIfRow;
PMibIfRow = ^TMibIfRow;
PMibIfArray = ^TMibIfArray;
type
TMibIfTable = packed record
dwNumEntries: DWORD;
Table: TMibIfArray;
end;
PMibIfTable = ^TMibIfTable;
var
GetIfTable:function (pIfTable: PMibIfTable; pdwSize: PULONG;
bOrder: Boolean): DWORD; stdcall;
//////////////////////////////////// ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ
function WSAIoctl (s: TSocket; cmd: DWORD; lpInBuffer: PCHAR; dwInBufferLen:
DWORD;
lpOutBuffer: PCHAR; dwOutBufferLen: DWORD;
lpdwOutBytesReturned: LPDWORD;
lpOverLapped: POINTER;
lpOverLappedRoutine: POINTER): integer; stdcall; external 'WS232.DLL';
const
SIO_GET_INTERFACE_LIST = $4 004 747 °F;
IFF_UP = $ 1;
IFF_BROADCAST = $ 2;
IFF_LOOPBACK = $ 4;
IFF_POINTTOPOINT = $ 8;
IFF_MULTICAST = $ 10;
type
sockaddr_gen = packed record
AddressIn: sockaddr_in;
filler: packed array [0.7] of char;
end;
type
INTERFACE_INFO = packed record
iiFlags: u_long; // Π€Π»Π°Π³ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
iiAddress: sockaddr_gen; // ΠΠ΄ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
iiBroadcastAddress: sockaddr_gen; // Broadcast Π°Π΄ΡΠ΅Ρ
iiNetmask: sockaddr_gen; // ΠΠ°ΡΠΊΠ° ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ
end;
function EnumInterfaces (var sInt: string): Boolean;
var
s: TSocket;
wsaD: WSADATA;
NumInterfaces: Integer;
BytesReturned: u_long;
pAddrInet: SOCKADDR_IN;
pAddrString: PChar;
PtrA: pointer;
Buffer: array[0.20] of INTERFACE_INFO;
i: integer;
begin
result:=true; // ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
sInt:='';
WSAStartup ($ 0101, wsaD); // Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ WinSock
// Π·Π΄Π΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°Π±Π°Π²ΠΈΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ
s:=Socket (AF_INET, SOCK_STREAM, 0); // ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠΎΠΊΠ΅Ρ
if (s=INVALID_SOCKET)
then Exit;
try // Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ WSAIoCtl
PtrA:=@bytesReturned;
if (WSAIoCtl (s, SIO_GET_INTERFACE_LIST, nil, 0, @Buffer,
1024, PtrA, nil, nil)<>SOCKET_ERROR)
then
begin // Π΅ΡΠ»ΠΈ OK, ΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²
NumInterfaces:=BytesReturned div SizeOf (INTERFACE_INFO);
for i:=0 to NumInterfaces-1 do // Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
begin
pAddrInet:=Buffer[i]. iiAddress. AddressIn; // IP Π°Π΄ΡΠ΅Ρ
pAddrString:=inet_ntoa (pAddrInet.sin_addr);
if pAddrString<>'127.0.0.1'
then
begin
sInt:=sInt+'IP = '+pAddrString+', '+#10#13;
// pAddrInet:=Buffer[i]. iiNetMask. AddressIn; // ΠΌΠ°ΡΠΊΠ° ΠΏΠΎΠ΄ΡΠ΅ΡΠΈ
// pAddrString:=inet_ntoa (pAddrInet.sin_addr);
// sInt:=sInt+' Mask='+pAddrString+',';
end
else sInt:='IP = «localhost» ';
end;
end;
except
end;
// Π·Π°ΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠΎΠΊΠ΅ΡΡ
CloseSocket (s);
WSACleanUp;
result:=false;
end;
function BytesToString (Value: integer): string;
const
OneKB=1024;
OneMB=OneKB*1024;
OneGB=OneMB*1024;
begin
if Value
then Result:=FormatFloat ('#,##0.00 B', Value)
else
if Value
then Result:=FormatFloat ('#,##0.00 KB', Value/OneKB)
else
if Value
then Result:=FormatFloat ('#,##0.00 MB', Value/OneMB)
end;
procedure TForm1. Timer1Timer (Sender: TObject);
// Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΡΡΠ°Ρ ΠΠΠ‘ Π°Π΄ΡΠ΅Ρ ΠΊ
// «Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ» Π²ΠΈΠ΄Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠΏ, ΡΡΠΎΠ±Ρ
// ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΡ ΠΌΠ°ΡΡΠΈΠ²
type
TMAC=array [0.7] of Byte;
// Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ², Π²ΡΠΎΡΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅,
// ΡΠ°Π·ΠΌΠ΅Ρ Π΄Π°Π½Π½ΡΡ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅
function GetMAC (Value: TMAC; Length: DWORD): string;
var
i: integer;
begin
if Length=0
then Result:='00−00−00−00−00−00'
else
begin
Result:='';
for i:=0 to Length-2 do
Result:=Result+IntToHex (Value[i], 2)+'-';
Result:=Result+IntToHex (Value[Length-1], 2);
end;
end;
var
FLibHandle: THandle;
Table: TMibIfTable;
i, Size: integer;
s, trafnormin, trafnormout: string;
begin
Timer1.Enabled:=false; // ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π½Π° Π²ΡΡΠΊΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ
ListBox1.Items.BeginUpdate;
ListBox1.Items.Clear; // ΠΎΡΠΈΡΠ°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ
FLibHandle:=LoadLibrary ('IPHLPAPI.DLL'); // Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ
if FLibHandle=0
then Exit;
@GetIfTable:=GetProcAddress (FLibHandle, 'GetIfTable');
if not Assigned (GetIfTable)
then
begin
FreeLibrary (FLibHandle);
Close;
end;
Size:=SizeOf (Table);
if GetIfTable (@Table,@Size, false)=0
then // Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ
for i:=0 to Table. dwNumEntries-1 do // ΠΊΠΎΠ»-Π²ΠΎ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΊΠ°ΡΡ
begin
with ListBox1. Items do
begin // Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ
// if string (GetMAC (TMAC (Table.Table[i]. bPhysAddr), Table. Table[i].dwPhysAddrLen))<>'00−00−00−00−00−00' // ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ MAC Π°Π΄ΡΠ΅ΡΠΎΠ²
// then
begin
Add ('Description: '+string (Table.Table[i]. bDescr)); // Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°
Add ('MAC-adress: '+string (GetMAC (TMAC (Table.Table[i]. bPhysAddr), Table. Table[i].dwPhysAddrLen))); // ΠΠΠ‘ Π°Π΄ΡΠ΅Ρ
// ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΊ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌ «ΠΡ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ» ΡΡΠ°ΡΠΈΠΊΠ°
trafbitin:=Table.Table[i]. dwInOctets; // Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ Π±Π°ΠΉΡ
trafnormin:=BytesToString (trafbitin);
// ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΊ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΠΌ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌ «ΠΡΡ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ» ΡΡΠ°ΡΠΈΠΊΠ°
trafbitout:=Table.Table[i]. dwOutOctets; // Π²ΡΠ΅Π³ΠΎ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Π±Π°ΠΉΡ
trafnormout:=BytesToString (trafbitout);
////////////////////////////////////// ΡΠ±ΡΠΎΡ ΡΡΠ°ΡΠΈΠΊΠ°
if stop_traf=true
then
begin
trafbitold:=trafbitin;
trafnormin:='0,00 B';
trafnormout:='0,00 B';
end;
if trafbitin>=trafbitold // Π½ΠΎΠ²ΡΠΉ ΡΡΠ°ΡΠΈΠΊ Π±ΠΎΠ»ΡΡΠ΅ ΡΡΠ°ΡΠΎΠ³ΠΎ
then
begin
trafbitin:=trafbitin-trafbitold;
trafnormin:=BytesToString (trafbitin);
end
else // Π½ΠΎΠ²ΡΠΉ ΡΡΠ°ΡΠΈΠΊ ΠΌΠ΅Π½ΡΡΠ΅ ΡΡΠ°ΡΠΎΠ³ΠΎ
begin
trafbitin:=trafbitold;
trafnormin:=BytesToString (trafbitin);
end;
Add ('In (Byte): '+trafnormin); // Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ Π±Π°ΠΉΡ
Add ('Out (Byte): '+trafnormout); // Π²ΡΠ΅Π³ΠΎ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Π±Π°ΠΉΡ
Add ('————————————————————————-'); //
end;
end;
end;
EnumInterfaces (s);
ListBox1.Items.Add (s);
ListBox1.Items.EndUpdate;
FreeLibrary (FLibHandle);
Timer1.Enabled:=true; // Π½Π΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠΌΠ΅Ρ
end;
procedure TForm1. Button6Click (Sender: TObject);
begin
if stop_traf=false then stop_traf:=true
else stop_traf:=false;
end;
end.