أخر الأخبار

درس محول الأرقام الى حروف بالدلفي



درس محول الأرقام الى حروف بالدلفي 




 في هذا الدرس الخاص بالدلفي من سلسة دروس وافكار برمجية في الدلفي هذه المرة مع درس محول الأرقام بالدلفي في هذا المثال سنعتمد على function
التى نستطيع بها عمل بعض العمليات الخاصة بالتحويل 

أولا نقوم بالأجراءات الروتينية الخاصة بالبرمجة بالدلفي و التي سنقوم دائما بالعمل على المكونات الخاصة بـــ Dynamique Skin Form
نقوم بفتح برنامج دلفي نختار مشروع جديد و نضع مكونات الفورم ثم ثلاث مكونات من نوع

spSkinEdit

إضافة الى مكون 

spSkinMemo

كما هو موضح في الصورة 


الأن نقوم بتعريف بعض المتغيرات 

money,decimal:String;

ثم نستعمل  

uses Clipbrd;

تحت implementation

ثم نقوم بوضع الــ   Function    و التي نسميها Chif  الخاصة بالأعداد من 1 الى 100 اعداد و الحروف الى متغير x

function Chif (X: Byte) : String;

function Chif (X: Byte) : String;
begin
 case X of
 0: Chif := 'zero';
 1: Chif := 'un';
 2: Chif := 'deux';
 3: Chif := 'deux';
 4: Chif := 'quatre';
 5: Chif := 'cinq';
 6: Chif := 'six';
 7: Chif := 'six';
 8: Chif := 'huit';
 9: Chif := 'neuf';
10: Chif := 'dix';
11: Chif := 'onze';
12: Chif := 'douze';
13: Chif := 'treize';
14: Chif := 'quatorze';
15: Chif := 'quinze';
16: Chif := 'seize';
17: Chif := 'dix-sept';
18: Chif := 'dix-huit';
19: Chif := 'dix-neuf';
20: Chif := 'vingt';
21: Chif := 'vingt et un';
22: Chif := 'vingt-deux';
23: Chif := 'vingt-trois';
24: Chif := 'vingt-quatre';
25: Chif := 'vingt-cinq';
26: Chif := 'vingt-six';
27: Chif := 'vingt-sept';
28: Chif := 'vingt-huit';
29: Chif := 'vingt-neuf';
30: Chif := 'trente';
31: Chif := 'trente et un';
32: Chif := 'trente-deux';
33: Chif := ' trente-trois';
34: Chif := 'trente-quatre';
35: Chif := 'trente-cinq';
36: Chif := 'trente-six';
37: Chif := 'trente-sept';
38: Chif := 'trente-huit';
39: Chif := 'trente-neuf';
40: Chif := 'quarante';
41: Chif := 'quarante et un';
42: Chif := 'quarante-deux';
43: Chif := 'quarate-trois';
44: Chif := 'quarante-quatre';
45: Chif := 'quarante-cinq';
46: Chif := 'quarante-six';
47: Chif := 'quarate-sept';
48: Chif := 'quarante-huit';
49: Chif := 'quarante-neuf';
50: Chif := 'cinquante';
51: Chif := 'cinquante et un';
52: Chif := 'cinqunte-deux';
53: Chif := 'cinquante-trois';
54: Chif := 'cinquante-quatre';
55: Chif := 'cinquante-cinq';
56: Chif := 'cinquante-six';
57: Chif := 'cinquante-sept';
58: Chif := 'cinquante-huit';
59: Chif := 'cinquante-neuf';
60: Chif := 'soixante';
61: Chif := 'soixante et un';
62: Chif := 'soixante-deux';
63: Chif := 'soixante-trois';
64: Chif := 'soixante-quatre';
65: Chif := 'soixante-cinq';
66: Chif := 'soixante-six';
67: Chif := 'soixante-sept';
68: Chif := 'sioxante-huit';
69: Chif := 'soixante-neuf';
70: Chif := 'soixante-dix';
71: Chif := 'soixante et onze';
72: Chif := 'soixante-douze';
73: Chif := 'soixante-treize';
74: Chif := 'soixante-quatorze';
75: Chif := 'soixante-quinze';
76: Chif := 'soixante-seize';
77: Chif := 'soixante-dix-sept';
78: Chif := 'soixante-dix-huit';
79: Chif := 'soixante-dix-neuf';
80: Chif := 'quatre-vingt';
81: Chif := 'quatre-vingt et un';
82: Chif := 'quatre-vingt-deux';
83: Chif := 'quate-vingt-trois';
84: Chif := 'quatre-vingt-quatre';
85: Chif := 'quatre-vingt-cinq';
86: Chif := 'quatre-vingt-six';
87: Chif := 'quatr-vingt-sept';
88: Chif := 'quatre-vingt-huit';
89: Chif := 'quatre-vingt-neuf';
90: Chif := 'quatre-vingt-dix';
91: Chif := 'quatre-vingt-onze';
92: Chif := 'quatre-vingt-douze';
93: Chif := 'qutre-vingt-treize';
94: Chif := 'qutre-vingt-quatorze';
95: Chif := 'quatre-vingt-quinze';
96: Chif := 'quatre-vingt-seize';
97: Chif := 'quatre-vingt-dix-sept';
98: Chif := 'quatre-vingt-huit';
99: Chif := 'quatre-vingt-neuf';
100:chif := 'cent';
end;
end;

    خاص بالمئات  function  ثم نضيف

