វីហ្សួលបេហ៊្សិក.ណេត

ពីវិគីភីឌា

វីហ្សួលបេហ៊្សិក.ណេត
បរាទិសតាមរចនាសម្ព័ន្ធ តាមបញ្ជា តម្រង់វត្ថុ និង ប្រកាស
រចនាដោយម៉ៃក្រូសូផ្វ
អភិវឌ្ឍនករម៉ៃក្រូសូផ្វ
ចេញដំបូង2001
ផ្សាយថេរ2012 (11.0.0.0) / 15 August 2012; 11 ឆ្នាំកន្លងទៅ (2012-០៨-15)
ក្បួនកំណត់ប្រភេទឋិតិវត្ត ខ្លាំងនិងខ្សោយ សុវត្ថិភាពនិងអសុវត្ថិភាព[១] នាមនិទ្ទេស
វេទិកាព.ភ.ស.
ប.ក.ជាពិសេស វីនដូ
ក៏មានលើ អ៊ែនដ្រយ ប៊ីអិសឌី អាយអូអិស ឡាយណុច្ស ម៉ាខ់អូអិសអ៊ិខ្ស៍ សូឡារីស និង យូនិខ្ស៍
អាជ្ញាបណ្ណគ្រឿងទន់ឯកកម្មសិទ្ធិ (គ្រឿងទន់ពាណិជ្ជកម្ម រឺ គ្រឿងឥតគិតថ្លៃ)
កន្ទុយឈ្មោះសំណុំសារ.vb និង .vbs
ស្ថានីយ៍បណ្ដាញmsdn.microsoft.com/en-us/vstudio/hh388573
Major implementations
ម៉ៃក្រូសូផ្វវីហ្សួលស្ទីដយោ ម៉ៃក្រូសូផ្វវីហ្សួលស្ទីដយោអ៊ិចស្ប្រ៉ិស ឝាបឌីវ៉ឹឡុប ក្របខណ្ឌ.ណេតអិសឌីខេ និង ម៉ូណូ
Dialects
ម៉ៃក្រូសូផ្វវីហ្សួលបេហ៊្សិក
Influenced by
ក្របខណ្ឌ.ណេត

វីហ្សួលបេហ៊្សិក.ណេត (VB.NET) គឺជាភាសាកម្មវិធីគណនូបករណ៍តម្រង់វត្ថុ (object) ដែលបានបង្ហាញឱ្យឃើញនូវការវិវត្តនៃវីហ្សួលបេហ៊្សិកសម័យមុន (VB) ដែលធ្វើបូរណកម្មលើក្របខណ្ឌ.ណេត។ ម៉ៃក្រូសូផ្វថ្មីៗផ្ដល់នូវការរៀបរៀងថ្មីពីរសំខាន់ៗនៃ បអស (IDEs) ដើម្បីការអភិវឌ្ឍក្នុងវីហ្សួលបេហ៊្សិក: ម៉ៃក្រូសូផ្វវីហ្សួលបេហ៊្សិកស្ទីដយោ ២០១២ គឺជាគ្រឿងទន់ពាណិជ្ជកម្ម ហើយនិង វីហ្សួលបេហ៊្សិកអ៊ិខស្ប្រ៉ិសអ៊ិតឌីតហ្សឹន ២០១២ មិនបានគិតលុយឡើយ។ អង្គចងក្រងបញ្ជាជួរអក្សរ VBC.EXE ត្រូវបានតំឡើងជាផ្នែកនៃគ្រឿងឥតគិតថ្លៃ ក្របខណ្ឌ.ណេតអិសឌីខេ។ ម៉ូណូក៏បានបញ្ចូលអង្គចងក្រងវីប៊ី.ណេតបញ្ជាជួរអក្សរ (command-line) មួយដែរ។ កំណែថ្មីបំផុតគឺ VB ២០១២ ដែលត្រូវបានចេញផ្សាយនៅថ្ងៃ ១៥ សីហា ២០១២។

កំណែ[កែប្រែ]

មានកំណែនៃវីហ្សួលបេហ៊្សិក.ណេត៦បានធ្វើបូរណកម្មដោយក្រុមវីហ្សួលបេហ៊្សិក។

វីហ្សួលបេហ៊្សិក.ណេត (២០០២) (VB ៧.០)[កែប្រែ]

កំណែលើកទីមួយនៃ វីហ្សួលបេហ៊្សិក.ណេត រត់លើ ក្របខណ្ឌ​.ណេត១.០។ លក្ខណៈពិសេសសំខាន់បំផុតគឺជាក្រមគ្រប់គ្រង ខុសគ្នានឹងវីហ្សួលបេហ៊្សិក ៦.០ និងកាលពីមុន។

វីហ្សួលបេហ៊្សិក.ណេត ២០០៣ (VB ៧.១)[កែប្រែ]

វីហ្សួលបេហ៊្សិក.ណេត ២០០៣ ត្រូវបានចេញផ្សាយជាមួយ កំណែ១.១ នៃក្របខណ្ឌ.ណេត។ លក្ខណៈពិសេសថ្មីៗរួមមានជំនួយដោយក្របខណ្ឌខំភែខ្ថ៍.ណេត និង ការតំឡើងថ្នាក់ VB កាន់តែល្អជាងមុន គឺ ជបឯង (វីហ្សាដ)។ ការរីកចម្រើនមួយចំនួនក៏ត្រូវបង្កើតឡើងផងដែរដើម្បីឱ្យមានការដំណើរការនិងភាពអាស្រ័យនឹង.ណេតអាយឌីអ៊ី (ជាពិសេស អង្គចងក្រងផ្ទៃក្នុង) និងពេលរត់។ ជាការបន្ថែម វីហ្សួលបេហ៊្សិក.ណេត ២០០៣ បានអនុញ្ញាតឱ្យប្រើប្រាស់នូវ វីហ្សួលបេហ៊្សិកស្ទីដយោ.ណេតអាកាដឺមិកអ៊ីឌីតហ្សឹន (VS03AE)។ VS03AE ត្រូវបានបរិច្ចាគដោយពួកអ្នកប្រាជ្ញមួយចំនួន មកពីគ្រប់ប្រទេសដោយគ្មានការចំណាយប្រាក់កាស។

