Private Sub Command1_Click()
'************* racun do milion *****************
' ovaj kod jedino moze da sluzi za profakture, otpremnice ili sl. :))
' "napisite iznos i slovima" ....
' ja licno mislim da je to u pitanju
' ako ti treba za vise od milion onda im ti bajo naplati malo vise za ovaj kod
' jer kad imaju profakture na milion i vise, imaju i pare !!!
' ... malo zajebacije, nemoj da me shvatis pogresno
jedinice = Array("", "jedan", "dva", "tri", "cetiri", _
"pet", "sest", "sedam", "osam", "devet")
od11do19 = Array("", "jedanaest", "dvanaest", "trinaest", _
"cetrnaest", "petnaest", "sesnaest", "sedamnaest", "osamnaest", "devetnaest")
desetice = Array("", "deset", "dvadeset", "trideset", "cetrdeset", _
"pedeset", "sezdeset", "sedamdeset", "osamdeset", "devedeset")
stotine = Array("", "sto", "dvesta", "trista", "cetiristo", _
"petsto", "sesto", "sedamsto", "osamsto", "devetsto")
hiljade = Array("", "jedna", "dve", "tri", "cetiri", _
"pet", "sest", "sedam", "osam", "devet")
broj = Val(Trim(Text1.Text)) ' kompletan broj
br = Int(Val(Trim(Text1.Text))) ' celobrojni deo - u brojnom obliku
brstr = Str(br) ' br koji obradjujemo u string obliku, recimo da je u text box-u
brstr = "0000000000000" & brstr ' dodamo po neku nulu na pocetak da bolje radi, hehe :)
If InStr(1, Str(broj), ".", 1) > 0 Then ' da li postoji zarez
zarez = Mid(Str(broj), InStr(1, Str(broj), ".", 1) + 1, 2) ' dve decimale u zarezu
Else
zarez = ""
End If
If Len(zarez) < 2 Then zarez = zarez & "0"
zarezbr = Val(zarez)
MsgBox zarez
MsgBox broj
' ******* prvo zarez *********
' prvo jedinice
jed = hiljade(Val(Right(zarez, 1))) ' hiljade zbog "jedna para" i sl.
' pa desetice
If Int(zarezbr / 10) > 0 Then
des = desetice(Val(Left(Right(zarez, 2), 1)))
Else
des = ""
End If
' specifican slucaj
If (jed <> "") And (des = "deset") Then
des = od11do19(Val(Right(zarez, 1)))
jed = ""
End If
para = des & " " & jed ' para je stoti deo dinara ako niste znali
If jed = "dve" Or jed = "tri" Or jed = "cetiri" Then
par = " pare"
Else
par = " para"
End If
If jed = "" And des = "" Then para = ""
jed = ""
des = ""
'If Val(para) = 0 Then para = ""
' ******* celobrojni deo *********
' prvo jedinice
jed = jedinice(Val(Right(brstr, 1)))
' pa desetice
If Int(br / 10) > 0 Then
des = desetice(Val(Left(Right(brstr, 2), 1)))
Else
des = ""
End If
' specifican slucaj
If (jed <> "") And (des = "deset") Then
des = od11do19(Val(Right(brstr, 1)))
jed = ""
End If
' stotine
If Int(br / 100) > 0 Then
stot = stotine(Val(Left(Right(brstr, 3), 1)))
Else
stot = ""
End If
If jed = "jedan" Then
din = "dinar"
Else
din = "dinara"
End If
dohilj = stot & " " & des & " " & jed ' do 10^3
' ******** za hiljade sve isto samo krecemo od cetrvrte cifre od pozadi ********
' prvo jedinice
jed = hiljade(Val(Left(Right(brstr, 1 + 3), 1)))
' pa desetice
If Int(br / 10000) > 0 Then
des = desetice(Val(Left(Right(brstr, 2 + 3), 1)))
Else
des = ""
End If
' specifican slucaj
If (jed <> "") And (des = "deset") Then
des = od11do19(Val(Left(Right(brstr, 1 + 3), 1)))
jed = ""
'Debug.Print des & jed
End If
' stotine
If Int(br / 100000) > 0 Then
stot = stotine(Val(Left(Right(brstr, 3 + 3), 1)))
Else
stot = ""
End If
'******************************************
If jed = "dve" Or jed = "tri" Or jed = "cetiri" Then
hilj = "hiljade"
Else
hilj = "hiljada"
End If
If jed = "" And des = "" Then hilj = ""
' evo ga rezultat :
suma = stot & " " & des & " " & jed & " " & hilj & " " & dohilj & " " & din
If para <> "" Then suma = suma & " i " & para & par
Debug.Print suma
par = ""
din = ""
' inace sve ovo bi moglo da se ubudzi u petlju pa da pici i milione, milijarde ...
' ... mrzelo me to da radim ali cu ovih dana i to da uradim pa cu da uploadujem ovde
End Sub
fire, walk with me