الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كما وعدت : درس ادراج واستخدام عناصر التحكم في الديفلوبر

مغلق
بدأه huttami في 15 أبريل 2003 · 24 رد · 4,375 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

استخدام عناصر التحكم في الديفلوبر

ان استخدام أدوات OCX من خلال Visual Basic أمر في غاية السهولة

يكفي أن تدرج هذه الأداة في شريط الأدوات من خلال مربع الحوار Components

وبعد ذلك - بما يسرته هذه اللغة - تبدأ باستخدام خصائص وأحداث هذه الأداة

يمكن ضبط الخصائص مثل اللون والخط والحجم والموضع و... في وقت التصميم Design Time أو في وقت التنفيذ Run Time على اختلاف فبعض الخصائص يمكن ضبطها في وقت التصميم والتنفيذ وبعضها في وقت التصميم فقط .

ولكل أداة يتم ادراجها توجد أحداث معينة مثل حدث التغير Change و ضغط زر الماوس Mouse Click

يتم استثمار هذه الأحداث بوضع الكود المناسب داخلها .

هذا الأمر في Visual Basic و لكن في Oracle Developer الأمر ليس بهذه السهولة وهو ما يؤدي بالبعض الى أخذ نظرة ليست جيدة عن ال developer وأكثر من يشتغلون بال developer لا يجيدون استخدام OCX مما يلجأ بهم الى استخدام أساليب لأخرى لتحقيق أمور كهذه .

يعني مثلاَ في تطبيق معين اذا أراد البعض مسح الصور من ال scanner فانه قد يستخدم أي برنامج مسح أو ينشأ برنامج بال Visual Basic يقوم بمسح الصور وتخزينها في مجلد معين وبعد ذلك يحمل هذه الصور الى التطبيق المنشأ بال Developer

ما الذي يهمنا عند استخدام أي أداة ؟

يهمنا فقط شيئين : ضبط الخصائص و استخدام الأحداث

الخصائص عبارة عن قيم قد تكون رقم مثل الطول Height والعرض Width

وقد تكون قيم محددة Enumerations مثل appearance : 1-3d و 2-flat

وقد تكون قيم أخرى(مركبة)

كيف نستخدم Ocx Controls من خلال Developer

لشرح ذلك دعونا نأخذ مثال نطبق عليه الخطوات وليكن Progress Bar

ملا حظة :

:كي نستخدم أي أداة يجب تسجيل هذه الأداة في النظام من خلال الأمر

WinDirsystem32 regsvr32.exe xxx.ocx

لالغاء تسجبل أي أداة نستخدم الأمر :

WinDirsystem32 regsvr32.exe xxx.ocx /u

الخطوات :

1- انشئ ) Block Manaully ) اختر اسماً للبلوك وليكن huttami وأختر اسماً لل canvasوليكن كذلك huttami

2- من الشريط Tool Palette (شريط الأدوات) اختر الأداة OLE وارسمها على ال canvas

3- نعرض خصائص OLE ونحدد الخاصية OLE Class

ملاحظة يأتي ال Bar Progress ضمن الملف COMCTL32.OCX

4- بعد ذلك نقوم بجلب Import)) خصائص وأحداث هذه الأداة من خلال :

من القائمة Program نختار Import OLE Library Interface

نحدد الفئة التي حددناها سابقاً

ونختار ال Event Package لجلب الأحداث

و ال Method Package لجلب الخصائص كما هو مبين :

بعد القيام بهذه الخطوة سوف يقوم ال Developer باضافة ال Packages التالية :

- ComctlLib_CONSTANTS

يحتوي على ثوابت وتركيبات (Type , struct) الأدوات الموجودة في COMCTL32.OCX

- COMCTL_IprogressBar

يحتوي على خصائص الأداة Progress Bar

