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

عنصر التفقيط العربي

مغلق
بدأه أنس العم في 6 مارس 2005 · 16 رد · 11,917 مشاهدة · في قسم بناء المكونات والأدوات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لتحويل أرقام المبالغ المالية من الصيغة الرقمية إلى الصيغة اللغوية مع القدرة على ذلك حتى مبلغ ألف ترليون (إلا واحد) و مع دعم العديد من العملات العربية و الأجنبية و سهولة إضافة عملات مختلفة و ذلك بتطبيق كامل لقواعد اللغة العربية بخصوص العدد و المعدود و التعريف و التنكير ...

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

أخيراً أرجو مساعدتي في تحويله إلى صيغة ocx ليكون تداوله على نطاق أوسع، لا سيما و أن معظم المبرمجين بحاجة إلى عنصر تفقيط يعتمد عليه.

أرجو منكم دعوة صالحة..

TArabic.L.A.Component.zip

أنس العم

#2

جزاك الله خيراً وجعلها في ميزان حسناتك.

#3

..

ااه ؟ إصابة في الصميم

أعمل على مجموعة مكونات خاصة بي (package) من ضمنها مكون تفقيط عربي , ولكنه لايقارن بهذا على مايبدو :lol: :lol:

شكرا لك ياصديقي .. سأنزل المكون

#4

السلام عليكم

الأخ أنس .. مشكور على هذا الجهد الرائع ..

اسمحوا لي أن أقدم لكم كود تفقيط أفتخر بأنه أصغر كود تفقيط على الإطلاق ..

هو كود قديم عملته منذ ثلاث سنوات وهو يدعم الأرقام حتى 1 تريليون إلا واحد مثل كود الأخ أنس ، وأيضاً يدعم تفقيط الفواصل العشرية ..

ولكنه يأخذ ممرات تحدد العملة المستخدمة وأجزاءها ..

وهذا هو مع برنامج لتجريبه

_____.rar

#5

حلو مهند ..

#6

الأخ العزيز مهند،

جهدك رائع جداً و عظيم، و تحليلك للأمور جيد جداً، و أنت مبرمج متميز بالتأكيد دون أدنى شك، و لكن بالنسبة لكودك فهو يحتوي على بعض الثغرات:

أولاً: الدقة اللغوية:

عدم تطبيق قواعد التعريف و التنكير، فمثلاً نقول "أربعون ألفاً" و لا نقول "أربعون ألف"

عدم تطبيق قواعد التذكير و التأنيث تبعاً لكون المعدود مذكراً أو مؤنثاً، فمثلاً نقول "خمس ليرات" و لا نقول "خمسة ليرات"

لا نقول باللغة العربية "واحد ليرة سورية" ولكن نقول "ليرة سورية" أو "ليرة سورية واحدة"

"اثنان" لا همزة قطع فيها فلا يصح أن نكتب "إثنان"

ثانياً: سهولة الاستعمال و سهولة انتقاء العملة و تخصيصها ليستا بالمستوى المطلوب:

فمثلاً في مكوني يمكنك اختيار الدولة فوراً إن وجدت، و إلا فيمكنك تخصيص عملة جديدة من خلال تحديد المفرد و الجمع و النسبة و الجنس (و مفرد و جمع الجزء المئوي للعملة لو افترضنا وجود تفقيط للأجزاء)

بينما يلزم لديك تحديد المفرد و المثنى و الجمع لكل من العملة و النسبة و الأجزاء (و جنس العملة لو افترضنا أخذه بعين الاعتبار) يعني تحديد عشرة أشياء لديك مقابل ستة أشياء لدي

ثالثاً: الوصول إلى ترليون إلا واحد في حين أن مكوني يصل إلى ألف ترليون إلا واحد

بالمقابل أعترف بأن مكوني غير كامل أيضاً فهو بحاجة لإضافة ميزتين:

أولاً: تفقيط أجزاء العملة و الذي أنوي تحقيقه قريباً بإذن الله (و الذي قمت أنت بتحقيقه فعلاً).

ثانياً: قبول الوضع في سياق إعرابي غير سياق الرفع كالنصب و الجر، فمثلاً يمكن تغيير شكل التفقيط تبعاً لموضع التفقيط (العدد و المعدود) كجملة، من الإعراب:

رفع: "اثنتا عشرة ليرةً سوريةً"

نصب و جر: "اثنتي عشرة ليرةً سوريةً"

رفع: "خمسون ليرةً سوريةً"

نصب و جر: "خمسين ليرةً سوريةً"

رفع: "مئتا ليرة سورية"

نصب و جر: "مئتي ليرة سورية"

رفع: "ألفا ليرة سورية"

نصب و جر: "ألفي ليرة سورية"

ربما تعترض على ضخامة كودي بالنسبة لكودك و هذا صحيح و لكن فعلت ذلك لأُفَصِّل الأمور و لتمكين تطبيق و لتوضيح آلية تطبيق القواعد اللغوية مهما كانت درجة تعقيدها من جهة، و لوضع تعليقات توضيحية و تنجيزية كثيرة على الكود من جهة أخرى

