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

دروس عن برمجة ال ActiveX ما رأيكم هل أبدأ!!

مغلق
بدأه Basrah في 22 يونيو 2003 · 29 رد · 3,410 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

الأخوة الأعزّاء في المنتدى...

أريد أن أقوم بطرح عدة دروس تعلّم طريقة برمجة المكوّنات ActiveX.. فما رأيكم هل أبدأ..!! هل ألقى ترحيب من قبلكم...

وشكراً

#2

والله ياليت يأخي بالفعل نحن محتاجين لدروس في هذا المجال ...

بارك الله فيك .(f)

#3

السلام عليكم أخي Basrah

أرجو البدء على الفور مع دعم الشرح بالأمثلة الوافية، ولك جزيل الشكر

#4

على طول الخط معك

#5

والله ياريت أحد يبدأ بهذه

(gift) وهدية مني (أفضل ثلات ActiveX صممتها بنفسي) والكثير (gift)

;) ويمكن أن أشارك في الشرح فأفيد وأستفيد

والله الموفق

#6

:mad:ياريت نبدأ و نقلل من الكلام

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#7

yes please if you can help us.

and make a course .activeX course

thanks

#8

بسم الله الرحمن الرحيم

الظاهر أنَّ الأعضاء الأعزاء متحمّسين لهذه الدروس :):) حسناً... أرجو منكم الصبر قليلاً فحالياً أقوم بكتابة الدروس وقد انتهيت من الدرس الأوَّل.

اصبروا حتى أكتمل من الدرس الأول والذي على وشك الإكتمال وسوف أدرجه.

#9

بسم الله الرحمن الرحيم

الظاهر أنَّ الأعضاء الأعزاء متحمّسين لهذه الدروس :):) حسناً... أرجو منكم الصبر قليلاً فحالياً أقوم بكتابة الدروس.

اصبروا حتى أكتمل من الدرس الأول والذي على وشك الإكتمال وسوف أدرجه.

#10

بسم الله الرحمن الرحيم

الأخ SyntaxErr أرجو أن تساعدني في كتابة هذه المقال فأنا أستخدم كتاب: Programming Internet with Visual Basic 6 لكتابة هذه الدروس.

مع تحيّاتي

#11

إنشاء الله أنا مستعد لهذه الدروس رغم أن هنالك بعض المشاغل

ولكن أريد أن أنبهك أن أغلب الدروس التي سأشارك بها ستكون عملية.

وأشكرك على هذه الفكرة الرائعة

#12

دعائنا لك الله يوفقك دنيا وأخرة

#13

تعليم برمجة المكوّنات ActiveX باستخدام Visual Basic 6

بقلم: أحمد المياحي

الدرس الأوَّل:

يتوجّب عليك معرفة ما هي مكوّنات ActiveX لقراءة هذه الدروس ولكن لا داعي للقلق فسأقوم بشرح مختصر حول مكوّنات ActiveX.

ملاحظة: هذا الدرس لمحة مختصرة عن مكوّنات ActiveX والتعرّف على بعض الخصائص وطرق العمل وفي الدروس القادمة بإذن الله سوف أدخل في الشرح الموسّع.

ما هي مكوّنات الـ ActiveX:

بكل بساطة إنَّ مكوّنات ActiveX هي أشياء برمجيَّة جاهزة ترفع الثقل عن المبرمج.

في هذا الدرس والذي يعد الدرس الأول من سلسلة دروس (تعليم برمجة عناصر ActiveX باستخدام Visual Basic 6) سو ف أتطرّق للمواضيع التالية:

* طريقة فتح مشروع ActiveX.

* طريقة العمل مع UserControl.

* أهم الخصائص.

* إنشاء أوّل أداة.

الوعاء Container

قبل أن أشرح طريقة فتح مشروع ActiveX يجب تسليط الضوء على الـ Container (والذي أطلقت عليه اسم الوعاء في هذه السلسلة).

فالوعاء هو المشغّل الأصلي لمكوّنات ActiveX ويمكن تشبيهه بأداة الـ Frame المدرجة في أدوات Visual Basic الافتراضية، والتي تجمع العناصر الأخرى بداخلها. فكما نعلم أنَّ مكوّنات ActiveX متّكلة على نفسها في جميع الأمور أمّأ الذي يقوم بتشغيل هذه الأدوات يسمى الوعاء Container فمثلاً عند إدراج أداة ActiveX في بيئة Visual Basic سيتم تشغيل هذه الأداة تحت هذه البيئة (أي بيئة Visual Basic) أي تصبح تحت تصرّفها.

