Thursday, September 28, 2017

Membuat Angka Terbilang Dengan VB6.0

10:05 PM Posted by Unknown No comments
Senang rasanya bisa berbagi lagi buat temen-temen karena udah lama gak posting, kali ini tentang cara Menampilkan Angka Terbilang dengan Visual Basic. Maksud angka terbilang disini adalah penulisan angka-angka dengan huruf misalnya Rp. 1.500 jadi (Seribu Lima Ratus Rupiah) tapi tips kali ini hanya untuk penulisan bilangan genap saja dan belum bisa digunakan untuk bilangan decimal atu bilangan berkoma, untuk menghemat waktu dan jangan capek ngetiknya (udah pasti neh) lanjut aja kita dengan cara pembuatan coding nya, nah bagi yang berkenan silakan ikuti langkah-langkah berikut


Persiapan yang dilakukan
Buat Project Baru Standart Exe
Tambahkan 1 buah TextBox dan 1 Label
Tambahkan 1 buah Module

’Ketik Coding dibawah ini pada module

Option Explicit

Public Const vbKeyDecPt = 46
Public Function ConvertirEnText(ValNum As Double) As String

Static Unites(0 To 9) As String
Static Dixaines(0 To 9) As String
Static LesDixaines(0 To 9) As String
Static Milliers(0 To 4) As String

Dim i As Integer
Dim nPosition As Integer
Dim ValNb As Integer
Dim LesZeros As Integer
Dim strResultat As String
Dim strTemp As String
Dim tmpBuff As String

Unites(0) = "nol"
Unites(1) = "satu"
Unites(2) = "dua"
Unites(3) = "tiga"
Unites(4) = "empat"
Unites(5) = "lima"
Unites(6) = "enam"
Unites(7) = "tujuh"
Unites(8) = "delapan"
Unites(9) = "sembilan"

Dixaines(0) = "sepuluh"
Dixaines(1) = "sebelas"
Dixaines(2) = "dua belas"
Dixaines(3) = "tiga belas"
Dixaines(4) = "empat belas"
Dixaines(5) = "lima belas"
Dixaines(6) = "enam belas"
Dixaines(7) = "tujuh belas"
Dixaines(8) = "delapan belas"
Dixaines(9) = "sembilan belas"

LesDixaines(0) = ""
LesDixaines(1) = "sepuluh"
LesDixaines(2) = "dua puluh"
LesDixaines(3) = "tiga puluh"
LesDixaines(4) = "empat puluh"
LesDixaines(5) = "lima puluh"
LesDixaines(6) = "enam puluh"
LesDixaines(7) = "tujuh puluh"
LesDixaines(8) = "delapan puluh"
LesDixaines(9) = "sembilan puluh"

Milliers(0) = ""
Milliers(1) = "ribu"
Milliers(2) = "juta"
Milliers(3) = "milyard"
Milliers(4) = "triliyun"

On Error GoTo NbVersTexteError

strTemp = CStr(Int(ValNum)) 'Untuk Konversi Angka yang di format ke default

For i = Len(strTemp) To 1 Step -1
ValNb = Val(Mid$(strTemp, i, 1))
nPosition = (Len(strTemp) - i) + 1
Select Case (nPosition Mod 3)
Case 1
LesZeros = False
If i = 1 Then
If ValNb > 1 Then
tmpBuff = Unites(ValNb) & " "
Else
tmpBuff = ""
End If
ElseIf Mid$(strTemp, i - 1, 1) = "1" Then
tmpBuff = Dixaines(ValNb) & " "
i = i - 1
ElseIf ValNb > 0 Then
tmpBuff = Unites(ValNb) & " "
Else
LesZeros = True
If i > 1 Then
If Mid$(strTemp, i - 1, 1) <> "0" Then
LesZeros = False
End If
End If
If i > 2 Then
If Mid$(strTemp, i - 2, 1) <> "0" Then
LesZeros = False
End If
End If
tmpBuff = ""
End If
If LesZeros = False And nPosition > 1 Then
tmpBuff = tmpBuff & Milliers(nPosition / 3) & " "
End If
strResultat = tmpBuff & strResultat
Case 2
If ValNb > 0 Then
strResultat = LesDixaines(ValNb) & " " & _
strResultat
End If
Case 0
If ValNb > 0 Then
If ValNb > 1 Then
strResultat = Unites(ValNb) & " ratus " & _
strResultat
Else
strResultat = "seratus " & strResultat
End If
End If
End Select
Next i
If Len(strResultat) > 0 Then
strResultat = UCase$(Left$(strResultat, 1)) & _
Mid$(strResultat, 2)
End If

