Sunday, May 27, 2012

TextBox Hanya Untuk Numeric | Visual Basic 6.0

Artikel ini diberi judul textbox hanya untuk numeric, maksudnya ialah sebuah TextBox hanya dapat diisi dengan angka saja. Kodenya kami buat menjadi sebuah fungsi agar lebih mudah dalam penggunaan. Adapun kode yang dimaksud:
Option Explicit 

Private Sub
OnlyNumeric(KeyAscii As Integer)

Select Case
KeyAscii
Case 48 To 57 ' numeric
Case 8 ' backspace
Case Else: KeyAscii = 0
End Select

End Sub
Cara penggunaan Fungsi TextBox hanya untuk numerik
Private Sub Text1_KeyPress(KeyAscii As Integer) 
OnlyNumeric KeyAscii
End Sub
READ MORE - TextBox Hanya Untuk Numeric | Visual Basic 6.0

Generator Timestamp ISO 8601 Compliant - VB6 Code

Di bawah ini merupakan fungsi Visual Basic 6.0 untuk melakukan generate timestamp (oauth_timestamp dalam Google atau Twitter) yang dibutuhkan pada saat kita melakukan request terhadap situs affiliate Amazon bersamaan dengan signature yang valid. Fungsi di bawah saya peroleh dari vbhelper. Adapun kode untuk Amazon timestamp tersebut adalah sebagai berikut:

Option Explicit 

Private Declare Sub
GetSystemTime Lib "kernel32.dll" (lpSystemTime As SYSTEMTIME)

Private Type
SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type

' Return an ISO 8601 compliant timestamp.
Private Function GetIsoTimestamp() As String
Dim st As
SYSTEMTIME

' Get the local date and time.
GetSystemTime st
' Format the result.
GetIsoTimestamp = _
Format$(st.wYear, "0000") & "-" & _
Format$(st.wMonth, "00") & "-" & _
Format$(st.wDay, "00") & "T" & _
Format$(st.wHour, "00") & ":" & _
Format$(st.wMinute, "00") & ":" & _
Format$(st.wSecond, "00") & "Z"
End Function

Tools Amazon yang dapat membantu Anda dalam hal ini (membuat signature valid untuk request): http://associates-amazon.s3.amazonaws.com/signed-requests/helper/index.html
Keterangan mengenai pembuatan signature: http://docs.amazonwebservices.com/AlexaTopSites/latest/index.html?CalculatingSignatures.html
READ MORE - Generator Timestamp ISO 8601 Compliant - VB6 Code

Mendisablekan Seluruh Objek Yang Terdapat Pada PictureBox

Setelah sebelumnya kita mengetahui cara merubah .Caption dan ukuran Form, maka sekarang kita beralih topik mengenai cara mendisablekan seluruh objek yang terdapat pada PictureBox atau Frame. Jadi judul yang lebih tepat adalah mendisablekan seluruh objek yang terdapat pada PictureBox atau Frame menggunakan kode.

Sebelumnya ada beberapa hal yang harus diketahui, bahwa Form itu merupakan sebuah Container atau bisa disebut juga koleksi (Collection) demikian pula PictureBox dan Frame. Karena mereka (Form, PictureBox, Frame) adalah sebuah kontainer maka mereka dapat menampung objek-objek lain, sebagai contoh: apabila kita membuat sebuah Form dan pada Form tersebut kita tempatkan PictureBox maka bisa dikatakan: Kontainer Form menampung objek PictureBox. Dan apabila kita tempatkan sebuah CommandButton pada PictureBox tersebut, maka bisa dikatakan bahwa kontainer PictureBox menampung sebuah objek CommandButton.

Pada umumnya sebuah kontainer atau koleksi diperlengkapi dengan kode (dulu pada saat pembuatan) agar bisa memanggil objek secara sekaligus menggunakan perulangan For ... Each. Sebagai contoh:
    Dim c As Control 'Deklarasikan bahwa variabel c adalah Control bukan embe atau kucing. 
For Each c In Me.Controls
If TypeOf c Is CommandButton Then
c.Enabled = False 'disablekan
End If
Next
Apabila diterjemahkan maka kira-kira sebagai berikut: Jadikan variabel c sebagai Control bukang string, integer, embe, atau kucing. Untuk setiap c (Control) yang berada pada Container (Me.Controls) [lakukan:] disablekan c (c.Enabled = False).