function Centaine (i: integer) : String;
begin
case i of
   1..100: Centaine:=chif(i);
   101..199: Centaine:=' cent ' + Chif(i mod 100);
   201..999: case (i mod 100) of
              0:  Centaine:=Chif(i div 100) + ' cent ';
              1..99:  Centaine:=Chif(i div 100) + ' cent ' + Chif(i mod 100);
             end;
end;
end;

    خاص بالالاف  function  ثم نضيف






function Millier (i: integer) : String;
begin
case i of
   1..999: Millier:=Centaine(i);
   1000..999999: case (i div 1000) of
                1: Millier:=' mille '+ Centaine(i mod 1000);
                2..999:Millier:=Centaine(i div 1000)+' milles '+ Centaine(i mod 1000);
                end;
end;
end;
 خاص بالملايين  function  ثم نضيف

function Million (i: integer) : String;
begin
case i of
   1..999: Million:=Centaine(i);
   1000..999999: Million:=Millier(i);
   1000000..999999999: case (i div 1000000) of
              1: Million:=' un million '+ Centaine(i mod 1000000);
                2..999:Million:=Centaine(i div 1000000)+' millions '+ millier(i mod 1000000);
                end;

end;
end;

  OnChange و في  الحدث  spSkinEdit1 الأن نذهب الى المكون 




 : نعرف بعض المتغيرات و نضيف الكود التالي 

var I,J:Int64;
    B:Real;
    str,str1:string;
     f:currency;
begin
money:=spskinEdit2.Text;
decimal:=spskinEdit3.Text;

if spskinEdit1.Text=' ' then spskinMemo1.Text:=' '
 else
   begin
   str:='';
   F:=CompToCurrency(StrToCurr(spskinEdit1.Text));
   B:=StrToCurr(spskinEdit1.Text)-F;
  if B<0 then
    begin
    F:=F-1;
    B:=B*-1;
    J:=100-StrToInt64(FloatToStr(B*100));
    end else J:=StrToInt64(FloatToStr(B*100));
  I:=StrToInt64(CurrToStr(F));

  if (I - 999999999) <= 0 then
   begin
     case I of
        1..999: str:=Centaine(I);
        1000..999999: str:=Millier(I);
        1000000..999999999:  str:= Million(I);
     end;
   end else
  begin
    case (I div 1000000000) of
      1: str:= ' un milliard '+ million(i mod 1000000000);
      2..999999: str:= Millier(i div 1000000000)+' milliards '+ million(i mod 1000000000);
    end;
  end;

 str1:='';
 if J<>0 then
   Begin
   str1:=Centaine(J);
   spskinMemo1.Lines.Text :=str+' '+money+' et '+str1+' '+decimal;
   end else spskinMemo1.Lines.Text :=str+' '+money+' ';

   end;

end;


 12245,5  الأن نقوم بتنفيذ البرنامج و بعده نجرب العدد  

كما ترون النتيجة 

  نجرب اخر  4686221,20   مع تغيير العملة



كما ترون النتيجة 

ارجو ان يون الدرس قد نال اعجابكم تقبلو منا اطيب التمنيات الى اللقاء في دروس قادمة ان شاء الله
السلام عليكم و رحمة الله






تعليقات



حجم الخط
+
16
-
تباعد السطور
+
2
-