' Funkcija SlovimaC(broj) ' ispisuje broj slovima u Unicode æirilici ' Dragan Grbiæ, novembar 2000. Function SlovimaC(broj) ' velika slova, azbucni raspored v_a = ChrW(1040): v_b = ChrW(1041): v_v = ChrW(1042): v_g = ChrW(1043): v_d = ChrW(1044) v_dj = ChrW(1026): v_e = ChrW(1045): v_zz = ChrW(1046): v_z = ChrW(1047): v_i = ChrW(1048) v_j = ChrW(1032): v_k = ChrW(1050): v_l = ChrW(1051): v_lj = ChrW(1033): v_m = ChrW(1052) v_n = ChrW(1053): v_nj = ChrW(1034): v_o = ChrW(1054): v_p = ChrW(1055): v_r = ChrW(1056) v_s = ChrW(1057): v_t = ChrW(1058): v_cc = ChrW(1035): v_u = ChrW(1059): v_f = ChrW(1060) v_h = ChrW(1061): v_c = ChrW(1062): v_ch = ChrW(1063): v_dz = ChrW(1039): v_sh = ChrW(1064) ' mala slova, azbucni raspored m_a = ChrW(1072): m_b = ChrW(1073): m_v = ChrW(1074): m_g = ChrW(1075): m_d = ChrW(1076) m_dj = ChrW(1106): m_e = ChrW(1077): m_zz = ChrW(1078): m_z = ChrW(1079): m_i = ChrW(1080) m_j = ChrW(1112): m_k = ChrW(1082): m_l = ChrW(1083): m_lj = ChrW(1113): m_m = ChrW(1084) m_n = ChrW(1085): m_nj = ChrW(1114): m_o = ChrW(1086): m_p = ChrW(1087): m_r = ChrW(1088) m_s = ChrW(1089): m_t = ChrW(1090): m_cc = ChrW(1115): m_u = ChrW(1091): m_f = ChrW(1092) m_h = ChrW(1093): m_c = ChrW(1094): m_ch = ChrW(1095): m_dz = ChrW(1119): m_sh = ChrW(1096) ReDim imebr(9) imebr(1) = m_j & m_e & m_d & m_a & m_n 'jedan imebr(2) = m_d & m_v & m_a 'dva imebr(3) = m_t & m_r + m_i 'tri imebr(4) = m_ch & m_e & m_t & m_i & m_r & m_i 'cetiri imebr(5) = m_p & m_e & m_t 'pet imebr(6) = m_sh & m_e & m_s + m_t 'sest imebr(7) = m_s & m_e & m_d & m_a & m_m 'sedam imebr(8) = m_o & m_s & m_a & m_m 'osam imebr(9) = m_d & m_e & m_v & m_e & m_t 'devet If broj = 0 Then rez = m_n & m_u & m_l & m_a 'nula Else rez = "" End If celi = Application.WorksheetFunction.RoundDown(broj, 0) dec = ((broj - celi) * 100) Mod 100 cbr = Str(celi) duzina = 16 - Len(cbr) cbroj = String(duzina, "0") & Right(cbr, Len(cbr) - 1) i = 1 Do While i < 15 tric = Mid(cbroj, i, 3) trojka = Val(tric) If tric <> "000" Then cs = Val(Mid(tric, 1, 1)) cd = Val(Mid(tric, 2, 1)) cj = Val(Mid(tric, 3, 1)) Select Case cs Case 2 rez = rez & m_d & m_v & m_e 'dve Case Is > 2 rez = rez & imebr(cs) End Select Select Case cs Case 1 rez = rez & m_s & m_t & m_o & m_t & m_i & m_n & m_u ' stotinu Case 2, 3, 4 rez = rez & m_s & m_t & m_o & m_t & m_i & m_n & m_e ' stotine Case Is > 4 rez = rez & m_s & m_t & m_o & m_t & m_i & m_n & m_a ' stotina End Select If cj = 0 Then sl1 = "" Else sl1 = imebr(cj) Select Case cd Case 4 rez = rez & m_ch & m_e & m_t & m_r 'cetr Case 6 rez = rez & m_sh & m_e & m_z ' sez Case 5 rez = rez & m_p & m_e ' pe Case 9 rez = rez & m_d & m_e & m_v & m_e ' deve Case 2, 3, 7, 8 rez = rez & imebr(cd) Case 1 sl1 = "" Select Case cj Case 0 rez = rez & m_d & m_e & m_s & m_e & m_t ' deset Case 1 rez = rez & m_j & m_e & m_d & m_a 'jeda Case 4 rez = rez & m_ch & m_e & m_t & m_r ' cetr Case Else rez = rez & imebr(cj) End Select If cj > 0 Then rez = rez & m_n & m_a & m_e & m_s & m_t ' naest End Select If cd > 1 Then rez = rez & m_d & m_e & m_s & m_e & m_t ' deset If (i = 4 Or i = 10) And cd <> 1 Then If cj = 1 Then sl1 = m_j & m_e & m_d & m_n & m_a ' jedna ElseIf cj = 2 Then sl1 = m_d & m_v & m_e ' dve End If End If rez = rez & sl1 Select Case i Case 1 rez = rez & m_b & m_i & m_l & m_i & m_o & m_n ' bilion If cj > 1 Or cd = 1 Then rez = rez & m_a Case 4 rez = rez & m_m & m_i & m_l & m_i & m_j & m_a & m_r & m_d ' milijard If ((trojka Mod 100) > 11 And (trojka Mod 100) < 19) Then rez = rez & m_i ElseIf cj = 1 Then rez = rez & m_a ElseIf cj > 4 Or cj = 0 Then rez = rez & m_i ElseIf cj > 1 Then rez = rez & m_e End If Case 7 rez = rez & m_m & m_i & m_l & m_i & m_o & m_n ' milion If ((trojka Mod 100) > 11 And (trojka Mod 100) < 19) Or cj <> 1 Then rez = rez & m_a End If Case 10 rez = rez & m_h & m_i & m_lj & m_a & m_d ' hiljad If ((trojka Mod 100) > 11 And (trojka Mod 100) < 19) Or cj = 1 Then rez = rez & m_a ElseIf trojka = 1 Then rez = rez & m_u ElseIf cj > 4 Or cj = 0 Then rez = rez & m_a ElseIf cj > 1 Then rez = rez & m_e End If End Select End If i = i + 3 Loop If dec = 0 Then SlovimaC = rez & " " & m_d & m_i & m_n & m_a & m_r & m_a Else SlovimaC = rez & Str(dec) & "/100" & " " & m_d & m_i & m_n & m_a & m_r & m_a End If End Function