وتكون هذه الخصائص على هيئة اجراءات ((Procedures ودوال ((Functions

تستخدم الاجراءات لتحديد الخصائص

والدوال لاسترجاع (قراءة ) هذه الخصائص

مثلاً لو كان اسم الأداة Pbar1 فلضبط خاصية القيمة Value

Pbar1.value =200 (Visual Basic)

COMCTL_IprogressBar.Value(:item('Huttami.Pbar1').INTERFACE,200) (Developer 2000)

حيث

Item هي دالة يتم استدعاؤها

Huttami هي اسم البلوك

Pbar1 هو اسم الأداة

لقراءة خاصية معينة مثلاً القيمة

(Visual Basic)

Dim vl as long

Vl=Pbar1.value

(Developer 2000)

Declare

Vl Number;

Begin

Vl= COMCTL_IprogressBar.Value(:item('Huttami.Pbar1').INTERFACE)

End;

وهكذا جميع الخصائص

زيادة ايضاح :

لعرض مربع الحوار الخاص بالأداة

COMCTL_IprogressBar.AboutBox (:item('Huttami.Pbar1').INTERFACE)

هناك خصائص كما قلنا تكون قيمها معدودة (Enumerations)

مثل خاصية المظهر (Appearance)

كما ذكرت سابقاً ال Package ComctlLib_CONSTANTS : يحتوي على جميع هذه الثوابت فلخاصية المظهر الثوابت كما في ال Package هي :

SUBTYPE AppearanceConstants IS Number;

ccFlat Constant Number := 0;

cc3D Constant Number := 1;

فلضبط خاصية المظهر على (Flat) يمكن ذلك بطريقتين

COMCTL_IProgressBar.Appearance(:item('Huttami.Pbar1').INTERFACE,0)

طبعاً القيمة 0 لم نضعها اعتباطاً ولكن كما هو واضح من الثوابت

أو

COMCTL_IProgressBar.Appearance(:item('Huttami.Pbar1').INTERFACE, ComctlLib_CONSTANTS.AppearanceConstants.ccflat)

- COMCTL_ProgCtrl_EVENTS

يحتوي على الأحداث التي نود أن نستثمرها لهذه الأداة مثل

MouseMove , Click , OLEStartDrag

مثلاً نريد عرض رسالة كلما نقرنا (Click) على الأداة Pbar1

نفتح ال Package (COMCTL_ProgCtrl_EVENTS)

نلاحظ أن الحدث Click موجود داخل ال Package كما يلي :

PROCEDURE /* Click */ EVENT4294966696(interface OleOb) ;

ما يهمنا هنا هو معرفة القيمة التي يعطيها الديفلوبر للحدث Click و هو ‘EVENT4294966696’

وبنفس الطريقة الحدث MouseDown يعطيه الديفلوبر القيمة ‘EVENT4294966691’

طيب بعدما عرفنا القيم التي يعطيها الديفلوبر للحدث

نذهب الى عنصر التحكم Pbar1 ونضيف Trigger (ON-DISPATCH-EVENT)

ونكتب داخله الكود التالي :

.

.

if :system.custom_item_event='EVENT4294966696' then

Message ('click');

.

.

اكتب اللي بدك اياه

ElsIf :system.custom_item_event='EVENT4294966691' Then

Message('Mouse Down')

.

اكتب اللي بدك اياه

end if;

ملاحظة Devloper2000(forms5) يقوم باضافة ال Trigger (ON-DISPATCH-EVENT)

تلقائياً

في النهاية أتمنى أن أكون قد أوصلت الفكرة كا ملة من حيث ادراج عناصر التحكم وضبط الخصائص واستخدام الأحداث وهذا هو كل ما في الأمر

الفرق واضح في الفيجوال بيسك الأمر سهل جداً وفي الديفلوبر معقد ومع ذلك أنا من المتحمسين (المتعصبين) للديفلوبر و ان كنت أجيد البرمجة بالفيجوال بيسك

باذن الله سوف أقوم بوضع مثال لاحقاً

لاتنسونا من صالح الدعاء

حمود الحطامي

صنعاء - اليمن

الماسنجر

Huttami@hotmail.com

#2

تحياتي لك

#3

الصورة غير واضحة

#4

ياريت تشرح الأداه التي يمكن بواسطتها إدخال الفلاش الى الفور و عرضه بداخلها

#5

بارك الله فيك وجزاك عنا كل الخير اتمنى ان توضح لنا كيف يمككنا استخدام الماسح الضوئى مباشرا

ولو ممكن ترسل لنا نموذج او مثال لذلك

#6

تحياتي

#7

السلام عليكم .....

قمت بادراج بعض عناصر ocx إلا أنها تنبدو فارغة أثناء runime و لا تعمل أصلا

من فضلك كيف تعمل initializatione لهذه ocx's لكي تعمل.

و السلام.

#8

السلام عليكم ورحمة الله جزاكم الله خيرا

والله لقد أثرت لنا موضوع هام جدا جدا

فأرجوا منك تكملة لهذه الدروس حيث أننى فى حاجه للمزيد لمعرفة هذه الدروس

استغفر الله العظيم من كل ذنب وأتوب إليه

#9

لمن من لم توضح لهم الصور

قم بانزال الملف المضغوط التالي وهو يحتوي على جميع الصور مرقمة من 1 - 5

حسب الترتيب في الدرس

c:pictures.exe

الأخ الذي يسأل عن كيفية عمل تهيئة لعنصر التحكم لا أدري ماذا يقصد بالضبط ولكن أعدكم بدرسين توضيحيين ان شاء الله

الأول سوف نشرح فيه كيفية استخدام الفلاش من الديفلوبر

والثاني :سوف نقوم بتصميم برنامج معالجة صور من المسح والتأثيرات الأخرى

بس ان شاء الله أحصل وقت

#10

أخي الفاضل :

الملف فيه مشكلة ، لا يمكن أن أحمله ..... :o

#11

اخي العزيز

في البدايه شكرا لك لقيامك بشرح هذى الدرس الرائع

ولكن طريقه عرضك للصور غير صحيح

فأنت تعرضها من جهازك بشكل مباشر ولذلك لا يمكن ان نراها

بل يجب ان ترفعها في احد المواقع

ولكن ان شئت ارسلي لي الصور إلى بريدي وانا اقوم بالزم

تحياتي لك

شبيـــــه الريح

sbeh_alreah@hotmail.com

#12

لقد قابلت الأخ hottmit على الــmsn وقال لى انك ستعمل upload للصور ولم تفعل ذلك لماذا أخى

لو سمحت نحن نريد الإستفادة مثلك

استغفر الله العظيم من كل ذنب وأتوب إليه

#13

هلا والله اخوي eng2002

كيف حالك

انا والله حتى الان انتظر الرد من اخي huttami

ولكن ما ادري ليش ما راد علي

تحياتي لك

شبيــــه الريح

#14

الأخ شبيه الريح بعثت لك بريد ...

أنا في هذه الأيام مشغول جداً الجهاز معصلج (باليمني) يعني كل يومي أعمل setup للوينوز من جديد البرامج ما تشتغل ... الجهاز بطيئ مثل السلحفاة الدنيا عندي مزفته اسبوع وأنا على هذا الحال وما ادري ان في نسخة من الصور على الهارد والا راحت مع البلاوي اللي عندنا ...

بالمناسبة أعددت درس استخدام الفلاش بس مش قادر أحصل وقت على شان أرتبه ....

دعواتكم

#15

هلا اخوي huttami

الله يعينك على جهازك إن شاء الله تنحل كل مشاكلك

وبالنسبه للبريد حتى الان لم يصل شي

ولكن لتسهيل الطريقه ارسلي الصور واي ملف تريد ان رفعه على الانترنت على هذى البريد

arabteam2000@gawab.com

وإن شاء الله راح افعل ما وعدت به

تحياتي لك

شبيـــــه الريح

#16

الأخوة الأكارم

الملف المرفق يحتوي على الصور الخمس المتعلقة بشرح الدرس

pictures.rar

#17

لقد تأخرت علينا كثيرا أخى Huttmi

أين بقية الدروس؟

نحن مشتاقون لدروسك

أرجوا منك طلبا آخر وأرجوا منك ألا تخزلنى

ما هو الكتاب الذى تشرح منه هذه الدروس ?

وشكراً......(f)

استغفر الله العظيم من كل ذنب وأتوب إليه

#18

الأخ العزيز

الله يعلم أن تأخري كان بسبب تعطل جهازي وانشغالي بالدوام

وأنا قد انهيت اعداد درس ادراج الفلاش ولكن الجهاز ...م ع ط ل

أما بالنسبة للدروس فأصدقك القول أني لا أعتمد على أي كتاب وانما هي خبرتي البرمجية ومعرفتي المتواضعة ...

وان شاء الله اذا تهيأ لي الوقت سوف أطرح دروس جريئة جداً

والله المستعان

#19

اخي huttami

لا يوجد عندي COMCTL32.OCX

كيف استطيع انزالة؟؟

#20

والله الموضوع شيق وجميل ;) الله يرحم والديك ...

#21

شكرا لك أخى Huttami

نحن فى انتظار درسك القادم

(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)

استغفر الله العظيم من كل ذنب وأتوب إليه

#22

السلام عليكم

الموضوع ممتاز ولكنه غير مكتمل

ارجو تكملة الموضوع يا اخ huttami ولك جزيل الشكر

#23

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

ممكن يا اخوان خدمه ؟ قمت بإنزال الملف وماني عارف البرنامج اللي ممكن عن طريقه اقدر افتح الصور .. اذا فيه احد يعرف هذا البرنامج يقولي مع خالص شكري

#24

نحن فى الإنتظار

:'(:'(

استغفر الله العظيم من كل ذنب وأتوب إليه

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…