វីហ្សួលបេហ៊្សិក២០០៥ (VB ៨.០)[កែប្រែ]

វីហ្សួលបេហ៊្សិក ២០០៥ គឺជាឈ្មោះ ដែលប្រើសំដៅទៅលើវីហ្សួលបេហ៊្សិក.ណេត ដែលពេលនោះម៉ៃក្រូសូផ្វបានសម្រេចចិត្តដាក់.ណេត (.NET) ជាបំណែកនៃឈ្មោះ។

សម្រាប់ការចេញផ្សាយនេះ ម៉ៃក្រូសូផ្វបានបន្ថែមលក្ខណៈពិសេសជាច្រើន រួមមាន:

  • Edit and Continue
  • ការវាយតម្លៃកន្សោមរចនាពេល។
  • My រហស្សៈ-លំហឈ្មោះ (ទិដ្ឋភាពទូទៅ សេចក្ដីលំអិត) ដែលផ្ដល់ឱ្យ:
    • ងាយស្រួលចូលទៅបរិវេណខ្លះនៃក្របខណ្ឌ.ណេត ទន្ទឹមនឹងនោះតម្រូវឱ្យមានក្រមជាក់លាក់ដើម្បីចូលទៅ
    • បានផលិតថ្នាក់តាមបែបថាមវន្ត (គួរអោយកត់សំគាល់នោះ My.Forms)
  • ការបង្កើនសមត្ថភាពចំពោះអង្គបំលែង VB ទៅ VB.NET[២]
  • ពាក្យគន្លឹះ Using សម្រួលការប្រើប្រាស់វត្ថុ (object) ដែលត្រូវការគំរូបោះចោលដោយធនធានសេរី
  • Just My Code ដែលនៅពេលការរកឩកាលាក់ (ឈានរំលង) ក្រមចានចំហុយ សរសេរដោយ អាយឌីអ៊ី វីហ្សួលស្ទីដយ៉ូ.ណេត (IDE) និង ក្រមបណ្ណាល័យប្រព័ន្ធ
  • ការចងបាច់ប្រភពទិន្នន័យ ដែលសម្រួលការអភិវឌ្ឍអតិថិជន/សេវាករមូលទិន្នន័យ

អនុគមន៍មួយចំនួនខាងលើ (ជាពិសេស "My") ទុកដើម្បីពង្រឹងការយកចិត្តទុកដាក់របស់វីហ្សួលបេហ៊្សិក.ណេតតាមរយៈវេទិកាអភិវឌ្ឍន៍អនុវត្តកម្មរហ័ស និង កាន់តែធ្វើឱ្យវាខុសប្លែកគ្នាពី C#

វីហ្សួលបេហ៊្សិក ២០០៥ បានបញ្ចូលនូវលក្ខណៈពិសេសមានបំណងបំពេញចន្លោះប្រហោងរវាងខ្លួនឯង និង បណ្ដាភាសា.ណេត ដែលមានឥទ្ធិពលខ្លាំង ដទៃទៀត ការបន្ថែម:

លក្ខណៈពិសេសមួយផ្សេងទៀតនៃវីហ្សួលបេហ៊្សិក ២០០៥ គឺ IsNot ការីដែលបង្កើត 'If X IsNot Y' ស្មើទៅនឹង 'If Not X Is Y', ទទួលបានការទទួលស្គាល់[៥] នៅពេលវាត្រូវបានគេបង្កើតឡើងជាកម្មវត្ថុនៃអនុវត្តកម្មប្រកាសនីយបត្រតក្កកម្មរបស់ម៉ៃក្រូសូផ្វ។[៦][៧]

វីហ្សួលបេហ៊្សិក ២០០៨ (VB ៩.០)[កែប្រែ]

វីហ្សួលបេហ៊្សិក ៩.០ ត្រូវបានចេញផ្សាយរួមគ្នាជាមួយម៉ៃក្រូសូផ្វក្របខណ្ឌ.ណេត៣.៥នៅថ្ងៃ ១៩ វិច្ឆិកា ២០០៧។

ចំពោះការចេញផ្សាយនេះ ម៉ៃក្រូសូផ្វបានបន្ថែមលក្ខណៈពិសេសជាច្រើន រួមមាន:

វីហ្សួលបេហ៊្សិក ២០១០ (VB ១០.០)[កែប្រែ]

នៅខែ មេសា ២០១០ ម៉ៃក្រូសូផ្វបានចេញផ្សាយ វីហ្សួលបេហ៊្សិក ២០១០។ ម៉ៃក្រូសូផ្វបានចេញគ្រោងការដើម្បីប្រើពេលរត់ភាសាថាមវន្ត (DLR) សម្រាប់ការចេញផ្សាយនេះ[៨] ផ្ទុយទៅវិញបានផ្លាស់ប្ដូរទៅជាយុទ្ធសាស្ត្រសហវិវត្តន៍រវាងវីហ្សួលបេហ៊្សិក និង ភាសាបងប្អូន C# បាននាំមកនូវយុគភាពភាសាទាំងពីរកាន់តែជិតស្និទជាមួយភាសាដទៃមួយទៀត។ សមត្ថភាពពីកំណើតរបស់វីហ្សួលបេហ៊្សិកគឺធ្វើអន្តរកម្មថាមវន្តជាមួយបណ្ដាវត្ថុ CLR និង COM ដែលបានជម្រុញឱ្យមានការធ្វើការជាមួយភាសាថាមវន្តមួយចំនួនដែលបានសាងលើ DLR ដូចជា IronPython និង IronRuby[៩] អង្គចងក្រងវីហ្សួលបេហ៊្សិកបានបង្កើនសមត្ថភាពធ្វើអនុមានតំណជួរបន្ទាត់ក្នុងសំណុំនៃបរិបទទូទៅ ក្នុងករណីជាច្រើនដែលដកចេញតម្រូវការ "_" តួអក្សរតំណជួរបន្ទាត់។ ក៏មាន ការជួយដល់ពួកអនុគមន៍ក្នុងជួរបានបំពេញបង្គ្រប់ជាមួយការជួយរបស់ពួក អនុក្នុងជួរក៏ដូចគ្នានឹង កំណែពហុជួរនៃពួកអនុ និង អនុគមន៍ឡាំប្ដាដែរ។ [១០]

