Você está na página 1de 2

9/10/2018 ANDI SETIAWAN_CIDAUN_CIANJUR SELATAN

12th March 2013

Rabu, 26 September 2012


[http://adf.ly/1160012/]

10 Hal Dasar Belajar Migrasi VB6 Ke VBNET

Berdasarkan pengalman saya, berikut ini saya tulis beberapa hal (penting) tentang belajar migrasi vb6 ke vbnet :

1.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

2.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.
[http://adf.ly/1160012/]

3.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)
4.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
5.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
6.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).
7.Ini merupakan kelanjutan dari Nomor 6, Perhatikan sintak VB6 berikut :
Private Sub Command1_Click()
End Sub
jika anda me-rename menjadi object menjadi Command2, maka sintak itu harus diubah menjadi :
Private Sub Command2_Click()
End Sub
sedangkan di VBNET anda harus INGAT Handles, contoh :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button1.Click
End Sub
jika anda me-rename menjadi object menjadi Command2, maka HANDLES akan berubah secara otomatis, tetapi
TIDAK nama SUB-nya :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Button2.Click
End Sub
Jadi jangan sampai terkecoh ya,,,
8.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:

http://belajarvbs.blogspot.com/2013/03/rabu-26-september-2012-10-hal-dasar.html 1/2
9/10/2018 ANDI SETIAWAN_CIDAUN_CIANJUR SELATAN

Call Button1_Click(Button1, New System.EventArgs)


9.Jika anda add object yang tidak terliat/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)
10.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"

11.Jika anda terbiasa dengan sintak SET di VB6, maka di VBNET tidak akan ada. Contoh : "Set Con = New
ADODB.Connection" atau "Set DataGrid1.DataSource = RecBarang" dan sebagainya, maka di VBNET anda tidak
usah menggunakan SET, cukup dengan "con = New ADODB.Connection"

12.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 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
13.hhmm apalagi ya? sebenarnya masih banyak sih, hal hal yang kecil tetapi penting untuk diketahui, bila ada
teman2 yang mau menambahkan silahkan berikan comment dibawah, agar ilmu kita semakin bertambah.

Diposting 12th March 2013 oleh Andi

0 Tambahkan komentar

Masukkan komentar Anda...

Beri komentar sebagai: Google Accoun

Publikasikan Pratinjau

http://belajarvbs.blogspot.com/2013/03/rabu-26-september-2012-10-hal-dasar.html 2/2

Você também pode gostar