Kamis, 29 April 2010

Eksplorasi Teknik Pemrograman VB .NET

Dunia pemrograman tidak terlepas dari teknik-teknik pemrograman, dimulai dari yang sederhana hingga yang kompleks. Teknik pemrograman yang baik tidak hanya didukung oleh kemampuan analisis masalah dan logika, tetapi juga bagaimana menggali keunggulan bahasa pemrograman yang digunakan.
Tidak terkecuali pada bahasa pemrograman Visual Basic.NET. Dengan dukungan platform framework .NET yang terus dikembangkan, melakukan eksplorasi .NET bagaikan menggali harta karun yang tidak ada habisnya.

Download artikel lengkapnya disini.

Label: , ,

Distribusi Aplikasi

Langkah awal pendistribusian aplikasi Anda dimulai dengan mengemasnya menjadi sebuah paket software (software package). Sebuah paket software memuat seluruh file yang diperlukan untuk proses instalasi sehingga aplikasi dapat berjalan dengan baik pada komputer pengguna.
Bahkan jika aplikasi Anda termasuk cukup sederhana dan hanya terdiri dari satu file executable yang dapat langsung dijalankan, sebaiknya Anda tetap mengemasnya menjadi sebuah paket. Artinya, jangan langsung memberikan satu file executable kepada pengguna. Paling tidak Anda harus menyertakan informasi ataupun petunjuk mengenai aplikasi yang Anda distribusikan.

Download artikel lengkapnya disini.

Label: , ,

Tentang ADO

Dengan ADO, programer tidak perlu mengetahui bagaimana implementasi database dilakukan, tetapi hal penting yang perlu diketahui oleh programer adalah koneksi database.
Komponen ADO umumnya digunakan bersama dengan bahasa pemrograman aras tinggi seperti Visual Basic atau VBScript pada Active Server Pages. Bahkan bahasa lain yang tidak berasal dari produk Microsoft seperti Java, Delphi dan C++ Builder, juga dapat menggunakan ADO untuk mengakses database yang beragam.

Download artikel lengkapnya disini.

Label: , , , ,

Minggu, 25 April 2010

Pemrograman Modular

Pemrograman modular membagi aplikasi menjadi modul utama dan modul-modul pendukung, modul pendukung yang populer dapat berupa Function atau Procedure, Dynamic Link Library (DLL), ataupun ActiveX dengan ekstensi OCX, dan lain-lain, yang pada intinya merupakan subprogram atau modul yang dapat dikelola dengan mudah dan dipergunakan ulang pada aplikasi (re-use).

Download artikel lengkapnya disini.

Label: , ,

Membedah SQL

Tidak semua aplikasi sistem manajemen database memiliki versi SQL yang sama. Aplikasi seperti Microsoft SQL Server, Oracle, Microsoft Acess, MySQL, dan lain-lain, menggunakan versi SQL yang berbeda satu sama lain.
Sebagai contoh, versi yang digunakan oleh SQL Server disebut dengan Transact-SQL atau T-SQL. Sedangkan, Oracle menggunakan PL/SQL, di mana di antara versi SQL tersebut terdapat perbedaan fitur-fitur dasar.

Download artikel lengkapnya disini.

Label: , , ,

Rabu, 21 April 2010

MS Agent

MS Agent merupakan sebuah kontrol yang dapat digunakan untuk memunculkan karakter khusus. Karakter ini berguna untuk mempercantik dan mempermudah penggunaan aplikasi.
Kontrol utamanya menggunakan Microsoft Agent Control 2.0 (agentctl.dll)

Label: , , ,

Selasa, 20 April 2010

Mengurutkan ListView

Berikut ini adalah contoh source code bagaimana mengurutkan data / item yang ditampilkan di kontrol ListView.
Download source code-nya disini.

Label: , ,

Senin, 19 April 2010

Mewarnai ListView secara belang

Prosedur ini akan mewarnai kontrol ListView secara belang, sehingga mempermudah user untuk membacanya.

Buat sebuah Module baru, lalu tambahkan kode berikut :
Public Sub SetLvwColor(ByVal Lvw As ListView, ByVal Pic As PictureBox, Optional ByVal StartAtOddRow As Boolean = False, Optional ByVal AltBackColor As OLE_COLOR = -1)
On Error GoTo Ero

Dim t As Integer, h As Single, sw As Single
Dim oAltBackColor As OLE_COLOR

If AltBackColor = -1 Then oAltBackColor = Pic.BackColor Else oAltBackColor = AltBackColor

With Lvw

