الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

من أعداد إلى حروف

بدأه Salah Al-Samawi في 3 مارس 2012 · 0 رد · 406 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1

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;

اللهم احفظ اليمن و أهلة و بلاد المسلمين من كل مستبد و ظالم. و من كل شر!!!

مواضيع مشابهة