EndNbVersTexte:
ConvertirEnText = strResultat & " rupiah"
Exit Function

NbVersTexteError:
strResultat = "Une Erreur !"
Resume EndNbVersTexte
End Function

Public Function AngkaTerbilang(Counter As Double) As String
On Error Resume Next
Dim A As Single
AngkaTerbilang = ConvertirEnText(Counter)
A = Len(ConvertirEnText(Counter))
If Mid(ConvertirEnText(Counter), 1, 4) = "Ribu" Then
AngkaTerbilang = "Se" + Mid(ConvertirEnText(Counter), 1, A)
End If
If Mid(ConvertirEnText(Counter), 1, 4) = "Juta" Then
AngkaTerbilang = "Satu " + Mid(ConvertirEnText(Counter), 1, A)
End If
If Mid(ConvertirEnText(Counter), 1, 7) = "" Then
AngkaTerbilang = "Satu " + Mid(ConvertirEnText(Counter), 1, A)
End If
If Mid(ConvertirEnText(Counter), 1, 7) = "Milyard" Then
AngkaTerbilang = "Satu " + Mid(ConvertirEnText(Counter), 1, A)
End If
End Function

’Ketik Coding dibawah ini pada Form

Option Explicit

Private Sub Text1_Change()
If Text1 <> "" Then
Text1.Text = Format(Text1, "#,##0")
Text1.SelStart = Len(Text1)
Label1.Caption = AngkaTerbilang(Text1)
Label1.Caption = StrConv(Label1, vbProperCase)
Else
Label1.Caption = ""
End If
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = vbKeyDecPt Or KeyAscii = vbKeyBack Then
Exit Sub
Else
KeyAscii = 0
End If
End Sub

Nah coba jalankan program atau tekan F5 dan isi beberapa angka pada Text1 akan secara otomatis angka terbilangnya akan ditampilkan pada Label1.

Mudah-mudahan ada mampaat nya bagi kita semua, dan jangan lupa beri komentar nya yah … sebelumnya saya ucapkan terima kasih ... wassalam

Membuat Auto Complete Pada Combobox VB6.0

9:56 PM Posted by Unknown 1 comment
Pada postingan kali ini saya akan membahas kembali mengenai Visual Basic yaitu Membuat Auto Complete pada Combo Box, maksud Auto Complete disini adalah Melengkapi Teks secara Otomatis pada saat sedang melakukan pengetikan ke data yang mendekati atau yang dinginkan, dengan catatan apabila data tersebut ada pada list data Combo Box tersebut.

Tip ini sangat berguna apabila menggunakan combobox yang di dalamnya terdiri atas ratusan bahkan ribuan data. User (pengguna/pemakai program) akan kesulitan jika harus memilih satu per satu menggunakan scroll combobox ke bawah hingga data yang diinginkan ketemu. Dengan adanya tip ini, user cukup hanya mengetikkan beberapa karakter awal, dan program akan otomatis melengkapinya, sehingga tidak perlu mengetik sampai akhir. Nah bagi yang berkenan untuk Tip ini silahkan ikuti langkah-lah berikut

  • Buatlah Project Baru Standart Exe
  • Tambahkan 1 buah ComboBox Style : Dropdown Combo
  • Tambahkan 1 buah Module
'Ketik Coding berikut pada Module

Option Explicit

Const CB_FINDSTRING = &H14C

Public 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 Enum EnumKarakter
Asli = 0
Ubah = 1
End Enum

