|
Object yang dibutuhkan :
Timer : Timer1 Label : Jam, BlinkText Textbox : Nilai, Hasil CommandButton : cmdKeluar
Script Code :
Private Function Diganti1(ByVal NilaiRupiah As Currency) As String Dim Grade As Variant Dim strMenjadiText As String Dim strBagian As String Dim Tingkat As Byte Grade = Array("Milyar ", "Juta ", "Ribu ", "") strMenjadiText = "" If Len(CStr(NilaiRupiah)) > 12 Then strMenjadiText = "Lagi nyoba lebih dari 12 digit yah?. Tak Bisa Diganti ke" Else strBagian = Format(NilaiRupiah, String(12, "0″)) For Tingkat = 1 To 4 If Val(Mid(strBagian, (Tingkat - 1) * 3 + 1, 3)) > 0 Then strMenjadiText = strMenjadiText & Diganti2(Mid(strBagian, (Tingkat - 1) * 3 + 1, 3), Tingkat) strMenjadiText = strMenjadiText & Grade(Tingkat - 1) End If Next Tingkat End If Diganti1 = strMenjadiText End Function
Private Function Diganti2(ByVal strBagian As String, ByVal Tingkat As Byte) As String Dim FormatNomor1 As Variant, FormatNomor2 As Variant Dim i As Integer Dim strHasil As String Dim NilaiSimpan As Byte FormatNomor1 = Array("Satu ", "Dua ", "Tiga ", "Empat ", "Lima ", "Enam ", "Tujuh ", "Delapan ", "Sembilan ") FormatNomor2 = Array("Ratus ", "Puluh ", "") For i = 1 To 3 NilaiSimpan = Val(Mid(strBagian, i, 1)) If NilaiSimpan = 1 Then If i = 1 Then strHasil = "Seratus " ElseIf i = 2 Then i = i + 1 NilaiSimpan = Val(Mid(strBagian, i, 1)) If NilaiSimpan = 0 Then strHasil = strHasil & "Sepuluh " ElseIf NilaiSimpan = 1 Then strHasil = strHasil & "Sebelas " Else strHasil = strHasil & FormatNomor1(NilaiSimpan - 1) & "Belas " End If ElseIf Val(strBagian) = 1 And Tingkat = 3 Then strHasil = strHasil & "Se " Else strHasil = strHasil & "Satu " End If ElseIf NilaiSimpan 0 Then strHasil = strHasil + FormatNomor1(NilaiSimpan - 1) + FormatNomor2(i - 1) End If Next i Diganti2 = strHasil End Function
Private Sub Command1_Click() Unload Me End End Sub
Private Sub Nilai_Change() On Error Resume Next If Nilai.Text "" Then Hasil.Text = Diganti1(Nilai) & " Rupiah" Else Hasil.Text = "None" End If End Sub
Private Sub Nilai_KeyPress(KeyAscii As Integer) Dim pilih As String If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = 13 Or KeyAscii = vbKeyBack Then Exit Sub Else KeyAscii = vbKeyReturn pilih = MsgBox(" Kolom ini hanya dapat diisi dengan FormatNomor!", vbOKOnly + 64, " Salah Ketik") End If End Sub
Private Sub Timer1_Timer() Label5.Caption = Now() If Label8.Visible = True Then Label8.Visible = False Else Label8.Visible = True End If End Sub
Please login or register to add comments |