function sum19 (n:integer):string ;
const
N1: array[0..9] of string = ('صفر',
'واحد',
'اثنان',
'ثلاثة',
'اربعة',
'خمسة',
'ستة',
'سبعة',
'ثمانية',
'تسعة');
const
N11: array[0..9] of string = ('عشرة',
'أحدعشر',
'إثناعشر',
'ثلاثة عشر',
'أربعة عشر',
'خمسة عشر',
'ستة عشر',
'سبعة عشر',
'ثمانية عشر',
'تسعة عشر');
var
x,j,z:integer;
t1,t2,t3,t:string;
begin
if (n<=9) then
t:=n1[n];
if (n>=10)and(n<=19)then begin
n:=n-10;
t:=n11[n];
end;
/////////////////////
result:=t;
end;
function sum99 (n:integer):string ;
const
N1: array[0..9] of string = ('صفر',
'واحد',
'اثنان',
'ثلاثة',
'اربعة',
'خمسة',
'ستة',
'سبعة',
'ثمانية',
'تسعة');
const
N2: array[1..9] of string =
('عشرة',
'عشرون',
'ثلاثون',
'أربعون',
'خمسون',
'ستون',
'سبعون',
'ثمانون',
'تسعون'
);
var
x,j,z:integer;
t1,t2,t3,t:string;
begin
case n of
20,30,40,50,60,70,80,90: begin
t1:=inttostr(n);
t2:=copy(t1,1,1);
z:=strtoint(t2) ;
t:=n2[z]; end;
else begin
t1:=inttostr(n);
t2:=copy(t1,1,1) ;
t3:=copy(t1,2,1) ;
z:=strtoint(t2) ;
x:=strtoint(t3) ;
t:=n1[x]+' و '+n2[z]; ;
end;
end;
result:=t;
end;
function sum999 (n:integer):string ;
const
N3: array[1..9] of string = ('مائة',
'مئتان',
'ثلاثمائة',
'أربعمائة',
'خمسمائة',
'ستمائة',
'سبعمائة',
'ثمانمائة',
'تسعمائة'
);
var
x,j,z:integer;
t1,t2,t3,t:string;
begin
case n of
100,200,300,400,500,600,700,800,900:begin
t1:=inttostr(n);
t2:=copy(t1,1,1);
z:=strtoint(t2) ;
t:=n3[z]; end;
0..19:t:=sum19(n);
20..99:t:=sum99(n);
else
begin
t1:=inttostr(n);
t2:=copy(t1,1,1);
z:=strtoint(t2) ;
t3:=copy(t1,2,2);
x:=strtoint(t3) ;
if x>=20 then
t:=n3[z]+' و '+sum99(x)
else
t:=n3[z]+' و '+sum19(x)
end;
end;
result:=t;
end;
function sum9999 (n:integer):string ;
const
n4 : array[1..9] of string =
('ألف',
'ألفان',
'ثلاثة آلاف',
'أربعة آلاف',
'خمسة آلاف',
'ستة آلاف',
'سبعة آلاف',
'ثمانية آلاف',
'تسعة آلاف');
var
x,j,z:integer;
t1,t2,t3,t:string;
begin
case n of
1000,2000,3000,4000,5000,6000,7000,8000,9000:begin
t1:=inttostr(n);
t2:=copy(t1,1,1);
z:=strtoint(t2) ;
t:=n4[z]; end ;
0..999: t:=sum999(n);
else
begin
t1:=inttostr(n);
t2:=copy(t1,1,1);
z:=strtoint(t2) ;
t3:=copy(t1,2,3);
x:=strtoint(t3) ;
t:=n4[z]+' و '+sum999(x)
end;
end;
result:=t;
end;
function sum999999 (n:integer):string ;
var
i,x,j,z:integer;
t1,t2,t3,t:string;
begin
case n of
10000..999999:begin
t1:=inttostr(n);
i:=length(t1);
j:=i-3;
t2:=copy(t1,1,j);
z:=strtoint(t2);
t3:=copy(t1,j+1,3);
x:=strtoint(t3);
if x<>0 then
t:=sum999(z)+' الف و '+sum999(x) else
t:=sum999(z)+' الف '; end;
else
t:=sum9999(n);
end; result:=t; end;
/////////////////////////////////
function sum (n:integer):string ;
var
i,x,j,z:integer;
t1,t2,t3,t:string;
begin
case n of
1000000..999999999:begin
t1:=inttostr(n);
i:=length(t1);
j:=i-6;
t2:=copy(t1,1,j);
z:=strtoint(t2);
t3:=copy(t1,j+1,6);
x:=strtoint(t3);
if x<>0 then
t:=sum999(z)+' مليون و '+sum999999(x) else
t:=sum999(z)+' مليون '; end;
else
t:=sum999999(n);
end; result:=t; end;