Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π°ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Π²Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΡΠ΅Π»ΡΡ Π΅Π³ΠΎ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ, Π½ΠΎ Π²ΡΡΠ΄ Π»ΠΈ Π²ΡΡΡΠ΅ΡΡΡΡΡ Π²Π°ΠΌ Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²:
1. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΡΠ»ΠΈ Π±Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΠΌ Π±ΡΠ»ΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΡΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΡΠΎ ΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π±ΡΠ»Π° Π±Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ; ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΊΠΎΠ΄Π΅ ΠΈ ΠΎΡΠΊΠ°Π·Π°ΡΡΡΡ ΠΎΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ², Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠΎΠΏΡΡΠΆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π»ΡΠ±ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . Π ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π±Ρ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠ΅Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ²: Π°) Π·Π°Π³ΡΡΠ·ΠΊΠ° Π² ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠΆΠ΅ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π»ΠΈ; Π±) ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ SQL Π‘Π Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ SQL-ΡΠ΅ΡΠ²Π΅ΡΠ°; ΠΈ Π²) Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΠΈ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΠΈΠΌ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
2. Π ΠΏΠ°ΠΌΡΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ ΡΡΠ°Π·Ρ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΠ°ΠΊ Π²ΡΡΠ΅ ΡΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠ°Π»ΠΎΡΡ, ΡΠ»ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ. ΠΡΠ»ΠΈ Π±Ρ Π½Π°ΡΠ° Π±Π°Π·Π° Π²ΠΊΠ»ΡΡΠ°Π»Π° 20000 ΡΠ»ΠΎΠ², ΡΠΎ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΌΡ Π½Π΅ Π·Π°Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ Π² ΠΏΠ°ΠΌΡΡΡ Π²ΡΠ΅ ΡΡΠΈ ΡΠ»ΠΎΠ²Π° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡ ΡΡΠΎΠ³ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΡΠΈΠ³ΡΡΠ²Π°Π΅Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠ½ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ»ΠΎΠ². ΠΡ Π±Ρ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ±ΡΠ°Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ°Π·ΡΠΌΠ½ΡΠΉ ΠΏΡΠ΅Π΄Π΅Π», ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠΈΠΉ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»ΠΎΠ², ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ; Π΄Π°Π»Π΅Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² ΠΏΠ°ΠΌΡΡΡ ΠΊΡΡ Π½ΠΎΠ²ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅, Ρ ΡΠ°Π½ΡΡΠ΅ΠΌΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ, Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 500 ΡΠ»ΠΎΠ² ΠΈΠ· ΠΏΠΎΠ»Π½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ, Π½Π°ΡΡΠΈΡΡΠ²Π°ΡΡΠ΅ΠΉ 20 000 ΡΠ»ΠΎΠ², ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ 1 Π΄ΠΎ 40 ΡΠ»ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Ρ Π² ΠΏΠ°ΠΌΡΡΡ. ΠΡΠ»ΠΎ Π±Ρ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΊΠΎΠ΄, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠΈΠΉ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΠ΅ ΡΠ»ΠΎΠ² ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΡΡΠ΅ΡΠ°Π»ΠΎΡΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΠ»Π° 1/40. ΠΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ»ΠΎΠ², Ρ ΡΠ°Π½ΠΈΠΌΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ»ΠΎΠ² Π² ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π½Π°Π±ΠΎΡΡ, Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΠ΅ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΡΡΡΠ΅ ΡΠ»ΠΎΠ²Π°, ΡΠ»ΠΎΠ²Π° ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ, ΠΎΡΠΎΠ±ΠΎ ΡΡΡΠ΄Π½ΡΠ΅ ΡΠ»ΠΎΠ²Π°). Π Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Ρ ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π»ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π»Π° Π±Ρ, ΡΡΠΎ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π² ΠΏΠ°ΠΌΡΡΡ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Π»ΠΈΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»ΠΎΠ², ΡΠ°ΠΊ ΡΡΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΈΠΌΠ΅Π΅Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ , ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΠ΅Ρ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π² Π»ΠΈΡΡΠΈΠ½Π³Π΅ 14.5 ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΡΠΎΡΠΌΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Pocket PC. ΠΠΎΠ΄ Π² Π»ΠΈΡΡΠΈΠ½Π³Π°Ρ 14.6, 14.7 ΠΈ 14.8 ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅, ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
1. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Visual Studio .NET (2003 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ) ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠΈΠΏΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ C# Smart Device Application.
2. ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Pocket PC. (ΠΠ»Ρ Π²Π°Ρ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΎΠΊΠ½ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΡΠΎΡΠΌ Pocket PC.)
3. ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΊΠ»Π°ΡΡ SqlServerCE. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΠ΅Π»ΠΊΠ½ΡΠ² ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° ΡΠ·Π»Π΅ References Π² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ TreeView Π² ΠΎΠΊΠ½Π΅ Solution Explorer, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ±ΡΠ°Π² ΡΠ»Π΅ΠΌΠ΅Π½Ρ System.Data. SqlServerCe.
ΠΡΠ° ΡΡΡΠ»ΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΡΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ ΠΈΠ· ΡΠ±ΠΎΡΠΊΠΈ System.Data.SqlServerCe, ΡΡΠΎ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π½Π°ΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ SQLCE
4. ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΡΠΎΡΠΌΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
Π°. ΠΠ½ΠΎΠΏΠΊΡ (Button), ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π² Π΅Π΅ Π² buttonCreateDataBase.
Π±. ΠΠ½ΠΎΠΏΠΊΡ (Button), ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π² Π΅Π΅ Π² buttonLoadGameData
Π². Π’Π΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ (TextBox), ΠΎΡΡΠ°Π²ΠΈΠ² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Π½ΠΎΠ΅ Π΅ΠΌΡ ΠΈΠΌΡ textBox1.
5. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄Π»Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° MultiLine ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ TextBox Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ true.
6. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄Π»Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ScrollBar ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ TextBox Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ vertical.
7. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠ²Π°ΠΆΠ΄Ρ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π² ΠΎΠΊΠ½Π΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΡΠΎΡΠΌ. Π Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΠΈ button<ΠΠΌΡΠΠ½ΠΎΠΏΠΊΠΈ>_Click() ΠΈΠ· Π»ΠΈΡΡΠΈΠ½Π³Π° 14.5.
8. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄Π»Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° MinimizeBox ΡΠΎΡΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΎΡΠΌΡ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ° OK, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ Π»Π΅Π³ΠΊΠΎ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΊΡΡΡΡ ΡΠΎΡΠΌΡ ΠΈ Π²ΡΠΉΡΠΈ ΠΈΠ· ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΏΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
9. ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΠΏΡΠΎΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡ DatabaseAccess, ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΈΠ· Π½Π΅Π³ΠΎ Π²Π΅ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄ Π² ΠΎΠΊΠ½Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΊΠ»Π°ΡΡΠ°, ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄ ΠΈΠ· Π»ΠΈΡΡΠΈΠ½Π³Π° 14.6.
10. ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΠΏΡΠΎΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡ GameData, ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΈΠ· Π½Π΅Π³ΠΎ Π²Π΅ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄ Π² ΠΎΠΊΠ½Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΊΠ»Π°ΡΡΠ°, ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄ ΠΈΠ· Π»ΠΈΡΡΠΈΠ½Π³Π° 14.7.
11. ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΠΏΡΠΎΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡ VocabularyWord, ΡΠ΄Π°Π»ΠΈΡΠ΅ ΠΈΠ· Π½Π΅Π³ΠΎ Π²Π΅ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄ Π² ΠΎΠΊΠ½Π΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΠΊΠ»Π°ΡΡΠ°, ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄ ΠΈΠ· Π»ΠΈΡΡΠΈΠ½Π³Π° 14.8.
12. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡΡ <F5>. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡ. 14.4. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ buttonCreateDatabase Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ SQL Π‘Π. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ buttonGameData Ρ ΡΠ΅Π»ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π² ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ; Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΠΎΠ³ΠΎ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡΡΡ ΡΠ»ΠΎΠ²Π° ΠΈΠ· ΡΠ»ΠΎΠ²Π°ΡΡ.
Π ΠΈΡ. 14.4. ΠΡΠΈΠΌΠ΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ Π½Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² DataSet
//Π‘ΠΎΠ·Π΄Π°Π΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
private void buttonCreateDatabase_Click(object sender, System.EventArgs e) {
DatabaseAccess.CreateAndFillDatabase();
}
//ΠΠ°Π³ΡΡΠΆΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΈΡ
private void buttonLoadGameData_Click(object sender, System.EventArgs e) {
//ΠΡΠΈΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ
textBox1.Text = "";
//ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠ»ΠΎΠ²
GameData.InitializeGameVocabulary();
//ΠΠ±ΠΎΠΉΡΠΈ Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ
System.Text.StringBuilder thisStringBuilder;
thisStringBuilder = new System.Text.StringBuilder();
foreach (VocabularyWord thisWord in GameData.AllWords) {
thisStringBuilder.Append(thisWord.EnglishWord);
thisStringBuilder.Append(" = ");
thisStringBuilder.Append(thisWord.GermanWordWithArticleIfExists);
thisStringBuilder.Append("\r\n"); //ΠΠΎΠ²Π°Ρ ΡΡΡΠΎΠΊΠ°
}
//ΠΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ»ΠΎΠ² Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅
textBox1.Text = thisStringBuilder.ToString();
}
ΠΠΈΡΡΠΈΠ½Π³ 14.6. ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ Π΄Π»Ρ DatabaseAccess.cs//------------------------------------------------------------
//ΠΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
//
//ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π½Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
//------------------------------------------------------------
using System;
internal class DatabaseAccess {
const string DATABASE_NAME = "LearnGerman.sdf";
const string CONNECT_STRING = "Data Source = " + DATABASE_NAME + "; Password = ''";
const string TRANSLATIONTABLE_NAME = "TranslationDictionary";
const string TRANSLATIONTABLE_ENGLISH_COLUMN = "EnglishWord";
const string TRANSLATIONTABLE_GERMAN_COLUMN = "GermanWord";
const string TRANSLATIONTABLE_GERMANGENDER_COLUMN = "GermanGender";
const string TRANSLATIONTABLE_ WORDFUNCTION_COLUMN = "WordFunction";
internal const int DS_WORDS_COLUMNINDEX_ENGLISHWORD = 0;
internal const int DS_WORDS_COLUMNINDEX_GERMANWORD = 1;
internal const int DS_WORDS_COLUMNINDEX_GERMANGENDER = 2;
internal const int DS_WORDS_COLUMNINDEX_WORDFUNCTION = 3;
static public System.Data.IDataReader GetListOfWords() {
System.Data.SqlServerCe.SqlCeConnection conn = null;
conn = new System.Data.SqlServerCe.SqlCeConnection(CONNECT_STRING);
conn.Open();
System.Data.SqlServerCe.SqlCeCommand cmd = conn.CreateCommand();
cmd.ConmandText = "select " +
TRANSLATIONTABLE_ENGLISH_COLUMN + ", " +
TRANSLATIONTABLE_GERMAN_COLUMN + ", " +
TRANSLATIONTABLE_GERMANGENDER_COLUMN + ", " +
TRANSLATIONTABLE_WORDFUNCTION_COLUMN + " " + "from " +
TRANSLATIONTABLE_NAME;
//ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
System.Data.SqlServerCe.SqlCeDataReader myReader =
cmd.ExecuteReader(System.Data.CommandBehavior.SingleResult);
return myReader;
}
//------------------------------------------
//Π‘ΠΎΠ·Π΄Π°Π΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π² ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ
//------------------------------------------
static public void CreateDatabaseIfNonExistant() {
if (System.IO.File.Exists(DATABASE_NAME) == false) {
CreateAndFillDatabase();
}
}
//---------------------------------------
//Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΠΈ Π½Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
//---------------------------------------
static public void CreateAndFillDatabase() {
//Π£Π΄Π°Π»ΠΈΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π΅ΡΠ»ΠΈ ΠΎΠ½Π° ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
if (System.IO.File.Exists(DATABASE_NAME)) {
System.IO.File.Delete(DATABASE_NAME);
}
//Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