Minggu, 22 November 2009

Menampilkan Angka Terbilang dengan Visual Basic

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 tip 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

Cara Membuat Caption Label Bergerak (VB)

Semangat lagi nih Pagerank udah pulih , hehehe .. kemarin sempat diturunin jadi dua sekarang udah normal lagi jadi tiga .. thx mbah Google (wekekeke). Walau beberapa hari ini jarang ol dikarenakan ada sedikit gangguan tapi eRGe masih sempatkan untuk Update Posting Blog Maniac ini, Tips kali ini masih seputar Visual Basic yaitu Membuat Caption Label Bergerak , maksudnya bisa berjalan-jalan (smoga aja gak kesasar yah .. wekekeke) kalau di Html istilah nya Marquee (kalo gak salah), mudah-mudahan yang saya maksud bisa ngerti yah, kalo gak ngerti di mengertiin aja deh (wekekeke), Nah bagi yang berminat silakan ikuti langkah-langkah dibawah ini, Persiapan :

- Buat Project baru Standart Exe
- Tambahkan 1 buah Control Timer (Timer1) Property yang diset :
Enable = True, Interval = 100
- Satu Buah Control Label (Label1)

Ketik Coding dibawah ini pada Form Project


Dim Pos As Integer, StartPos As Integer, Lengh As Integer, iTeks As Integer
Dim MyTeks As String

Private Sub Form_Load()
iTeks = 1
End Sub

Private Sub Timer1_Timer()
Pos = Pos + 1
If iTeks = 1 Then
MyTeks = "Ini adalah Contoh ..."
ElseIf iTeks = 2 Then
MyTeks = "Pembuatan Label Berjalan"
ElseIf iTeks = 3 Then
MyTeks = "Dengan Visual Basic"
End If
StartPos = Len(MyTeks)
Lengh = StartPos - Pos
If Lengh = 0 Then
If iTeks = 1 Then
iTeks = 2
ElseIf iTeks = 2 Then
iTeks = 3
ElseIf iTeks = 3 Then
iTeks = 1
End If
Pos = 0 - StartPos
End If
Label1 = Right(MyTeks, Lengh)
End Sub


Mudahkan gak ribet , Sekarang Coba sobat jalan kan Project nya (Tekan F5) Caption pada label1 akan berjalan-jalan dan tulisannya bergantian tapi hati-hati sob jangan sampai labelnya kesasar gak tau pulang (wekekekekeke).

Mudah-mudahan ada mamfaat nya bagi sobat-sobat semua, dan khusus pada VB Depelover yang masih pemula tentunya (Salam), terimakasih sebelumnya buat sobat-sobat yang sudah bersedia memberikan komentarnya.

Contoh Pembuatan Program Trial Version (VB)

Program Versi Trial merupakan suatu Program atau Aplikasi yang sengaja dibuat menggunakan batas waktu tertentu sesuai keingingan si Software Maker, jadi apabila lewat batas waktu yg sudah ditentukan program tidak dapat digunakan lagi. Apabila pengguna sudah terlanjur menyukai program tersebut dan ingin menggunakan nya lagi, mau tidak mau pengguna harus memenuhi persyaratan yg diajukan oleh si software maker. Kebanyakan Program yg seperti ini digunakan sebagai sarana untuk mempromosikan suatu progam atau aplikasi.

Nah pada postingan kali ini saya coba membahas tentang contoh pembuatan program tersebut, bagi yang berkenan silakan ikuti langkah – langkah berikut :



- Buat Project Baru (Standart Exe)
- Tambah dua buah Label pada Form

Ketik code berikut pada Form


Option Explicit

Dim x
Dim y
Dim jumlah
Dim sisa

Private Sub Form_Load()
MsgBox "Program ini hanya dapat di gunakan 5 kali", 48, "Info"
x = GetSetting("y", "y", "y")
jumlah = Val(x) + 1
SaveSetting "Y", "Y", "Y", jumlah
Label1.Caption = "Program sudah dijalankan " & jumlah & " Kali"
sisa = 5 - jumlah
Label2.Caption = "Sisa pemakaian " & sisa & " Kali"

If jumlah > 5 Then
MsgBox "Batas waktu pemakaian sudah habis" + vbCrLf + _
"untuk menggunakan program ini lagi" + vbCrLf + _
"Anda harus menghubungi saya ....", 4, "Info"
Unload Me
End If

End Sub


Mudah – mudahan ada mampaat nya bagi kita semua … dan terimakasih bagi yang mau ngasih komen pada postingan ini …. Salam

Cara Menghitung VB Ala Ms. Exce

Nah kesempatan kali ini eRGe kembali mencoba berbagi lagi tentang VB mengenai masalah Penghitungan VB ala Excel , sudah barang tentu sobat VB Depelopper pernah melihat perkalian seperti ini 20*10+(30-19) yang menghasilkan 211 kalau di Excel, hmm bisa kah perkalian ini di terapkan di Visual Basic .. ?, jawabannya tentu dunk (hehehehe). Bagi yang tertarik dan berminat silakan aja ikuti langkah berikut ini eRGe akan ngasih contoh codingnya

Persiapan yang dilakukan:

Buat Project Baru Standart exe
Tambahkan 1 buah TextBox (Text1)
Tambahkan 1 buah Label (Label1)
Tambahkan 1 Buah CommandButton (Command1) caption : =

'Ketik Coding dibawah ini pada Form Project


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 Command1_Click()
Dim excel_app As Object
Dim excel_sheet As Object

Set excel_app = CreateObject("Excel.Application")

excel_app.Workbooks.Add
If Val(excel_app.Application.Version) >= 8 Then
Set excel_sheet = excel_app.ActiveSheet
Else
Set excel_sheet = excel_app
End If

excel_sheet.Cells(1, 1) = "=" & Text1.Text

Label1.Caption = excel_sheet.Cells(1, 1)
Label1.Caption = Format$(Label1.Caption, "#,##0")

excel_app.ActiveWorkbook.Close False

excel_app.Quit
Set excel_sheet = Nothing
Set excel_app = Nothing
End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then Command1_Click
End Sub


Setelah semua selesai coba sobat ketik 20*10+(30-19) atau perkalian yang lain pada Text1 .. kemudian tekan enter atau click CommandButton .. pada Label1 akan didapat hasil perkalian tersebut.

Mudah-mudah ada mamfaatnya bagi kita semua khusus nya bagi rekan-rekan VB Developper yang masih junior seperti saya semoga Artikel ini bisa menambah perbendaharaan ilmu nya dan terima kasih sebelum bagi sobat-sobat yang sudah berkenan memberikan Argumen nya ... salam.