Kamis, 09 Agustus 2007

VB6 vs VB.Net - Bahan Sama, Rasa Beda

Berbicara tentang sejarah bahasa pemrograman visual basic, ternyata dimulai dari tahun 1980 oleh seorang Alan Cooper yang membangun "drag and drop design tool" yang dinamakan Tripod. Selanjutnya Microsoft meluncurkan VBA pada tahun 1991, VB6 tahun 1998 dan akhirnya sejak tahun 2002 terjadi revolusi dengan lahirnya VB.NET. Untuk lebih jelasnya dapat dilihat pada :
http://www.bitwisemag.com/copy/features/vb6/vbpastpresentfuture.html

Pada artikel kali ini, saya ingin memperlihatkan sedikit perbedaan antara VB6 dan VB.Net. Sedangkan untuk teori-nya Anda dapat mengunjungi :
http://www.thescarms.com/VBasic/VB6vsVBNet.aspx

Disini ada sebuah aplikasi tentang menampilkan gambar pada sebuah picturebox, berikut ini screenshot-nya :


Untuk membuat design seperti diatas, maka pada VB.Net Anda harus menambahkan dahulu control DriveListBox, DirListBox dan FileListBox karena ketiga control tersebut bukan merupakan control standar yang sudah ada didalam Toolbox. Sedangkan control yang digunakan untuk menampilkan gambar, pada VB6 anda dapat memilih control Image sedangkan di VB.Net control Image sudah tidak ada lagi, sehingga harus menggunakan control PictureBox yang mana kalau sebelumnya di VB6 tidak mempunyai properties Stretch, maka di VB.Net justru sudah dilengkapi dengan properties SizeMode yang mempunyai pilihan : Normal, StretchImage, Auto dan CenterImage.

Dalam membuat design diatas, jika aplikasi tersebut dijalankan akan terdapat sedikit perbedaan jika form di resize. Karena disetiap control pada VB.Net sudah disediakan properties Dock (dengan pilihan : None, Top, Left, Right, Bottom dan Fill), maka jika Dock dipilih Top misalnya, maka control tersebut akan selalu melekat pada sisi atas form tersebut, tidak perduli form tersebut diubah-ubah ukurannya. Asyik bukan ?.

Lalu bagaimana dengan koding diantara Vb6 dan VB.Net ..... ????
Ada 3 Event yang harus diatur, yaitu :

1. Event pada saat Drive dipilih :
VB6
Private Sub
Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub

VB.Net
Private Sub DriveListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal As e System.EventArgs) Handles DriveListBox1.SelectedIndexChanged
DirListBox1.Path = DriveListBox1.Drive
End Sub

2. Event pada saat Directory dipilih :
VB6
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub

VB.Net
Private Sub DirListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DirListBox1.SelectedIndexChanged
FileListBox1.Path = DirListBox1.Path
End Sub

3. Event pada saat memilih file gambar :

VB6
Private Sub File1_DblClick()
Image1.Picture = LoadPicture(Dir1.Path & "\" & File1.FileName)
End Sub

VB.Net
Private Sub FileListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FileListBox1.SelectedIndexChanged
PictureBox1.Image = PictureBox1.Image.FromFile(DirListBox1.Path & "\" & _
FileListBox1.FileName)
End Sub

Coba dilihat perbedaannya ?....
Salah satu perbedaannya adalah kalau di dalam event VB.Net terdapat parameter dan pasti diikuti oleh keyword Handles. Jadi sebuah event dijalankan BUKAN karena nama event-nya, melainkan Handles yang dipilih.

Apakah Anda tertarik untuk migrasi ke VB.Net ... ??? Tanya...ken..apa :p

2 komentar:

shifera kandou(sQuare Melody) mengatakan...

VB 6 >< VB.Net 2003 >< VB.Net 2005

perbedaan kan hal yang biasa bu...
tapi, kalo bagi saya... dengan adanya teknologi baru.. tentu disertai tawaran tawaran yang menggiurkan(berguna dan mudah)..

jadi ingat dunkin donuts >< J.Co...

hehehe... bahan sama rasa beda[kah]??

ayo bahas yang banyak ttg .Net.. biar saya juga isa belajar!!!

Please Write You Messege !!! mengatakan...

Hai...
Bu,mbak makasih ya atas informasinya
saya jadi tambah ngerti tentang vb, soalnya saya lagi memperdalam vb terutama vb untuk socket program.makasih.
sya juga punya blog
namanya : www.techrobot.co.cc
mampir ya
Sekali lagi Makasih
By..By..