.View = lvwReport
If .ListItems.Count = 0 Then t = .ListItems.Add(, , "temp").Index  'add temp
.PictureAlignment = lvwTile
h = .ListItems(1).Height

With Pic
.Visible = False
.BackColor = Lvw.BackColor
.BorderStyle = 0
.Height = h * 2
.Width = 10 * Screen.TwipsPerPixelX
sw = .ScaleWidth
.AutoRedraw = True

If StartAtOddRow Then
Pic.Line (0, 0)-Step(sw, h - Screen.TwipsPerPixelY), oAltBackColor, BF
Else
Pic.Line (0, h)-Step(sw, h), oAltBackColor, BF
End If

Set Lvw.Picture = .Image
.AutoRedraw = False
.BackColor = oAltBackColor
End With


.Refresh

On Error Resume Next
.ListItems.Remove (t) 'remove temp

End With

Exit Sub
Ero:
MsgBox Err.Description, , "ListView BackColor"
End Sub


Untuk percobaannya, buat form baru dengan sebuah ListView dan sebuah PictureBox. Setelah itu tambahkan kode berikut di bagian 'Form_Load'.
SetLvwColor ListView1, Picture1

Pewarnaan dapat dirubah dengan mengganti properti 'BackColor' pada kontrol PictureBox.

Label: , ,

Minggu, 18 April 2010

Menyimpan Setting

Menyimpan setting / pengaturan aplikasi digunakan agar mempermudah User bila menjalankan di lain waktu, misalnya untuk menyimpan posisi Form atau isi TextBox.
Ada beberapa cara untuk menyimpan setting suatu aplikasi, berikut ini adalah 2 cara untuk melakukannya.
  1. Menyimpan di registry, cara ini adalah cara yang paling mudah karena fungsinya telah tersedia yaitu fungsi 'GetSetting' untuk membaca, dan fungsi 'SaveSetting' untuk menulis.
  2. Menyimpan di sebuah file, format file yang biasanya digunakan untuk menyimpan setting adalah format '*.ini'. Cara ini biasanya digunakan dalam aplikasi yang bersifat portable, dengan tujuan agar settingan aplikasi tetap terjaga meskipun berpindah-pindah komputer.

Label: , ,

Selasa, 13 April 2010

Label Berjalan

Kode ini akan menjalankan / menggerakkan kontrol Label secara horisontal (dari kanan ke kiri) dan vertikal (dari bawah ke atas). Buat Form baru dengan sebuah Label dan sebuah Timer (Enabled=True; Interval=20).

[ VB 6.0 ]
Untuk menggerakkan secara horisontal, ketikkan kode berikut di bagian 'Timer1_Timer'.
Label1.Left = Label1.Left - 15
If (Label1.Left <= -(Label1.Width)) Or (Label1.Left >= Me.ScaleWidth) Then Label1.Left = Me.ScaleWidth
Sedangkan secara vertikal, ketikkan kode berikut di bagian 'Timer1_Timer'.
Label1.Top = Label1.Top - 15
If (Label1.Top <= -(Label1.Height)) Or (Label1.Top >= Me.ScaleHeight) Then Label1.Top = Me.ScaleHeight


[ VB .NET ]
Untuk menggerakkan secara horisontal, ketikkan kode berikut di bagian 'Timer1_Tick'.
Label1.Left = Label1.Left - 2
If (Label1.Left <= -(Label1.Width)) Or (Label1.Left >= Me.ClientRectangle.Width) Then Label1.Left = Me.ClientRectangle.Width
Sedangkan secara vertikal, ketikkan kode berikut di bagian 'Timer1_Tick'.
Label1.Top = Label1.Top - 2
If (Label1.Top <= -(Label1.Height)) Or (Label1.Top >= Me.ClientRectangle.Height) Then Label1.Top = Me.ClientRectangle.Height

Label: , , ,

Senin, 12 April 2010

Menggunakan Mouse Scroll

Kode ini akan menunjukkan bagaimana menggunakan mouse scroll atau roda di mouse.

Buat sebuah Form baru dan ketikkan kode berikut di bagian '(Declarations)'-nya.
Option Explicit

Private Declare Function PeekMessage Lib "user32" Alias "PeekMessageA" (lpMsg As msg, ByVal hwnd As Long, ByVal wMsgFilterMin As Long, ByVal wMsgFilterMax As Long, ByVal wRemoveMsg As Long) As Long
Private Declare Function WaitMessage Lib "user32" () As Long

Private Type POINTAPI
X As Long
Y As Long
End Type

Private Type msg
hwnd As Long
Message As Long
wParam As Long
lParam As Long
time As Long
pt As POINTAPI
End Type