វីហ្សួលបេហ៊្សិក ២០១២ (VB ១១.០)[កែប្រែ]

កំណែចុងក្រោយបង្អស់នៃវីហ្សួលបេហ៊្សិក.ណេត ប្រើប្រាស់ក្របខណ្ឌ.ណេត៤.៥។ Async Feature (លក្ខណៈពិសេសអសមកា), Iterators (បុនប្បុនក្ការី), Call Hierarchy (ហៅឋានានុក្រម), Caller Information (អង្គហៅព័ត៌មាន) និង Global Keyword (ពាក្យគន្លឹះសកល) ក្នុង បណ្ដាពំនោល Namespace (លំហឈ្មោះ) គឺជាលក្ខណៈពិសេសមួយចំនួនដែលបានបញ្ចូលក្នុងកំណែនៃ​ VB នេះ។

ទំនាក់ទំនងទៅនឹងបណ្ដាកំណែចាស់ៗជាងគេនៃវីហ្សួលបេហ៊្សិក (VB៦ និង ពីមុនៗ)[កែប្រែ]

តើវីហ្សួលបេហ៊្សិក.ណេតគួរតែចាត់ទុកថាគ្រាន់តែជាកំណែមួយផ្សេងទៀតនៃវីហ្សួលបេហ៊្សិក រឺក៏ ភាសាមួយដាច់ដោយឡែកពីគ្នា វានៅតែជាប្រធានបទនៃកិច្ចពិភាក្សាតទល់គ្នាដដែល។ ក្រៅពីនេះ ប្រមាណវិធីខ្លះត្រូវបានផ្លាស់ប្ដូរ និង ប្រមាណវិធីទាំងនោះអាចបំលែងដោយស្វ័យប្រវត្តិ វាក្យសម្ព័ន្ធគោលនៃភាសាមិនឃើញមានការផ្លាស់ប្ដូរច្រើន ដែលញែកឱ្យដាច់ ភាពឆបគ្នាឡើយ។ មាន ការបន្ថែមថ្មីខ្លះដើម្បីគាំទ្រដល់លក្ខណៈពិសេសថ្មី ដូចជាការចាប់យកអញ្ញត្រកម្មតាមរចនាសម្ព័ន្ធ និង បណ្ដាកន្សោមមានបរិថបខ្លីៗ។ ក៏មាន ការផ្លាស់ប្ដូរប្រភេទទិន្នន័យសំខាន់ពីរបានកើតមានរួមនិងការផ្លាស់ប្ដូរទៅជា VB.NET ផងដែរ : បើប្រៀបធៀបទៅនឹងVB៦ ប្រភេទទិន្នន័យ Integer (ចំនួនគត់) ត្រូវបានកើនឡើងទ្វេដងនូវល្វែងពី ១៦ ប៊ីត ទៅ ៣២ ប៊ីត និងប្រភេទទិន្នន័យ Long (វែង) ត្រូវបានកើនឡើងទ្វេដងនូវល្វែងពី ៣២ ប៊ីត ទៅ ៦៤ ប៊ីត។ នេះជាការពិតចំពោះគ្រប់កំណែទាំងអស់នៃ VB.NET។ ចំនួនគត់១៦-ប៊ីតនៅគ្រប់កំណែទាំងអស់នៃ VB.NET ឥឡូវត្រូវបានគេស្គាល់ថាជា Short (ខ្លី)។ តាមរយៈភាពស្រដៀងគ្នា អ្នករៀបរៀងGUIរបស់Windows Formsក៏មានភាពស្រដៀងគ្នាមែនទែនខាងរចនាបថនិងអនុគមន៍ទៅនឹងអ្នករៀបរៀងទម្រង់បែបបទវីហ្សួលបេហ៊្សិក។

កំណែនេះ មួយចំនួនបានប្រើសម្រាប់វីហ្សួលបេហ៊្សិកថ្មី (៧,៧.១,៨,៩, ...) ដែលសបញ្ជាក់ច្បាស់លាស់វាត្រូវបានបង្ហាញឱ្យឃើញតាមរយៈម៉ៃក្រូសូផ្វថា នៅតែជាផលិតផលចាំបាច់ដដែល ដូចគ្នាទៅនឹងវីហ្សួលបេហ៊្សិកចាស់ដែរ។​

អ្វីមួយចំនួនដែល បាន ផ្លាស់ប្ដូរជាក់លាក់គឺសញ្ញាន័យវិទ្យា— ដោយសារអ្វីៗក្នុងភាសាកម្មវិធីអាស្រ័យវត្ថុដែលរត់លើ វិស្វៈបច្ចយនិយម រាប់រំយោងមួយ វាបានពឹងផ្អែកលើ COM ទៅជា ភាសាតម្រង់វត្ថុពេញលេញនៅពីក្រោយដោយក្របខណ្ឌ.ណេត មានការប្រកបផ្សំចូលគ្នានៃពេលរត់ភាសាសាមញ្ញ (យន្តនិម្មិត្តប្រើប្រាស់ប្រជុំសំណល់តាមជនិតកម្ម និង វិស្វៈចំណងក្រងទាន់ពេល) និង បណ្ណាល័យថ្នាក់មួយធំជាងគេ។ ភាពទូលំទូលាយបានកើនឡើងមកទល់ពេលនេះក៏ជាបញ្ហាមួយដែលពួកអ្នកអភិវឌ្ឍ VB ត្រូវតែដោះស្រាយនៅពេលដែលវាកើតមានឡើងក្នុងភាសានេះ ទោះបីយ៉ាងណានេះជាអ្វីមួយដែលបានអាស្រ័យដោយលក្ខណៈពិសេស My ក្នុងវីហ្សួលស្ទីដយោ២០០៥។