Dengan memahami yang telah dijelaskan di atas, sekarang bagaimana jika kita ingin mendisablekan seluruh objek yang terdapat pada PictureBox (saja) tanpa mendisablekan objek-objek yang berada di luar PictureBox. Berikur merupakan salah satu contohnya:
Private Sub Command1_Click() 
Dim c As Control 'deklarasikan bahwa variabel c adalah Contol ehm..ehm.. Control
For Each c In Me.Controls
If c.Container.Name = "Picture1" Then
c.Enabled = False
End If
Next
End Sub
Untuk setiap c (control) yang berada pada container [lakukan] jika nama kontainernya adalah Picture1 [pengecualian] maka disablekan c (c.Enabled = False).
READ MORE - Mendisablekan Seluruh Objek Yang Terdapat Pada PictureBox

Saturday, May 26, 2012

Merubah Caption dan Ukuran Sebuah Form - VB6

Apa yang dimaksud dengan property .Caption? secara definisi yang mudah dipahami, property .Caption pada sebuah Form adalah tulisan yang terdapat pada sisi bagian kiri. Definisi tersebut berlaku bagi Anda orang Amerika, Indonesia dan sebagainya. Sedangkan jika Anda orang Arab atau Mesir maka Caption pada Form adalah tulisan yang berada pada sisi kanan bagian atas. Secara default pada saat kita menambahkan sebuah Form maka pada Form tersebut Captionnya akan bertuliskan Form1, kemudian kita tambah lagi Formnya maka akan bertuliskan Form2 dan seterusnya.

Apa yang dimaksud ukuran dalam sebuah form pada judul di atas? yang dimaksud dengan ukuran pada sebuah form adalah property .Height dan property .Weight. Nah, pada posting kali ini saya akan mendemokan bagaimana cara merubah property .Caption, property .Height, dan property .Weight secara bersamaan menggunakan kode. Adapun kodenya adalah sebagai berikut:
Option Explicit 

Private Sub
Command1_Click()
Form1.Caption = "Test" 'rubah property .Caption menjadi Test asalnya Form1
Form1.Width = 2500 'ganti nilai pada property .Width menjadi 2500
Form1.Height = 3000 'ganti nilai pada property .Height menjadi 3000
End Sub
Demikianlah cara merubah property .Caption, property .Height, dan property .Width secara bersamaan menggunakan kode bahasa pemrograman Visual Basic 6.0
READ MORE - Merubah Caption dan Ukuran Sebuah Form - VB6

Merubah Nilai (Property .Value) CheckBox Menggunakan Kode - VB6

Setelah memposting cara menukar Caption CommandButton, sekarang kita beralih object pada object CheckBox. Perlu diketahui bahwa property .Value yang terdapat pada object CheckBox nilainya bisa kira rubah secara pemrograman (melalui kode). Bagaimanakah cara merubah property .Value pada object CheckBox dari bernilai 0 menjadi bernilai 1 atau dari bernilai 1 menjadi bernilai 0 melalui Code VB6.0.

Berikut merupakan source code untuk merubah property .Value yang terdapat pada CheckBox menggunakan kode bahasa pemrograman Visual Basic 6.0.
Option Explicit 
 
Private Sub Command1_Click() 
    Check1.Value = 1 'menjadi bernilai 1 (tercentang) 
End Sub   
Sederhana sekali bukan? nah, demikianlah cara merubah property .Value yang terdapat pada object CheckBox menggunakan kode bahasa pemrograman Visual Basic 6.0. Semoga bermanfaat.
READ MORE - Merubah Nilai (Property .Value) CheckBox Menggunakan Kode - VB6

Friday, December 30, 2011

Get GetKeyboardLayout language from a thread

Option Explicit  
'Get GetKeyboardLayout language from a thread
'Original code by Gringo Man
Private Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long
Private Declare Function
GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long

Public Sub
KeyBoardLanguage()

Dim
TheardId As Long
Dim
TheardLang As Long
Dim
processid As Long

TheardId = GetWindowThreadProcessId(hwnd, processid)
TheardLang = GetKeyboardLayout(ByVal TheardId)
TheardLang = TheardLang Mod 10000

If
TheardLang = "9721" Then
MsgBox "English"
ElseIf
TheardLang = "5425" Then
MsgBox "Arabic"
End If

End Sub

Private Sub
Command1_Click()
KeyBoardLanguage
End Sub
READ MORE - Get GetKeyboardLayout language from a thread