Private Const PM_REMOVE = &H1
Private Const WM_MOUSEWHEEL = 522

Public Sub ProcessScroll()
Dim Message As msg

WaitMessage

If PeekMessage(Message, Form1.hwnd, WM_MOUSEWHEEL, WM_MOUSEWHEEL, PM_REMOVE) Then

If Message.wParam > 0 Then
'kode untuk scroll up
Form1.Top = Form1.Top - 250

Else
'kode untuk scroll down
Form1.Top = Form1.Top + 250

End If

End If

DoEvents
End Sub

Lalu tambahkan sebuah kontrol Timer (Interval=1), dan ketikkan kode berikut di bagian 'Timer1_Timer'.
Call ProcessScroll

Label: , ,

Jumat, 09 April 2010

Menampilkan Data di TreeView

Untuk menampilkan data yang besifat hirarki atau bertingkat, ada baiknya menggunakan kontrol TreeView. Karena data dapat ditampilkan secara bercabang, sehingga user dapat lebih mudah memahaminya.
Download source code-nya disini.

Label: , , , ,

Senin, 05 April 2010

Fungsi ShellExecute

Fungsi ShellExecute merupakan salah satu fungsi API yang memiliki kegunaan yang beragam, mulai dari menjalankan file sampai dengan membuka alamat website.

Di bagian '(Declarations)' dari Form ketikkan :
[ VB 6.0 ]
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
[ VB .NET ]
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Integer, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Integer) As Integer



Berikut macam-macam penggunaanya : (khusus untuk VB .NET, gantikan kode yang berwarna merah dengan kode "Me.Handle.ToInt32")

1). Membuka folder atau file.
ShellExecute Me.hwnd, "", "ALAMAT LOKASI FOLDER / FILE", "", "", vbNormalFocus

2). Menemukan folder / file dalam Windows Explorer.
ShellExecute Me.hwnd, "", "explorer.exe", "/select, ALAMAT LOKASI FOLDER / FILE", "", vbMaximizedFocus

3). Mencetak file.
ShellExecute Me.hwnd, "Print", "ALAMAT LOKASI FILE", "", "", vbNormalFocus

4). Membuka jendela pencarian / search berdasarkan folder.
ShellExecute Me.hwnd, "Find", "ALAMAT LOKASI FOLDER", "", "", vbNormalFocus

5). Membuka alamat website.
ShellExecute Me.hwnd, "", "ALAMAT WEBSITE", "", "", vbMaximizedFocus

6). Membuka aplikasi e-mail.
ShellExecute Me.hwnd, "", "mailto:ALAMAT E-MAIL", "", "", vbMaximizedFocus

Untuk lebih jelasnya tentang fungsi ini, download artikelnya disini.

Label: , , , ,

Kamis, 01 April 2010

Label Kerlap-Kerlip

Buat Form baru dengan sebuah Label dan sebuah Timer (Enabled=True; Interval=100).

Di bagian kontrol Timer-nya ketikkan :
Label1.Visible = Not Label1.Visible

Atau anda bisa ketikkan :
[ VB 6.0 ]
Randomize
Label1.ForeColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
[ VB .NET ]
Randomize()
Label1.ForeColor = ColorTranslator.FromOle(RGB(Rnd() * 255, Rnd() * 255, Rnd() * 255))

Label: , , ,

Fungsi MouseHover

Fungsi ini biasanya digunakan untuk mendeteksi kursor mouse, apakah didalam atau diluar area suatu kontrol.

Buat Module baru dan ketikkan :
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function ScreenToClient Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long
Private Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long

Private Type POINTAPI
X As Long
Y As Long
End Type

Public Function MouseHover(Ctl As Control) As Boolean
Dim X As Single, Y As Single
Dim xyCursor As POINTAPI

SetCapture Ctl.hwnd
GetCursorPos xyCursor
ScreenToClient Ctl.hwnd, xyCursor

X = xyCursor.X * Screen.TwipsPerPixelX
Y = xyCursor.Y * Screen.TwipsPerPixelY

If X < 0 Or Y < 0 Or X > Ctl.Width Or Y > Ctl.Height Then
ReleaseCapture
MouseHover = False
Else
MouseHover = True
End If
End Function

Sebagai contoh penggunaannya, buat sebuah CommandButton (Style=Graphical) baru, lalu pada bagian 'Command1_MouseMove' ketikkan :
If MouseHover(Command1) Then
Command1.BackColor = vbRed
Else
Command1.BackColor = vbButtonFace
End If

CATATAN : Fungsi ini tidak dapat digunakan untuk kontrol yang tidak mempunyai properti 'hWnd'.

Label: , ,