ويمكن تحرير جميع الخصائص والأحداث الموجودة في الأداة من خلال الوعاء.

طريقة فتح مشروع ActiveX

والآن وبعد معرفة الوعاء نقوم بشرح مشاريع ActiveX الممكن إنشاءها تحت بيئة Visual Basic بطريقة مختصرة ونتوسّع أكثر في الدروس القادة إن شاء الله تعالى:

* ActiveX EXE: برنامج Visual Bsaic يطرح عدّة أكواد.

* ActiveX DLL: يطرح الأكواد فقط ويمكن تعريف فئة Class أو عِدة فئات مختلفة لاستخدامها عند الحاجة.

* ActiveX Document EXE: برنامج Visual Basic متكامل بكل مزاياه حيث يمكن تشغيله تحت الإنترنت.

* ActiveX Document DLL: كالسابق ولكن يتم تشغيله داخل الـ Process.

* ActiveX Control: عنصر مستقل عن أيّ شيءٍ حيث يشتمل على الأكواد والعناصر البصرية (Visual) وأغلب أدوات Visual Basic من هذا النوع.

سأقوم بشرح جميع هذه العناصر في الدروس القادمة إنْ شاء الله تعالى مبتدءاً بالعنصر الأخير تصاعدياً.

أمّا الآن فسأقوم بشرح طريقة فتح مشروع جديد والذي يكون من النوع الأخير ActiveX Control.

1. اختر من قائمة File الأمر New Project.

2. أنقر على ActiveX Control واضغط زر Open.

(هذا كل ما هو مراد لفتح مشروع من نوع ActiveX Control ويمكن للبقية تتبع نفس الخطوات المذكورة).

بانتقاء ActiveX Control سوف تظهر نافذة شبيهة بنافذة Visual Basic ولكن مع فقد الشريط العلوي لها، فيمكن من خلال صندوق الأدوات ToolBox سحب وإفلات العناصر ومن ثم كتابة الشفرة المناسبة، وهذا ما سنشرحه لاحقاً بإذن الله تعالى.

خصائص مشروع ActiveX

سوف أشرح خصائص ActiveX والتي يمكن الوصول إليها من خلال Project|Properites:

* Project Type: نوع المشروع.

* Startup Object: النافذة التي تظهر في البداية (إن كان لديك في مشروعٍ واحد أكثر من نافذة فيمكنك جعل نافذة خاصّة تظهر في البداية).

* Project Name: اسم المشروع.

* Help File Name: ملف التعليمات للمشروع.

* Project Description: شرح المشروع (سوف يظهر هذا الشرح عندما نريد إضافة عنصر إلى بيئةٍ ما، فمثلاً عند ضغط مفتاحي Ctrl+T سوف يتم إظهار جميع المكوّنات المثبتة على الجهاز وكل أداة تعرف من اسمها، والاسم هو Project Description).

* Upgrade ActiveX Controls: تفعيل هذه الخاصية يتسبب في تحديث الإصدار الأخير من النسخة المذكورة.

* Require Licenes Key: تفعيل هذه الخاصية يتسبب في إنشاء ملف بلاحقة *.vbl عند ترجمة العنصر. حيث يجب على المستخدم عندما يريد أن يستخدم العنصر أن يقوم بتسجيله أوّلاً في الريجيستري.

وهناك خصائص أخرى يمكن الوصول إليها من خلال نفس النافذة وذلك بالنقر على Debugging:

* wait for components to be created: يقوم بترجمة المشروع ولكن لا يوجد وعاء لتشغيله تحته (يستخدم هذا الخيار لتصحيح المشروع من قبل ترجمته والعثور على الأخطاء وقنصها).

* Start Componet: يتم ترجمة المشروع وتشغيل متصفح الإنترنت كوعاء لتشغيل العنصر (القائمة الموجودة تسرد جميع العناصر المضافة للمشروع مما يسهل انتقاء العنصر المناسب لتشغيله).

* Start program: إذا كان لديك وعاء ما يمكنك وذلك بالنقر على (...) تحديده.

ملاحظة: لاختبار عنصر ActiveX افتح مشروع جديد من نوع Standard في بيئة Visual Basic واضغط على Ctrl+T فسوف تظهر قائمة بجميع المكوّنات المثبتة على جهازك ما عليك سوى اختيار العنصر المناسبة وسوف يظهر في آخر صندوق الأدوات ToolBox أنقر عليه نقراً مزدوجاً لإضافته مباشرةً أو أنقر عليه نقرة واحدة وارسمه من خلال الـ(+) على النافذة.

الكائن المنبسط