Public Function AutoComplete( _
cbCombo As ComboBox, _
sKeyAscii As Integer, _
Optional bUpperCase As Boolean = True, _
Optional cCharacter As EnumKarakter = Asli) _
As Integer
Dim lngFind As Long, intPos As Integer
Dim intLength As Integer, tStr As String
With cbCombo
If sKeyAscii = 8 Then
If .SelStart = 0 Then Exit Function
.SelStart = .SelStart - 1
.SelLength = 32000
.SelText = ""
Else
intPos = .SelStart
tStr = .Text
If bUpperCase = True Then
.SelText = UCase(Chr(sKeyAscii))
Else
.SelText = (Chr(sKeyAscii))
End If
End If

lngFind = SendMessage(.hwnd, CB_FINDSTRING, 0, _
ByVal .Text)
If lngFind = -1 Then
Exit Function
Else
intPos = .SelStart
intLength = Len(.List(lngFind)) - Len(.Text)
If cCharacter = Ubah Then
.SelText = .SelText & Right(.List(lngFind), _
intLength)
Else
.Text = .List(lngFind)
End If
.SelStart = intPos
.SelLength = intLength
End If
End With
End Function

' Ketik Coding diberikut pada Form 

Option Explicit

Private Sub Combo1_KeyPress(KeyAscii As Integer)
KeyAscii = AutoComplete(Combo1, KeyAscii, False, Asli)
End Sub

Private Sub Form_Load()
Call AddData
End Sub

Private Sub AddData()
With Combo1
.Clear
.AddItem "Califormia"
.AddItem "Colorado"
.AddItem "Connecticut"
.AddItem "Delaware"
.AddItem "Florida"
.AddItem "Georgia"
.AddItem "Terserah"
End With
End Sub

Kemudian Run (jalankan) Program atau tekan F5, lalu pada combobox coba ketik huruf C , maka secara Otomatis teks pada combobox akan menjadi California. Semoga Tip ini ada mamfaat nya bagi kita semua, dan jangan lupa nitip komennya ya, terimakasih sebelumnya ... salam

MEMBUAT FORM TRANSPARAN PADA VB6.0

9:43 PM Posted by Unknown No comments
Tips kali ini adalah bagaimana Membuat Form Transparantdengan Visual Basic, disini kita menggunakan Fungsi API yaitu GetWindowLong, SetWindowLong dan SetLayeredWindowAttributes. Saya rasa tidak perlu penjelasan yang detail untuk hal ini sobat bisa langsung melihat penampakannya dibawah ini
Bagaimana dengan Codingnya ikuti Langkah - Langkah Berikut :

  • Buat Project Baru Standart Exe
Ketik Coding dibawah ini pada Form Project Sobat

Option Explicit

Private Const WS_EX_LAYERED = &H80000
Private Const GWL_EXSTYLE = (-20)
Private Const LWA_COLORKEY = &H1
Private Const LWA_ALPHA = &H2

Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetLayeredWindowAttributes Lib "user32" (ByVal hwnd As Long, ByVal crColor As Long, ByVal nAlpha As Byte, ByVal dwFlags As Long) As Long

Private Sub Form_Load()
Call SetWindowLong(Me.hwnd, GWL_EXSTYLE, GetWindowLong(Me.hwnd, GWL_EXSTYLE) Or WS_EX_LAYERED)
Call SetLayeredWindowAttributes(Me.hwnd, RGB(255, 0, 255), 128, LWA_ALPHA Or LWA_COLORKEY)
End Sub

Untuk ketajaman transparant sobat bisa menggati Angka - Angka yang berwarna merah dengan angka yang lain (maximal value 255). Mudah - mudahan ada mamfaatnya selamat mencoba ... salam

HACK TASKBAR WINDOWS MENGGUNAKAN VB6.0

9:38 PM Posted by Unknown No comments
Masih seputar Tips - Trik Visual Basic tentunya, kali ini saya coba membahas tentang Hack Taskbar Windows yaitu bagaimana caranya Menghilangkan Taskbar, Menghilangkan Button Start serta cara Menghilangkan Waktu / Tanggal yang ada pada Sistray Area tapi sobat tidak perlu kwatir pasti ada pengembalian atau reset kedefault semula. Mungkin sobat masih ngambang tentang penjelasan saya diatas, dengan gambar dibawah ini mudah-mudahan sobat bisa paham maksud dari Tips - Trik ini.


