الموضوع السابق   الموضوع التالي 

كتابة عدد بالحروف

Function: ReadNumber

الغرض
التعبير عن عدد صحيح بالكلمات (العربية).


الصيغة

function ReadNumber(Number: Int64; UseAlif: Boolean = True; tmzOnes: string = ''; tmzTens: string = ''; tmzMore: string = ''): string;


الوسائط (Parameters)

Number العدد المطلوب تحويله إلى كلمات. يجب أن يكون عدداً صحيحاً بين الصفر و 999,999,999,999 (تسعمائة و تسعة و تسعون ملياراً و تسعمائة و تسعة و تسعون مليوناً و تسعمائة و تسعة و تسعون ألفاً و تسعمائة و تسعة و تسعون).
UseAlif بارامتر اختياري يحدد ما إذا ستتم كتابة العدد 100 هكذا مائة أو هكذا مئة. الافتراضي هو كتابتها بالألف (مائة).
tmzOnes بارامتر اختياري يمثل تمييز الأعداد من 3 إلى 10 (جمع مجرور، مثلاً: كتبٍ، سياراتٍ)
tmzTens بارامتر اختياري يمثل تمييز الأعداد من 11 إلى 99 (مفرد منصوب، مثلاً: كتاباً، سيارةً)
tmzMore بارامتر اختياري يمثل تمييز المئة و مضاعفاتها (مفرد مجرور، مثلاً: كتابٍ، سيارةٍ)

الشرح
تقرأ هذه الدالة العدد الصحيح الممرر إليها في البارامتر Number و تعيد التعبير عنه بالكلمات. فمثلاً إذا كان العدد هو 65 فإن الدالة تعيد "خمسة و ستون"، و إذا كان العدد هو 6701 فإن الدالة تعيد "ستة آلاف و سبعمائة و واحد"، ... إلخ. إذا أهملت البارامترات الثلاثة الاختيارية الأخيرة فإن الدالة تعيد قراءة الرقم فقط - كما سبق - أما إذا تم تمرير قيم لتلك البارامترات فإن الدالة تستعمل تلك البارامترات لتمييز الأعداد بالشكل المناسب، فمثلاً الاستدعاء التالي:

ReadNumber(931, True, 'كتبٍ', 'كتاباً', 'كتابٍ');

يجعل الدالة تعيد "تسعمائة و واحد و ثلاثون كتاباً".

ملاحظة
ربما تظهر البارامترات الاختيارية الخاصة بالتمييز مقلوبة من حيث الترتيب عند عرض هذا الشرح في متصفح الإنترنت، فالبارامتر الأول هو 'كتبٍ'، و البارامتر الثاني هو 'كتاباً'، و البارامتر الثالث هو 'كتابٍ'.

إذا كانت قيمة البارامتر Number هي الصفر فإن الدالة تعيد كلمة "صفر" دون تمييز حتى و لو تم تمرير قيم للبارامترات الاختيارية الخاصة بالتمييز. و فيما عدا الصفر فإن الدالة تستطيع التعامل مع الأعداد من 1 إلى 999,999,999,999. أية أعداد أخرى خارج هذا النطاق (و طبعاً ضمن النطاق Int64) لا تتسبب في خطأ، لكن الدالة تعيد الرقم كما هو في شكل نص (string).

تنويه
سيتم قريباً تطوير الدالة لإضافة التمييز للمؤنث، و كذلك مراعاة الإعراب (الرفع و النصب و الجر).


 أعلى الصفحة
 الموضوع السابق   الموضوع التالي