أنس العم

#7

مكونك جميل أنس , وهو حتى أفضل من المكون الذي عملتة عندي , والإضافات التي تتحدث ستجعلة مميزا ..

تابع العمل به ,

مكون مهند فيه حرفنة كذلك وجيد التنفيذ , رغم مايبدو من الخطأ فيه

شكرا لكما معا ..

ملاحظة أنا أيضا , من أعضاء الجمعية السوريه للمعلوماتيه , وأعضاء الحاضنة التكنولوجيه أيضا .... لاتركز كتير على ذلك , المكون الذي قدمته أهم من كل ذلك , ..

أخوك

#8

شكراً لك أخ عروة ;)

أنس العم

#9

أشكر الأخ أنس على ملاحظاته

طبعاً أنا لا أنكر أن مكون الأخ أنس مكتمل أكثر من مكوني .. أنا أردت فقط الإشارة إلى أن الكود قصير جداً .. وهو الأقصر بين جميع أكود التفقيط التي رأيتها

اقتباس
لا نقول باللغة العربية "واحد ليرة سورية" ولكن نقول "ليرة سورية" أو "ليرة سورية واحدة"

أنا عاجتها كما يلي : إذا كان الرقم السابق لليرة هو من خانة المئات نكتب واحد ليرة مثال : ثمانمائة ووراحد ليرة سورية

أما إذا كان من مرتبة أعلى من مرتبة المئات تكون النتيجة ليرة سورية ، مثال : مائة وعشرون مليوناًً وليرة سورية

اقتباس
ملاحظة أنا أيضا , من أعضاء الجمعية السوريه للمعلوماتيه , وأعضاء الحاضنة التكنولوجيه أيضا .... لاتركز كتير على ذلك , المكون الذي قدمته أهم من كل ذلك , ..

وللصدفة فأنا أيضاً من الأعضاء العاملين في الجمعية العلمية السورية للمعلوماتية :)

تحياتي لكم (f)

#10

اوف ... شو هالصدفة المعلوماتيه السوريه بنفس المشاركه ؟؟

ياهلا بالشباب .

شكرا لكما

#11

السلام عليكم

المكون غير متوافق مع الدلفي 5

الرجاء حل المشكلة

#12

نعم هناك مشكلة في تنصيب المكون حتى في دلفي 7 .

يطلب ملف res غير موجود حسب ما أعتقد .ز

على كل حال إفتح ملف الpas . ثم من القائمة component إختر install new component

#13

رائع جداً هذا العمل وليس لي إلا أن أقول الله يعطيك العافية ، والجميل في الموضوع أنك قدمت الكود ، وليس لي أن أدخل في مناقشة تفاصيل العنصر إلا أنني أرغب في مراجعة هذا الإجراء الذي ربما يكون أقصر من الكود الذي كتبته .

سأقدم لك تابعين 2function's واحد للغة العربية والآخر للغة الانكليزية كعربون صداقــة وتعـاون بإذن الله لأن العمل الفكري البرمجي لا يكتمل إلا بالتعاون .

ملاحظــة : يحتاج كلا التابعين لأن تقدم لهما ( اسم العملة المراد تفقيطها واسم أجزائه ) إلى جانب مثال للتوضيح مع Delphi5 علماً أنك تستطيع الاستفادة من التابع مباشرة في أي اصدار .

وأنا مستعد لأي شكل من أشكال التعاون البناء مع تمنياتــي لكل من يعمل في هذا المجال بالتوفيق

م. بسام الكحلان

مدير برامج شركة النظم الإدارية - دمشق ( برنامج الإداري )

bsms@scs-net.org

Numbers.zip

#14

شكراً لك أستاذ بسام

بالمناسبة لِمَ لَم تجرب الإصدار الثاني و الذي أصبح يدعم تفقيط الكسور

تجده تحت عنوان

"عنصر التفقيط العربي (رقم > كتابة)، الإصدار الثاني"

"مع دعم تفقيط الكسور"

أو للسرعة على الرابط:

/index.php?showtopic=60630

بالنسبة للتابعين الذين وضعتهما فأقول الله يعطيك العافية و لكن يلزمك إجراء اختبارات لهما

لقد قمت بجعل حدث نقر الزر يستدعى من حدث تغير محتوى الـ Edit1

و لدى التجريب ظهرت الأخطاء التالية:

العدد 12 يوجد خطأ في تفقيطه (اثنا يجب أن تكون بالألف الممدودة)

التفقيط الإنكليزي: جرب وضع 7000000 أو 52000000 أو 142000000 و راقب ما الذي يحصل، يتم وضع One Million كمعدود بدلاً من وضع Million

ملاحظة:

المليار (milliard) يساوي (ألف مليون) أي 1E9