Okelah kalau begitu saya akan lanjutkan tentang coding nya bagi yang tertarik silakan ikuti langkah - langkah berikut ...
  • Tambahkan tiga buah CommandButton diproject, masing-masing dengan nama : cmdTaskbar, cmdStartButton dan cmdSystemClock
  • Tambahkan satu buah Module

' Tempatkan Coding dibawah ini pada Module

Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function GetDlgItem Lib "user32" (ByVal hDlg As Long, ByVal nIDDlgItem As Long) As Long
Public TaskBarStyle As Boolean, StartButtonStyle As Boolean, SystemClockStyle As Boolean
Public Const StartButtonID = &H130
Public Const SystemClockID = &H12F
Public Const SW_HIDE = 0
Public Const SW_SHOW = 5

Public Sub HideTaskBar()
Dim wClassName As String
Dim hwndTaskbar As Long
wClassName = "Shell_TrayWnd"
hwndTaskbar = FindWindow(wClassName, vbNullString)
If TaskBarStyle = False Then
Form1.cmdTaskbar.Caption = "Show Taskbar"
ShowWindow hwndTaskbar, SW_HIDE
TaskBarStyle = True
Else
Form1.cmdTaskbar.Caption = "Hide Taskbar"
ShowWindow hwndTaskbar, SW_SHOW
TaskBarStyle = False
End If
End Sub


Public Sub HideStartButton()
Dim wClassName As String
Dim hwndTaskbar As Long, hwndStartbutton As Long
wClassName = "Shell_TrayWnd"
hwndTaskbar = FindWindow(wClassName, vbNullString)
hwndStartbutton = GetDlgItem(hwndTaskbar, StartButtonID)
If StartButtonStyle = False Then
Form1.cmdStartButton.Caption = "Show Start Button"
ShowWindow hwndStartbutton, SW_HIDE
StartButtonStyle = True
Else
Form1.cmdStartButton.Caption = "Hide Start Button"
ShowWindow hwndStartbutton, SW_SHOW
StartButtonStyle = False
End If
End Sub

Public Sub HideSystemClock()
Dim wClassName As String
Dim hwndTaskbar As Long, hwndSystemClock As Long
wClassName = "Shell_TrayWnd"
hwndTaskbar = FindWindow(wClassName, vbNullString)
hwndSystemClock = GetDlgItem(GetDlgItem(hwndTaskbar, SystemClockID), SystemClockID)
If SystemClockStyle = False Then
Form1.cmdSystemClock.Caption = "Show System Colock"
ShowWindow hwndSystemClock, SW_HIDE
SystemClockStyle = True
Else
Form1.cmdSystemClock.Caption = "Hide System Clock"
ShowWindow hwndSystemClock, 5
SystemClockStyle = False
End If
End Sub

Public Sub SetToDefault()
TaskBarStyle = True
StartButtonStyle = True
SystemClockStyle = True
HideTaskBar
HideStartButton
HideSystemClock
End Sub

' Tempatkan Coding dibawah ini pada Form Project

Private Sub cmdStartButton_Click()
HideStartButton
End Sub

Private Sub cmdSystemClock_Click()
HideSystemClock
End Sub

Private Sub cmdTaskbar_Click()
HideTaskBar
End Sub

Private Sub Form_Load()
cmdTaskbar.Caption = "Hide TaskBar"
cmdStartButton.Caption = "Hide Start Button"
cmdSystemClock.Caption = "Hide System Clock"
End Sub

Private Sub Form_Unload(Cancel As Integer)
SetToDefault
End Sub

Mudah - mudahan Tips ini ada mamfaat nya bagi kita semua dan VB Developer khususnya, semoga tidak digunakan untuk menjahili teman atau orang lain. Kalau ada kesempatan dan waktu kita akan ketemu dengan Tips - Trik berikutnya .. terima kasih.