function
GetNumeralStr(Num:dword):
string
;
const
ss0:
array
[
0..19
]
of
string
[
50
]=(
''
,
'один'
,
'два'
,
'три'
,
'четыре'
,
'пять'
,
'шесть'
,
'семь'
,
'восемь'
,
'девять'
,
'десять'
,
'одиннадцать'
,
'двенадцать'
,
'тринадцать'
,
'четырнадцать'
,
'пятнадцать'
,
'шестнадцать'
,
'семнадцать'
,
'восемнадцать'
,
'девятнадцать'
);
ss10:
array
[
0..9
]
of
string
[
50
]=(
''
,
''
,
'двадцать'
,
'тридцать'
,
'сорок'
,
'пятьдесят'
,
'шестьдесят'
,
'семьдесят'
,
'восемьдесят'
,
'девяносто'
);
ss100:
array
[
0..9
]
of
string
[
50
]=(
''
,
'сто'
,
'двести'
,
'триста'
,
'четыреста'
,
'пятьсот'
,
'щестьсот'
,
'семьсот'
,
'восемьсот'
,
'девятьсот'
);
ss1000:
array
[
0..19
]
of
string
[
50
]=(
'тысяч'
,
'одна тысяча'
,
'две тысячи'
,
'три тысячи'
,
'четыре тысячи'
,
'пять тысяч'
,
'шесть тысяч'
,
'семь тысяч'
,
'восемь тысяч'
,
'девять тысяч'
,
'десять тысяч'
,
'одиннадцать тысяч'
,
'двенадцать тысяч'
,
'тринадцать тысяч'
,
'четырнадцать тысяч'
,
'пятнадцать тысяч'
,
'шестнадцать тысяч'
,
'семнадцать тысяч'
,
'восемнадцать тысяч'
,
'девятнадцать тысяч'
);
ssM:
array
[
0..19
]
of
string
[
50
]=(
'миллионов'
,
'один миллион'
,
'два миллиона'
,
'три миллиона'
,
'четыре миллиона'
,
'пять миллионов'
,
'шесть миллионов'
,
'семь миллионов'
,
'восемь миллионов'
,
'девять миллионов'
,
'десять миллионов'
,
'одиннадцать миллионов'
,
'двенадцать миллионов'
,
'тринадцать миллионов'
,
'четырнадцать миллионов'
,
'пятнадцать миллионов'
,
'шестнадцать миллионов'
,
'семнадцать миллионов'
,
'восемнадцать миллионов'
,
'девятнадцать миллионов'
);
var
Remaind:dword;
begin
Result:=
''
;
Remaind:=Num
mod
100
;
if
Remaind <=
19
then
Result:=ss0[Remaind]
else
Result:=ss10[Remaind
div
10
]+
' '
+ss0[Remaind
mod
10
];
Num:=Num
div
100
;
Result:=ss100[Num
mod
10
]+
' '
+Result;
Num:=Num
div
10
;
Remaind:=Num
mod
100
;
if
Num
mod
1000
>
0
then
if
Remaind <=
19
then
Result:=ss1000[Remaind]+
' '
+Result
else
Result:=ss10[Remaind
div
10
]+
' '
+ss1000[Remaind
mod
10
]+
' '
+Result;
Num:=Num
div
100
;
Result:=ss100[Num
mod
10
]+
' '
+Result;
Num:=Num
div
10
;
Remaind:=Num
mod
100
;
if
Num
mod
1000
>
0
then
if
Remaind <=
19
then
Result:=ssM[Remaind]+
' '
+Result
else
Result:=ss10[Remaind
div
10
]+
' '
+ssM[Remaind
mod
10
]+
' '
+Result;
Num:=Num
div
100
;
Result:=ss100[Num
mod
10
]+
' '
+Result;
end
;