البليون (billion) هو (ألف مليون) في النظام المعمول به في أمريكا و فرنسا (أي نفسه المليار) أي 1E9

في حين أنه (مليون مليون) في النظام المعمول به في ألمانيا و إنكلترا (أي ألف مليار) أي 1E12

الترليون (trillion) هو (مليون مليون) في النظام المعمول به في أمريكا و فرنسا (أي ألف مليار) أي 1E12

في حين أنه (مليون مليون مليون) في النظام المعمول به في ألمانيا و إنكلترا (أي مليار مليار) أي 1E18

هذه المعلومات مأخوذة من قاموس المورد.

بما أنك اعتمدت البليون كألف مليار فقد اعتمدت النظام الألماني الإنكليزي (النظام الأوروبي) و بالتالي عليك أن تعتمده بالكامل و تستعمل البليار (billiard) للتعبير عن 1E15 و الترليون (trillion) للتعبير عن 1E18 لا عن 1E15

على كلٍ يوجد موقع على الإنترنت فيه صفحة بعنوان: "The English name of a number" تجدها على الرابط:

http://www.isthe.com/cgi-bin/number.cgi

يمكن اعتباره مرجعاً في تسمية الأعداد باللغة الإنكليزية و يعمل بالنظامين الأمريكي و الأوروبي.

مثلاً العدد: 1234567890123123456789012345678901234567890

اسمه بالنظام الأوروبي هو:

one septillion,

two hundred thirty four sextilliard,

five hundred sixty seven sextillion,

eight hundred ninety quintilliard,

one hundred twenty three quintillion,

one hundred twenty three quadrilliard,

four hundred fifty six quadrillion,

seven hundred eighty nine trilliard,

twelve trillion,

three hundred forty five billiard,

six hundred seventy eight billion,

nine hundred one milliard,

two hundred thirty four million,

five hundred sixty seven thousand,

eight hundred ninety

و بالنظام الأمريكي هو:

one tredecillion,

two hundred thirty four dodecillion,

five hundred sixty seven undecillion,

eight hundred ninety decillion,

one hundred twenty three nonillion,

one hundred twenty three octillion,

four hundred fifty six septillion,

seven hundred eighty nine sextillion,

twelve quintillion,

three hundred forty five quadrillion,

six hundred seventy eight trillion,

nine hundred one billion,

two hundred thirty four million,

five hundred sixty seven thousand,

eight hundred ninety

أتمنى لك التوفيق.. (h)

تم تعديل هذه المشاركة بواسطة أنس العم في 21 أبريل 2005 في 21:38

أنس العم

#15

أشكر لك اهتمامك أخ أنس وسرعة استجابتك وأحب أن أشكرك على توجيهي للغة الانكليزيـة فعلاً أنا لم أجرب هذا الإجراء ببساطة لأنني لم أستخدمه ، على كل حال أحب أن أتعرف عليك أكثر حيث لدي العديد من المشاريع البرمجية في سوريا وخارجها وطالما أنت من سكان دمشق فيمكن أن نرى بعضنا ومكن نتعاون على كل حال ان كنت ترغب في التعرف على منتجاتنا يمكنك زيارة جناح شركتنا في معرض شام اليوم الجمعة وهو آخر يوم ويمكن ان أكون هناك اسم الشركة ( النظم الإدارية )

#16

**** الإصدار الثالث من «عنصر التفقيط العربي»: *****

=================

الجديد في الإصدار الثاني:

=================

- دعم تفقيط الكسور.

- إضافة ثلاث عملات عربية جاهزة جديدة.

طبعاً و منذ الإصدار الأول كان يمكنك تخصيص العملة (أو المعدود) بالشكل الذي تريد مضيفاً بذلك عملات جديدة.

=================

الجديد في الإصدار الثالث:

=================

- إمكانية اختيار المحل الإعرابي (رفع، نصب، جر)

- إمكانية تحديد نص سياقي (بادئة و لاحقة)

- إمكانية تحديد مستوى التشكيل (التشكيل الكامل غير مدعوم بعد)

- إمكانية اختيار نظام تسمية الأعداد فوق المليون (النظام الأمريكي أو النظام الأوروبي)

- إضافة قوى جديدة للألف مما يجعل التفقيط ممكناً حتى 24 مرتبة صحيحة (ما عدا الكسور) بعد أن كان ممكناً حتى 15 مرتبة صحيحة

- القدرة على تحديد جنس كل من اسم العملة و اسم جزئها بشكل آلي (مع ترك الخيار بتحديده يدوياً)

TArabicLingualAmount v3.zip

أنس العم

#17

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

http://www.parmaja.com/projects/tafkit/

محمد زاهر ديركي ، أبو عمر

بسم الله الرحمن الرحيم

كَبُرَ مَقْتًا عِنْدَ اللَّهِ أَنْ تَقُولُوا مَا لَا تَفْعَلُونَ (3) سورة الصف

هذا الموضوع مغلق.

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