هل هناك امكانية في تعريب الرسائل في الدلفي
أقص الأزرار OK نعم Camcel الغاء NO لا
و هكذا
لأنه مو معقول برنامج كله عربي و الرسائل تطلع له بالانجليزي
شكرا للجميع
هل هناك امكانية في تعريب الرسائل في الدلفي
أقص الأزرار OK نعم Camcel الغاء NO لا
و هكذا
لأنه مو معقول برنامج كله عربي و الرسائل تطلع له بالانجليزي
شكرا للجميع
طبع يمكنك ذلك
لقد كتبت بالتفصيل سابقا عن الموضوع
وهناك وحدة للاستاذ كفاح نجم بهذا الخصوص
تجدينها في موقع المطورين العرب
http://www.arabdevelopers.com/
إذا بتستهويك الامور التقنية لتعريب المعالمات سأكون مسورا بمناقشتها سويا
لك تحياتي
أخوك رضا(f)
هاهي الوحدة
شكرا لك أخي reda
كيف أعمل بهذا الملف وكيف يعمل مع البرنامج
للاستفادة من هذه الوحد عليك بالاتي:
اولا عليك بفك ضغط الملف في مجلد الدلفي تحت مجلد Bin
ثم عندما تريدن استخدام صناديق الحوار العربية في برنامج اتبعي الخطوات التالية:
1- عرفي الوحدة التالية(ADialogs) في USES الفورم
2- عند كتابة رسالة مثلا نكتب:
ArabShowMessage('شكرا لاستخدامك برنامجنا.......!!');وباقي صناديق الحوار مثلها فقط نضيف كلمة Arab
تحياتي
شكرا جزيلا يا ابو احمد الله يحفظك
الوحدة التي قام بعملها الاستاذ كفاح نجم هي عملية لتعريب اوامر الرسائل في الدلفي
فتستطيعين ا ستدعاء الرسائل مع تعريب لصناديق الحوار والازرارلكن تكتبين بدلا من messagedlg
arabmessagedlg
بإمكانك الاطلاع على الاوامر الاوامر الموجودة داخل الوحدة
فهي ظريفة جدا ومفيدة
السلام عليكم
الرجاء ممن يملك الكمبوننت ADialogs إرفاقه لأنه كان عندى والهارد راح منى
السلام عليكم
الأخ reda حاولت تحميل الوحدة لكن يبدو أنه قد تم حذفها أو لا أعرف ما المشكلة
أرجو منك إعادة وضعها مرة أخرى لو تكرمت و شكرا
و السلام ختام
I'm Away For Sometimes
I'll Finish My Works
Come Back Soon
More Study > More Search > More Try > More Learning > Great Success
السلام عليكم...
بخصوص تعريب الرسائل فإنه يمكن أيضاً استخدام دالة كالدالة التالية، و هي تغليف للمنهج MessageBox التابع للكائن Application:
function MsgBox(Text: string; Flags: LongInt = MB_OK; Caption: string = ''; RTLOrder: Boolean = True): Integer; const MB_ARABIC = MB_RIGHT or MB_RTLREADING; var TheFlags: LongInt; begin if RTLOrder then TheFlags := Flags or MB_ARABIC else TheFlags := Flags and (not MB_ARABIC); if Caption = '' then Result := Application.MessageBox(PAnsiChar(Text), PAnsiChar(Application.Title), TheFlags) else Result := Application.MessageBox(PAnsiChar(Text), PAnsiChar(Caption), TheFlags); end;
مع ملاحظة أن البارامتر Flags يمكن أن يساوي واحداً أو أكثر من القيم التالية (يمكن ضم أكثر من قيمة باستعمال العامل OR) علماً بأن هذه الثوابت معرفة في الوحدة Windows:
1. بالنسبة إلى الأزرار:
2. بالنسبة إلى الرموز:
2. القيم التي تعيدها الدالة:
نلاحظ أن البارامتر الثالث في الدالة MsgBox أي البارامتر RTLOrder هو بارامتر اختياري و قيمته الافتراضية هي True أي الرسالة ستكون من اليمين إلى اليسار (عربية)، و إذا أردناها رسالة أجنبية فيجب ضبط هذا البارامتر على False عند استدعاء الدالة.
ميزة أخرى في هذه الدالة أن عناوين الأزرار تعتمد على واجهة نظام التشغيل، فهي تكون معربة (موافق، نعم، لا، ... إلخ) إذا كانت واجهة Windows عربية، و تكون غير معربة (OK, Yes, No، ... إلخ) إذا كانت واجهة Windows إنجليزية.
أنا شخصياً قمت بكتابة وحدة برمجية تحتوي على العديد من الدوال التي أستخدمها بكثرة و أقوم بتضمينها في كل برامجي، و هي تحتوي على هذه الدالة و غيرها (بما في ذلك دوال تعريب نوافذ حوار ويندوز - حفظ ملف، فتح ملف، طباعة، اختيار لون، اختيار خط) و قد قمت في مشاركة سابقة بوضع النسخة المترجمة من تلك الوحدة في هذا المنتدى، و هي باسم DNSDGen.dcu
أرجو الاستفادة و السلام.
وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ
صدق الله العظيم
أخي الكريم
حاولت استخدام الوحدة DNSDGen علي دلفي 2009 ولكن دون جدوي لأنها مصممة للعمل علي دلفي 7
فهل من مساعدة
شكرا لك
خيركم من تعلم القرآن وعلمه
السلام عليكم ورحمة الله وبركاته
الأخ najy_zl
انا أريد ان يظهر العربي حتى لو كان المستخدم الويندوز عنده انجليزي واعداداته انجليزية فما دام الويندوز يدعم العربي فأريد البرنامج يظهر العربي في كل مكان والدالة التي وضعت اظهرت لي الرسائل من اليمين الى اليسار لكن لم يظهر لي العربي (موافق , إلغاء , الخ...) علما انني استخدم delphi 2007 والويندوز xp انجليزي أيضا DNSDGen لم يعمل معي يبدو انه لا يدعم 2007
انتظر ردك
شكرا لكم