ΠΠΎΠ»Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π·Π°Π΄Π°Π½ΠΈΡ IP-Π°Π΄ΡΠ΅ΡΠ°
Π Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΊΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ «Editip». ΠΡΠ»Π° Π²ΡΡΠ²Π»Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΠΌΠΎΠ³Π»ΠΎ Π±ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΎ Π² ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ Int32. Π ΡΠΎΡΠΌΡ Π±ΡΠ» ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ «Editip» ΠΈ ΡΠ΅ΡΡΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° «Label» ΠΈΠΌΠ΅ΡΡΠΈΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ip1… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠΎΠ»Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π·Π°Π΄Π°Π½ΠΈΡ IP-Π°Π΄ΡΠ΅ΡΠ° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΡΡΡΠΎΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΠΎ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π΅ «ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅»
ΠΠ° ΡΠ΅ΠΌΡ «ΠΠΎΠ»Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π·Π°Π΄Π°Π½ΠΈΡ IP-Π°Π΄ΡΠ΅ΡΠ°»
1. ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ ΠΈ Π΅Π΅ Π°Π½Π°Π»ΠΈΠ·
2. ΠΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²
3. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ, ΡΠ²ΠΎΠΉΡΡΠ²
4. ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ²
5. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ
1. ΠΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°ΡΠΈ ΠΈ Π΅Π΅ Π°Π½Π°Π»ΠΈΠ· ΠΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠ±ΠΎΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Ρ ΠΈΠ· ΡΠ΅Π»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π»Π°Π΄Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΠΈ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ Π² ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΠΈ. ΠΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
ΠΡΠΈ ΡΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ — ΡΡΠ΅Π΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Microsoft Visual Studio.NET. Π―Π·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ C#.
Π Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΊΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ «Editip» .
ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ «Editip» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ 4 ΡΠ²ΠΎΠΉΡΡΠ²Π° «ip1», «ip2», «ip3», «ip4», Ρ ΡΠ°Π½ΡΡΠΈΠ΅ IPv4 Π½ΠΎΠΌΠ΅ΡΠ° ΠΏΠΎΠ±ΠΈΡΠ½ΠΎ. ΠΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠΈ ΡΠΎΠ±ΡΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ ΠΈΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π²Π²ΠΎΠ΄ ΡΠΈΡΡ ΠΈΠ»ΠΈ ΡΠΎΡΠΊΠΈ. ΠΡΠ»ΠΈ Π²Π²Π΅Π΄Π΅Π½ Π½Π΅ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΠΉ ΡΡΠΎΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ» — ΠΎΠ½ ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΈΠ· ΡΡΡΠΎΠΊΠΈ, Π±Π΅Π· ΡΠ±ΡΠΎΡΠ° ΠΊΠ°ΡΠ΅ΡΠΊΠΈ. ΠΡΠ»ΠΈ Π² ΡΡΡΠΎΠΊΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ΅Ρ ΡΠΎΡΠ΅ΠΊ, ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π±ΡΠ΄Π΅Ρ ΡΡΠΎΡΡΡ ΡΠΈΡΠ»ΠΎ — Π²ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ Π²Π²ΠΎΠ΄Π° IP-Π°Π΄ΡΠ΅ΡΠ° (754.198 589.50.5 ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² 255.255.50.5).
2. ΠΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ²
Π ΠΈΡΡΠ½ΠΎΠΊ 1 — ΠΠ΅ΡΠ°ΡΡ ΠΈΡ ΠΊΠ»Π°ΡΡΠΎΠ²
3. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ, ΡΠ²ΠΎΠΉΡΡΠ²
ΠΠ»Π°ΡΡ «Editip» ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ «TextBox». Π Π½Π΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ²ΠΎΠΉΡΡΠ²Π° «ip1», «ip2», «ip3», «ip4» ΡΠΈΠΏΠ° byte. ΠΠ·ΠΌΠ΅Π½Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄ «OnTextCanged», Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΈΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠ΅Π½ΠΈΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ²ΠΎΠΉΡΡΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ «ip1», «ip2», «ip3», «ip4» ΠΈ «Text» .
4. ΠΠ»ΠΎΠΊ-ΡΡ Π΅ΠΌΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ²
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΌΠ΅ΡΠΎΠ΄Π° «OnTextChanged» .
5. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π±ΡΠ» ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ Ρ ΠΎΠΏΡΡΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ²Π΅ΡΡΠ» ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅ Π½Π° Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ²Π»Π΅Π½Π½ΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ.
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π±ΡΠ»ΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
— Π² ΡΠΎΡΠΌΡ Π±ΡΠ» ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ «Editip» ΠΈ ΡΠ΅ΡΡΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° «Label» ΠΈΠΌΠ΅ΡΡΠΈΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ip1, ip2, ip2, ip4 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ;
— Π² ΡΠΎΠ±ΡΡΠΈΠΈ TextCanged ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Editip Π±ΡΠ»ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ² ip1, ip2, ip3, ip4 ΠΏΡΠΎΠ²Π΅ΡΠΎΡΠ½ΡΠΌ ΡΡΡΠΎΠΊΠ°ΠΌ (Π²ΡΠ΄Π΅Π»Π΅Π½Ρ ΠΆΠΈΡΠ½ΡΠΌ).
Π ΠΈΡΡΠ½ΠΎΠΊ 4 — ΠΠ²ΠΎΠ΄ Π² ΡΠΎΡΠΌΡ ip Π°Π΄ΡΠ΅ΡΠ°
— ΠΏΡΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΠΈ Π² ΠΏΠΎΠ»Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠΈΡΠ»Π° ΠΏΡΠ΅Π²ΡΡΠ°ΡΡΠ΅Π³ΠΎ 255, ip Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ½ΠΈΠΆΠ°Π»ΠΈ ΡΡΠΎ ΡΠΈΡΠ»ΠΎ Π² 255.
Π ΠΈΡΡΠ½ΠΎΠΊ 5 — ΠΠ²ΠΎΠ΄ Π² ΡΠΎΡΠΌΡ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠΈΡΠ΅Π»
— ΠΏΠΎΡΠ»Π΅ Π²Π²ΠΎΠ΄Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠΈΡΡ, ΠΏΠΎΡΠ»Π΅ ΡΡΠ΅ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΈ, Π²ΠΈΠ΄ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ» Π² «ΠΏΠΎΡΡΠ΄ΠΎΠΊ», Π΅ΡΠ»ΠΈ ΡΠΈΡΠ»Π° ip1, ip2, ip3 Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°Π»ΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ Π ΠΈΡΡΠ½ΠΎΠΊ 6 — ΠΠ²ΠΎΠ΄ Π² ΡΠΎΡΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠΈΡΠ»Π°
— Π±ΡΠ»Π° Π²ΡΡΠ²Π»Π΅Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° ΡΠ»ΠΈΡΠΊΠΎΠΌ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΠΌΠΎΠ³Π»ΠΎ Π±ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΎ Π² ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ Int32.
Π ΠΈΡΡΠ½ΠΎΠΊ 7 — ΠΡΠΈΠ±ΠΊΠ°
ΠΡΠΈΠ±ΠΊΠ° Π±ΡΠ»Π° ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ try-catch
Π ΠΈΡΡΠ½ΠΎΠΊ 8 — ΠΡΠΈΠ±ΠΊΠ° ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½Π°
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ «Editip» Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ ΡΠ·ΡΠΊΠ° C#, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠΈΡΠΎΠΊΠΎΠΌ ΡΠΏΠ΅ΠΊΡΡΠ΅ ΡΠ°Π·Π½ΠΎΡΠΈΠΏΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΠΈΡΡΠΈΠ½Π³ ΠΠΎΠ΄ΡΠ»Ρ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΠΎΡΠΌΡ
using System;
using System.Collections.Generic;
using System. ComponentModel;
using System. Data;
using System. Drawing;
using System. Text;
using System.Windows.Forms;
namespace OOPip
{
public partial class Form1: Form
{
public Form1()
{
InitializeComponent ();
}
private void editip1_TextChanged (object sender, EventArgs e)
{
label1.Text = Convert. ToString (editip1.ip1);
label2.Text = Convert. ToString (editip1.ip2);
label3.Text = Convert. ToString (editip1.ip3);
label4.Text = Convert. ToString (editip1.ip4);
}
}
}
ΠΠΎΠ΄ΡΠ»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° «Editip»
using System;
using System. ComponentModel;
using System.Collections.Generic;
using System. Diagnostics;
using System. Text;
namespace OOPip
{
public partial class Editip: System.Windows.Forms.TextBox
{
public Editip ()
{
InitializeComponent ();
}
public Editip (IContainer container)
{
container.Add (this);
Text = «0.0.0.0» ;
InitializeComponent ();
}
// ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Ρ ΡΠ°Π½ΡΡΠΈΠ΅ ΡΠΈΡΡ ip Π°Π΄ΡΠ΅ΡΠ°
public short ip1, ip2, ip3, ip4;
// Π²ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ Π² ΡΠΎΠ±ΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ°
protected override void OnTextChanged (EventArgs e)
{
// ΠΎΠ±Π½ΡΠ»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Ρ ΡΠ°Π½ΡΡΠΈΠ΅ ΡΠΈΡΡ ip Π°Π΄ΡΠ΅ΡΠ°
ip1 = 0;
ip2 = 0;
ip3 = 0;
ip4 = 0;
// Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΡΠ΅ΡΠΊΠΈ
int start = SelectionStart;
//ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΎΡΠ΅ΠΊ
byte pCount = 0;
// Π΅ΡΠ»ΠΈ ΡΡΡΠΎΠΊΠ° Π½Π΅ ΠΏΡΡΡΠ°
try
{
if (Text ≠ «»)
{
// Π½Π°ΠΌ Π½ΡΠΆΠ΅Π½ Π²Π²ΠΎΠ΄ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΡ, ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅
for (int i = 0; i < Text. Length; i++)
{
// ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΈΡΠ»Π°ΠΌ
if ((Convert.ToInt32(Text[i]) >= 48 && Convert. ToInt32(Text[i]) <= 57)
// ΠΈΠ»ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΠ²ΠΈΠ΅ ΡΠΎΡΠΊΠ΅, Π½Π΅ ΡΡΠΎΡΡΠ΅ΠΉ ΠΏΠ΅ΡΠ²ΠΎΠΉ, Π½Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΡΡΠ΅ΡΠ΅ΠΉ ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠΈΡΡΡ
|| (Text[i] == '.' && pCount < 3 && i >= 1
&& (Convert.ToInt32(Text[i — 1]) >= 48 && Convert. ToInt32(Text[i — 1]) <= 57)))
{
if (Text[i] == '.')
{
pCount++;
}
}
else
{
Text = Text. Substring (0, i) + Text. Substring (i + 1);
}
}
// Π·Π°ΠΊΡΡΠ²Π°Π΅ΠΌ ΠΈΠΏΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠΎΡΠΊΠΈ
string Str = Text;
int ii = 0;
if (Str.IndexOf ('.') ≠ -1)
{
ii = (Convert.ToInt32(Str.Substring (0, Str. IndexOf ('.'))));
if (ii > 255) { ii = 255; } ip1 = Convert. ToByte (ii);
Str = Str. Substring (Str.IndexOf ('.') + 1);
}
if (Str.IndexOf ('.') ≠ -1)
{
ii = (Convert.ToInt32(Str.Substring (0, Str. IndexOf ('.'))));
if (ii > 255) { ii = 255; } ip2 = Convert. ToByte (ii);
Str = Str. Substring (Str.IndexOf ('.') + 1);
}
if (Str.IndexOf ('.') ≠ -1)
{
ii = (Convert.ToInt32(Str.Substring (0, Str. IndexOf ('.'))));
if (ii > 255) { ii = 255; } ip3 = Convert. ToByte (ii);
Str = Str. Substring (Str.IndexOf ('.') + 1);
}
if (Str ≠ «»)
{
ii = (Convert.ToInt32(Str)); if (ii > 255) { ii = 255; } ip4 = Convert. ToByte (ii);
}
}
}
catch { }
// ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌ Π² «Π±ΠΎΠΆΠ΅ΡΠΊΠΈΠΉ Π²ΠΈΠ΄» Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π½ΡΠΉ ΡΠ΅ΠΊΡΡ, Π΅ΡΠ»ΠΈ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ 3 ΡΠΎΡΠΊΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π½Π΅ ΡΠΎΡΠΊΠ°
if (pCount == 3 && Text. LastIndexOf ('.') ≠ Text. Length — 1)
{
Text = Convert. ToString (ip1) + «.» + Convert. ToString (ip2) + «.» + Convert. ToString (ip3) + «.» + Convert. ToString (ip4);
}
// Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ ΠΊΠ°ΡΠ΅ΡΠΊΡ Π½Π° ΠΌΠ΅ΡΡΠΎ (ΡΠ±ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΈ ΡΠ΅ΠΊΡΡΠ°)
SelectionStart = start;
base.OnTextChanged (e);
}
}
}