Menggunakan Object Collection dan Generic (VB) Part 2

Pada blog yang sebelumnya saya sudah membahas cara menggunakan object array pada VB.NET, pada artikel kali ini saya akan meneruskan untuk membahas object collection yang lain yang sering digunakan yaitu List

Pada .NET 2.0 List menggunakan fitur Generic, sehingga kita bisa mebuat object collection yang “typed safe”.

Dengan array kita harus mendeklarasikan terlebih dahulu kapasitas array, tapi bila menggunakan List tidak perlu karena object yang disimpan pada list bersifat dinamis

Contoh penggunaan List sederhana:

Untuk membuat object list baru yang bertipe string kodenya

'Menggunakan List yang bertipe string
        Dim objNama As New List(Of String)

Untuk menambahkan nilai bertipe string kedalam list caranya

'cara menambahkan kedalam elemen list
        objNama.Add("Erick")
        objNama.Add("Anton")
        objNama.Add("Willy")
        objNama.Add("Bejo")

Untuk mengambil nilai dari object list:

'untuk mengambil elemen yang ada dalam list
        For Each strNama As String In objNama
            Console.WriteLine(strNama)
        Next

List tidak hanya digunakan untuk menampung nilai dengan tipe-tipe data native seperti int,double,currency,dll tapi list juga bisa digunakan untuk menampung nilai yang bertipe object

Continue reading

Fungsi-fungsi untuk Lock, Hibernate, Logoff, Shutdown Windows pada VB.NET

Harus import:
using System.Runtime.InteropServices;

Lock Computer:

[DllImport(“user32.dll”)]
public static extern void LockWorkStation();

Kemudian panggil fungsinya:
LockWorkStation();

Logoff:

[DllImport(“user32.dll”)]
public static extern int ExitWindowsEx(int uFlags, int dwReason);

Panggil fungsinya:
Logoff biasa:
ExitWindowsEx(0, 0);
Logoff force:
ExitWindowsEx(4, 0);

Reboot:
ExitWindowsEx(2, 0);

Shutdown:
ExitWindowsEx(1, 0);

Hibernate:
Application.SetSuspendState(PowerState.Hibernate, true, true);
Standby:
Application.SetSuspendState(PowerState.Suspend true, true);

Bagus kan??

Pembuatan Database SQLite dengan VB.NET 2005

