ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅, ΠΎΡ‡Π΅Π½ΡŒ быстро...
Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ вмСстС Π΄ΠΎ ΠΏΠΎΠ±Π΅Π΄Ρ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ срСдство Β«Π£Ρ‡Π΅Ρ‚ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π½Π° прСдприятии»

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

Выполняя своС ΠΎΠ±Π΅Ρ‰Π°Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ 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));

}

}

}

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