NET
Microsoft .NET framework adalah teknologi yang dikembangkan oleh Microsoft yang saat ini sangat populer dan banyak digunakan di lapangan kerja. .NET memiliki keunggulan dari tool IDEnya yang sangat powerful dan class library yang sangat lengkap. Struktur .NET Framework
Teknologi .NET muncul karena adanya beberapa alas an pada teknologi aplikasi Microsoft yang lama. Standar yang lama berbasiskan pada COM di mana memiliki berbagai macam keterbatasan, antara lain : 1. DLL Hell Istilah ini sering kali dipakai oleh programmer untuk menyatakan masalah versi yang terjadi pada COM. Ketika COM mengalami perubahan atau pembaharuan seluruh aplikasi yang memakai component tersebut harus di compile ulang jika tidak sering terjadi Runtime Error.
2. Tidak cocok dengan platform lain Standar COM tidak bisa diterapkan untuk platform atau mesin yan lain. Ketergantungannya terhadap system Win32 sangat tinggi. Sehingga untuk diterapkan pada mesin seperti PDA, Handphone sangat susah sekali. 3. Tidak mendukung inheritance Komponen dalam COM tidak dapat diinheritance sehingga sangat sulit bagi programmer untuk mengembangkan lebih lanjut komponen yang sudah ada. Dalam teknologi .NET teknik kompilasi yang terjadi pada source code program memiliki sedikit keunikan.
MSIL ( Microsoft Intermediate Language CLR Native Code Kita akan mempelajari lebih lanjut dalam Windows Form untuk pembuatan aplikasi desktop dan menggabungkannya dengan komponen-komponen visual yang ada. Untuk memulai .NET kita harus menginstalasi tool yang kita gunakan terlebih dahulu yaitu Microsoft Visual Studio .NET 2003. Teknologi .NET dapat dimanfaatkan untuk menciptakan berbagai jenis aplikasi, yaitu: 1. Windows Application 2. Windows Service 3. Web Application ( ASP.NET ) 4. Web Service 5. Smart Device Application System Requirements 1. Operating System : a. Windows 2000 with Service Pack 3 b. Windows XP with Service Pack 1 2. Minimum 256 MB RAM ( Recommended ) 3. Pentium 4 1.7GHz Processor or higher. 4. 4 GB Free Space Hard Drive
Untuk masuk ke Visual Studio .NET 2003 dapat memilih lewat Start Menu atau langsung klik Start > Run ketik devenv, kemudian klik Ok.
Pada bagian kiri bawah ada tombol New Project, klik di sana untuk memulai Project Baru.
Pilihlah yang Visual Basic Project di sebelah kiri, dan Windows Application di sebelah kanan. Masukkan Name misalkan Latihan1 pada field isian Name. Location untuk mensetting letak folder. Jika sudah ketik OK.
Pertama kita akan merancang form sederhana. Gunakanlah label, textbox dan button dari toolbox disamping. Berikut ini adalah properties dari beberapa control dasar. Label
Properties Backcolor BorderStyle Enabled Font ForeColor Text TextAlign Visible Keterangan Untuk mengatur warna background dari label. Untuk mengatur jenis border untuk labelnya. Terdapat tiga buah pilihan, yaitu None, FixedSingle, dan Fixed3D. Untuk mengeset apakah control dalam keadaan aktif. Untuk mengatur jenis, ukuran, dan style dari Font. Untuk mengatur warna teks. Untuk mengatur teks pada control. Untuk mengatur letak teks pada control. Untuk mengatur apakah control tampil di layer atau tidak.
Textbox
Properties Backcolor BorderStyle Enabled Font ForeColor MaxLength MultiLine PasswordChar ReadOnly Keterangan Untuk mengatur warna background dari label. Untuk mengatur jenis border untuk labelnya. Terdapat tiga buah pilihan, yaitu None, FixedSingle, dan Fixed3D. Untuk mengeset apakah control dalam keadaan aktif. Untuk mengatur jenis, ukuran, dan style dari Font. Untuk mengatur warna teks. Untuk menentukan jumlah karakter maksimum yang dapat diinput. Nilainya adalah Boolean ( true / false ), untuk menentukan apakah suatu textbox dapat multiline ( lebih dari satu baris ). Untuk menentukan karakter yang muncul pada saat input, biasa digunakan untuk penginputan password menggunakan mask. Menentukan apakah textbox boleh diedit atau tidak.
Menentukan scroll bar yang muncul, berlaku jika textbox multilinenya true. ScrollBars yang Horizontal akan muncul ika nilai WordWrapnya false. Untuk mengatur teks pada control. Untuk mengatur letak teks pada control. Untuk mengatur apakah control tampil di layer atau tidak. Menentukan apakah kursor akan pindah baris jika paa saat input kursor suah mencapai ujung textbox.
Button
Properties Backcolor Enabled Font ForeColor Text TextAlign Visible Keterangan Untuk mengatur Untuk mengeset Untuk mengatur Untuk mengatur Untuk mengatur Untuk mengatur Untuk mengatur warna background dari label. apakah control dalam keadaan aktif. jenis, ukuran, dan style dari Font. warna teks. teks pada control. letak teks pada control. apakah control tampil di layer atau tidak.
Rancanglah formnya sebagai berikut, dan berilah penamaan pada masing-masing controlnya.
User akan diminta untuk memasukkan nilainya, yaitu TM, Mid, dan Final kemudian Nilai Akhirnya dihitung dari 20% TM, 30% Mid dan 50% Final. Untuk Grade menggunakan tabel berikut. Nilai Akhir >= 85 >= 75 >= 65 Lain-lain Grade A B C D
Deklarasi Variabel
Dim namavariable as tipedata
Contoh :
Dim tm as Integer Dim mid as Integer Dim final as Integer Dim NA as Single
Integer
System.Int32 (Structure)
Long
System.Int64 (Structure)
Single
System.Single (Structure)
Double
Systm.Double (Structure)
Decimal
Boolean
Date
System.DateTime (Structure)
Char
System.Char (Structure)
String
System.String ( Class )
Tipe data ini digunakan untuk menampung rangkaian karakter atau kata. Jumlah memory yang dipakai sesuai dengan jumlah karakter.
Pada program di atas terjadi konversi antar tipe data secara implisit. Kita juga dapat melakukan konversi secara eksplisit.
kita
dapat
menggunakan
CType()
untuk
Meskipun konversi implisit bisa dilakukan compiler usahakan tetap menggunakan fungi-fnugsi type casting untuk mempercepar kinerja dari aplikasi.
Dengan coding di atas maka txtTM sudah divalidasi, sedangkan untuk txtMid dan txtFinal dapat dengan cara menambahkan pada header function di bagian belakangnya dengan menggunakan event-eventnya yaitu txtMid.KeyPress an txtfinal.KeyPress.
Struktur Select Case Select Case Case 0 .. Case 1,3 .. Case 5 to 10 .. Case Is > 10 .. Case Else .. End Select
Struktur Perulangan Dim i As Integer For i = 1 to 10 STEP 1 .. Next Perintah di atas akan melakukan perulangan sebanyak 10 kali. Pada perintah perulangan di atas STEP bersifat optional dan dapat dihilangkan. Dim i As Integer For i = 1 to 10 .. Next Step menunjukkan pertambahan yang dilakukan di mana defaultnya adalah 1. Untuk nilai dari besar ke kecil gunakan nilai step yang negatif. Dim i As Integer For i = 10 to 1 STEP -1 .. Next
i=0 Do
i=0 Do Until i = 10 i=i+1 Loop i=0 While i <= 10 i=i+1 Wend Struktur perulangan bermacam-macam dan dapat digunakan sesuai kebutuhan.
Untuk membuat sub dapat menggunakan format di atas, untuk nama sub nya boleh bebas. Di dalam sub tersebut kita dapat memasukkan coding-coding yang diinginkan. Untuk memanggil sub tersebut dapat langsung seperti di bawah ini.
NamaSub()
Selain Sub kita juga dapat membuat function di mana dapat memberikan nilai balik sesuai dengan tipe data yang diinginkan. Misalkan di bawah ini diberikan contoh fungsi yang mengembalikan nilai Boolean di mana fungsi ini mengecek apakah sebuah angka itu genap, jika ya maka mengembalikan nilai true sebaliknya mengembalikan nilai false.
Function IsGenap( N As Integer ) As Boolean If N Mod 2 = 0 Then Return True Else Return False End If End Function
Untuk menggunakan fungsi tersebut dapat langsung dipanggil seperti berikut ini.
If IsGenap(10) Then MessageBox.Show(Genap) Else MessageBox.Show(Ganjil) End If
Menggunakan ComboBox
Atau
ComboBox1.Items.RemoveAt(2)
Jika menggunakan RemoveAt maka parameternya berupa integer yang menyatakan indeks item yang mau dibuang. Dalam combobox item pertama dimulai dari indeks nol, kemudian satu, dua, dan seterusnya.
Jika fungsi FindString mengembalikan nilai -1 berarti item tersebut tidak ada di dalam combobox. Mendapatkan indeks item yang dipilih
Dim indeks As Integer = ComboBox1.SelectedIndex If indeks <> -1 Then MessageBox.Show(Pilihan anda di indeks & indeks) Else MessageBox.Show(Anda belum memilih) End If
Jika SelectedIndex mengembalikan nilai -1 maka berarti combobox tersebut belum ada item yang dipilih.
Menggunakan ListBox
Buatlah program menggunakan Listbox seperti di atas. Kemudian randomlah sepuluh angka dan add ke dalam listbox. Tidak boleh ada angka yang berulang. Cara merandom angka
Dim rand As New Random Dim n As Integer = rand.Next(1,101)
Code di atas merandom angka yang bekisar dari 1-100 kemudian dimasukkan ke dalam n. Method dan Property dar ComboBox sebagian besar sama dengan ListBox. Jadi untuk mengecek apakah suatu item sudah ada dalam combobox bisa menggunakan fungsi Items.Contains
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim rand As New Random Do Dim n As Integer = rand.Next(1, 101) If Not ListBox1.Items.Contains(n) Then ListBox1.Items.Add(n) End If Loop Until ListBox1.Items.Count = 10 End Sub
Pada saat tombol ditekan maka semua item dari listbox1 akan berpindah ke listbox2. Codenya dapat kita buat seperti di bawah ini.
For i As Integer = 0 To ListBox1.Items.Count - 1 ListBox2.Items.Add(ListBox1.Items(i)) Next ListBox1.Items.Clear()
ditekan maka item yang dipilih pada listbox1 akan Pada saat tombol berpindah ke listbox2. Kta dapat buat code sebagai berikut.
If ListBox1.SelectedIndex <> -1 Then ListBox2.Items.Add(ListBox1.Items(ListBox1.SelectedIndex)) ListBox1.Items.RemoveAt(ListBox1.SelectedIndex) End If
Pada saat awal kita harus cek dulu memastikan item pada listbox1 sudah ada yang terpilih ( nilai selectedindex tidak sama dengan -1 ), kemudian baru menambahkannya ke listbox2 dan menghapusnya dari listbox1.
PictureBox
Properties BorderStyle Image SizeMode Keterangan Untuk mengatur jenis border dari picturebox. Untuk mengeset gambar yang akan ditampilkan. Untuk mengatur tampilan pada gambar. StretchImage gambar akan menyesuaikan dengan ukuran PictureBox CenterImage gambar akan diletakkan di tengah-tengah PictureBox AutoSize picturebox akan menyesuaikan dengan ukuran gambar
CheckBox
Properties Appereance CheckAlign Checked CheckState Text TextAlign ThreeState Keterangan Untuk mengatur tampilan dari checkbox. Untuk menentukan letak check dari tulisannya. Untuk menentukan apakah di check atau tidak. Untuk menentukan status check. Ada UnCheck, Checked, Indeterminate. Teks yang tercantum pada textbox. Mengatur letak teks. Bernilai Boolean untuk menentukan apakah menggunakan mode tiga status check seperti yang ada di CheckState.
RadioButton
Properties Appereance CheckAlign Checked Text TextAlign Keterangan Untuk mengatur tampilan dari checkbox. Untuk mengatur letak checknya. Untuk menentukan apakah di check atau tidak. Teks yang tercantum pada textbox. Mengatur letak teks.
Statement di atas menunjukkan bahwa kita membuat array dengan nama arr di mana masing-masing berupa integer dan terdiri dari 4 buah elemen.
Masing-masing elemen dapat diisi dengan sebuah integer. Misalkan kita ingin memasukkan sebuah integer ke dalam elemen pertama.
arr(0) = 5
statement di atas akan mengubah ukuran elemen dari arr menjadi 10 elemen. Tetapi semua data yang ada dalam array akan hilang. Untuk tetap mempertahankan data yang lama agar tak hilang kita gunakan redim preserve.
redim preserve arr(9)
Statement di atas digunakan untuk mengubah ukuran dari array tanpa harus menghilangkan nilai-nilai yang telah ada sebelumnya.
Structure
Kita dapat menggunakan Structure. Contohnya sebagai berikut.
Structure Mahasiswa Dim Nim As String Dim Nama As String End Structure
Dengan membuat code di atas berarti kita sudah membuat tipe data Mahasiswa, sehingga kita bias deklarasikan variabelnya.
Dim a As Mahasiswa a.Nim = 0600612545 a.Nama = Andi Rahardja
Kita juga dapat mendeklarasikan dalam bentuk array seperti yang kita telah pelajari sebelumnya.
Dim arr(1) As Mahasiswa arr(0).Nim = 0600612545 arr(0).Nama = Andi Rahardja arr(1).Nim = 0600613447 arr(1).Nama = Beni Tulks
Kita akan membahas beberapa Property dan Method dari class string.
Properties Chars Length Keterangan Mendapatkan karakter pada indeks yang ditentukan. Mendapatkan jumlah karakter pada string.
IndexOfAny
Insert Join LastIndex LastIndexOfAny PadLeft PadRight Remove Replace Split StartsWith SubString ToCharArray ToLower ToString ToUpper Trim TrimEnd TrimStart
Keterangan Mengembalikan reference ke instance ini. Membandingkan dua buah string. Untuk menggabungkan string. Membuat instance yang baru yang nilainya sama dengan instance. Mengecek apakah dua buah instance String memiliki nilai yang sama. Untuk menampilkan dalam format tertentu. Mengembalikan indeks untuk string yang pertama kali ditemukan di dalam string, jika ditemukan akan mengembalikan nilai indeks, jika tidak ketemu akan mengembalikan nilai -1. Untuk mengecek apakah masing-masing string dalam suatu array string ada di dalam string, jika ada akan mengembalikan nilai indeksnya, jika tidak ditemukan maka akan bernilai -1. Untuk menyisipkan suatu string ke dalam string pada indeks yang ditentukan Menggabungkan separator String di antara semua String yang ada di dalam array String. Sama seperti IndexOf hanya dicek mulai dari belakang. Sama seperti IndexOfAny hanya dicek mulai dari belakang. Menambahkan karakter pada bagian kiri string, sesuai dengan widthnya dan diisi dengan spasi atau karakter yang ditentukan. Menambahkan karakter pada bagian kanan string, sesuai dengan widthnya dan diisi dengan spasi atau karakter yang ditentukan. Menghapus beberapa karakter mulai dari indeks yang ditentukan sebanyak jumlah karakter yang ditentukan. Mengganti string yang lama dengan string yang baru. Mengembalikan array yang merupakan hasil pecahan dari string awal sesuai dengan separator yang ditentukan. Bernilai Boolean. Untuk mengecek apakah suatu string diawali oleh suatu string yang diberikan. Untuk mengambil sebagai string dari string keseluruhan. Untuk mengkonversi ke dalam bentuk array dari karakter. Untuk mengubah semua karakter menjadi huruf kecil. Untuk mengkonversi instance ini ke dalam String. Untuk mengubah semua karakter menjadi huruf besar. Membuang sekumpulan karakter pada awal dan akhir. Membuang sekumpulan karakter pada bagian akhir. Membuang sekumpulan karakter pada bagian awal.
Timer
Timer akan diletakkan pada bagian bawah. Kemudian kita dapat mengubah propertiesnya.
Properties Enabled Interval Keterangan Untuk menentukan apakah timer aktif atau tidak. Untuk menentukan jeda waktu dalam milidetik untuk melakukan event Tick.
Untuk memberikan coding pada Timer kliklah dua kali pada Timernya maka akan masuk ke layar coding yaitu event Tick.
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Label1.Text = Now.ToString("hh:mm:ss tt") End Sub
Jika kita memberikan nilai True pada property Enabled kemudian dengan interval 1000, maka setiap 1000 milidetik (1 detik) coding pada Sub di atas akan dijalankan dan akan berlangsung terus menerus dengan jeda 1 detik. Pada bagian Form_Load juga jangan lupa untuk menambahkan code yang sama untuk menampilkan jam pada awal pada saat form ditampilkan.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Label1.Text = Now.ToString("hh:mm:ss tt") End Sub
Untuk menambahkan event handler untuk control yang kita buat dengan coding dapat dengan AddHandler. Untuk warna selain menggunakan konstanta warna kita dapat membuat objek warna dengan menentukan RGBnya seperti contoh di atas yaitu menggunakan fungsi fromArgb.
btn.Location = New Point(10, 200) btn.Size = New Size(50, 50) btn.BackColor = Color.Red Me.Controls.Add(btn) AddHandler btn.Click, AddressOf btnClick
Location untuk menentukan letak pada form. Size digunakan untuk mengatur width dan heightnya. BackColor untuk menentukan warna buttonnya. Me.Controls adalah array yang merupakan semua control yang ada di dalam form, jadi Button yang kita buat harus kita add ke dalam form. Kemudian untuk membuat event handler pada saat button tersebut click kita harus menyiapkan terlebih dahulu sub handlernya kemudian ditambahkan dengan menggunakan AddHandler.
Sub btnClick(ByVal sender As Object, ByVal e As EventArgs) . . Code untuk menangani kejadian button Click, dipakai pada saat AddHandler End Sub
Bab 8 MDI
MDI singkatan dari Multiple Document Interface. Di mana terdapat form yang berperan sebagai parent form di mana dapat memiliki beberapa child form di dalamnya. Untuk membuat MDI buatlah sebuah project baru dan beri nama UsingMDI. Pada Form1 ubah Properties IsMdiContainer menjadi true. Sehingga menghasilkan tampilan sebagai berikut.
Kemudian Ubahlah properties WindowState menjadi Maximized agar pada saat pertama kali form ditampilkan dalam keadaan maximized. Kemudian kita tambahkan main menu.
Kemudian buat struktur menu yang diinginkan. Setelah itu kita atur properties untuk menu-menu yang ada.
Kemudian kita menambahkan form pada project kita yang akan dibuat sebagai child formnya. Pada Solution Explorer > Klik kanan pada project > pilih Add > Add Windows Form. Kemudian pada saat New di klik kita tambahkan coding berikut ini.
Private Sub mnuNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuNew.Click Dim f As New Form2 f.MdiParent = Me f.Show() End Sub
Setelah itu coba tambahkan menu Forms di sebelah kanan menu Window, setelah itu ubah property MdiList menjadi True. Lihat hasilnya. Pada saat menu childnya dibuat maka akan muncul daftar form-formnya.
Toolbar Toolbar adalah sebuah control yang terdiri dari tombol-tombol yang memiliki fungsi tertentu. Tombol-tombol pada toolbar biasanya diberi icon / gambar sebagai simbol. Tambah Toolbar pada Form pertama kemudian masuk ke properties Button.
Pada bagian ini kita dapat mengatur tampilan button yang diinginkan. Untuk menggunakan gambar kita harus menambahkan ImageList ke form dan masuk ke property Images kemudian kita add satu-satu semua gambar yang ingin digunakan. Gambar-gambar pada toolbar harus diambil dari ImageList. Tambahkanlah ImageList pada form.
Properties ColorDepth ImageSize Images Keterangan Untuk menentukan ColorDepth, semakin besar bits nya maka kualitas gambar aka semakin bagus. Untuk menentukan width dan height dari gambar. Merupakan Collection dari image-image yang ada di dalam ImageList.
Pada layer ini kita dapat menambahkan gambar-gambar yang diinginkan. Kemudian pada Toolbar cari properties ImageList ubah menjadi ImageList1. Dengan begitu gambar-gambarnya yang ada pada ImageList1 dapat digunakan pada Toolbar.
Context Menu Context menu dapat dimuncul diberbagai tempat. Misalkan kita ingin membuat context menu yang akan muncul pada saat kita meng-klik dropdown button pada toolbar. Siapkan ContextMenu dan codingnya masing-masing terlebih dahulu.
Private Sub mnuConCascade_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuConCascade.Click mnuCascade.PerformClick() End Sub Private Sub mnuConHoriz_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuConHoriz.Click mnuHoriz.PerformClick() End Sub Private Sub mnuConVert_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuConVert.Click mnuVert.PerformClick() End Sub
Kemudian setelah context menu siap kita bisa masukkan ke button pada toolbar. Pada bagian Buttons, pada dialog propertiesnya set nilai dropdownMenu menjadi ContextMenu1.
StatusBar Tambahkan StatusBar pada form. Kemudian ubah properties ShowPanels menjadi True. Kemudian masuk ke properties Panels untuk masuk ke kotak dialog.
Jika kita ingin mengubah teks pada salah satu panel statusbar dapat langsung dari code kita ketik sebagai berikut.
StatusBarPanel1.Text = Message
Keterangan Untuk mengatur alignment terdapat pilihan Left, Right, Center. Untuk menentukan apakah ukuran panel akan secara otomatis berubah. Bentuk borderstyle untuk panel, terdapat dua macam Raisen dan Sunken. Icon untuk ditampilkan pada panel. Teks yang ingin ditampilkan pada panel. Teks keterangan ( tooltip ) yang akan muncul pada saat mouse berada pada control. Mengatur lebar panel.
Untuk baca file teks Membaca semua teks secara langsung dan menampung hasilnya yang berupa string ke dalam variable.
Dim f As New FileStream(namafile.txt, FileMode.Open) Dim rd As New StreamReader(f) Dim hasil As String = rd.readToEnd() rd.close() f.close()
Jika kita ingin membaca baris per baris pun bisa yaitu dengan cara sebagai berikut.
Dim f As New FileStream(namafile.txt, FileMode.Open) Dim rd As New StreamReader(f) Dim hasil As String = rd.readLine() While hasil <> Then hasil = rd.readLine() End While rd.close() f.close()
Untuk tulis ke file berupa teks Jika kita ingin membuat file baru gunakan Mode CreateNew, atau Create jika ingin replace file yang sudah ada.
Dim f As New FileStream(namafile.txt, FileMode.CreateNew) Dim wr As New StreamWriter(f) wr.write(text to write to file) wr.close() f.close()
Untuk menambahkan teks ke file Untuk menambahkan teks pada file kita gunakan mode Append.
Dim f As New FileStream(namafile.txt, FileMode.Append) Dim wr As New StreamWriter(f) wr.write(text to write to file) wr.close() f.close()
Untuk membaca file binary kita gunakan class BinaryReader dan BinaryWriter. Sedangkan untuk file teks kita bisa menggunakan class TextReader dan TextWriter. Menggunakan CommonDialog
FontDialog FontDialog digunakan untuk memilih jenis font. Untuk menampilkan kotak dialognya dapat menggunakan fungsi showDialog.
FontDialog1.showDialog()
Coding ini akan mengecek terlebih dahulu apakah user pada saat pemilihan Font memilih tombol OK atau Cancel. Coding di dalam statement If hanya dijalankan bila user menjawab OK bukan Cancel. Font yang dipilih akan disimpan ke Font.
FontDialog1.Font
Atau
If ColorDialog1.showDialog()=DialogResult.OK Then . . End If
OpenFileDialog Digunakan untuk menampilkan kotak dialog untuk pemilihan file untuk Open.
Untuk menampilkan masih sama yaitu menggunakan fungsi showDialog. File yang dipilih disimpan di properties FileName.
If OpenFileDialog1.showDialog() = DialogResult.OK Then End If
SaveFileDialog Penggunaan SaveFileDialog sama dengan OpenFileDialog hanya digunakan untuk tujuan save file bukan untuk open file.
Dalam Windows Control Library kita dapat membuat component sendiri dengan menggabungkan component-component yang sudah ada.
Kemudian kita bisa menambahkan coding-coding tertentu yang akan tersimpan dalam control tersebut nanti. Selanjutnya waktu di compile file yang akan dhasilkan bukanlah application tetapi dll ( Dynamic Link Libraries ). File dll ini merupakan komponen yang dapat kita add pada project kita selanjutnya. Kita tinggal menggunakan komponen tersebut dan mengintegrasikannya dengan komponen-komponen lainnya. Kita dapat tambahkan beberapa properti.
Public Property FileName() As String Get Return TextBox1.Text End Get Set(ByVal Value As String) TextBox1.Text = Value End Set End Property Public Property ButtonText() As String Get Return Button1.Text End Get Set(ByVal Value As String) Button1.Text = Value End Set End Property
kotak dialog seperti di atas. UserControl tidak dapat langsung output. Kita harus membuat project baru dan menambahkan Buatlah project baru dan pada bagian toolbox sebelah kiri, kita dapat komponen baru dengan klik kanan pilih Add/Remove Item.
Kemudian drag drop-lah FileField pada form. Kemudian perhatikan pada bagian Propertiesnya akan muncul Properties yang kita buat FileName dan ButtonText. Pada bagian Properties akan muncul Properties standar dari UserControl. Ditambah dengan properties yang kita tambahkan dari coding yaitu FileName dan ButtonText. Property FileName akan berhubungan dengan teks yang ada pada Textbox sedangkan ButtonText akan berhubungan pada teks dari Button. Seharusnya Textbox1 dan Button1 kita set properties Modifiernya private sehingga tidak dapat diakses dari FileField. Selain properties kita dapat menambahkan variabel, sub, dan function dalam UserControl.
Berbeda dengan Windows Control Library yang ditujukan untuk membuat Control sendiri dengan menggabungkan control-control yang sudah ada menjadi suatu control baru, Class Library ini tidak mengarah ke komponen yang visual. Class Library adalah membuat class yang dapat kita gunakan fungsi-fungsi di dalamnya dan kita juga dapat melakukan inheritance dari class lain. Misalkan kita membuat class baru sebagai turunan dari class lain, maka semua fitur dari class induknya akan diturunkan ke class anaknya. Kemudian kita tinggal menambahkan fitur baru tambahannya. Ini berguna jika seorang programmer ingin mengembangkan class buatan programmer lain, dia dapat meng-nheritance kemudian ditambahkan codenya. Kita coba membuat class bernama Encryption kemudian kita buat beberapa fungsi enkripsi sederhana. Kemudian kita akan mengcompile menjadi dll dan menggunakannya dalam project lain.
Class CaesarChiper
Public Class CaesarChiper Private plain As String Public Enum ProcessMode Encrypt Decrypt End Enum Public Property PlainText() As String Get Return plain End Get Set(ByVal Value As String) plain = Value End Set End Property Public Function Process(ByVal Steps As Integer, ByVal mode As ProcessMode) As String Dim result As String = "" Dim temp As String If mode = ProcessMode.Encrypt Then ''encrypt For i As Integer = 0 To plain.Length - 1 temp = Chr(Asc(plain.Chars(i)) + Steps) result &= temp Next Else ''decrypt For i As Integer = 0 To plain.Length - 1 temp = Chr(Asc(plain.Chars(i)) - Steps) result &= temp Next End If Return result End Function End Class
Setelah dicompile akan menghasilkan dll yang dapat kita gunakan di project kita yang lain. Buatlah sebuah project dengan nama TesEncrypt. Untuk menambahkan dll yang telah kita buat ke project baru kita ini kliklah pada menu Project > Add Reference. Kemudian klik browse dan pilihlah file dll hasil kompilasi yang telah dibuat yaitu Encryption.dll. Setelah itu pada layar coding pada bagian paling atas tambahkan Imports Encryption
Private Sub btnEncrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEncrypt.Click Dim c As New CaesarChiper c.PlainText = TextBox1.Text TextBox2.Text = c.Process(1, CaesarChiper.ProcessMode.Encrypt) End Sub Private Sub btnDecrypt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDecrypt.Click Dim c As New CaesarChiper c.PlainText = TextBox2.Text TextBox1.Text = c.Process(1, CaesarChiper.ProcessMode.Decrypt) End Sub