قبل الولوج في تفاصيل مكوّنات ActiveX يجب تسليط الضوء على الكائن المنبسط Extender Object لأنه أحد العناصر الأساسية في برمجة ActiveX.

لقد رأينا بأنَّ عنصر ActiveX يجب تشغيله تحت وعاءٍ ما، والكائن المنبسط هو جزء من الوعاء حيث يقو بسرد بعض خصائص الوعاء لجعلها ضمن خواص عنصر UserControl والخصائص التي يدرجها عبارة عن:

Top

Left

Height

Width

حيث تقوم الخصائص المذكورة بتعيين مكان العنصر في الوعاء. فعنصر UserControl لا يمتلك هذه الخصائص لأنَّ هذه الخصائص يجب تعيينها من خلال الوعاء.

الخصائص المنبسطة الافتراضية

إنََّ كل وعاء Container يجب أن يسرد خواص معيّنة للعنصر UserControl ليتسنّى لمستخدم العنصر التعامل مع العنصر بسهولة ودقة، ومن الخصائص:

Name: اسم العنصر للوصول إليه من خلال الكُد.

Visible: مرئي / غير مرئي.

Parent: يعيد كائن الوعاء.

Cancel: إذا كان هذا العنصر زر Cancel للوعاء يعيد TRUE.

Default: إذا كان هذا العنصر زر Default للوعاء يعيد TRUE.

خصائص UserConrol

يمتلك عنصر أداة المستخدم (UserControl) عدة خصائص تتحكّم في طريقة انسيابه والتي يمكن الوصول إليها إما من خلال نافذة الخصائص أو من خلال التكويد، ومن جملة الخصائص:

* AccessKey: مفتاح الوصول السريع (HotKey) للعنصر. فمثلاً إذا أردت من المستخدم عندما يضغط Alt+C أن تنتقل البؤرة (Focus) إلى العنصر ما عليك سوى كتابة حرف C في خاصية AccessKey.

* CanGetFocus: تعين هذه الخاصية ما إذا هل يمكن للعنصر استقبال البؤرة (Focus) أم لا.

* Container Controls: يعيد مجموعة (Collection) بجميع العناصر المستخدمة على المكوّن. ولكن يجب جَعِل خاصيَّة Control Container = TRUE.

* Container hWnd: تعيد مقبض العنصر.

* Control Container: إذا جَعَلْتَ قيمة هذه الخاصة = FALSE فالعنصر لا يستطيع إدراج الأداة الأخرى داخله حيث يصبح عكس الإطار (Frame) والذي يمكن تجميع عدة عناصر داخله للترتيب.

إضافة ارتباط تشعّبي

تمكّنك الخاصية Hyperlink من إضافة ارتباط تشعّبي تستطيع من خلاله التنقل بين صفحات الإنترنت. حيث يمكن الوصول للإيرل (URL) الذي نريده. مثال:

UserControl.Hyperlink.NavigateTo http://www.msn.com

يقوم السطر المذكور بفتح موقع (msn) ويمكنك إستخدام ما يلي بدلاً من NavigateTo:

* GoBack: يرجع للخلف.

* GoForward: يذهب للأمام.

الأداة الأولى

لقد مللنا من الشرح!

سنقوم بإنشاء أول أداة في Visual Basic وإن كانت في غاية السهولة ولكن سوف تعرّفنا على طريقة التحكّم في UserControl أكثر فأكثر. وتساعدنا على الفهم الأدق للعنصر.

أداتنا ستكون عبارة عن Banner بصورتين تظهر الأولى ثم تختفي ثم تظهر الثانية وتختفي وتظهر الأولى.. إلى ما لا نهاية... وسوف نستخدم المؤقّت (Timer) لإظهار الصور. اتبع الخطوات التالية:

1. افتح مشروع جديد من نوع UserControl.

2. أدرج 2 أداة صورة (Image). وأدرج صورتين فيهما.

3. أضف مؤقّت (Timer) وغير خاصية Interval إلى 1000 وأكتب فيه الكُد التالي:

Image1.Visible = Not Image1.Visible

Image2.Visible = Not Image2.Visible

3. أدرج الكُد التالي في حدث Initialize للعنصر:

With Image1

.Visible = True

.Top = 0

.Left = 0

End With

With Image2

.Visible = False

.Top = 0

.Left = 0

End With

Timer1.Enabled = True

ترجم المشروع وأدرجه في بيئة Visual Basic، نعم لقد قمنا بإنشاء أداة ActiveX وذلك بكل سهولة، لا تعجل فأمامنا الكثير من المعلومات الخفيّة والتي سنكشف عنها في الدروس القادمة بإذن الله تعالى.

