منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
درس سريع - اللغة العربية في فيجوال بيسك - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم مقالات vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=29)
+---- الموضوع : درس سريع - اللغة العربية في فيجوال بيسك (/showthread.php?tid=5595)



درس سريع - اللغة العربية في فيجوال بيسك - RaggiTech - 14-10-12

كاتب الموضوع : أحمد جمال

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

التعريب في فيجوال بيسك .

إن برنامج فيجوال بيسك هو في الأصل مصمم للبرمجة بأغلب اللغات المشهورة ، ولكن طرق العرض تظل باللغة الانجليزية أو الضبط بأسلوب عرض البيانات من اليسار إلى اليمين .

في الاصدارات الأخيرة من VB تمت اضافة خاصية جميلة لأغلب الأدوات ، وهي RightToLeft ، والتي تحتوي على قيمتين منطقيتين True,False ، وذلك لتحويل نسق الكتابة في تلك الأدوات إلى النسق العربي - اليمين إلى اليسار لمزيد من الدقة حيث أن هناك لغات أخرى تكتب من اليمين إلى اليسار - ، والذي يضع علامات الترميز على يسار النص ، وليس اليمين كما هو الحال مع اللغة الانجليزية .
وبنفس الطريقة ، فسوف تتحول أشرطة التمرير إلى الجهة المقابلة ، ولكن ورغم تطبيق هذه الخاصية على الفورم Form فسيظل صندوق الأدوات ( خروج - تكبير - تصغير ) في موقعه السابق في اللغة الانجليزية .
وهذا مثال بسيط على قصور خاصية RightToLeft ، اضافة إلى أنها غير مدعومة في بعض الأدوات ، ولذا توجد حلول بديلة أخرى منها تقنية المرآة Mirroring والتي ظهرت منذ نظام التشغيل 98 ، وهي ببساطة إحدى دوال API التابعة لويندوز .
تقوم هذه التقنية بفعل المرآة تماماً ، حيث ينعكس اتجاه الأشياء ، وينعكس كل ما يترتب عليها ، فمثلاً ستتناقص الاحداثيات x,y عند التحرك إلى اليمين والأسفل على عكس السابق .
وهناك بعض الخصائص الخاصة بمثل هذا الأمر والتي تمنع عكس النصوص وغيرها .
ولكن في برنامج صغير ، فلا أتوقع انه من المجدي تكبد هذا العناء ... ولكن يمكن استخدام خاصية RightToLeft كبديل ناجح إلى حد بعيد .


عمل رسائل Msgbox عربية .

لا تحتوي ال Msgbox على خاصية RightToLeft بالصورة الطبيعية ، بل تحتوي على قيمتين تؤديان إلى تعريب الرسالة ، وهما 524288 و 1048576 .
ويقابلهما الثابتان :

vbMsgBoxRight و vbMsgBoxRtlReading

بهذا نكتب أمر الرسالة بالشكل التالي :

كود :
MsgBox "أحمد جمال .", vbInformation + vbMsgBoxRight + vbMsgBoxRtlReading,"اللغة العربية"


لمزيد من الاختصار . لن نضطر في كل مرة لاظهار رسالة أن نكتب الثابتين السابقين أو الرقمين .لذا فإن بامكاننا تعريف Enum وذلك لاعطاء هذين الثابتين اسماً آخر ، وذلك بالشكل التالي :

كود :
Public Enum Ahmed
arabic = vbMsgBoxRight + vbMsgBoxRtlReading
End Enum

ويمكننا أن نقوم بكتابة الأمر السابق في موديول وذلك لاستخدامه في جميع الشاشات .
لاحقاً . يمكن استخدام كلمة arabic لتقوم بالمهمة مباشرة .
لذا تصبح الرسالة التي تظهر كلمة المرور والتي وضعناها في الدرس السابق بالشكل التالي :
MsgBox "أحمد جمال .", vbInformation + arabic,"اللغة العربية"

*** شكر خاص جداً لأخي رغيد الطيب من vb4arab حيث أنني استفدت من فكرة عمل Enum للرسائل العربية من أحد برامجه .

والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .