السلام عليكم و رحمة الله تعالى و بركاته
أحببت أن أضع بين يدي أخواني و أخواتي أول مثال، المتبع من CodeGear بالعربي ..
- - - - - - - - - - - - - - - - - -
كثر القول أن Delphi 2009 يعتبر النقلة المهمة للـ VCL منذ دلفي 7، و أنه سيكون أكثر انتشارا في العالم لدعمه UNICODE (مع أننا لم نكن يوما ضمن المعادلة)
المهم .. ما أتحدث عنه هو هذا





لكن الفرق هو أنني سأحاول التركيز على العربية (يمكن القول أنه سوى ترجمة للتطبيق) و سأرى مستوى الدعم.
حسنا سأذكر المشاكل التي واجهتني و كيف حللتها إلا واحدة أو اثنين ..
ملاحظة قبل البداية : لرؤية كامل عمل التطبيق قمت بنتفيذه تحت نظام فيستا.
التنفيذ للتطبيق العربي
أولا قبل التنفيذ لاحظت أن النسخة Pre-Release تعتمد على FrameWork 1.1
وبعد التبيت لاحظت أنه يعمل مع IDE Delphi2007
في الصورة لم أثبت C# و C++ لسرعة التثبيت و لعدم اهتمامي بهما الآن.
قمت أولا بإعطاء الـ Form : BiDiMode = bdRightToLeft
العمل مع TCategoryPanelGroup:
المشكلة – أو بالأحرى النقائص – تمثلت في عدم إضافة الوحدات بعد Uses تلقائيا عند العمل مع مكون يستعمل خاصية تتدرج من وحدة مغايرة
مثل: CategoryPanelGroup مذكور في الوحدة ExtCtrls، أما الخاصية GradientDirection مذكرة في GraphUtil مما جعنلي أكتبها بعد uses ،
سنعود لمشكلة الوحدات ..
الامر الأخر هو عند محاولة تلوين CategoryPanel لم تعمل معي و يتلون فقط المكون CheckBox1، الكود الموضوع عند الضغط على جدول الألوان:
CategoryPanel3.Color := ColorGrid4.ForegroundColor;
ننتقل إلى الطرف المقابل:
TpageControl لا تدعم BiDiMode أي الصفحات لا تترتب من اليمين إلى اليسار مما يقودنا للتعامل مع مكونات أخرى تدعم العملية.
المتحكمات (مكونات) الجديدة في VCL:
TbuttonedEdit:
جميل
TlinkLabel:
الكتابة في Caption
حدث الضغط على الرابط
TballoonHint:
الأزرار:
هنا يوجد ملاحظة، مثلا عند الضغط على مجموعة "اتجاه الصورة" وضعت الكود:
procedure TForm1.RadioGroup5Click(Sender: Tobject); begin case RadioGroup5.ItemIndex of 0 : Button2.ImageAlignment := iaLeft; 1 : Button2.ImageAlignment := iaRight; 2 : Button2.ImageAlignment := iaBottom; 3 : Button2.ImageAlignment := iaTop; 4 : Button2.ImageAlignment := iaCenter; end; end;
لكنني عند التنفيذ فوجئت بخطأ مفاده أن
[DCC Error] Unit1.pas(262): E2010 Incompatible types: 'TImageAlignment' and 'TIconArrangement'
لدينا
لذلك قمت بالتالي:
هنا شرح (قديم) بسيط لعملية مشابهة
http://www.delphi4arab.com/forum/showpost....mp;postcount=15
أمر أخر عند العمل مع الزر الأخير مع الخاصية Style = bsSplitButton و ربطه مع PopupMenu لا تعمل الخاصية مما جعلني أظن أن التجميع (compilation)
ضمن XP و Vista يختلف، و أوليا أشعر كأني أريد البرمجة بين Windows و Linux بسورس واحد و مجمعين مختلفين
Tedit:
الفرق في النص الباهت واضح
:TprogessBar
TlistView:
الحقيقة أنني لا أتعامل مع مثل هذه المكونات (TreeView) من بين الأسباب الصعوبة و تضييع الوقت في حال أردت ترجمتها (تحويلها) إلى العربية.
حتى إجراء المرآة أحيانا لا ينفع (أن هنا أتحدث عن العمل تحت نظام windows غير عربي)
التنفيذ ضمن XP و استعمال إجراء المرآة
التنفيذ ضمن Vista و استعمال إجراء المرآة
هناك مكونات أخرى مثل Ribon و الذي لا يمكن إضافة الزر Menu و Quick Acess ToolBar إلا بعد استعمال ActionManager
سأتوقف هنا و خلاصتي سنقوم بالاحتياطات اللازمة عند البرمجة مع دلفي 2009، سنعمل دائما مع If WinXP then .. else if WinVista then أو استدعاء اجراءات خاصة بالـ Vista (ربما نراها لاحقا)
في الأخير هذه ملاحظاتي .. قد تكون ساذجة و معروفة للكثير لكن رأيت ان أشرح بلسان عربي مع تضمين رأيي كمستعمل عربي لمنتجات CodeGear.
هاهو البرنامج مع السورس، لن يعمل مع النسخ السابقة لـدلفي 2009 لكن من الأحسن النظر فيها (البرنامج التنفيذي لرؤية النتائج دون الحاجة للتجميع)
و السلام عليكم والرحمة
:)