បំលាស់ប្ដូរបានបំផ្លែងរូបមន្តគោលជាច្រើនឱ្យទៅជារូបមន្ត ត្រឹមត្រូវ ធ្វើការទាក់ទងនឹងប្រតិបត្តន៍និងតំហែភាព។ **អនុគមន៍និងបណ្ណាល័យខ្លះលែងមាន អនុគមន៍និងបណ្ណាល័យដទៃទៀតអាចប្រើបាន ប៉ុន្តែមិនមានប្រសិទ្ធិភាពដូចជម្រើស.ណេត ដើម ឡើយ។ ទោះបីជាវាចងក្រងឡើង ក៏អនុវត្តកម្ម VB៦ ដែលបំលែងហើយភាគច្រើនត្រូវការបុនកត្តាការដើម្បីទាញយកអត្ថប្រយោជន៍ទាំងស្រុងពីភាសាថ្មីនេះ។ ឯកសារកម្មប្រើដើម្បីបិទបាំងបម្រែបម្រួលខ្លះក្នុងវាក្យសម្ព័ន្ធ អនូកាកិណ្ណការអនុវត្តកម្ម ការដាក់ឱ្យប្រើប្រាស់ និង បច្ចេកសព្ទវិទ្យា។[១១]

ឧទាហរណ៍ប្រៀបធៀប[កែប្រែ]

ឧទាហរណ៍សាមញ្ញជាបន្តបន្ទាប់ប្រៀបធៀបគ្នារវាង វាក្យសម្ព័ន្ធ VB និង VB.NET។ ឧទាហរណ៍នីមួយៗបង្កើតនូវប្រអប់សារ "Hello, World" មួយ ជាមួយនិងឆ្នុច OK ។

VB៦:

Private Sub Command1_Click()
    MsgBox "Hello, World"
End Sub

VB.NET (ថ្នាក់ MsgBox រឺ MessageBox អាចត្រូវបានគេប្រើ):

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
    MessageBox.Show("Hello, World")