ملاحظة: لقد قمت بإرفاق الأداة بالمصدر مع ترجمتها يمكن استخدامها بدون عناء وتفحص أكوادها.

وأخيراً

لقد انتهى الدرس الأول من سلسلة دروس (تعليم برمجة المكوّنات ActiveX باستخدم Visual Basic) وأخذنا الجزئيات التي تساعدنا في الولوج أكثر، فإنْ كنت لم تفهم موضوعاً ما أو شيء ما فلا تقلق ففي الدروس القادمة سيتضح كل شيء.

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

activex.zip

#14

بسم الله الرحمن الرحيم

لقد دفعتموني لأكتب هذه الدروس ولكني لا أرى إقبال منكم فلماذا؟

#15

لو تتجه الى تقنية الدوت نت اخي الكريم يكون احسن برأيي ..لان المستقبل لها ..وبخلال سنة على الاكثر لن يدعم احد vb6

#16

بسم الله الرحمن الرحيم

الأخ: ams545 لم ولن أفكر بالذهاب إلى تقنية NOT. (لا تستهجن التسمية ولكنها كذلك) فالدلفي كانت تدعم الـ NOT. قبل ثمان أشهر من إنتاج التقنية.. فالدلفي أفضل بكثير

#17

بارك الله فيك اخي العزيز Basrah انا حفظ الدرس على ملف وورد مع المثال وطبقته وكل شي تمام جزاك الله خير.

اخي ams545 اغلب مشاريع vb6 يمكن ترقيتها الى دوت نت افتح اى مشروع vbp بواسطه فيجوال بيسك دوت نت ويشتغل معالج الترقيه فورا

#18

معلش انا راح اكون انتقادي قليلا :D

عندما بدئنا الفريق العربي للبرمجة قبل 3 اعوام لم نسال العالم ما رائيكم نشكل فريق عربي للبرمجة، ببساطة شكلنا واحد و اليوم عليه اقبال شديد و عدد كبير من المشتركين.

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

و كلمة دروس بالنسبة لي تعني على الاقل 50 صفحة عن ActiveX ، فاين هي :D ؟

#19

شكرا لك أخي على هذه البداية الجميلة استمر فنحن معك .

أخوك :سعد (f)

#20

اخي خضر ترزي وسع بالك على اخينا Basrah هو حاب يسأل عن الاسلوب وطريقه عرض الافكار ويمكن اول مره يكتب دروس ويحب يعرف قدرته على توصيل المعلومه ...

بعدين وين بيضة العصفور الدورى( كتاب قواعد البيانات العملاقه) الكثير من المبرمجين يسألوا عنه والرابط غير شغال وحجم الملف ما يسمح ارساله بالبريد انا عندي نسخه منه مع بعض الملاحظات بس قريت مره انك عدلت عن فكرة اكماله هل هذا صحيح؟

#21

بسم الله الرحمن الرحيم

الأخ العزيز (العقاد) أشكرك على هذا الكلام الجميل وأسأل الله تعالى أن يوفّقك في الدنيا والآخرة.;)

بالنسبة إلى الأخ (خضر ترزي) فأقول:

أخي العزيز أنا ذكرت في بداية المقال بأني سأتوسّع في الدروس وبكرى إن شاء الله أدرج الدرس الثاني تحت عنوان (تقنيات أكثر).. أما بالنسبة لذكر رأي الأخوة عن هذه الدروس فأقول بأني أقوم بتأليف وترجمة أيضاً من كتاب Programing Internet with Visual Basic 6 فالبتأكيد بأني أتعب كثيراً وأسأل الآراء.

أخيرا:

((ما رأي الأعضاء بتجميع هذه الدروس تحت ملف pdf ثم إدراجها في المنتدى))

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

#22

هذه ActiveX تحوي أغلب الاستخدامات الخاصة لهذه الأدوات.

وإن شاء الله سأقوم بشرح هذه الأداة والتي هي من تصميمي سطراً سطراً.

والله الموفق

redcheckbox.zip

#23

الله يوفقكم ثلاثتكم Basrah و خضر ترزي و syntaxerr .

كلكم اصحاب فضل على المنتدي واعضاءه وزوراه .

الاخ Basrah اقتراحك جميل جدا لعمل ملف اكروبات وياليتة يشوف النور قريبا .

والله يعينك على الترجمة.

#24

مشكور على الشروح الحلوة وبالتوفيق إن شاء الله:)

#25

شكرا على دروسك المفيدة يا أخ Basrah

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

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