اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

  • 1 year later...
قام بنشر
في ٢٩‏/٦‏/٢٠١٥ at 21:04, عبد الله قدور said:

السلام عليكم

يوجد في معطم لفات البرمجة شيء اسمه class وهو موجود في اكسس 

ممكن شرح عن طريقة الاستخدام 

القي نظرتا الى هذا الرابط لاستاذ @محمد ايمن

 

قام بنشر
33 دقائق مضت, Shivan Rekany said:

القي نظرتا الى هذا الرابط لاستاذ @محمد ايمن

السلام عليكم اطلعت على الرابط ومشكور على ذلك لكن الى الان لم اعرف كيفية انشاء كلاس وكيفية ادخال الاكواد بداخلها وكيفية التعامل معها وما الفرق بين الكلاس المرفقة مع النموذج والكلاس المنفردة

  • 9 months later...
قام بنشر

اخوتي الفضلاء

في اللغات البرمجية مثل # C  و Java ، يتم استخدام Class  لإنشاء الكائنات ، و لها مرادف في  VBA

في Access ، هناك نوعان من الوحدات النمطية : الوحدات النمطية القياسية والوحدات النمطية للفئة Standard modules and class modules

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

الكائن هو مزيج من الكودات و البيانات التي يمكن التعامل معها كوحدة واحدة ، و يمكن أن يكون الكائن جزءًا من التطبيق ، مثل عنصر تحكم أو نموذج ، ويمكن أن يكون التطبيق بأكمله كائنًا .

عند إنشاء تطبيق في Visual Basic ، تعمل باستمرار مع الكائنات ، و الغالب فيها هي الكائنات التي يوفرها  Visual Basic ، مثل عناصر التحكم والنماذج وكائنات الوصول إلى البيانات.

Dim db As DAO.Database 
Dim qd As QueryDef
Dim ctl As Control
Dim pag As Page

كما يمكنك أيضًا استخدام الكائنات من التطبيقات الأخرى داخل تطبيق Visual Basic.

Dim ExcelSheet As Object 
Set ExcelSheet = CreateObject("Excel.Sheet")

و الذي يهمنا هنا انه يمكنك أيضًا إنشاء كائناتك الخاصة وتحديد خصائصها و طرق عملها ،  و تكون هذه الكائنات مثل اللبنات الجاهزة للبرامج - فهي تتيح لك كتابة الكود مرة واحدة وإعادة استخدامها مرارًا وتكرارًا عند الحاجة لها .

و كأي شيئ آخر هناك حسنات و معيقات لاستخدام الكائنات الخاصة في التطبيقات ، ومن الحسنات ، إتاحة بناء التطبيق ككتل معتمدة على الكائنات التي يتم انشاؤها ، ويكون من السهل فحص و اختبار أجزاء التطبيق ، و اذا اضطررنا ( كما يحدث غالبا ) لتعديل او تحديث الكود ، تجنبنا حدوث مشكلات في أجزاء أخرى من التطبيق ، و يبقى دائما من السهل إضافة كائنات بين التطبيقات .

أما المعيقات فتتمثل في الجهد والوقت الأطول ( في البداية ) لإنشاء التطبيقات و خاصة عند التحليل و التخطيط  ، ولكن على المدى الطويل سيكون هناك توفير للوقت بالاضافة الى كودات يسهل التعامل معها و تحديثها و تعديلها ، كما أنه ليس من السهل دائمًا تحديد ماهية الكائن و خصائصه  ، كما أن معظم المبرمجين ( و خاصة الجدد منهم ) يجدون صعوبة ( في البداية ) بفهم الكائنات و الوحدات النمطية للفئة Class .

وللحديث بقية ...

 

  • Like 2
قام بنشر

يتم تعريف كل كائن في Visual Basic بواسطة Class  و الذي يحوي و يفصل المتغيرات والخصائص والإجراءات والأحداث الخاصة بالكائن ، و تصبح هذه الكائنات ممثلة ل Class ؛ و بذلك يمكنك إنشاء العديد من الكائنات التي تحتاج إليها بمجرد تعريف و إنشاء Class.

Class ، تحدد و تعرف الصفات المميزة للكائنات الخاصة بنا .

و للتعامل مع الكائن و مميزاته و اجزائه ، لا بد من إنشائه بموجب Class

و هنا نستخدم Class لإنشاء تعريف لكائن مخصص .

 يصبح الاسم الذي قمت بحفظ Class به هو اسم الكائن المخصص الخاص بك.

تصبح الإجراءات Sub Sub و Function التي تحددها داخل Class أساليب مخصصة للكائن.

تصبح إجراءات الملكية العامة Let و Property Get و Set Property خصائص الكائن.

 و للحديث بقية ....

 

  • Like 1
قام بنشر

لنلق نظرة على مثال بسيط جدًا لإنشاء Class

Alt+F11

Insert Module

Class Module

يظهر لنا محرر  Visual Basic

قبل البدء بكتابة الكود يفضل ان نثبت إسم للوحدة النمطية و ليكن  clsCustomer

 

في المحرر نكتب

' Class name: clsCustomer

Public Name As String

قم بحفظ الاجراءات و اخرج من الوحدة النمطية

و لنقم مثلاً بانشاء نموذج جديد و نفتح عرض التصميم ، و في محرر Visual Basic   نضع الروتين التالي 

Private Sub sfPrint()

End Sub

حيث نقوم بتعريف اسم زيون جديد حسب  المعرف في clsCustomer باستخدام العبارة ، و هي اساسية لتعريف الزبون الجديد

Dim oCustomer As New clsCustomer

ثم نستخدم خاصية الاسم name. لهذا الزبون الجديد و نسند له القيمة

' Set the customer name
oCustomer.Name = "Nart Lebzo"

ثم نحدد الاجراء المراد تطبيقه

' MsgBox the name
MsgBox oCustomer.Name

و بذلك يصبح الكود كما يلي

Private Sub sfPrint()
' Create the object from the class module
Dim oCustomer As New clsCustomer

' Set the customer name
oCustomer.Name = "Nart Lebzo"

' MsgBox the name
MsgBox oCustomer.Name
End Sub

ثم نقوم ( مثلا ) بانشاء زر أمر نضع خلف حدث النقر الكود التالي لاستدعاء الروتين الذي يطبق clsCustomer

Private Sub Command0_Click()
Call sfPrint
End Sub

و للحديث بقية ......

  • Like 2
  • Thanks 1
قام بنشر (معدل)

مع الشكر الجزيل

المهم عندى

سؤال

هذه المعرفة ب ال  classes تفيد المبرمج و تفتح له آفاقا جديدة

أم أن لها بدائل فى الوظائف و الإجراءات العادية

بمعنى آخر

هل تستحق الجهد المبذول فى دراستها و التعرف عليها

وفقكم الله

 

 

موضوع كبير و مطلوب

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information