End Sub
  • ទាំងវីហ្សួលបេហ៊្សិក៦ និង វីហ្សួលបេហ៊្សិក.ណេត ធ្វើជនិតកម្មដោយស្វ័យប្រវត្តិ ពំនោល Sub និង End Sub នៅពេលដែលឆ្នុចឆ្លើយតបត្រូវបានឃ្លិខក្នុងទិដ្ឋភាពរចនា។ វីហ្សួលបេហ៊្សិក.ណេតក៏នឹងធ្វើជនិតកម្មពំនោល Class និង End Class ដែលចាំបាច់ផងដែរ។ អ្នកអភិវឌ្ឍត្រូវការត្រឹមតែបញ្ចូលពំនោលនេះដើម្បីបង្ហាញប្រអប់សារ "Hello, World" តែប៉ុណ្ណោះ។
  • ការហៅវិធានទាំងអស់ត្រូវបានធ្វើឡើងជាមួយរង្វង់ក្រចកក្នុង VB.NET រីឯក្នុង VB៦ ធ្លាប់មានអនុសញ្ញាផ្សេងៗសម្រាប់បណ្ដាអនុគមន៍ (រង្វង់ក្រចកតម្រូវឱ្យមាន) និង អនុ (គ្មានរង្វង់ក្រចកអនុញ្ញាត លុះត្រាតែបានហៅប្រើពាក្យគន្លឹះ Call) ។
  • ឈ្មោះ Command1 និង Button1 វាមិនជាសំខាន់អ្វីទេ។ យ៉ាងណាក៏ដោយ ទាំងនេះគឺជាឈ្មោះដើមសម្រាប់ឆ្នុចបញ្ជាមួយក្នុង VB៦ និង VB.NET ដូចៗគ្នា។
  • ក្នុង VB.NET ពាក្យគន្លឹះ Handles គឺត្រូវបានប្រើដើម្បីបង្កើត អនុ Button1_Click ជាអង្គចាប់ព្រឹត្តិការណ៍ Click នៃវត្ថុ Button1។ ក្នុង VB៦ ពួកអនុអង្គចាប់ព្រឹត្តិការណ៍ ត្រូវមានឈ្មោះជាក់លាក់ដែលឈ្មោះរបស់វត្ថុនេះគឺ ("Command1") បន្ទាត់ពីក្រោម ("_") និងឈ្មោះរបស់ព្រឹត្តិការណ៍ ("Click" ទៅជា "Command1_Click")។
  • មានអនុគមន៍មួយហៅថា MsgBox ក្នុងលំហឈ្មោះ Microsoft.VisualBasic ដែលត្រូវបានគេប្រើស្រដៀងទៅនឹងអនុគមន៍ឆ្លើយឆ្លងគ្នាក្នុង VB៦ដែរ។ មានការមិនចុះសម្រុងគ្នាមួយចំពោះអនុគមន៍ណាមួយត្រូវប្រើជាប្រត្តិបត្តិកិច្ចល្អបំផុត (មិនត្រឹមតែរឹតបន្តឹងដើម្បីបង្ហាញប្រអប់សារប៉ុណ្ណោះទេ តែចាត់ទុកថាជាលក្ខណៈពិសេសផ្សេងៗនៃលំហឈ្មោះ Microsoft.VisualBasic ដែរ)។ ពួកអ្នកធ្វើកម្មវិធីចូលចិត្តធ្វើអ្វីៗតាមរយៈ "មធ្យោបាយ.ណេត" ដោយហេតុថាថ្នាក់មួយចំនួនរបស់ក្របខណ្ឌនេះមានលក្ខណៈពិសេសបន្ថែម និង ជាភាសាមានភាពច្បាស់លាស់តិច។ អ្នកដទៃលើកឡើងថាការប្រើប្រាស់លក្ខណៈភាសាជាក់លាក់ធ្វើឱ្យក្រមកាន់តែអាចអានបាន (ឧទាហរណ៍ដូចជា ការប្រើប្រាស់ int (C#) រឺ Integer (VB.NET) ជំនួសឱ្យ System.Int32)។
  • ក្នុង VB ២០០៨ ការបញ្ចូលនៃ ByVal sender as Object, ByVal e as EventArgs ក្លាយជាមិនអាចអត់បាន។

ឧទាហរណ៍បន្តបន្ទាប់បង្ហាញនូវភាពប្លែកគ្នារវាង VB៦ និង VB.NET។ ឧទាហរណ៍ទាំងពីរ ដើម្បីបិទបង្អួចសកម្ម

VB៦:

Sub cmdClose_Click()
    Unload Me
End Sub

VB.NET:

Sub btnClose_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnClose.Click
    Me.Close()
End Sub

បុព្វបទ 'cmd' ត្រូវបានជំនួសដោយបុព្វបទ 'btn' ដែលរួមបង្កើតជាអនុសញ្ញាថ្មីដែលបានចែងកាលពីមុន។

វីហ្សួលបេហ៊្សិក៦មិនបានផ្ដល់ទម្រង់កាត់ខ្លីៗនៃការីទូទៅឡើយ។ ចំណុចបន្តបន្ទាប់គឺដូចគ្នា:

VB៦:

Sub Timer1_Timer()
    Me.Height = Me.Height - 1
End Sub

VB.NET:

Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles Timer1.Tick
    Me.Height -= 1
End Sub

ការរិះគន់[កែប្រែ]

នៅពេលដាក់បញ្ចូលដំបូង ពួកអ្នកប្រើប្រាស់វីហ្សួលបេហ៊្សិកតាំងពីយូរមកហើយជាច្រើនបានត្អូញត្អែរអំពីវីហ្សួលបេហ៊្សិក.ណេតពីព្រោះតែកំណែដើមបានទម្លាក់ចោលនូវសំណង់ភាសាមួយចំនួនធំ និង លក្ខណៈពិសេសអន្តរៈផ្ទៃរបស់អ្នកប្រើប្រាស់ដែលធ្លាប់ជាភាគនៃVB៦ (លែងមានលក់ដោយម៉ៃក្រូសូផ្វទៀតហើយ) និងបានផ្លាស់ប្ដូរសញ្ញាន័យវិទ្យាដែលនៅសល់ ឧទាហរណ៍ដូចជា បរាមាត្ររបស់ VB.NET ត្រូវ (តាមកំណត់ដើម) បានបោះតាមតម្លៃ មិនមែនបោះតាមលំយោងទេ។ ពួកអ្នកបង្អាប់ហៅដោយចំអក VB.NET ថា Visual Fred រឺ DOTNOT[១២] ការត្អូញត្អែរធំមួយគឺថា edit-and-continue សមត្ថភាពដើម្បីកែឩកាដោយការកែប្រែក្រមប្រភពដើមក្នុងកម្មវិធីកំពុងតែរត់មួយនៅពេលវាបានផ្អាកនៅចំណុចញែក និង បន្តរត់ក្រម ត្រូវបានគេលុបបំបាត់ចោល: លក្ខណៈពិសេសនេះគឺជាជំនួយផលិតភាពសំខាន់មួយដែលទាក់ទាញពួកអ្នកអភិវឌ្ឍជាច្រើនទៅរក VB៦ វិញ។

ការផ្លាស់ប្ដូរជាច្រើនគឺចាំបាច់ពីព្រោះពួកគេត្រូវការឆ្លុះបញ្ចាំងឱ្យឃើញភាពខុសគ្នារវាង Windows Foundation Classes និង បណ្ដាថ្នាក់ដែលស្មើគ្នាក្នុងក្របខណ្ឌ.ណេត (ឧ. ចំពោះការគ្រប់គ្រងអន្តរៈផ្ទៃអ្នកប្រើប្រាស់): បន្ថែមនោះ លក្ខណៈពិសេសបានផ្លាស់ប្ដូរខ្លះ ដូចជាការកំណត់ព្រំដែនសង្កាត់អថេរនៅនឹងកន្លែងទៅនឹងប្លុកដែលអថេរទាំងនោះត្រូវបានគេប្រកាស និង ការបោះបរាមាត្រតាមរយៈតម្លៃ (ដែលជាមធ្យោបាយមួយចំនួនតែប៉ុណ្ណោះអនុញ្ញាតក្នុង Java) ធ្វើឱ្យក្រមមានកំហុសតិចជាងមុន។ កាត់បន្ថយការបង្កកំហុសក៏ដូចជាយុត្តិកម្មដោយការដកចេញនូវលក្ខណៈពិសេសៗដូចជា gosub/goto ដែលបានគណនាហើយ និង ការលុបបំបាត់ចោលចំនួនបន្ទាត់ (ទាំងនេះជាកេរដំណែលនៃមរតក FORTRAN របស់ភាសា BASIC។) ជាទូទៅ គំនិតនេះត្រូវបង្កើតឱ្យមានបណ្ណាល័យ.ណេត ផ្ទុយស្រឡះពីបណ្ណាល័យភាសាជាក់លាក់ ធ្វើដំណើរការច្រើនបំផុត ដូច្នេះហើយក្រមដែលសរសេរក្នុង VB.ណេត រឺ Cទ្រុងជ្រូកនឹងត្រូវចងក្រងជាក្រមអន្តរមធ្យមស្ទើរតែដូចគ្នាទាំងអស់។

យ៉ាងណាក៏ដោយ ការផ្លាស់ប្ដូរសញ្ញាន័យវិទ្យាទាំងនេះភាគច្រើនមិនត្រឡប់ទៅជាមានភាពត្រូវគ្នាជាមួយក្រមដែលមានច្រើនស្រាប់ និង ក្រមដែលមានស្រាប់ត្រូវការសរសេរឡើងវិញ និង សាកល្បង ការខាតបង់សំខាន់មួយ ពេលតួនៃក្រម មានទំហំធំ។ តាមតែដែលអ្នកនិពន្ធ ជអ៊ែល-ស្ភលស្គី បានកត់សំគាល់ថា "វាគឺជាលើកដំបូងហើយដែលការតំឡើងថ្នាក់របស់ ម៉ៃក្រូសូផ្វមិនគិតគូរដល់ការងារដែលពួកអ្នកប្រើបានប្រើប្រាស់កំណែមុននៃផលិតផលមួយ។" [១៣]

បអស វីហ្សួលស្ទីដយ៉ូ ពិតជាបានគាំទ្រកម្រិតនៃបំណកប្រែដោយស្វ័យប្រវត្តិទៅ VB.NET នៅពេលក្រម VB៦ ត្រូវបានបិទផ្អោបចូលទៅក្នុងវីហ្សួលស្ទីដយ៉ូ។ ផងដែរ អង្គចងក្រង VB.NET បានរាយការណ៍កំហុសជាច្រើន (រហូតដល់ចំណូលកំណត់ដោយអ្នកប្រើ - ឧ.ហ. កំហុស ១០០) ទាំងអស់ក្នុងពេលតែម្ដងជំនួសឱ្យម្ដងៗមួយៗ ជាមួយការកែកុនប្រភពកាត់បន្ថយបញ្ជីកំហុសនេះតាមរយៈដំណើរការការចងក្រងនៅផ្ទៃខាងក្នុង។ ទោះបីដូច្នេះ ការសម្របខ្លួនទៅនឹងVB.NET នៅតែពន្យារពេលរហូតដល់ឆ្នាំ២០០៥ នៅពេលដែលម៉ៃក្រូសូផ្វជាចុងក្រោយបានដាក់បញ្ចូល edit-and-continue វិញ: លក្ខណៈពិសេសនេះក៏ត្រូវបានបង្កើតឱ្យជាប្រយោជន៍ដល់ពួកអ្នកអភិវឌ្ឍស៊ីទ្រុងជ្រូកដែរ។

វាកាន់តែធម្មតាដើម្បីពន្លាបណ្ដាភាសាដែលតម្រង់ទៅភាសាអន្តរមធ្យមសាមញ្ញ (ភ.អ.ស.) រួមមានVB.NET ប្រៀបធៀបនឹងភាសាដែលចងក្រងដោយក្រមយន្ត។ ប្រដាប់ប្រដាដូចជា .NET Reflector អាចផ្ដល់ឱ្យនូវការប្រហាក់ប្រហែលជិតស្និទទៅនឹងក្រមដើមដោយសារតែចំនួនដ៏ច្រើននៃបច្ឆិមទិន្នន័យដែលផ្ដល់ក្នុងភ.ស.ស.។[ត្រូវការអំណះអំណាង] នេះក៏ពិតដែរចំពោះកំណែដើមនៃវីហ្សួលបេហ៊្សិក (ពីមុនមកដល់ VB៥) ដែលមិនអាចចងក្រងទៅជាក្រមដើមឡើយ។

បណ្ដាកម្មវិធីវីហ្សួលបេហ៊្សិក៦.០ ដែលភាគច្រើនជាវិធាននព្វន្តក្នុងធម្មជាតិអាចត្រូវបានផ្លាស់ទីដោយលំបាកបន្តិចបន្តួច ប៉ុន្តែប្រភេទខ្លះនៃក្រមអាចមានបញ្ហាខ្លះ តាមឈ្មោះ :

  • ការទ្រទ្រង់មូលទិន្នន័យ: ក្របខណ្ឌរបស់.ណេតសម្រាប់ការចូលទៅកាន់មូលទិន្នន័យ អាឌីអូ.ណេត (ADO.NET) សង្កត់ធ្ងន់លើប្រតិបត្តិកម្មកាត់ផ្ដាច់ ដែលប្រើប្រាស់ធនធានមូលទិន្នន័យ-សេវាករសន្សំសំចៃតាមតែអាចធ្វើបានដោយការចេញផ្សាយនៅពេលគេមិនទាន់ប្រើ។ នេះហុចលទ្ធផលក្នុងក្រមកាន់តែអាចប្រែប្រួលទំហំជាង បើសិនជាបណ្ដា វត្ថុចំណូលទិន្នន័យ រឺ វត្ថុទិន្នន័យសកម្មX ពីមុនៗត្រូវបានប្រើ ក៏ ប៉ុន្តែក្រមនេះក៏កាន់តែស្មុគស្មាញ។
  • រេខិយ: .ណេតមានបណ្ណាល័យថ្មី (ហើយកាន់តែមានអនុភាព) សម្រាប់បណ្ដារេខិយ។
  • ប្រតិបត្តិកម្មមិនបានគ្រប់គ្រង: .ណេត, ដូចជា Java (ជ្វា) សង្កត់ធ្ងន់លើសន្តិសុខ ដូច្នេះក្រមមិនបានគ្រប់គ្រងត្រូវបានប្រើត្រឹមតែជាមធ្យោបាយចុងក្រោយបំផុត។

ភាពដោយឡែកគ្នានៃវាក្យសម្ព័ន្ធដទៃៗដែលទាក់ទងនឹងការផ្លាស់ប្ដូរបានធ្វើឡើងដើម្បីនាំយក VB.NET ចូលជាបក្សសម្ព័ន្ធជាមួយភាសា.ណេតដទៃទៀត ដូចជារនៀបចាប់ពីសូន្យ (រនៀប.ណេតទាំងអស់មានសន្ទស្សន៍ ០ ដល់ n-1 រីឯរនៀប VB កាលពីដើមអាចចាប់ពីសូន្យ រឺ ចាប់ពីមួយ (សន្ទស្សន៍ 1 ដល់ n ) និងអញ្ញត្រកម្មរចនាសម្ព័ន្ធដែលចាប់យក (VB កាលពីដើមបានប្រើយន្តការ ON ERROR ជាគុណលក្ខណៈ) ដូច្នេះការផ្លាស់ប្ដូរពិបាក រឺ មិនមានលទ្ធភាពដើម្បីបំលែងដោយស្វ័យប្រវត្តិ ហើយអង្គបំលែងជាធម្មតាដោតទង់ក្នុងបរិវេណដែលមានបញ្ហាចំពោះការបំលែងជាហត្ថកម្ម។

ជាការបន្ថែម បណ្ណាល័យពេលរត់ដែលតម្រូវសម្រាប់កម្មវិធី VB៦ ត្រូវបានផ្ដល់ជាមួយWindows 98 SE និង លើនោះ ខណៈនោះដែរកម្មវិធី VB.NET តម្រូវឱ្យមានការតម្លើង .NET Framework ធំជាងមុនដែលពាក់ព័ន្ធនឹងគ្នា។ ក្របខណ្ឌត្រូវបានបញ្ចូលជាមួយ Windows 7, Windows Vista, Windows XP Media Center Edition, Windows XP Tablet PC Edition, Windows Server 2008 និង Windows Server 2003។ ចំពោះប្រព័ន្ធប្រតិបត្តិការដែលស៊ីគ្នាផ្សេងទៀតដូចជា Windows 2000 រឺ Windows XP (Home or Professional Editions) .NET Framework ត្រូវបានដំឡើងដាច់ដោយឡែកពីគ្នា។

ការឆ្លើយតបរបស់ម៉ៃក្រូសូផ្វទៅនឹងការមិនពេញចិត្តរបស់អ្នកអភិវឌ្ឍដោយផ្ដោតជុំវិញទៅលើការធ្វើឱ្យវាកាន់តែងាយស្រួលដើម្បីរំកិលខ្លួនទៅការអភិវឌ្ឍថ្មី និង ប្ដូរមូលក្រមដែលមានស្រាប់ ពី VB៦ ទៅ VB.NET។ ជំនូនមួយនៅឆ្នាំ ២០០៥គឺ ស្ថានីយសំណាញ់ រត់VB ផ្ដល់នូវសំណាកក្រមនិងអត្ថបទនានាចំពោះ:

  • ការប្រើប្រាស់ VB.NET ដើម្បីបំពេញបន្ថែមរាល់ការងារដែលមានជាធម្មតាក្នុង VB ៦ ដូចជាការបង្កើតបុរេទិដ្ឋភាពបោះពុម្ព
  • ការច្របាច់បញ្ចូលគ្នាដំណោះស្រាយរបស់ VB៦ និង VB.NET (បានឱ្យឈ្មោះថា VB Fushion )

ការអភិវឌ្ឍឆ្លង-វេទិកា និង ប្រភព-បើក[កែប្រែ]

ការបង្កើតនូវប្រដាប់ប្រដាប្រភព-បើកចំហសម្រាប់ការអភិវឌ្ឍ​របស់ VB.NET គឺវាយឺតយ៉ាវ បើប្រៀបធៀបទៅនឹងC# ទោះបីយ៉ាងណាវេទិកាអភិវឌ្ឍន៍ម៉ូណូ ផ្ដល់នូវបូរណកម្មនៃបណ្ណាល័យជាក់លាក់របស់ VB.NET និង អង្គចងក្រងដែលត្រូវគ្នានឹង VB.NET ៨.០ ដែលបានសរសេរក្នុងVB.NET [១៤] ដូចគ្នានឹងបណ្ណាល័យក្របខណ្ឌមាត្រដ្ឋានដូចជា បណ្ណាល័យ GUI របស់វីនដូផ្វម

ឝាបដិវ៉ិលឡុប និង ម៉ូណូដិវ៉ិលឡុប គឺជា IDEឆ្លាស់គ្នារបស់ប្រភពបើកចំហ

ឧទាហរណ៍[កែប្រែ]

ចំណុចបន្តបន្ទាប់គឺជាកម្មវិធី VB.NET ដ៏សាមញ្ញ កំណែនៃឧទាហរណ៍ Hello world ពីមុន ដែលបង្កើតជាអនុវត្តកម្មលើកញ្ចក់:

Module Module1

    Sub Main()
        Console.WriteLine("Hello, world!")
    End Sub

End Module

ប្រសិទ្ធិភាពគឺដើម្បីសរសេរអត្ថក្សរ Hello, world! ដាក់ក្នុងបន្ទាត់បញ្ជា។ បន្ទាត់នីមួយៗប្រើជាប្រយោជន៍សំខាន់ ដូចតទៅ :

Module Module1

និយមន័យមត្តៈ មត្តៈគឺជាបំណែងចែកនៃក្រមដែលស្រដៀងនឹងថ្នាក់មួយ ទោះបីយ៉ាងណាបណ្ដាមត្តៈអាចមានបណ្ដាថ្នាក់ជាច្រើនក្នុងនោះផងដែរ។ មត្តៈប្រើជាកញ្ចប់ខ្ចប់ក្រមដែលយោងតាមប៉ែកដោយឡែកៗនៃកម្មវិធី។[១៥]
វាគឺជាការអនុវត្តសាមញ្ញសម្រាប់មត្តៈ និង សំណុំសារក្រម ដែលនៅខាងក្នុងវា ត្រូវមានឈ្មោះដដែល យ៉ាងណាមិញ វាមិនតម្រូវឱ្យមានឡើយ ដូចគ្នានេះដែរ សំណុំសារក្រមតែមួយប្រហែលជាអាចមាននិយមន័យមត្តៈ និង/រឺ ថ្នាក់ ច្រើនជាងមួយ។

Sub Main()

នេះគឺជាចំណុចច្រកចូលដែលកម្មវិធីចាប់ផ្ដើមពហិសចតេកម្ម។[១៦] Sub គឺជាអក្សរកាត់នៃ "subroutine។"(ឧបបថ)

Console.WriteLine("Hello, world!")

បន្ទាត់នេះដំណើរកិច្ចការជាក់ស្ដែងនៃការសរសេរឧទយពុន្ទ។ Console គឺជាវត្ថុប្រព័ន្ធ ដែលតំណាងឱ្យអន្តរមុខបញ្ជាជួរអក្សរ និង ផ្ដល់ច្រកចូលនៃកម្មវិធីទៅកាន់ស្រោតាបទដ្ឋានរបស់ប្រព័ន្ធប្រតិបត្តិការ។ កម្មវិធីនេះហៅប្រមាណវិធីរបស់ Console ថា WriteLine ដែលធ្វើឱ្យមានខ្សែអក្សរបានបោះឆ្លងវាបង្ហាញលើកញ្ចក់។ ប្រមាណវិធីសាមញ្ញផ្សេងទៀតគឺការប្រើប្រាស់ MsgBox ("ប្រអប់សារ")។[១៧]

បំណែកក្រមនេះគឺជាដំណោះស្រាយនៃត្រីកោណរបស់ផ្លូអ៊ីដ:

Imports System.Console
 
Module Program
 
    Sub Main() 
        Dim rows As Integer
 
        ' សុពលកម្មអន្តេពុន្ទ។
        Do Until Integer.TryParse(ReadLine("Enter a value for how many rows to be displayed: "),
rows) AndAlso rows >= 1 
            WriteLine("Allowed range is 1 and {0}", Integer.MaxValue) 
        Loop
 
        ' ឧទយពុន្ទនៃត្រីកោណផ្លូអ៊ីដ
        Dim current = 1
 
        For row = 1 To rows
            For column = 1 To row 
                Write("{0,-2} ", current) 
                current += 1
            Next
 
            WriteLine()
        Next 
    End Sub
 
    ''' <summary>
    ''' ដាក់ស្រមោល Console.ReadLine រួមនិងកំណែដែលនាំមកនូវខ្សែអក្សរក្រើនរំលឹក។
    ''' </summary>    
    Function ReadLine(Optional prompt As String = Nothing) As String
        If prompt IsNot Nothing Then
            Write(prompt)
        End If
 
        Return Console.ReadLine()
    End Function 

End Module

សូមមើលផងដែរ[កែប្រែ]

ឯកសារយោង[កែប្រែ]

  1. Option Strict can be used to switch between safe and unsafe type checking.
  2. What's New with the Visual Basic Upgrade Wizard in Visual Basic 2005
  3. Defining and Using Generics in Visual Basic 2005
  4. Operator Overloading in Visual Basic 2005
  5. ឝឺរីផ្វ, លុស្ស៊ី (២២ កុម្ភៈ ២០០៥). "វាំរទន់ពិតទិះតៀន MS មិនមែនជាអនុវត្តកម្មប្រកាសនីយបត្រតក្កកម្មទេ". ដឹរីជីស្តឺរ. Retrieved ៦ មេសា ២០០៩. {{cite web}}: Check date values in: |accessdate= and |date= (help)
  6. ថាផ្វថ៍, ដារ្រីល-ខ. (២១ កុម្ភៈ ២០០៥). "វាំរទន់ពិតទិះតៀនកិច្ចប្រឹងប្រែងសុំប្រកាសនីយបត្រតក្កកម្មរបស់ម៉ៃក្រូសូផ្វ". អ៊ីវិខ. Retrieved ៦ មេសា ២០០៩. {{cite web}}: Check date values in: |accessdate= and |date= (help)[តំណភ្ជាប់ខូច]
  7. វិខ, ភល អេ. ជេអ. (១៤ ឧសភា ២០០៣). "អនុវត្តកម្មប្រកាសនីយបត្រតក្កកម្មសហរដ្ឋ: ២០០៤០២៣០៩៥៩". មិនមែនការី. ការិយាល័យប្រកាសនីយបត្រតក្កកម្ម និង សញ្ញាពាណិជ្ជកម្មស.រ. Archived from the original on 19 សីហា 2014. Retrieved ៦ មេសា ២០០៩. {{cite web}}: Check date values in: |accessdate= and |date= (help); Unknown parameter |coauthors= ignored (|author= suggested) (help)
  8. "អីក៏ដូចនរកម៉្លេះ "VBx"?". ១ ឧសភា ២០០៧. Archived from the original on 25 ឧសភា 2009. Retrieved ១២ សីហា ២០០៩. ជាមួយព.ភ.ថ. យើងមានការទ្រទ្រង់ដល់ ពស់ថ្លាន់ដែក ត្បូងទទឹមឈាមជ្រូកដែក អក្សរជ្វា និង VBx ថាមវន្តថ្មីដែលចងក្រង {{cite web}}: Check date values in: |accessdate= and |date= (help)
  9. "មានអ្វីថ្មីក្នុងវីហ្សួលបេហ៊្សិក២០១០". ម៉ៃក្រូសូផ្វ. ២០០៩. Retrieved ១២ សីហា ២០០៩. វីហ្សួលបេហ៊្សិកចងទៅនឹងវត្ថុជាច្រើនមកពីបណ្ដាភាសាថាមវន្តដូចជា ពស់ថ្លាន់ដែក និង ត្បូងទទឹមឈាមជ្រូកដែក {{cite web}}: Check date values in: |accessdate= (help)
  10. "មានអ្វីថ្មីក្នុងវីហ្សួលបេហ៊្សិក២០១០". ម៉ៃក្រូសូផ្វ. ២០១០. Retrieved ១ សីហា ២០១០. {{cite web}}: Check date values in: |accessdate= (help)
  11. Migration - Upgrading from Visual Basic 6.0 MSDN – Developer Center – Visual Basic 6.0 Resource Center – Migration –
  12. ខាល អ៊ី.-ភិតថឺរសុន. "ម៉ៃក្រូសូផ្វបេហ៊្សិក: 1976–2001,R.I.P." http://vb.mvps.org. Retrieved ៧ មីនា ២០០៩. {{cite web}}: Check date values in: |accessdate= (help); External link in |work= (help)
  13. Joel Spolsky, How Microsoft Lost the API War, Joel on Software, 13 June 2004, URL: http://www.joelonsoftware.com/articles/APIWar.html
  14. Mono Project: VisualBasic.NET support
  15. "ពំនោលមត្តៈ". មជ្ឈមណ្ឌលអ្នកអភិវឌ្ឍ - ប.អ.ម.ស. Retrieved ២០ មករា ២០១០. {{cite web}}: Check date values in: |accessdate= (help)
  16. "វិធានសំខាន់ក្នុងវីហ្សួលបេហ៊្សិក". មជ្ឈមណ្ឌលអ្នកអភិវឌ្ឍប.អ.ម.ស. Retrieved ២០ មករា ២០១០. {{cite web}}: Check date values in: |accessdate= (help)
  17. "កំណែវីហ្សួលបេហ៊្សិកនៃ Hello, World". មជ្ឈមណ្ឌលអ្នកអភិវឌ្ឍ - ប.អ.ម.ស. Retrieved ២០ មករា ២០១០. {{cite web}}: Check date values in: |accessdate= (help)

អំណានបន្ថែម[កែប្រែ]

  1. "យថាប្រភេទភាសាវីហ្សួលបេហ៊្សិក៨.០". សាជីវកម្មម៉ៃក្រូសូផ្វ. ១៥ វិច្ឆិកា ២០០៥. Retrieved ១០ ធ្នូ ២០១០. {{cite web}}: Check date values in: |accessdate= and |date= (help)
  2. "យថាប្រភេទភាសាវីហ្សួលបេហ៊្សិក៩.០". សាជីវកម្មម៉ៃក្រូសូផ្វ. ១៩ ធ្នូ ២០០៧. Retrieved ២៨ កញ្ញា ២០១១. {{cite web}}: Check date values in: |accessdate= and |date= (help)
  3. "យថាប្រភេទភាសាវីហ្សួលបេហ៊្សិក១០.០". សាជីវកម្មម៉ៃក្រូសូផ្វ. ១៩ មេសា ២០១០. Retrieved ២៨ កញ្ញា ២០១១. {{cite web}}: Check date values in: |accessdate= and |date= (help)

តំណខាងក្រៅ[កែប្រែ]