Tutorial ini mencoba menunjukkan bagaimana koneksi dengan SQLite dengan VB.NET 2005.
Kita membutuhkan sebuah DLL yang bernama System.Data.SQLite (http://sqlite.phxsoftware.com/) yang bersifat freeware…

Imports System.Data.SQLite
Imports System.IO

Private Sub btn_createdb_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_createdb.Click

        'Save Dialog Box
        Dim f As New SaveFileDialog
        f.Filter = "SQLite 3 (*.db3)|*.db3|All Files|"
        f.ShowDialog()
        'Create Database
        Dim SQLconnect As New SQLite.SQLiteConnection()
        'Database Doesn't Exist so Created at Path
        SQLconnect.ConnectionString = "Data Source=" & f.FileName & ";"
        SQLconnect.Open()
        SQLconnect.Close()

    End Sub

Private Sub btn_tables_create_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_tables_create.Click

            Dim SQLconnect As New SQLite.SQLiteConnection()
            Dim SQLcommand As SQLiteCommand
            SQLconnect.ConnectionString = "Data Source=" & txt_dbpath.Text & ";"
            SQLconnect.Open()
            SQLcommand = SQLconnect.CreateCommand
            'SQL query to Create Table
            SQLcommand.CommandText = "CREATE TABLE " & txt_tables_name.Text & "(id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, description TEXT, image BLOB);"
            SQLcommand.ExecuteNonQuery()
            SQLcommand.Dispose()
            SQLconnect.Close()
End Sub

Selamat mencoba!

Mengembalikan Image BLOB Menggunakan Web Service (VB.NET)

Pada kasus ini kita menggunakan SQLSERVER sebagai databasenya, dengan field seperti ini:

Field Tipe Data
==============
RowID int(11)
Picture BLOB

Yang perlu anda lakukan adalah mengganti parameter yang digunakan untuk koneksi ke SQLSERVER:
Buat method seperti ini pada Web Service Anda…

' Parameternya adalah sebuah id suatu record tertentu
Public Function GetPicture(ByVal RowID As Long) As Byte()
  Dim Con As SqlClient.SqlConnection
  Dim DA As SqlClient.SqlDataAdapter
  Dim SQL As String
  Dim BA As Byte()
  Dim SC As New SqlCommand

  SQL = "SELECT Picture FROM Pictures WHERE  RowID = " & RowID
  Con = New SqlConnection("User ID=YourID;password=YourPassword;" & _"Data Source=SQLSERVER;Initial Catalog=DatabaseName")

  SC.Connection = Con
  SC.Connection.Open()
  SC.CommandType = CommandType.Text
  SC.CommandText = SQL
  BA = CType(SC.ExecuteScalar(), Byte())
  SC.Connection.Close()
  SC.Dispose()
  Return BA

End Function

Kemudian siapkan sebuah picture box (PictureBox1) dan buat prosedur ini pada VB Desktop Anda:

Public Sub SetPicBox(ByVal ImageArray As Byte())
  Dim ArraySize As New Integer
  ArraySize = ImageArray.GetUpperBound(0)

  Dim fs As New System.IO.FileStream("tmp.gif",
  System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.Write)
  fs.Write(ImageArray, 0, ArraySize + 1)
  fs.Close()
  PictureBox1.Image = New Bitmap("tmp.gif")
End Sub

Dan terakhir pada event on_Load pada form Anda, buat prosedur ini.
Anda bisa menggantinya dengan event-event lain.
Pada contoh dibawah ini, kita mencoba menggambil record dengan nomor 23:

Private Sub frmPicture_Load(ByVal sender As Object,
  ByVal e As System.EventArgs) Handles MyBase.Load
  SetPicBox(YourService.GetPicture(23))
End Sub 

Nah, selamat mencoba!

Menggunakan Object Collection dan Generic (VB) Part 1

Pada .NET disediakan banyak class collection yang dapat digunakan. Jika anda menggunakan .NET 1.1 object collection yang disediakan belum typed-safe karena belum ada metode Generic misal: anda dapat mencampurkan tipe data string dan integer pada object dictionary / ArrayList.

Dengan munculnya Generic di .NET 2.0 (VB2005) maka penggunaan object collection di .NET sudah typed-safe sehingga meningkatkan performance dari program yang anda buat.

Adapun object-object collection pada .NET 2.0 yang disediakan adalah:

  • Array
  • List
  • Dictionary
  • Sorted Dictionary
  • Quee
  • Stack

Continue reading

Membuat Program Alarm Clock (VB)

Pada artikel berikut ini anda akan diajak untuk membuat sebuah program pengingat waktu / alarm clock yang sederhana. Anda mungkin pernah bertanya-tanya kenapa pada sistem operasi windows tidak disediakan program pengingat waktu / alarm clock yang sudah built-in, padahal bila anda sering menggunakan outlook maka kita akan sering menggunakan alarm clock yang dapat diatur pada menu calendar, tetapi anda tidak akan membuat yang sekompleks itu.

Program yang akan dibuat relative sederhana hanya mempunyai sebuah form untuk mengatur waktu, pesan yang akan ditampilkan, dan memeilih suara dari alarm tersebut. Pembuatan program ini menggunakan tools Microsoft Visual Basic 2005 Express, anda juga dapat menggunkan program yang lain yang juga berbasis .NET seperti Visual C# 2005 Express. Untuk versi express dapat didownload dan digunakan secara gratis.

Untuk membuat program ini, langkah pertama yang dilakukan adalah:

· Buka program Visual Basic 2005 Express dan buat project windows form baru dengan nama “MyAlarmClock”.

Pada form kosong yang terbuka, tambahkan tiga label, dua textbox, satu DateTimePicker, dan dua button kedalam form tersebut, atur komponen-komponen tersebut hingga tampilannya berubah menjadi seperti berikut:

image

Adapun property-property yang harus dirubah adalah

image

· Kemudian tambahkan komponen ContextMenuStrip kedalam form, dan tambahkan dua submenu berikut ini

image

· Tambahkan komponen NotifyIcon, komponen ini berfungsi untuk menampilkan Ballon Tip berisi pesan pada system try icon. Ubah propery name menjadi “AlarmNotifyIcon” Atur property BalloonTipIcon, BalloonTipText, dan BalloonTipTitle. Jangan lupa untuk mengisi property icon, anda dapat memilih icon apa yang akan digunakan untuk notifikasi, bebas asalkan berekstensi .ico
· Tambahkan komponen Timer kedalam form, ubah property interval menjadi 1000.
· Tambahkan juga komponen OpenFileDialog kedalam form.
· Setelah semua komponen ditambahkan kedalam form dan posisisnya sudah diatur maka sekarang saatnya untuk menambahkan kode programnya.
· Klik kanan pada form kemudian pilih view code, kemudian tuliskan kode berikut:

Continue reading

Menggunakan Tree View Untuk Menampilkan Direktori (VB)

Oleh: Erick Kurniawan,M.Kom

Pada turtorial ini akan ditunjukan bagaimana caranya untuk menggunakan Treeview Control untuk menampilkan direktori dan sub direktorinya

Pertama buat win app dengan nama UseTreeView kemudian tambahkan button,textbox dan treeview dengan nama btnTampil, txtPath, dan tvPath, design tampilannya sebagai berikut

image

Kemudian tuliskan kode sebagai berikut:

Private Sub btnTampil_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnTampil.Click
If My.Computer.FileSystem.DirectoryExists(txtPath.Text) = _
False Then
MessageBox.Show(“Path yang anda masukan tidak valid !”)
Exit Sub
End If

‘membersihkan tree node
tvPath.Nodes.Clear()
BuatDirektoriTree(Nothing, txtPath.Text)
End Sub

Private Sub BuatDirektoriTree(ByVal fromNode As TreeNode, _
ByVal strPath As String)
Dim dirBaru As TreeNode
Dim strSubDir As String

For Each oneDirectory As String In _
My.Computer.FileSystem.GetDirectories(strPath)
strSubDir = My.Computer.FileSystem.GetName(oneDirectory)

If (fromNode Is Nothing) Then
‘menambahkan top level directory
dirBaru = tvPath.Nodes.Add(strSubDir)
Else
dirBaru = fromNode.Nodes.Add(strSubDir)
End If

‘rekursi sub direktori
BuatDirektoriTree(dirBaru, _
My.Computer.FileSystem.CombinePath(strPath, strSubDir))
Next
End Sub

Jika dijalankan maka contoh tampilan treeview nya sebagai berikut :

image