ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Β«Π£ΡΠ΅Ρ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈΒ»
ΠΡΠΏΠΎΠ»Π½ΡΡ ΡΠ²ΠΎΠ΅ ΠΎΠ±Π΅ΡΠ°Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠΈ ΡΠΈΠΊΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Visual Studio, ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΡ Microsoft Π²ΡΠΏΡΡΡΠΈΠ»Π° Visual Studio 2013 ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· Π³ΠΎΠ΄ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΎΠ±ΡΡΠ²ΠΈΠ»Π° ΠΎ Π²ΡΡ ΠΎΠ΄Π΅ Visual Studio 2013, ΡΠ²ΠΎΠ΅Π³ΠΎ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, 18 ΠΎΠΊΡΡΠ±ΡΡ 2013 Π³ΠΎΠ΄Π°. Π Π΄Π°Π½Π½ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΡΠ΄Π΅Π»Π°Π½Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ Windows 8.1, ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Β«Π£ΡΠ΅Ρ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈΒ» (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
Π£ΡΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ
" ΠΠΠΠΠ Π£Π‘Π‘ΠΠΠ ΠΠΠ‘Π£ΠΠΠ Π‘Π’ΠΠΠΠΠ«Π Π’ΠΠ₯ΠΠΠΠΠΠΠ§ΠΠ‘ΠΠΠ Π£ΠΠΠΠΠ Π‘ΠΠ’ΠΠ’"
Π€Π°ΠΊΡΠ»ΡΡΠ΅Ρ ΠΈΠ·Π΄Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π΄Π΅Π»Π° ΠΈ ΠΏΠΎΠ»ΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΠ°ΡΠ΅Π΄ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΡ 1−40 01 02 «ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ»
Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ «ΠΠ·Π΄Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ Π΄Π΅Π»ΠΎ ΠΈ ΠΏΠΎΠ»ΠΈΠ³ΡΠ°ΡΠΈΡ»
ΠΠ£Π Π‘ΠΠΠΠ― Π ΠΠΠΠ’Π ΠΏΠΎ Π΄ΠΈΡΡΠΈΠΏΠ»ΠΈΠ½Π΅ «ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅»
Π’Π΅ΠΌΠ°: ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ «Π£ΡΠ΅Ρ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠΈ»
ΠΠΈΠ½ΡΠΊ 2015
- ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
- 1. ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
- 1.1 Π‘ΡΠ΅Π΄Π° Visual Studio.NET
- 1.2 Π£Π»ΡΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
- 1.3 Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
- 1.4 Π€ΡΠ½ΠΊΡΠΈΡ Peek Definition
- 1.5 Π€ΡΠ½ΠΊΡΠΈΡ CodeLens
- 1.6 ΠΠΎΠ½ΡΠΎΠ»ΠΈΠ΄Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ASP.net
- 1.7 Π€ΡΠ½ΠΊΡΠΈΡ TypeScript
- 1.8 Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
- 1.9 ΠΠ»Π°ΡΡ Form
- 2. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
- 3. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
- 4. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
- ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
- Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
- ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π
Π―Π·ΡΠΊ C# ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π½Π° ΡΠ²Π΅Ρ Π² ΠΈΡΠ½Π΅ 2000 Π³. Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΡΠΎΠΏΠΎΡΠ»ΠΈΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ Π³ΡΡΠΏΠΏΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Microsoft, Π²ΠΎΠ·Π³Π»Π°Π²Π»ΡΠ΅ΠΌΠΎΠΉ ΠΠ½Π΄Π΅ΡΡΠΎΠΌ Π₯Π΅ΠΉΠ»ΡΠ±Π΅ΡΠ³ΠΎΠΌ (Anders Hejlsberg).
ΠΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ·ΡΠΊΠ° C# ΠΈ ΠΈΠ½ΠΈΡΠΈΠ°ΡΠΈΠ²Ρ.net ΠΎΡΠ½ΡΠ΄Ρ Π½Π΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΡΠΈΡΠ»ΠΎΡΡ Π½Π° Π½Π°ΡΠ°Π»ΠΎ Π»Π΅ΡΠ° 2000 Π³. ΠΠΌΠ΅Π½Π½ΠΎ ΠΊ ΡΡΠΎΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Microsoft ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΈΠ»Π° ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Internet-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (COM+, ASP+, ADO+, SOAP, Biztalk Framework). ΠΠ΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ, Π»ΡΡΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΡΡΠΈΡ Π½ΠΎΠ²ΠΈΠ½ΠΎΠΊ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Ρ ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ. Π ΡΡΠΎΠΌ ΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΎΠ΄Π½Π° ΠΈΠ· Π³Π»Π°Π²Π½ΡΡ Π·Π°Π΄Π°Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° C#. ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Microsoft Π½Π΅ ΠΌΠΎΠ³Π»Π° Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°ΡΡΠΈΡΡΡΡ Π²ΡΠ΅ ΡΠ΅ ΠΆΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ ΡΠ·ΡΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π΄Π΅Π»Π°Ρ ΠΈΡ Π²ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ (Π° ΡΡΠΎ Π±ΡΠ»ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°ΠΌΠΈ Π½Π°ΡΠ°Π»Π° 90-Ρ Π³ΠΎΠ΄ΠΎΠ² ΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈΡΡ Π²ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡΠΈΠΌΠΈ). ΠΠ°ΡΡΡΠΏΠΈΠ» ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡΠ°ΡΡ Ρ ΡΠΈΡΡΠΎΠ³ΠΎ Π»ΠΈΡΡΠ° Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΎΡΡΠΎΠΉ, Π½ΠΎ ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π½Π°Π±ΠΎΡ ΡΠ·ΡΠΊΠΎΠ², ΡΡΠ΅Π΄ ΠΈ ΡΡΠ΅Π΄ΡΡΠ² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ.
Π‘# ΠΈ.net ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠΉ ΡΠ°ΠΌΠΎΠΉ ΠΎΡΠΏΡΠ°Π²Π½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ. ΠΡΠ»ΠΈ Π³ΠΎΠ²ΠΎΡΠΈΡΡ ΡΠΏΡΠΎΡΠ΅Π½Π½ΠΎ, ΡΠΎ.net ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π½ΠΎΠ²ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π½ΠΎΠ²ΡΠΉ API (Π°Π½Π³Π». Application Programming Interface — ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ) Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Windows, Π° Π‘# - Π½ΠΎΠ²ΡΠΉ ΡΠ·ΡΠΊ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Ρ Π½ΡΠ»Ρ, Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π²ΡΠ³ΠΎΠ΄ ΠΈΠ· ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ° ΡΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ 20 Π»Π΅Ρ.
1. ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΠΠΠ) ΠΏΠΎΡΠ²ΠΈΠ»ΠΈΡΡ Π² Π½Π°ΡΠ°Π»Π΅ 70-Ρ Π³ΠΎΠ΄ΠΎΠ² Π² ΡΠ·ΡΠΊΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π‘ΠΈΠΌΡΠ»Π°, Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΡΠ²ΠΎΠ΅ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅, ΠΈ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΠΠ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΊ ΡΠΈΡΠ»Ρ Π²Π΅Π΄ΡΡΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ ΠΠΠ, ΠΊΠ°ΠΊ ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ — ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠ΄Π΅ΠΈ ΠΠΠ ΠΎΠΊΠ°Π·Π°Π»ΠΈΡΡ ΠΏΠ»ΠΎΠ΄ΠΎΡΠ²ΠΎΡΠ½ΡΠΌΠΈ ΠΈ Π½Π°ΡΠ»ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±Π»Π°ΡΡΡΡ Computer Science, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ.
ΠΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΠΠ Π±ΡΠ»ΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΠΌ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ Π½Π°Π΄ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. Π ΡΠΎΠ»ΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π²ΡΡΡΡΠΏΠ°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π·Π°ΠΏΠΈΡΠΈ Π² Π±Π°Π·Π°Ρ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΠΈ ΡΠΈΡΠ»ΠΎΠ²ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. Π ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΠΏΡΠ°Π²ΠΈΠ» ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΡΠΊΠΎΠ΅ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ — ΡΡΠΎ Π±ΠΎΠ»ΡΡΠ°Ρ Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ, Π²ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠ΅Π³ΠΎ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π΅Ρ Π²ΡΠ΅ΠΌΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π»Ρ «Π΄ΠΎΠ²ΠΎΠ΄ΠΊΠΈ» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΠΠ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΉΡΠΈ ΠΈΠ· ΡΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΠΎΡΠ΅ΡΡΠΌΠΈ, ΡΠ²ΠΎΠ΄Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΊ Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΠΠ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ°Π½Π°ΡΠ΅Π΅ΠΉ ΠΎΡ Π²ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡΠΊΠΈΡ Π±Π΅Π΄, Π½ΠΎ Π΅Π³ΠΎ ΡΠ΅Π½Π½ΠΎΡΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ΅Π΄ΠΎΠ²ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΡΠΎΠΌΠ½Π΅Π½Π½Π°. ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅ΠΉ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΠΠ ΠΌΠΎΠΆΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ ΠΎΡΠ»Π°Π΄ΠΊΡ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
ΠΡ ΡΠΆΠ΅ ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΡΠ²ΠΎΡ Π²ΡΠ΅ΠΌΡ Π±ΡΠ»ΠΎ Π²Π°ΠΆΠ½ΡΠΌ ΡΠ°Π³ΠΎΠΌ Π½Π° ΠΏΡΡΠΈ ΠΊ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΡΠΌΠ°Π»ΡΠ½ΡΠ΅ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ Π½Π΅ΠΉ Π·Π°ΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΏΡΠ΅Π΄ΠΌΠ΅ΡΠ°ΠΌΠΈ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΅ΡΡΡ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²Π° ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠ±ΠΎΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π΅Ρ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠΌΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ. ΠΠΎΡΡΠΎΠΌΡ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ (ΠΏΡΠΎΡΠ΅Π΄ΡΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
1.1 Π‘ΡΠ΅Π΄Π° Visual Studio.NET
ΠΡΠΏΠΎΠ»Π½ΡΡ ΡΠ²ΠΎΠ΅ ΠΎΠ±Π΅ΡΠ°Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠΈ ΡΠΈΠΊΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Visual Studio, ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΡ Microsoft Π²ΡΠΏΡΡΡΠΈΠ»Π° Visual Studio 2013 ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· Π³ΠΎΠ΄ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΎΠ±ΡΡΠ²ΠΈΠ»Π° ΠΎ Π²ΡΡ ΠΎΠ΄Π΅ Visual Studio 2013, ΡΠ²ΠΎΠ΅Π³ΠΎ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, 18 ΠΎΠΊΡΡΠ±ΡΡ 2013 Π³ΠΎΠ΄Π°. Π Π΄Π°Π½Π½ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΡΠ΄Π΅Π»Π°Π½Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ Windows 8.1, ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π² ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ (IDE). ΠΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Visual Studio 2013.
1.2 Π£Π»ΡΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
Π Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° Π²Ρ ΡΡΠ°Π·Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π ΠΎΡΠ²Π΅Ρ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΆΠ°Π»ΠΎΠ±Ρ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ ΠΏΠ»ΠΎΡΠΊΠΎΠΉ ΠΈ ΠΏΠΎΡΡΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΌΠΎΠ½ΠΎΡ ΡΠΎΠΌΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ Π² Visual Studio 2012 ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΡ Microsoft ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ 400 Π·Π½Π°ΡΠΊΠΎΠ², ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ² Π±ΠΎΠ»ΡΡΡΡ ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π΅ΡΠ°. ΠΠ°ΡΠ°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° Visual Studio 2013 ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π°.
1.3 Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
Microsoft Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Π² ΡΡΠ΅Π΄Π΅. ΠΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ: ΡΡΠ»Π²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°ΠΊΡΡΡΠΈΠ΅ ΡΠΊΠΎΠ±ΠΎΠΊ, ΠΊΠ°Π²ΡΡΠ΅ΠΊ ΠΈ Π°ΠΏΠΎΡΡΡΠΎΡΠΎΠ², Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊ ΠΈ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΡ ΠΈ Π½ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ (Navigate To).
1.4 Π€ΡΠ½ΠΊΡΠΈΡ Peek Definition
ΠΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Peek Definition Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΠΎΠΊΠ°Π·Π° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ Π»ΡΡΡΠ΅ΠΌΡ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π‘ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Peek Definition Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π½Π΅ ΠΏΠΎΠΊΠΈΠ΄Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΊΠΎΠ΄Π° Π² ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΡΡΡΠΎΡ Π½Π° Π½ΡΠΆΠ½ΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ Alt+F12. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° Π»ΠΈΠ±ΠΎ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π²ΠΎ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅ΠΌ ΠΎΠΊΠ½Π΅, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ «ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π½ΠΈΠ΅», Π»ΠΈΠ±ΠΎ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΡΡΡΡ Π΅Π³ΠΎ Π² ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
1.5 Π€ΡΠ½ΠΊΡΠΈΡ CodeLens
ΠΡΡΠ³Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, CodeLens (ΠΏΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ Π½Π°Π·Π²Π°Π½Π½Π°Ρ Code Information Indicators), Π²ΠΏΠ΅ΡΠ²ΡΠ΅ Π±ΡΠ»Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π½Π° TechEd 2013 Π² ΠΠΎΠ²ΠΎΠΌ ΠΡΠ»Π΅Π°Π½Π΅. ΠΠ½Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠΌ Π²Π°ΠΌΠΈ ΠΊΠΎΠ΄Π΅: ΡΡΡΠ»ΠΊΠΈ, ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠΈ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ Π²ΡΠ±ΡΠ°Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
1.6 ΠΠΎΠ½ΡΠΎΠ»ΠΈΠ΄Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ASP.net
Π§ΡΠΎΠ±Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ASP.net, Visual Studio 2013 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π½ΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ASP.net, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΎΠΏΡΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π Visual Studio 2013 ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ASP.net, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ASP.net Web Forms, ASP.net MVC, Windows Communication Foundation (WCF) ΠΈ ΡΠ»ΡΠΆΠ± Web API.
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Visual Studio 2013 ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Office 365. «ΠΠ±Π»Π°ΡΠ½ΡΠ΅» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° Office 365 Cloud Business Apps ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π½Π° «ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΉ» ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ Windows Azure.
1.7 Π€ΡΠ½ΠΊΡΠΈΡ TypeScript
TypeScript — ΡΡΠΎ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΡ Π² ΠΊΠΎΠ΄ JavaScript, ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ Π² Π»ΡΠ±ΠΎΠΌ ΠΎΠ±ΠΎΠ·ΡΠ΅Π²Π°ΡΠ΅Π»Π΅. TypeScript ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΌΠ°ΡΡΡΠ°Π±Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ Π½Π° JavaScript; ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ, ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ, Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π° ΠΊΠΎΠ΄Π°.
1.8 Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
ΠΠ»Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΡΡΠ΅Π΄ΡΡΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² Visual Studio 2013 Π²ΠΊΠ»ΡΡΠ΅Π½ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ Team Explorer Ρ Π²ΠΈΠ΄ΠΎΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ΠΉ, ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΠ΅ΠΉ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΡ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ. Π Team Explorer ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΏΠ°Π½Π΅Π»ΠΈ Pending Changes ΠΈ Builds Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΎΠΊΠ½Π°.
ΠΡΡΠ³ΠΈΠΌΠΈ Π½ΠΎΠ²ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΡΠΌΠΈ Git, Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΆΡΡΠ½Π°Π»Ρ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Work Item Charting (Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΡΠ°Π±ΠΎΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²), ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΡ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· Π·Π°ΠΏΡΠΎΡΠΎΠ² ΡΠ°Π±ΠΎΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΎΡΡΠ΅ΡΠΎΠ² ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΎΡΡΠ΅ΡΠΎΠ².
1.9 ΠΠ»Π°ΡΡ Form
ΠΠ»Π°ΡΡ Form ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π·Π°Π³ΠΎΡΠΎΠ²ΠΊΡ ΡΠΎΡΠΌΡ, ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠ»Π°ΡΡΡ ΡΠΎΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΠΌΠΈΠΌΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π² ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π±Π»ΠΈΡΠ°Ρ .
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠ»Π°ΡΡΠ° Form.
Π‘Π²ΠΎΠΉΡΡΠ²ΠΎ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ | |
AcceptButton | ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡΠΈ Enter | |
ActiveMDIChild, IsMDIChild, IsMDIContainer | Π‘Π²ΠΎΠΉΡΡΠ²Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Ρ ΠΌΠ½ΠΎΠ³ΠΎΠ΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ (MDI) | |
AutoScale | ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π΅, Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΡΠΎΡΠΌΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ²ΠΎΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π²ΡΡΠΎΡΠ΅ ΡΡΠΈΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π½Π° ΡΠΎΡΠΌΠ΅, ΠΈΠ»ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΠΌ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ Π½Π° Π½Π΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² | |
FormBorderStyle | ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠΈΠ»Ρ ΡΠ°ΠΌΠΊΠΈ Π²ΠΎΠΊΡΡΠ³ ΡΠΎΡΠΌΡ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ FormBorderStyle) | |
Cancel Button | ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡΠΈ Esc | |
Control Box | ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π΅, Π±ΡΠ΄Π΅Ρ Π»ΠΈ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Ρ Π² Π²Π΅ΡΡ Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡΠ³Π»Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΡΠΎΡΠΌΡ | |
Menu, MergedMenu | ΠΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΌΠ΅Π½Ρ Π½Π° ΡΠΎΡΠΌΠ΅ | |
2. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²:
ΠΠ΄Π½ΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΈΠΌΠ΅Ρ ΠΎΠ΄Π½ΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ — Microsoft Excel, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ ΠΊΠ°ΠΊ ΡΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ. Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΡΠ°Π·-ΡΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠ°Π²ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ Π΄Ρ. ΠΠ° ΡΠΎΠΌ ΠΆΠ΅ ΡΡΠΎΠ²-ie ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΈ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ°ΠΉΠ»Π°ΠΌ Π΄Π°Π½-ΡΡ . Π’ΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΌΡΠΉΠ½ΡΡΠ΅ΠΉΠΌΠΎΠ² ΡΠΎΠΆΠ΅ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ΄Π½ΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΌΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠΌΠΈ), ΠΏΡΠΎΡΡΠΎ ΠΊ Π½ΠΈΠΌ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
ΠΠ²ΡΡ ΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π Π΄Π²ΡΡ ΡΡΠΎΠ²Π½Π΅Π²ΡΡ , ΠΈΠ»ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ , ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠ΅ Π·Π° ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΠΈ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ, ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΠΈ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΌΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΡΠ΅ΡΠΈ. Π ΡΠ°ΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΠ±ΡΠ°Π·ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΡΠΎΠ²Π΅Π½Ρ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π° ΡΠ΅ΡΠ²ΠΈΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ (Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ ) Π²ΡΠΎΠ΄Π΅ Π‘Π£ΠΠ SQL Server ΠΈΠ»ΠΈ Oracle. ΠΡΠΎΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π½Π° Visual Basic, Π²ΡΠ·ΡΠ²Π°Π΅Ρ Ρ ΡΠ°Π½ΠΈΠΌΡΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ SQL Server ΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π½ΡΠΆΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ — ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΡΡΠΎΠ²Π΅Π½Ρ, Π²ΡΠΎΡΠΎΠ΅ — Π΄ΡΡΠ³ΠΎΠΉ. ΠΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅; ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π½Π° Visual Basic, ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π΄Π°Π½Π½ΡΠΌ, Π²ΡΠ·ΡΠ²Π°Ρ Π½ΡΠΆΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ (DLL). Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Ρ ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π² ΡΠ°Π·Π½ΡΡ ΠΌΠ΅ΡΡΠ°Ρ , ΠΎΠ½ΠΈ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΡΡΠΈΡΠ°ΡΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΡΡΠΎΠ²Π½Π΅ΠΌ. ΠΠ²ΡΡ ΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² ΠΌΠ°ΡΡΡΠ°Π±Π°Ρ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΡΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ (Π΄ΠΎ 100), Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠ΅ΠΉ Π·Π°ΡΠΈΡΠ΅Π½Π½ΠΎΠΉ ΡΠ΅ΡΠΈ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π΄Π²ΡΡ ΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ΄Π°ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π³ΡΡΠΏΠΏΡ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅ΠΉ Π·Π°ΠΊΠ°Π·Ρ Π½Π° ΠΊΠ°ΠΊΡΡ-Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΡ.
ΠΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ (ΠΏΠ΅ΡΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ), ΠΏΡΠΈΠΊΠ»Π°Π΄Π½Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° (Π²ΡΠΎΡΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ) ΠΈ ΡΠ΅ΡΠ²ΠΈΡ Π΄Π°Π½Π½ΡΡ (ΡΡΠ΅ΡΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ) ΠΎΡΠ΄Π΅Π»Π΅Π½Ρ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π°. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎΠ²Π½Π΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΡΡΠΈ, Π° Π±ΠΎΠ»ΡΡΠ΅. ΠΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·ΡΠ²Π°ΡΡ ΠΈ-ΡΡΠΎΠ²Π½Π΅Π²ΡΠΌΠΈ, Π³Π΄Π΅ ΠΏ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π²Π½ΠΎ ΡΡΠ΅ΠΌ. ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠΎΠ²Π½ΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΈΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΌΡ ΠΌΠ΅ΡΡΠΎΠ½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π² ΡΠ΅ΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΡΠ΅ ΡΡΠΈ ΡΡΠΎΠ²Π½Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ Π½Π° Π΄Π²ΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ ΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΎΡΠΈΠ², ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ ΠΏΠΎ ΠΏΡΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°ΠΌ. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠ΅ Π·Π° ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΈ Π²ΡΠ΄Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ . Π ΠΌΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΡΠΈΠΊΠ»Π°Π΄Π½Π°Ρ Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΌ ΡΡΠΎΠ²Π½Π΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ .
ΠΡΠ°ΠΊ, Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π²ΡΡ ΡΡΠΎΠ²Π½Π΅Π²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ°Ρ Π²ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ.
3. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ — ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΡΠ΅ ΡΠΎΠ²ΠΎΠΊΡΠΏΠ½ΠΎΡΡΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ.
ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΈ ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ, Π΄Π»Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Ρ Π² Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΎΠΊΠ½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π’Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ:
ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ
ΡΠ΅Ρ Π½ΠΈΠΊΠ°
ΡΠΏΠΈΡΠ°Π½Π½Π°Ρ
Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ
Π ΡΠ°Π±ΠΎΡΠ΅ΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠ°ΠΌΠΎ ΠΎΠΊΠ½ΠΎ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΠΉ (ΡΠΈΡ. 1), Π° Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΠΏΡΠ°Π²ΠΎΠΌ ΡΠ³Π»Ρ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
ΠΡΠ°ΠΊ, ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ΅ΠΌ ΠΊΠ»ΠΈΠΊΠ½ΡΠ², ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈΠ· Π»Π΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ «ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°ΠΌ» — ΡΡΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ, Π€. Π.Π. Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡΡ, Π΄Π°ΡΡ ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΡ ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π½Π°ΡΠΈΡΡΡ Π·Π° Π½ΠΈΠΌ.
ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π²ΡΡ ΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π ΠΈΡΡΠ½ΠΎΠΊ 1 — ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΡΠ»ΠΈ ΡΠ΅Π»ΠΊΠ½ΡΡΡ Π½Π° ΡΡΡΠΎΠΊΡ, ΡΠΎ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ (ΡΠΈΡ. 2) (Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ΅ ΠΆΠ΅) Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π° ΡΠ°ΠΊ ΠΆΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ»ΠΈ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ.
Π ΠΈΡΡΠ½ΠΎΠΊ 2 — Π‘ΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ ΠΡΠΊΡΡΠ² ΠΎΠΊΠ½ΠΎ, ΡΠ΅Π»ΠΊΠ½ΡΠ² ΠΏΠΎ ΡΡΡΠΎΠΊΠ΅ ΡΠ΅Ρ Π½ΠΈΠΊΠ°, ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π΅Ρ ΡΡΠ°ΡΡΡ ΠΈ Π΄Π°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ.
Π ΠΈΡΡΠ½ΠΎΠΊ 3 — Π’Π΅Ρ Π½ΠΈΠΊΠ° ΠΡΠ»ΠΈ ΠΌΡ ΠΎΡΠΊΡΠΎΠ΅ΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΠΎΠΊΠ½Π°, ΡΠΎ ΠΌΡ ΡΠ²ΠΈΠ΄ΠΈΠΌ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΎΠ΄Π½Π° Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π΄ΡΡΠ³Π°Ρ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ .
ΠΠ°Π·Π° Π΄Π°Π½Π½ΡΡ ΡΠΎΠ·Π΄Π°Π½Π° Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ SQLite, Π΄Π°Π½Π½ΡΠ΅ Ρ ΡΠ°Π½ΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅, ΡΠ΄Π΅Π»Π°Π½ΠΎ ΡΡΠΎ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π°, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΡΡΠ²Π°Π»Π°ΡΡ Π½Π° Π»ΡΠ±ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΠΎΡΡ SQL. Π Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π΅ΡΡΡ Π΄Π²Π΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠ° (ΡΠΈΡ. 4).
Π ΠΈΡΡΠ½ΠΎΠΊ 4 — Π’Π°Π±Π»ΠΈΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ:
string createEmpl = @" DROP TABLE IF EXISTS employee;
CREATE TABLE employee (
ID INTEGER PRIMARY KEY AUTOINCREMENT,
FirstName TEXT,
LastName TEXT,
Position TEXT,
BirthDate TEXT,
Technic TEXT);
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Ivan', 'Nosov', 'Manager', '01.03.1985', 'PC-1002');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Leonid', 'Satin', 'Worker', '04.10.1970', 'PC-2024');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Elena', 'Vasilieva', 'Worker', '09.12.1990', 'PC-1206');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Petr', 'Osinin', 'Worker', '26.02.1995', 'PC-3245');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Nikolai', 'Losev', 'Manager', '16.03.1978', 'PC-1134');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Evgenij', 'Filatov', 'Director', '02.09.1979', 'PC-1364');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Tamara', 'Dolina', 'Worker', '09.11.1991', 'PC-7811');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Anton', 'Stepanov', 'Worker', '22.01.1992', 'PC-9912');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Vladimir', 'Kazakov', 'Manager', '01.01.1986', 'PC-4551');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Svetlana', 'Andreeva', 'Worker', '14.11.1976', 'PC-4651');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Stepan', 'Kozlov', 'Worker', '09.12.1990', 'PC-6453');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Ekaterina', 'Loyko', 'Worker', '26.02.1995', 'PC-3451');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Stanislav', 'Vlasov', 'Security', '31.04.1989', 'PC-1278'); «;
ΠΡΠΊΡΡΡΠΈΠ΅ ΠΎΠΊΠ½Π° ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ:
// ΠΎΡΠΊΡΡΡΡ ΡΠΎΡΠΌΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°
private void OpenEmployeeForm (bool created)
{
Employee employee = null;
if (created)
employee = new Employee ();
else
employee = new Employee (gridView. SelectedRows [0]);
var emplForm = new EmployeeForm ();
emplForm. SetEmployee (employee, created);
emplForm. Show ();
}
// ΠΎΡΠΊΡΡΡΡ ΡΠΎΡΠΌΡ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ
private void OpenTechnicForm (bool created)
{
Technic technic = null;
if (created)
technic = new Technic ();
else
technic = new Technic (gridView. SelectedRows [0]);
var technicForm = new TechnicForm ();
technicForm. SetTechnic (technic, created);
technicForm. Show ();
4. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»Π°ΡΡ Π½Π° ΠΏΠ»ΠΎΡΡΠΎΡΠΌΠ°Ρ : Windows 7, Windows 8, Windows server 2012 r2. Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΎ Π²ΡΡΡΠ½ΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠΌ ΠΊΡΡΡΠΎΠ²ΡΠΌ Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΊΡΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π±ΡΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ c #. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΠ·Π΄Π°Π²Π°Π»Π°ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Visual Studio 2013. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½Π°Π±ΠΎΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ.
ΠΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΈΠ½ΡΡΠΈΡΠΈΠ²Π½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΎΠ·Π΄Π°Π½Π° Π΄Π»Ρ ΡΡΠ΅ΡΠ° ΡΡΠ΅Π΄ΡΡΠ², ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΎΠΉ Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΎΠΉ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ Π»ΠΈΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°ΠΌ ΠΈΠ»ΠΈ Π±ΡΡ Π³Π°Π»ΡΠ΅ΡΠ°ΠΌ.
Π‘ΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ
1. ΠΠ³ΡΡΠΎΠ² Π. C#. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π² MS Visual Studio 2005/2008. — Π‘ΠΠ±.: ΠΠ₯Π-ΠΏΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2008. — 480Ρ
2. ΠΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΡ — ΡΠ²ΠΎΠ±ΠΎΠ΄Π½Π°Ρ ΡΠ½ΡΠΈΠΊΠ»ΠΎΠΏΠ΅Π΄ΠΈΡ [ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ ΡΠ΅ΡΡΡΡ] / Wikimedia Foundation, Inc. — 2012. — Π Π΅ΠΆΠΈΠΌ Π΄ΠΎΡΡΡΠΏΠ°: http://ru. wikipedia.org/wiki/C_Sharp — ΠΠ°ΡΠ° Π΄ΠΎΡΡΡΠΏΠ°: 15.05.2013.
3. ΠΠ±ΡΠ°ΠΌΡΠ½ Π. Visual C# Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ . — Π‘ΠΠ±.: ΠΠ₯Π-ΠΏΠ΅ΡΠ΅ΡΠ±ΡΡΠ³, 2008. — 496Ρ
4. http://www.mini-soft.ru/book/c_sharp/index. php
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π
TurtsevCourseWork. cs
{
public partial class MainForm: Form
{
public MainForm ()
{
InitializeComponent ();
}
private GridEnum _currentList = GridEnum. Employee;
// ΠΎΡΠΊΡΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ²
private void btnEmployeeList_Click (object sender, EventArgs e)
{
DBHelper. ExecuteAndShowDataGrid (gridView, «SELECT * FROM employee»);
_currentList = GridEnum. Employee;
}
// ΠΎΡΠΊΡΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ
private void btnTechnicList_Click (object sender, EventArgs e)
{
DBHelper. ExecuteAndShowDataGrid (gridView, «SELECT * FROM Technics»);
_currentList = GridEnum. Technics;
}
// ΠΎΡΠΊΡΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ
private void btnShowInventory_Click (object sender, EventArgs e)
{
DBHelper. ExecuteAndShowDataGrid (gridView, «SELECT * FROM Technics WHERE Inventarized = 'Yes'»);
_currentList = GridEnum. Inventarized;
}
// ΡΠΎΠ±ΡΡΠΈΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΎΡΠΌΡ
private void MainForm_Load (object sender, EventArgs e)
{
DBHelper. ExecuteAndShowDataGrid (gridView, «SELECT * FROM employee»);
}
// ΠΊΠ½ΠΎΠΏΠΊΠ° ΡΠ΄Π°Π»ΠΈΡΡ
private void btnDeleteRecord_Click (object sender, EventArgs e)
{
switch (_currentList)
{
case (GridEnum. Employee):
DBHelper. ExecuteCommand (String. Format («DELETE FROM employee WHERE id={0};», gridView. SelectedRows. Cells [" id" ]. Value));
DBHelper. ExecuteAndShowDataGrid (gridView, «SELECT * FROM employee»);
break;
case (GridEnum. Technics):
DBHelper. ExecuteCommand (String. Format («DELETE FROM Technics WHERE id={0};», gridView. SelectedRows. Cells [" id" ]. Value));
DBHelper. ExecuteAndShowDataGrid (gridView, «SELECT * FROM Technics»);
break;
case (GridEnum. NonUsed):
DBHelper. ExecuteCommand (String. Format («DELETE FROM Technics WHERE id={0};», gridView. SelectedRows. Cells [" id" ]. Value));
DBHelper. ExecuteAndShowDataGrid (gridView, «SELECT * FROM Technics WHERE Inventarized = 'No' AND Used = 'No'»);
break;
default:
DBHelper. ExecuteCommand (String. Format («DELETE FROM Technics WHERE id={0};», gridView. SelectedRows. Cells [" id" ]. Value));
DBHelper. ExecuteAndShowDataGrid (gridView, «SELECT * FROM Technics WHERE Inventarized = 1»);
break;
}
}
// ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΎΡΠΊΡΡΡΡ
private void btnOpenRecord_Click (object sender, EventArgs e)
{
this. OpenDetailForm (false);
}
}
// Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΠΊΠ»ΠΈΠΊ ΠΏΠΎ ΡΠΏΠΈΡΠΊΡ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠΎΡΠΌΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ°
private void gridView_DoubleClick (object sender, EventArgs e)
{
this. OpenDetailForm (false);
}
private void OpenDetailForm (bool isNewObject)
{
switch (_currentList)
{
case (GridEnum. Employee):
this. OpenEmployeeForm (isNewObject);
break;
default:
this. OpenTechnicForm (isNewObject);
break;
}
}
// ΠΎΡΠΊΡΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°Π±ΠΎΡΠ΅ ΠΈ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ
private void button1_Click (object sender, EventArgs e)
{
DBHelper. ExecuteAndShowDataGrid (gridView, «SELECT * FROM Technics WHERE Inventarized = 'No' AND Used = 'No'»);
_currentList = GridEnum. NonUsed;
}
// ΠΊΠ½ΠΎΠΏΠΊΠ° ΡΠΎΠ·Π΄Π°ΡΡ
private void btnCreateRecord_Click (object sender, EventArgs e)
{
this. OpenDetailForm (true);
}
private void MainForm_Activated (object sender, EventArgs e)
{
switch (_currentList)
{
case (GridEnum. Employee):
DBHelper. ExecuteAndShowDataGrid (gridView, «SELECT * FROM employee»);
break;
case (GridEnum. Technics):
DBHelper. ExecuteAndShowDataGrid (gridView, «SELECT * FROM Technics»);
break;
case (GridEnum. NonUsed):
DBHelper. ExecuteAndShowDataGrid (gridView, «SELECT * FROM Technics WHERE Inventarized = 'No' AND Used = 'No'»);
break;
default:
DBHelper. ExecuteAndShowDataGrid (gridView, «SELECT * FROM Technics WHERE Inventarized = 1»);
break;
}
}
}
}
Program. cs
{
static class Program
{
// /
// / Π’ΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π°.
// /
[STAThread]
static void Main ()
{
if (! File. Exists («TechnicsDB. db»))
CreateDB ();
Application. EnableVisualStyles ();
Application. SetCompatibleTextRenderingDefault (false);
Application.run (new MainForm ());
}
// /
// / Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ .
// /
static void CreateDB ()
{
// ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠΎΠ²
string createEmpl = @" DROP TABLE IF EXISTS employee;
CREATE TABLE employee (
ID INTEGER PRIMARY KEY AUTOINCREMENT,
FirstName TEXT,
LastName TEXT,
Position TEXT,
BirthDate TEXT,
Technic TEXT);
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Ivan', 'Nosov', 'Manager', '01.03.1985', 'PC-1002');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Leonid', 'Satin', 'Worker', '04.10.1970', 'PC-2024');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Elena', 'Vasilieva', 'Worker', '09.12.1990', 'PC-1206');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Petr', 'Osinin', 'Worker', '26.02.1995', 'PC-3245');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Nikolai', 'Losev', 'Manager', '16.03.1978', 'PC-1134');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Evgenij', 'Filatov', 'Director', '02.09.1979', 'PC-1364');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Tamara', 'Dolina', 'Worker', '09.11.1991', 'PC-7811');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Anton', 'Stepanov', 'Worker', '22.01.1992', 'PC-9912');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Vladimir', 'Kazakov', 'Manager', '01.01.1986', 'PC-4551');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Svetlana', 'Andreeva', 'Worker', '14.11.1976', 'PC-4651');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Stepan', 'Kozlov', 'Worker', '09.12.1990', 'PC-6453');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Ekaterina', 'Loyko', 'Worker', '26.02.1995', 'PC-3451');
INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic)
VALUES ('Stanislav', 'Vlasov', 'Security', '31.04.1989', 'PC-1278'); «;
// ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ
string createTech = @" DROP TABLE IF EXISTS technics;
CREATE TABLE technics (
ID INTEGER PRIMARY KEY AUTOINCREMENT,
Name TEXT,
Inventarized TEXT,
Used TEXT,
ManufacturedAt TEXT);
INSERT INTO Technics (Name, Inventarized, ManufacturedAt, Used)
VALUES ('PC-1002', 'No','01.02.2011', 'Yes');
INSERT INTO Technics (Name, Inventarized, ManufacturedAt, Used)
VALUES ('PC-2024', 'No','04.01.2012', 'Yes');
INSERT INTO Technics (Name, Inventarized, ManufacturedAt, Used)
VALUES ('PC-1206', 'No','23.02.2014', 'Yes');
INSERT INTO Technics (Name, Inventarized, ManufacturedAt, Used)
VALUES ('PC-3245', 'No','11.10.2014', 'Yes');
INSERT INTO Technics (Name, Inventarized, ManufacturedAt, Used)
VALUES ('PC-1134', 'No','23.02.2013', 'Yes');
INSERT INTO Technics (Name, Inventarized, ManufacturedAt, Used)
VALUES ('PC-1890', 'Yes','17.06.2005', 'No');
INSERT INTO Technics (Name, Inventarized, ManufacturedAt, Used)
VALUES ('PC-1364', 'No','21.11.2012', 'Yes');
INSERT INTO Technics (Name, Inventarized, ManufacturedAt, Used)
VALUES ('PC-7811', 'No','07.02.2013', 'Yes');
INSERT INTO Technics (Name, Inventarized, ManufacturedAt, Used)
VALUES ('PC-9912', 'No','01.01.2014', 'Yes');
INSERT INTO Technics (Name, Inventarized, ManufacturedAt, Used)
VALUES ('PC-4551', 'No','12.07.2012', 'Yes');
INSERT INTO Technics (Name, Inventarized, ManufacturedAt, Used)
VALUES ('PC-4651', 'No','30.12.2014', 'Yes');
INSERT INTO Technics (Name, Inventarized, ManufacturedAt, Used)
VALUES ('PC-6453', 'No','29.12.2014', 'Yes');
INSERT INTO Technics (Name, Inventarized, ManufacturedAt, Used)
VALUES ('PC-6643', 'Yes','12.08.2004', 'No');
INSERT INTO Technics (Name, Inventarized, ManufacturedAt, Used)
VALUES ('PC-3451', 'No','01.02.2011', 'Yes');
INSERT INTO Technics (Name, Inventarized, ManufacturedAt, Used)
VALUES ('PC-7777', 'No','11.12.2014', 'No');
INSERT INTO Technics (Name, Inventarized, ManufacturedAt, Used)
VALUES ('PC-8888', 'No','17.11.2013', 'No');
INSERT INTO Technics (Name, Inventarized, ManufacturedAt, Used)
VALUES ('PC-1278', 'No','01.02.2011', 'Yes'); «;
DBHelper. ExecuteCommand (createEmpl);
DBHelper. ExecuteCommand (createTech);
}
}
}
EmployeeForm. cs
{
public partial class EmployeeForm: Form
{
public EmployeeForm ()
{
InitializeComponent ();
}
// ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ²ΠΎΠ°Π½ΠΈΠ΅
private void EnableEditing (bool value)
{
this. txtFirstName. ReadOnly =! value;
this. txtLastName. ReadOnly =! value;
this. txtBirthDate. ReadOnly =! value;
this. txtPosition. ReadOnly =! value;
this. txtTechnic. ReadOnly =! value;
this. btnApplyEmpl. Visible = value;
this. btnBrowseTechnic. Visible = value;
this. btnEditEmpl. Visible =! value;
}
// Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠ»Ρ ΡΠΎΡΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠΎΡΡΡΠ΄Π½ΠΈΠΊΠ°
public void SetEmployee (Employee employeeToShow, bool newObject)
{
this. txtFirstName. Text = employeeToShow. FirstName;
this. txtLastName. Text = employeeToShow. LastName;
this. txtBirthDate. Text = employeeToShow. BirthDate;
this. txtPosition. Text = employeeToShow. Position;
this. txtTechnic. Text = employeeToShow. Technic;
this. EnableEditing (newObject);
this. gridViewTech. Visible = false;
this. btnChooseTechnic. Visible = false;
this. btnCreateEmpl. Visible = newObject;
this. btnApplyEmpl. Visible =! newObject;
}
// ΠΊΠ½ΠΎΠΏΠΊΠ° ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ
private void btnApplyEmpl_Click (object sender, EventArgs e)
{
this. EnableEditing (false);
this. gridViewTech. Visible = false;
this. btnChooseTechnic. Visible = false;
DBHelper. ExecuteCommand (String. Format («UPDATE technics SET Used = 'No' WHERE Name = '{0}'», this. _currentTechnic));
this. Save (false);
this. gridViewTech. Visible = false;
this. btnChooseTechnic. Visible = false;
this. Size = new Size (530, 230);
this. Close ();
}
// ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ
private void btnEditEmpl_Click (object sender, EventArgs e)
{
this. EnableEditing (true);
}
// ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΎΡΠΊΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ΅Ρ Π½ΠΈΠΊΡ
private void btnBrowseTechnic_Click (object sender, EventArgs e)
{
DBHelper. ExecuteAndShowDataGrid (this. gridViewTech, «SELECT * FROM Technics WHERE Inventarized == 'No' AND Used = 'No'»);
this. Size = new Size (530, 525);
this. gridViewTech. Visible = true;
this. btnChooseTechnic. Visible = true;
this. btnBrowseTechnic. Visible = false;
}
// ΠΊΠ½ΠΎΠΏΠΊΠ° Π²ΡΠ±ΡΠ°ΡΡ
private void btnChooseTechnic_Click (object sender, EventArgs e)
{
this. ChooseTechnic ();
}
// Π΄Π°Π±Π» ΠΊΠ»ΠΈΠΊ ΠΏΠΎ ΡΠ΅Ρ Π½ΠΈΠΊΠ΅ Π² ΡΠΏΠΈΡΠΊΠ΅
private void gridViewTech_DoubleClick (object sender, EventArgs e)
{
this. ChooseTechnic ();
}
private void ChooseTechnic ()
{
_technic = new Technic (this. gridViewTech. SelectedRows [0]);
this. txtTechnic. Text = _technic. Name;
}
private Technic _technic = null;
private string _currentTechnic = String. Empty;
private string _oldFirstName = String. Empty;
private string _oldLastName = String. Empty;
// ΡΠΎΠ±ΡΡΠΈΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΎΡΠΌΡ
private void EmployeeForm_Load (object sender, EventArgs e)
{
this. _currentTechnic = this. txtTechnic. Text;
this. _oldFirstName = this. txtFirstName. Text;
this. _oldLastName = this. txtLastName. Text;
}
// ΠΊΠ½ΠΎΠΏΠΊΠ° ΡΠΎΠ·Π΄Π°ΡΡ
private void btnCreateEmpl_Click (object sender, EventArgs e)
{
this. btnCreateEmpl. Visible = false;
this. EnableEditing (false);
this. Save (true);
this. Close ();
}
// ΠΊΠ½ΠΎΠΏΠΊΠ° ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ
private void Save (bool isNew)
{
// Π΅ΡΠ»ΠΈ ΡΠ΅Ρ Π½ΠΈΠΊΠ° Π±ΡΠ»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°
if (_technic! = null)
{
// Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π·Π°ΠΏΠΈΡΡ Π² Π±Π°Π·Π΅
DBHelper. ExecuteCommand (String. Format («UPDATE technics SET Used = 'Yes' WHERE ID = {0}», _technic. Oid));
if (isNew)
DBHelper. ExecuteCommand (String. Format («INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic) VALUES ('{0}','{1}','{2}','{3}','{4}')», this. txtFirstName. Text, this. txtLastName. Text, this. txtPosition. Text, this. txtBirthDate. Text, _technic. Name));
// ΠΈΠ½Π°ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ
else
DBHelper. ExecuteCommand (String. Format («UPDATE employee SET Technic = '{0}', FirstName = '{1}', LastName = '{2}', Position = '{3}', BirthDate = '{4}' WHERE FirstName = '{5}' AND LastName = '{6}'», _technic. Name, this. txtFirstName. Text, this. txtLastName. Text, this. txtPosition. Text, this. txtBirthDate. Text, this. _oldFirstName, this. _oldLastName));
}
else
// Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π·Π°ΠΏΠΈΡΡ Π² Π±Π°Π·Π΅
if (isNew)
DBHelper. ExecuteCommand (String. Format («INSERT INTO employee (FirstName, LastName, Position, BirthDate, Technic) VALUES ('{0}','{1}','{2}','{3}','{4}')», this. txtFirstName. Text, this. txtLastName. Text, this. txtPosition. Text, this. txtBirthDate. Text, «»));
// ΠΈΠ½Π°ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ
else
DBHelper. ExecuteCommand (String. Format («UPDATE employee SET FirstName = '{0}', LastName = '{1}', Position = '{2}', BirthDate = '{3}' WHERE FirstName = '{4}' AND LastName = '{5}'», this. txtFirstName. Text, this. txtLastName. Text, this. txtPosition. Text, this. txtBirthDate. Text, this. _oldFirstName, this. _oldLastName));
}
}
}