Участник
Профиль
Группа: Гость форума
Сообщений: 4
Регистрация: 09.01.2003
Из: Волгоград
Пользователь №: 4598
Конфигурация
Корпус: -- Процессор: -- Материнская плата: -- Оперативная память: -- Видеокарта: -- Жесткий диск (винчестер): -- Дисковод: -- CD/DVD: -- Модем: -- Сетевой адаптер: -- Звуковая плата: -- Монитор: -- Операционная система: -- Прочее: --
|
сбрось это в модуль, а дальше используй Вставка втавить функцию Translat Public Constr As String Function Translat(ch) As String Static chislo As Long chislo = Val(ch) Constr = "" leng = Len(Str(chislo)) - 1 If leng > 9 Then hi = chislo 1000000000 conv hi, 1 chislo = chislo - (hi * 1000000000) leng = 9 End If If leng > 6 Then hi = chislo 1000000 conv hi, 2 chislo = chislo - (hi * 1000000) leng = 6 End If If leng > 3 Then hi = chislo 1000 conv hi, 3 chislo = chislo - (hi * 1000) leng = 3 End If If leng <= 3 Then conv chislo, 4 End If stfirst = Left(Constr, 1) stlast = Right(Constr, (Len(Constr) - 1)) Upstfirst = UCase(stfirst) Translat = Upstfirst + stlast + " руб." End Function
Sub conv(number1, order) Dim st(4, 3) As String st(1, 1) = "миллиард" st(1, 2) = "миллиарда" st(1, 3) = "миллиардов" st(2, 1) = "миллион" st(2, 2) = "миллиона" st(2, 3) = "миллионов" st(3, 1) = "тысяча" st(3, 2) = "тысячи" st(3, 3) = "тысяч" st(4, 1) = "" st(4, 2) = "" st(4, 3) = "" s = "" Select Case (Len(Str(number1)) - 1) Case 1 low = number1 hi = 0 med = 0 Case 2 low = number1 Mod 10 med = number1 10 hi = -1 Case 3 low = number1 Mod 10 hi = number1 100 med = (number1 10) - hi * 10 End Select Select Case hi Case 0 hi = 0 Case 1 s = "сто " Case 2 s = "двести " Case 3 s = "триста " Case 4 s = "четыреста " Case 5 s = "пятьсот " Case 6 s = "шестьсот " Case 7 s = "семьсот " Case 8 s = "восемьсот " Case 9 s = "девятьсот " End Select Select Case med Case 0 med = 0 Case 1 Select Case low Case 0 s = s + "десять " + st(order, 3) + " " Case 1 s = s + "одинадцать " + st(order, 3) + " " Case 2 s = s + "двенадцать " + st(order, 3) + " " Case 3 s = s + "тринадцать " + st(order, 3) + " " Case 4 s = s + "четырнадцать " + st(order, 3) + " " Case 5 s = s + "пятнадцать " + st(order, 3) + " " Case 6 s = s + "шестнадцать " + st(order, 3) + " " Case 7 s = s + "семнадцать " + st(order, 3) + " " Case 8 s = s + "восемнадцать " + st(order, 3) + " " Case 9 s = s + "девятнадцать " + st(order, 3) + " " End Select med = -1 hi = 1 Case 2 s = s + "двадцать " Case 3 s = s + "тридцать " Case 4 s = s + "сорок " Case 5 s = s + "пятьдесят " Case 6 s = s + "шестьдесят " Case 7 s = s + "семьдесят " Case 8 s = s + "восемьдесят " Case 9 s = s + "девяносто " End Select If (med <> -1) Or (hi = -1) Or ((hi = 0) And (med = 0)) Or ((low = 0) And (med = 0)) Or ((hi <> 0) And (med = 0) And (low <> 0)) Then Select Case low Case 0 If (med = 0) And ((hi <> 0) Or (low <> 0)) Or (low = 0) And ((hi <> 0) Or (med <> 0)) Then s = s + st(order, 3) + " " If ((low = 0) And (hi = -1)) Then s = s + st(order, 3) + " " Case 1 If order <> 3 Then s = s + "один " + st(order, 1) + " " Else s = s + "одна " + st(order, 1) + " " End If Case 2 If order <> 3 Then s = s + "два " + st(order, 2) + " " Else s = s + "две " + st(order, 2) + " " End If Case 3 s = s + "три " + st(order, 2) + " " Case 4 s = s + "четыре " + st(order, 2) + " " Case 5 s = s + "пять " + st(order, 3) + " " Case 6 s = s + "шесть " + st(order, 3) + " " Case 7 s = s + "семь " + st(order, 3) + " " Case 8 s = s + "восемь " + st(order, 3) + " " Case 9 s = s + "девять " + st(order, 3) + " " End Select End If Constr = Constr + s End Sub
|