Saturday, December 24, 2011

Visual Basic 6.0 - Beberapa Masalah File Manifest

Penggunaan file manifest untuk meng- Style XP-kan objek-objek Visual Basic 6.0 ternyata memiliki bebearapa masalah, diantaranya:
  1. Hilangnya shortcut mnemonic (shortcut underlin/underscore) yang biasa diakses melalui Alt + ...
  2. OptionButton dan CheckBox yang disimpan dalam kontainer Frame berubah berwarna hitam mengakibatkan Caption dari dua objek tersebut tidak dapat terbaca.
  3. CommandButton yang property style-nya diset pada mode 1-Graphical tidak mau berubah menjadi Style XP.
  4. MSCOMCTL.OCX TreeView, ToolBar, dsb tidak mau berubah menjadi Style XP.
Penyelesaian:
  • Masalah ke-1: Simpan kode di bawah ini pada module, selanjutnya panggil pada setiap Event Form Load.
    Option Explicit 

    Private Const
    WM_CHANGEUISTATE As Long = &H127
    Private Const UISF_HIDEFOCUS As Integer = &H1
    Private Const UISF_HIDEACCEL As Integer = &H2
    Private Const UIS_CLEAR As Integer = &H2

    Private Declare Function
    SendMessage Lib "user32" Alias "SendMessageA" _
    ByVal hwnd As Long, _
    ByVal wMsg As Long, _
    ByVal wParam As Long, _
    lParam As Any) As Long

    Public Sub
    ShowMnemonic(frm As Form)
    Dim uiState As Long
    uiState = MakeLong(UIS_CLEAR, UISF_HIDEFOCUS Or UISF_HIDEACCEL)
    SendMessage frm.hwnd, WM_CHANGEUISTATE, uiState, ByVal 0
    End Sub

    Private Function
    MakeLong(ByVal wLow As Integer, ByVal wHigh As Integer) As Long
    MakeLong = wHigh * &H10000 + wLow
    End Function
  • Masalah ke-2: Jangan tempatkan OptionButton dan CheckBox secara langsung di atas Frame, tetapi simpanlah kedua objek tersebut di atas PictureBox, selanjutnya pindahkan PictureBox ini ke dalam Frame.
  • Masalah ke-3: Mengenai permasalah ini Anda dapat mengunjugi situs Edanmo (Eduardo A. Morcillo).
  • Masalah ke-4: Sudah diselesaikan disini.
READ MORE - Visual Basic 6.0 - Beberapa Masalah File Manifest

VB6 Code - Cara Menggunakan NotifyIcon.OCX

Artikel di bawah ini kami beri judul Cara Menggunakan NotifyIcon.OCX, Apa yang dimaksud dengan NotifyIcon? lihat screenshot di bawah ini
.
Nah, sekarang Anda faham, apa yang dimaksud dengan NotifyIcon itu. NotifyIcon.ocx dibuat oleh Bhagwat Singh. NotifyIcon.OCX merupakan sebuah ocx yang bagus, ia dapat mengurangi kekomplekan pemograman. Setidaknya kita tidak direpotkan dengan membuat sebuah modul untuk keperluan Icon Tray dan modul untuk keperluan Baloon Tips. Apa yang harus Anda lakukan adalah mengisi properties-propertiesnya saja, hanya itu saja. Sekarang, bagaimanakah cara mengisi properties-propertiesnya menggunakan pengkodean. Copy dan pastekan code di bawah ini, sebelumnya Anda tambahkan NotifyIcon.ocx ke dalam project Anda.
Option Explicit

Private Const VERSI_KAMUS As String = "Kamus Bahasa Arab v3.0"

Private Sub Form_Load()
With NotifyIcon1
.Tip = VERSI_KAMUS
.BaloonIcon = BaloonIcon.Information
.ShowIcon
.BaloonTitle = VERSI_KAMUS
.BaloonText = VERSI_KAMUS & " - Memudahkan pencarian kosakata bahasa arab dengan fasilitas Windows Pop-Up"
.ShowBaloon
End With
End Sub

Private Sub Form_Unload(Cancel As Integer)
NotifyIcon1.DeleteIcon
End Sub
Catatan:
Kamus Bahasa Arab v1.0 s/d v3.0 (yang paling terakhir di release) seluruhnya menggunakan ocx ini.
READ MORE - VB6 Code - Cara Menggunakan NotifyIcon.OCX