13-11-2016, 10:58 AM
لأني أتوقع أن أجد في هذا المنتدى بعض الأصدقاء القدامى رأيت أن الإعلان عن هذه المكتبة هنا قد يكون فكرة جيدة، فمن جهة نسلّم على الأصدقاء ومن جهة أخرى نعرض هذا العمل على روّاد هذا المنتدى المحترم، خصوصاً أنه من الممكن أيضاً استثمار هذه المكتبة في دلفي -كما في لغات برمجة أخرى- بسهولة ويسر كما سأعرض لاحقاً.
هناك حلول برمجية كثيرة لتفقيط الأرقام باللغة العربية (إعطاء قراءة الرقم باللغة العربية). المشكلة في هذه الحلول المتوفرة أنها محدودة باللغة التي كتبت بها ويصعب استخدامها في لغات أو بيئات تطوير أخرى، وقد بات من المعروف اليوم أنه من النادر أن تستخدم لغة واحدة في تطوير المشاريع الحقيقية، فالحاجة إلى تقديم حل برمجي حديث، متكامل، وبجودة عالية، وضمن زمن محدد سوف يحتّم على المبرمج استخدام أكثر من لغة أو أداة تطوير. هذا يعني أنه إذا اضطر لاستخدام التفقيط في مشروعه فإنه سيستخدم أكثر من حل/منتج للقيام بعمل واحد وهو تفقيط الأرقام، وعند حاجته إلى تعديل/تصحيح ما في عملية التفقيط فإنه سيضطر لتنفيذ هذا التعديل في أكثر من لغة. المشكلة الأخرى الموجودة في حلول التفقيط الحالية هي أنها مخصصة بشكل كبير لتفقيط الأرقام/المبالغ المالية، وبعضها محدد بعملة/عملات معينة وتحتاج لتعديل برمجي لإضافة عملة أخرى.
هذه المشاكل التي عرضتها دفعتني لكتابة/برمجة مكتبة التفقيط num2a. لقد قمت بكتابة هذه المكتبة بلغة C لأنها من وجهة نظري اللغة الأكثر "محمولية" portability، حيث تستطيع ترجمة (compile) أي نص مصدري في C على منصات مختلفة وباستخدام مترجمات (compilers ) مختلفة وقد لاتضطر في كثير من الأحيان سوى إلى إجراء تعديلات طفيفة. ولزيادة محمولية مكتبة التفقيط num2a تعمدت في برمجتها عدم الاستعانة أو استخدام إي مكتبة خارجية، بما فيها المكتبة الرياضية math.h.
نشرت هذه المكتبة على موقع github بترخيص مفتوح المصدر MIT . يمكنكم تحميل المكتبة من هذا الرابط . كما يمكنكم تجريب المكتبة وتجريب التفقيط من خلال هذه الصفحة .
هذا أيضاً فيديو يظهر تجارب "حية" لمكتبة num2a بلغات وأدوات تطوير مختلفة (C, C++, Delphi, PHP, C#, Java, Qt, GTK) وعلى أنظمة تشغيل مختلفة (Windows, Linux, Mac OS X, Android): https://www.youtube.com/watch?v=WqCS2CjKEHw
لمعلومات تفصيلية أكثر عن هذه المكتبة يمكن قراءة بقية هذا المقال على مدونتي هنا: http://blog.issamsoft.com/?q=en/node/93
-عصام علي
سوريا-بانياس
issamsoft.com
هناك حلول برمجية كثيرة لتفقيط الأرقام باللغة العربية (إعطاء قراءة الرقم باللغة العربية). المشكلة في هذه الحلول المتوفرة أنها محدودة باللغة التي كتبت بها ويصعب استخدامها في لغات أو بيئات تطوير أخرى، وقد بات من المعروف اليوم أنه من النادر أن تستخدم لغة واحدة في تطوير المشاريع الحقيقية، فالحاجة إلى تقديم حل برمجي حديث، متكامل، وبجودة عالية، وضمن زمن محدد سوف يحتّم على المبرمج استخدام أكثر من لغة أو أداة تطوير. هذا يعني أنه إذا اضطر لاستخدام التفقيط في مشروعه فإنه سيستخدم أكثر من حل/منتج للقيام بعمل واحد وهو تفقيط الأرقام، وعند حاجته إلى تعديل/تصحيح ما في عملية التفقيط فإنه سيضطر لتنفيذ هذا التعديل في أكثر من لغة. المشكلة الأخرى الموجودة في حلول التفقيط الحالية هي أنها مخصصة بشكل كبير لتفقيط الأرقام/المبالغ المالية، وبعضها محدد بعملة/عملات معينة وتحتاج لتعديل برمجي لإضافة عملة أخرى.
هذه المشاكل التي عرضتها دفعتني لكتابة/برمجة مكتبة التفقيط num2a. لقد قمت بكتابة هذه المكتبة بلغة C لأنها من وجهة نظري اللغة الأكثر "محمولية" portability، حيث تستطيع ترجمة (compile) أي نص مصدري في C على منصات مختلفة وباستخدام مترجمات (compilers ) مختلفة وقد لاتضطر في كثير من الأحيان سوى إلى إجراء تعديلات طفيفة. ولزيادة محمولية مكتبة التفقيط num2a تعمدت في برمجتها عدم الاستعانة أو استخدام إي مكتبة خارجية، بما فيها المكتبة الرياضية math.h.
نشرت هذه المكتبة على موقع github بترخيص مفتوح المصدر MIT . يمكنكم تحميل المكتبة من هذا الرابط . كما يمكنكم تجريب المكتبة وتجريب التفقيط من خلال هذه الصفحة .
هذا أيضاً فيديو يظهر تجارب "حية" لمكتبة num2a بلغات وأدوات تطوير مختلفة (C, C++, Delphi, PHP, C#, Java, Qt, GTK) وعلى أنظمة تشغيل مختلفة (Windows, Linux, Mac OS X, Android): https://www.youtube.com/watch?v=WqCS2CjKEHw
لمعلومات تفصيلية أكثر عن هذه المكتبة يمكن قراءة بقية هذا المقال على مدونتي هنا: http://blog.issamsoft.com/?q=en/node/93
-عصام علي
سوريا-بانياس
issamsoft.com