Migrasi dari VB6 ke VB.Net
Selamat siang semua,kali ini saya akan berbagi mengenai Migrasi dari VB6 ke VB.net
Perlu diketahui, VB (Visual Basic ) dari Microsoft Visual Studio merupakan sebuah software pemograman yang telah banyak digunakan oleh para programmer baik dari tingkat professional ataupun pemula. Ada dua jenis versi VB berdasarkan Compiler-nya (Mesin Penerjemah Code Program), yaitu VB Classic dan VB.Net. VB Classic merupakan Versi VB dari Versi 6 ke bawah (Kali ini VB6 saja). Program / aplikasi yang dibuat oleh VB6 diterjemahkan oleh compiler MSVBM60.dll. Jadi, program/aplikasi dari VB6 tanpa compiler MSVBM60.dll, program / aplikasi tersebut tidak akan jalan. Sedangkan VBNet adalah versi VB setelah Versi 6 ke atas, yang saat ini sudah mencapai versi 2012. Kenapa disebut VB.Net ? Karena compiler nya menggunakan .Net Framework jadi, program/aplikasi dari VB.Net harus menggunakan compiler .Net Framework yang sesuai,misalkan kita membuat program/aplikasi dengan .Net Framework 3.5 maka di computer target juga harus sudah terpasang .Net Framework 3.5
Perlu diketahui, VB (Visual Basic ) dari Microsoft Visual Studio merupakan sebuah software pemograman yang telah banyak digunakan oleh para programmer baik dari tingkat professional ataupun pemula. Ada dua jenis versi VB berdasarkan Compiler-nya (Mesin Penerjemah Code Program), yaitu VB Classic dan VB.Net. VB Classic merupakan Versi VB dari Versi 6 ke bawah (Kali ini VB6 saja). Program / aplikasi yang dibuat oleh VB6 diterjemahkan oleh compiler MSVBM60.dll. Jadi, program/aplikasi dari VB6 tanpa compiler MSVBM60.dll, program / aplikasi tersebut tidak akan jalan. Sedangkan VBNet adalah versi VB setelah Versi 6 ke atas, yang saat ini sudah mencapai versi 2012. Kenapa disebut VB.Net ? Karena compiler nya menggunakan .Net Framework jadi, program/aplikasi dari VB.Net harus menggunakan compiler .Net Framework yang sesuai,misalkan kita membuat program/aplikasi dengan .Net Framework 3.5 maka di computer target juga harus sudah terpasang .Net Framework 3.5
Lalu ketika saya mencari beberapa tutorial dan referensi tentang VB.Net dan menemukan hal mendasar yang membedakan antara VBnet dengan VB6.
diambil dari djiesoft disini :
- Index di VBNET selalu mulai dari 0, sedangkan VB6 ada yang dari 1 (contoh : listview.items), jadi jangan kaget klo nanti ada error :"InvalidArgument=Value of '1' is not valid for 'index'. Parameter name: index", maka dari itu anda harus mengubah sintak looping untuk additem listview, harus mulai dari 0.
- Jika anda mengubah nama object (rename), maka di VB6 anda harus mengubah ke sintak-nya juga apa apa yang berkaitan dengan object itu, karena klo tidak anda akan mengalami error : "Run-time error '424', Object required", sedangkan di VBNET sekali anda me-rename object (termasuk form) pada jendela property, maka semua sintak yang berhubungan dengan object tersebut akan otomatis berubah/menyesuaikan.
- Semua object yang mempunyai property Item (contoh listivew,combobox, listvox, dll) di VBNET selalu menggunakan property Item.Add, sedangkan VB6 ada yang Combo1.AddItem, ListView1.ListItems.Add, List1.AddItem , jadi di VBNET sudah sangat seragam dan terstruktur (mudah diingat).
- Jika anda menggunakan Frame dan ingin menambahkan object2 lain kedalamnya, di VBNET tidak perlu Cut/Copy-Paste object ke frame itu seperti di VB6, cukup drag/seret saja object-nya ke dalam frame.
- Jika di VB6 anda melakukan add form (existing) misalnya dari folder lain (tidak 1 folder dengan project), maka jika anda cut/copy folder project anda dan jalankan di komputer lain atau anda cut/rename folder form yang di-add itu (yang bukan dalam 1 folde project), maka akan error : "Path Not Found : '...\form_name.frm'--Continua Loading Project ?" sedangkan di VBNET dia akan mengcopy kedalam 1 folder yang sama, bukan url pathnya melainkan formnya akan dicopy otomatis oleh VBNET kedalam folder project.
- Jika anda ingin me-remove form/module/class dll, di VB6 anda cukup remove saja, tetapi di VBNET ada tiga istilah : Exclude dan Include (bisa di remove dan add kembali dengan mudah) serta Delete (hapus ke Recycle Bin).
- Ini merupakan kelanjutan dari Nomor 6, Perhatikan sintak VB6 berikut
Private Sub Command1_Click()
jika anda me-rename menjadi object menjadi Command2, maka sintak itu harus diubah menjadi :
End SubPrivate Sub Command2_Click()
sedangkan di VBNET anda harus INGAT Handles, contoh :
End SubPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Button1.Click
jika anda me-rename menjadi object menjadi Command2, maka HANDLES akan berubah secara otomatis, tetapi TIDAK nama SUB-nya :
End SubPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End Sub - Jika anda ingin memanggil fungsi (contoh) Command1_Click maka si VB6 anda cukup menulis seperti ini:
Call Command1_Click
tetapi di VBNET anda harus menulisnya seperti ini:Call Button1_Click(Button1, New System.EventArgs)
- Jika anda add object yang tidak terlihat/visible-false seperti (timer,common dialog, menu, dll), di VB6 akan ikut masuk ke form, tetapi di VBNET akan terpisah dengan form sehingga kita tahu mana object yang visible dan tidak (lebih teratur).
- VBNET menyediakan property .ToString pada semua object/methode/property/variable dari object, sehingga anda akan dengan mudah mengconvert dan mengetahui isi lengkap/detail-nya. contoh: jika saya mengetik ListView1.ToString, maka hasilnya = "System.Windows.Forms.ListView, Items.Count: 1, Items[0]: ListViewItem: {ID}" jika saya deklarasi dim nilai As Integer, maka saya bisa kombinasikan dengan string lain dengan cara : "Nilai Ke " + nilai.ToString + " Dari Total"
- Jika anda terbiasa dengan sintak SET di VB6, maka di VBNET tidak akan ada. Contoh :
Set Con = New ADODB.Connection
atauSet DataGrid1.DataSource = RecBarang
dan sebagainya, maka di VBNET anda tidak usah menggunakan SET, cukup dengancon = New ADODB.Connection
- Jika di VB6 anda meggunakan sintak dibawah ini untuk clear object/textbox, contoh :
Dim iObject As Object
For Each iObject In Me.Controls
If TypeOf iObject Is TextBox Then
iObject.Text = ""
End If
Next - Maka jika di jalakan di VBNET Tidak akan ada masalah JIKA anda tidak menggunakan frame/panel/group/tabcontrol dan container lainnya. Kalau anda menempatkan TextBox itu pada salah satu container, maka textbox itu tidak bersih/clear karena di VBNET tidak mengecek/loop semua object secara global, tapi hanya cek/loop sebatas container-nya saja, jadi contohnya jika anda menempatkan textbox1 di sebuah frame dan textbox2 di panel dan textbox3 di form (langsung) maka sintak clear object nya seperti ini (VBNET) :
Dim iObject As ObjectDim v_container() As Object = {Frame1, Panel1, Me}
For i As Integer = 0 To v_container.Length - 1
For Each obj As Object In v_container(i).Controls
If TypeOf obj Is TextBox Then
obj.Text = ""
End If
Next
Next
untuk sementara mungkin itu yang dapat saya bagikan, nanti kan Posting selanjutnya :D
Regrads
Dwi Randy Herdinanto
Facebook : http://www.facebook.com/dwirandy.herdinantoTwitter : @dwirandyh
Email : dwirandyherdinanto@hotmail.co.id
0 komentar:
Post a Comment