فوائد اضافة المكونات برمجيا
#1
اود الترحيب بابناء المنتدى
احببت اليوم ان نناقش فوائد اضافة الادوات والمكونات برمجيا

ا- سيعمل على تصغير حجم البريمج
من المعروف ان الدلفى يكتب عنك الاكواد البرمجية والخصائص للاداة عند اضافتها للفورم
يكتب كل شئ الذى هو default الى ان تقم انت بتغيير القيم
يمكن يكون للعنصر الواحد عشرين خاصية فيكتبها .... ولكن انت بواسطة اكواد البرمجة تكتب سبع خواص مثلا ... لان هذه التى ستغير قيمها فقط
بذلك تستغنى عن 13 خاصية تضاف اتوماتك عند ظهور المكون على الفورم وقت التشغيل ولكن بدون حفظها فى البريمج
فيصغر حجم البريمج جدا

2- سيعمل على سرعة تنفيذ اكواد البريمج

3- وهذا الاهم هناك ادوات active X cnrols بتكون غير مجانية ولا تستطيع انت ان تستخدمها لانها اولا بتعمل error عند اضافتها للفورم وهو ole error تستطيع اضافتها برمجيا وتستفيد منها بدون اى مشاكل التسجيل وخلافه

تحياتى
[-] كل من 1 user says قال شكرا ل vb_manager على المشاركة المفيدة
  • حمزة حمزوز
الرد
#2
أهلا ومرحبا بك Smile
بالفعل، تستفيد من أشياء كثيرة عند إضافتك لأغراضك بنفسك...
غير أن الأمر أحيانا يختلف من مشروع إلى آخر

بعض المشاريع تحاول تقليص حجمها قدر المستطاع...
البعض الآخر، تحاول تقليص الوقت المستغرق في إنجازها!
الرد
#3
اهلا بك
طبعا هذا الكلام ينطبق على مشروع به ادوات كثير ة جدا
فتستطيع ان تعمل procedure مشترك بين الادوات وتمرر له باراميرات من توب وليفت الخ
الخواص المشتركة بين الادوات وان تمرر له بسطر
تخيل حجم المشروع قبل هذه البرمجة وبعدها
اهم شئ عجبى ف الدلفى انه بيعمل وحدة لل Active X Controls
تستطيع ان تعدل فيه كما تشاء
تصور vsflexgrid7l مكون غير مجاني كانه مفتوح امامي مصادره استطيع اعدل فيه براحتى
وبالطبع لولا الاضافة للمكون برمجيا كنت لا استطيع الاستفادة من هذه التعديلات
تحياتي
الرد
#4
vb_manager كتب :اود الترحيب بابناء المنتدى
احببت اليوم ان نناقش فوائد اضافة الادوات والمكونات برمجيا
و عليكم السلام .. شكرا على طرحك للموضوع Big Grin
لدي مداخلات على السريع
إقتباس :ا- سيعمل على تصغير حجم البريمج
[COLOR="red"]ليس بالضرورة لأن دلفي يقوم بعمل كومبايلر للكلاس كله الخاص بالأداة ودمجه مع المشروع Big Grin
[/COLOR]
إقتباس :بذلك تستغنى عن 13 خاصية تضاف اتوماتك عند ظهور المكون على الفورم وقت التشغيل ولكن بدون حفظها فى البريمج
فيصغر حجم البريمج جدا
2- سيعمل على سرعة تنفيذ اكواد البريمج
لنفرض أني أضفت Button جديد للفورم بدون تغيير أي قيمة .
هذا الكود الذي يقوم دلفي بتوليده
PHP كود :
object Button1TButton
    Left 
192
    Top 
112
    Width 
75
    Height 
25
    Caption 
'Button1'
    
TabOrder 0
  end 
لاحظ ان هذه أغلب الخصائص سنستخدمها عند اضافة الكونترول برمجيا + الخاصية Parent .
ماعدا بعض الخصائص التي يمكن الاستغناء عنها , مثل الخاصية TabOrder أو الخاصية Style ..
لكن في الحقيقة فقد تم اسناد هذه الخصائص الى القيم الافتراضية في ال constructor ِcreate الخاص بالأداة

PHP كود :
constructor TCustomButton.Create(AOwnerTComponent);
begin
  inherited Create
(AOwner);
  
ControlStyle := [csSetCaptioncsDoubleClicks];
  
Width := 75;
  
Height := 25;
  
BlaBla...
  
FStyle := bsPushButton;
  
FStylusHotImageIndex := -1;
end

[COLOR="Red"]لذلك عامل السرعة لا يتعلق باضافة الأدوات برمجيا.
[/COLOR]
إقتباس :3- وهذا الاهم هناك ادوات active X cnrols بتكون غير مجانية ولا تستطيع انت ان تستخدمها لانها اولا بتعمل error عند اضافتها للفورم وهو ole error تستطيع اضافتها برمجيا وتستفيد منها بدون اى مشاكل التسجيل وخلافه

تحياتى
كلام صحيح , أغلب أدوات active X ستعمل أحسن ان تم اضافتها برمجيا .
ماعدا ادوات ال vcl فستعمل بنفس الطريقة , لقد قمت بتصدير أداة ColorGrid الى ActiveX ثم استخدام هذه الأخيرة مع الدوت نت وكانت النتيجة مقبولة Big Grin


[COLOR="Red"]أهم نقطة عند اضافة الأدوات برمجيا هي أنه لا يتم اضافة الأداة الى الرسورس .. بمعنى لا يمكن تغيير الادوات بالاستعانة ببرامج الرسورس
أغلب المبرمجين يستخدون الطريقة في نوافذ التسجيل الخاصة بالبرنامج تفاديا لأي تلاعب من قبل الكراك كحذف زر التسجيل أو تغيير Unregistered Label الى Registered وغيرها من الامور المتعلقة بالحماية ...

[/COLOR]
تحياتي .. Big Grin
الرد
#5
أهلا إخواني الكرام ...

بالنسبة لإضافة المكونات برمجيا ... ستكون الفائدة الرئيسية هي محاولة اظهار معلومات أو التعامل مع خدمات متغيرة وغير ثابتة ... مما يجعل المبرمج أمام وضع يستوجب استعمال المكونات في وقت التشغيل .

بالتوفيق للجميع Smile
الرد


التنقل السريع :


مستخدمين يتصفحوا هذا الموضوع: 1 ضيف