![]() |
|
طريقتان مغنيتان عن إضافة مكوّنات جديدة - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي التقنية (https://delphi4arab.net/forum/forumdisplay.php?fid=6) +--- قسم : دلفي والتعامل مع المكونات و الاضافات (https://delphi4arab.net/forum/forumdisplay.php?fid=18) +--- الموضوع : طريقتان مغنيتان عن إضافة مكوّنات جديدة (/showthread.php?tid=2197) |
طريقتان مغنيتان عن إضافة مكوّنات جديدة - أبو محمد اللحياني - 18-07-2010 السلام عليكم ورحمة الله وبركاته الكثير من المبرمجين يبحث عن مكونات جديدة لاستخدامها ويرفقها مع مشروعه إن كان مفتوح المصدر، أو يجد تلك المكونات مُرْفَقة مع المشروع فيضطر لتركيبها. ولكن الكثير منا يستاء من إجباره على إضافة مكونات جديدة لأجل تشغيل بعض المشاريع والأمثلة، وهو لا يرغب أصلاً في تركيب هذه المكونات ثم يحذفها بعد مشاهدة المثال. الحل الآن الذي أنصح به لا يغني تركيب هذه المكونات لتلك المشاريع المبرمجة بل لا يغني عمل مكونات وباكجات جديدة، ولكني أنصح به في التعديلات البسيطة التي تجريها على المكونات الأصلية الموجودة بالدلفي ، وأراه يغني ويخفف الكثير من الحالات المرهقة لعمل تلك المكونات وإضافتها. ففي حالة استخدام مكونات دلفي وترغيب في وجود مناهج أو إجراءات أو خصائص عن متوفرة فيها فعليك استخدام إحدى الطريقتين : الطريقة الأولى : عليك كتابة المكوّن الجديد قبل التصريح عن نموذج النافذة هذا مثال تخيلي من عندي : كود : type
TAlignText = (atCenter, atRight, atLeft);
TEdit = class(StdCtrls.TEdit)
private
FalignTex : TAlignText;
procedure setAlignText(const Value: TAlignText);
published
property alignText : TAlignText read FalignTex write setAlignText;
end;
TForm1 = class(TForm)
Edit1 : TEdit;
.
.
.مثال عملي كامل تجده هنا : كود : http://www.stevetrefethen.com/blog/UsingGoogleMapsFromVCLSampleApplication.aspxكود : http://www.stevetrefethen.com/files/googlemap.zipالطريقة الثانية : استخدام : TMyHelper = class helper for TNeedObject ولعل الطريقة هذه فقط في delphi2010 والطريقة وجدتها عن استخدامي للوحدة superobject.pas وجدت أن جميع الكائنات الأصلية في الدلفي بلا استثناء فيها الإجرائين : toJson و FromJson . ثم وجدت السر هنا : كود : TSuperObjectHelper = class helper for TObject
public
function ToJson(ctx: TSuperRttiContext = nil): ISuperObject;
constructor FromJson(const obj: ISuperObject; ctx: TSuperRttiContext = nil); overload;
constructor FromJson(const str: string; ctx: TSuperRttiContext = nil); overload;
end;بالتوفيق ومن كان عنده إضافة علم فلا يحرمنا منها . طريقتان مغنيتان عن إضافة مكوّنات جديدة - ALSOUF - 18-07-2010 شكرا استاذ . جاري الاطلاع على كامل الموضوع طريقتان مغنيتان عن إضافة مكوّنات جديدة - SMP3 - 02-12-2012 كود : بالتوفيق ومن كان عنده إضافة علم فلا يحرمنا منها .![]() كود : ولعل الطريقة هذه فقط في delphi2010![]() class helper : لقد حل العديد من مشاكل ال OOP , لدي مثال في ال VCL Style Extractor ألق نظرة على الوحدة SMPStyle كود : http://www.delphi4arab.net/forum/showthread.php?tid=7969كما هناك ال Record Helper ![]() PHP كود : type intHelper =record helper for integerالآن يمكننا الكتابة بالشكل التالي : PHP كود : var MyInt:integer ;و السلام عليكم
طريقتان مغنيتان عن إضافة مكوّنات جديدة - SMP3 - 02-12-2012 ملاحظة : يمكن استخدام الأدوات بدون تنصيبها لاختبارها فقط قم باضافة وحدة الأداة الى ال uses ثم قم بانشاء الأداة و قت التشغيل عن طريق انشاء الكلاس الخاص بالأداة PHP كود : implementation |