المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : برنامج تحويل الاعداد- عربي فرنسي-


nebchadelphi
23-12-2009, 07:14 PM
السلام عليكم
اليوم اضع برنامج تحويل الأعداد إلى حروف
هذا الاصدار الثاني يدعم كل من اللغة العربية والفرنسية
**** أن ينال إعجابكم
و**** من من لديه أية تعليقات أو إقتراحات أن يكتبها من أجل التحسين
وشكرا

معطرة الرابط هو
وشكرا

**** الردود

kachwahed
23-12-2009, 08:10 PM
عمل رائع أخي nebchadelphi وبرنامج جميل.
فقط إحذر فقد يكون جهازك ملوث، تقرير Kaspersky يقول:
Virus.Win32.Induc.a
وأيضا تقارير المضادات الأخرى من VirusTotal (http://www.virustotal.com/fr/analisis/c1fef6d5a6c05f3b121bd9a78302acdf6fa7e4ab6f6d18dbdc 5cbfb5b72b20f0-1261595225)
تم تنظيف المرفق، بالتوفيق.

I_Tiger
23-12-2009, 11:07 PM
برنامج جميل و فكرة اجمل ، فاحيانا قد يمتلك المبرمج عضلات برمجية دون منتوج يذكر.

لكن الفكرة المفيدة مهما كانة بسيطة تعطي قيمة للمنتوج.

واصل بارك الله فيك.

nebchadelphi
24-12-2009, 06:39 PM
السلام عليكم
أشكركم اخوتي جميعكم
وانا في انتظار أي اقتراحات أو انتقادات
انا الآن في صدد اضافة اللغة الانجليزية
والسلام

sami2008
17-04-2010, 12:12 PM
شيء جمبل وبرنامج جميل أين الكود يأخي وإن كنت تبحث على الكود والمصدر أعطيك عنوان delphi fr.com الكود موجود بالعربية وبالفرنسية السلام عليكم

kachwahed
17-04-2010, 12:17 PM
الأخ sami2008 مرحبا بك في المنتدى
في قسم "برامج من عمل الأعضاء" لا تطرح الملفات المصدرية (الكود سورس)
راجع: مرحبا بك في منتدى دلفي للعرب (http://www.delphi4arab.com/forum/showthread.php?t=9)

sami2008
17-04-2010, 12:26 PM
function NombreEnLettres(n: Integer): string;
Const
unite: array [1 .. 19] of string = ('un', 'deux', 'trois', 'quatre', 'cinq',
'six', 'sept', 'huit', 'neuf', 'dix', 'onze', 'douze', 'treize',
'quatorze', 'quinze', 'seize', 'dix sept', 'dix huit', 'dix neuf');
dizaineF: array [2 .. 9] of string = ('vingt', 'trente', 'quarante',
'cinquante', 'soixante', '', 'quatre-vingt', '');
dizaineB: array [2 .. 9] of string = ('vingt', 'trente', 'quarante',
'cinquante', 'soixante', 'septante', 'octante', 'nonante');
coefs: array [0 .. 3] of string = ('cent', 'mille', 'million', 'milliard');
Var
temp: String;
c, d, u: Integer;
coef: Integer;
I: Integer;
neg: Boolean;
Begin
Result := '';

// Cas particulier de zéro
If n = 0 then
begin
Result := ' zero';
Exit;
end;

// Mémorisation du signe
neg := n < 0;
If neg then
n := -n;

coef := 0;
Repeat
// Récupération de l'unité du bloc de trois chiffres en cours
u := n mod 10;
n := n div 10;
// Récupération de la dizaine du bloc de trois chiffres en cours
d := n mod 10;
n := n div 10;

// Traitement des dizaines
temp := '';
// Passage sur la dizaine inférieure pour 10 à 19
// et pour 70-79 90-99 dans le cas de la France
If (d = 1) Or ((d in [7, 9])) then
begin
Dec(d);
Inc(u, 10);
end;
if d > 1 then
begin
temp := ' ' + dizaineF[d];
// Ajout du cas particulier de 'et' entre la dizaine et 1
if (d < 8) and ((u = 1) or (u = 11)) then
temp := temp + ' et';
end;
// ajout du texte de l'unité
if u > 0 then
temp := temp + ' ' + unite[u];
// ajout du 's' à Quatre-vingt si rien ne suit
If (Result = '') and (d = 8) and (u = 0) then
Result := 's';
Result := temp + Result;

// Récupération de la centaine du bloc de trois chiffres en cours
c := n mod 10;
n := n div 10; { Récupère centaine }
If c > 0 then
begin
temp := '';
if c > 1 then
temp := ' ' + unite[c] + temp;
temp := temp + ' ' + coefs[0];
// Traitement du cas particulier du 's' à cent si rien ne suit
If (Result = '') and (c > 1) then
Result := 's';
Result := temp + Result;
end;

// Traitement du prochain groupe de 3 chiffres

sami2008
17-04-2010, 12:29 PM
لم أكن أدري حين فعلتها لقد رفعت إلى الحافضة لكي أستعمله لكن نسيت ثم تم اللسق معذرة إخواني وشكرا