بسم هللا الرحمن الرحيم L4,CSE 101: 2014-2015 © Zag. Univ. Dr.Basheer M.
Download
Report
Transcript بسم هللا الرحمن الرحيم L4,CSE 101: 2014-2015 © Zag. Univ. Dr.Basheer M.
بسم هللا الرحمن الرحيم
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
في المحاضرة السابقة
√
النموذج Form
√
الالفته Label
√ صندوق النصوص
المقصود بالتعامل مع الكيانات
هو معرفة أهم الخصائص و األحداث و الطرق المصاحبه
لها
TextBox
صندوق المراجعة CheckBox
أزرار البدائل OptionButtons
صندوق القوائم ListBox
الصندوق الموحد ComboBox
شرائط التمرير ScrollBar
ساعة التوقيت Timer
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
تسمية الكيانات
في المحاضرة السابقة
• عند تسمية كيان ما (خاصية ) Nameيجب
مراعاة مايلي:
يبدأ بحرف.
يمكن أن يحتوي علي أرقام و عالمة )_(.
اليمكن أن يحتوي علي مسافة أو عالمات ترقيم.
أقصي عدد للحروف في االسم هو 40حرف.
يفضل ان يبدأ بال prefixثم كلمة تعبر
عن وظيفة هذا الكيان.
Dr.Basheer M. Nasef
مثال
بادئة االسم
Prefix
نوع الكيان
FrmPayroll
Frm
Form
LblPrice
Lbl
Label
TxtName
Txt
TextBox
CmdShow
…
CommandButton Cmd
Opt
OptionButton
Lst
ListBox
Pic
PictureBox
L4,CSE 101: 2014-2015 © Zag. Univ.
في المحاضرة السابقة
: المشتركة بين معظم الكياناتProperties بعض الخصائص
Name
Caption
Top, Left, Width, Height
. يمكن تغيير الخصائص في وضع التصميم
)(من خالل نافذة الخصائص
Forecolor, Backcolor, Textcolor
: أو في وضع التشغيل
Font
Enable
FrmSalary.Top = 100
Visible
Index
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
بعض األحداث Eventsالمشتركة بين معظم الكيانات:
في المحاضرة السابقة
عندما ينطلق أو يثار الحدث يتم تنفيذ الكود المكتوب في االجراء
Click
المصاحب للحدث .Event procedure
DblClick
) (CmdRed_Click
KeyPress
مثال:
أحداث خاصة بالنموذج Form
MouseMove
مثلLoad, Resize, Activate, Deactivate :
DragDrop
حدث Changeخاص بصندوق النصوص.
الحظ أنه يمكن اطالق حدث من داخل اجراء مصاحب لحدث أخر.
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
المحاضرة الرابعة
سوف نستكمل التعرف علي:
كيفية
” التعامل مع المتحكمات في الـ ” VB؟
أمثلة .
الملخص .
√
النموذج Form
√
الالفته Label
√ صندوق النصوص
TextBox
صندوق المراجعة CheckBox
أزرار البدائل OptionButtons
صندوق القوائم ListBox
الصندوق الموحد ComboBox
شرائط التمرير ScrollBar
ساعة التوقيت Timer
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
تحديد االختيارات Making Choices
عادة نستخدام أحد المتحكمات التاليه
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
صندوق المراجعة CheckBox
للحصول على اجابة سؤال ب نعم (وضع عالمة √) أو
ال (ترك الصندوق فارغا).
عادة يمكن اختيار أكثر من صندوق مراجعة في نفس الوقت.
أهم الخصائص:
لكتابة السؤال المطلوب االجابة عليه بجوار الصندوق Caption:
حالة الصندوق وتأخذ القيم التاليه Value :
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
CheckBox صندوق المراجعة
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
أزرار البدائل :OptionButtons
لتحديد أختيار واحد فقط من مجموعة اختيارات .
عادة يستخدم متحكم االطار frameمع مجموعة أزرار بدائل.
أهم الخصائص:
لكتابة اسم االختيار بجوار الزر Caption:
توضح حالة الزر وتأخذ القيم التاليه Value :
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
مثال
:1
صمم برنامجا لعرض التاريخ و الوقت علي الفتتين ,يتحكم في الالفته األولي
مجموعة أزرار بدائل ,أما الالفته األخرى يتحكم فيها مجموعة صناديق مراجعة,
بحيث يمكن عرض التاريخ فقط أو الوقت فقط أو االثنين معا علي كل الفته.
Run
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
تصميم الواجهة: أوال
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
ضبط الخصائص: ثانيا
الكيان
Name
Caption
Form
Form1
Form1
Label
Frame
OptionButton
CheckBox
CommandButton
Label1
متروك فارغا
Label2
Frame1
G_1
Frame2
G_2
OPtTime
Time
OPtDate
Date
OPtBoth
Both
ChkTime
Time
ChkDate
Date
CmdGroupe1
Show_1
CmdGroupe2
Show_2
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
بعد ضبط الخصائص
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
كتابة الكود: ثالثا
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
كتابة الكود: ثالثا
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
نالحظ التالي:
البد من استخدام ايعاز Ifعندما نتعامل مع أزرار البدائل و صناديق
االختيار.
الدوال Time, Date, Nowهي دوال خاصة في ال VBوتقوم بارجاع
الوقت الحالي و تاريخ اليوم و االثنين معا علي الترتيب.
عند التعامل مع صندوق االختيار :يمكن استبدال كلمة Checkedونكتب 1
و كذلك اذا كنا نستخدم Unchekedيمكن أيضا كتابة 0بدال منها في الكود.
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
إختبر نفسك
كيف نعدل المثال السابق بحيث نتمكن أيضا من
عرض التاريخ علي سطر و الوقت علي سطر جديد (في
نفس الوقت( علي أي من الالفتتين؟
(ابحث عن vbCrLfو ) () CStr
كيف نجعل الوقت الذي يظهر علي الالفته يتغير
باستمرار مثل الساعة العادية بدال من كونه ثابتا اليتغير
في المثال السابق؟
(انتظر حتى نتعرف علي ال )Timer
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
صمم برنامج يقوم بعمل محاذاه للنص المكتوب داخل
TextBoxيمينا أو يسار أو في المنتصف باستخدام
الـ Option buttonعند الضغط علي زر أمر؟
وكيف يمكن تنفيذ المحاذاه بدون الضغط علي زر األمر؟
Run
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
صندوق القائمة ListBoxو الصندوق الموحد :ComboBox
ListBox
ComboBox
يستخدم لعرض مجموعة من العناصر عبارة عن صندوق قائمة مضاف له
itemsويتم اختيار واحد منها أو أكثر.
صندوق نصوص .TextBox
يعطي ميزة
للمستخدم باختيار عنصر
من القائمة أو كتابة اختيار جديد غير موجود
بالقائمة.
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
كيف يتم إدخال العناصر لكال من ListBoxو ComboBox؟
يمكن إدخال العناصر أثناء وضع التصميم Design Modeأو أثناء وضع التشغيل Run
.Mode
أوال :في مرحلة التصميم
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
كيف يتم إدخال العناصر لكال من ListBoxو ComboBox؟
ثانيا :في مرحلة التشغيل
يتم ذلك عن طريق كتابة شفرة برنامج فرعي بعد ان نحدد له الحدث أي أن إدخال العناصر
هو رد الفعل علي هذا الحدث.
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
ماذا يحدث إذا تم الضغط علي الزر أكثر من مرة ؟؟ ؟؟؟ ؟؟؟؟
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
صندوق القائمة ListBoxو الصندوق الموحد ComboBox
الخاصية المسئوله عن الشكل لهما هي
Style
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
الصندوق الموحد :ComboBox
Style
شكل الصندوق
قائمة العناصر غير مرئية حتي ينقر المستخدم السهم
ألسفل و يمكن اختيار عنصر من القائمة أو كتابة
اختيار جديد في صندوق النصوص.
0 - DropDown Combo
)(Default
قائمة العناصر تكون مرئية حسب حجم الصندوق في
وضع التصميم و يمكن كتابة اختيار جديد.
1 - Simple
قائمة العناصر غير مرئية حتي ينقر المستخدم السهم
ألسفل و يمكن اختيار عنصر من القائمة وال يمكن
كتابة اختيار جديد.
2 - DropDown List
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
صندوق القائمة : ListBox
تعدد االختيارات:
الخاصية
القيمة
MultiSelect
: 0إختيار عنصر واحد فقط
: 1أكثر من اختيار
لتفعيل االختيار او إلغائه (وذلك بالنقر مرة اخري علي العنصر المختار).
2السماح باختيار مجموعة متجاورة او متباعدة كما هو معمول في نظم
النوافذ.
هذ الخاصيه غير متاحه لدي صندوق الموحد
ComboBox
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
صندوق القائمة ListBoxو الصندوق الموحد ComboBox
أهم الخصائص المشتركة:
الخاصية
التأثير
يستطيع المستخدم التعامل مع الصندوق True:
Enabled
الصندوق معطل False:
يمكن ضبطها في وضع التصميم فقط لترتيب العناصر ابجديا
تحتوي علي عناصر القائمة
شكل الصندوق
يكون الصندوق مرئيا True:
الصندوق غير مرئي في وضع التشغيل False:
Dr.Basheer M. Nasef
Sorted
List
Style
Visible
L4,CSE 101: 2014-2015 © Zag. Univ.
ComboBox و الصندوق الموحدListBox صندوق القائمة
: الهامةMethods الطرق
Method
List (index)
AddItem
وظيفتها
مثال
( اليجاد العنصر بواسطه رقمه
دليله – عنوانه ) من القائمةCboDep.List 2
اضافة عنصر في أخر القائمةLstDep.AddItem “Math”
اضافة عنصر في موضع معين
index LstDep.AddItem “Math”,0
RemoveItem (index)
Clear
مسح عنصر من القائمة في موضع
index CboDep.RemoveItem 1
مسح جميع عناصر القائمةLstDep.Clear
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
صندوق القائمة ListBoxو الصندوق الموحد ComboBox
الطرق Methodsالهامة:
القيمة
Method
التأثير
ListCount
ترجع عدد عناصر القائمة
عند عدم االختيار -1 :تشير الي موضع العنصر المختار في
القائمة و يأخذ قيمة بين
اختيار أول عنصر Listcount – 1 0 :و 0
ListIndex
اختيار ثاني عنصر 1:
وهكذا
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
صندوق القائمة :ListBox
طريقة
:Selected
القيمة
Method
التأثير
اذا كان العنصر صاحب True :تأخذ عنوان عنصر ما في القائمة و
ال indexهو العنصر المختار
توضح اذا ما تم اختيار العنصر أم ال.
)Selected (index
في حالة عدم اختياره False:ال indexالبد أن يكون بين 0و
Listcount – 1
واال سيحدث خطأ أثناء التشغيل اذا تم
ادخال indexغير موجود.
التتوافر مع
الصندوق الموحدComboBox
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
يتم اضافة شريط تمرير ScrollBarتلقائيا لصندوق القائمة اذا كان حجم الصندوق اليكفي
لعرض كل العناصر.
حدث Changeتتم اثارته مع الصندوق الموحد عند ادخال عنصر جديد.
الضافة عنصر جديد الي الصندوق الموحد في وضع التشغيل يفضل استخدام حدث
LostFocusبدال من .Change
حدث LostFocusتتم اثارته عندما ينتقل المستخدم للتعامل مع كيان أخر (باستخدام مفتاح
Tabأو النقر بالفأرة) .
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
صمم برنامجا يضم صندوق موحد يحتوي علي العناصر التالية
Eng, Med, Pha, Edu, Spo
أضف مجموعة من أزرار التحكم تقوم بالوظائف التاليه:
• اضافة العنصر Comالي القائمة
• طباعة العنصر الثاني علي النموذج
• طباعة العنصر المختار علي صندوق رسائل
• مسح العنصر المختار من القائمة
• مسح جميع العناصر
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
) (تصميم الواجهة: حل المثال
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
) (ضبط الخصائص: حل المثال
Name
الكيان
Form
Form1
ComboBox
CboUniv
CommandButton
Caption
ComboBox Example
-
CmdAdd
Add
CmdPrintForm
Print to Form
…
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
) (كتابة الكود: حل المثال
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
) (وضع التنفيذ: حل المثال
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
Test your understanding:
في المثال السابق :هل يمكن االستغناء عن زر Addواستخدام طريقة
أخرى الضافة عناصر الى القائمة؟
عدل في المثال السابق :استبدل الصندوق الموحد بصندوق قوائم ثم أضف
صندوق نصوص يستقبل رقما يمثل عنوان العنصر داخل قائمة الصندوق ثم
يختار المستخدم أحد عناصر الصندوق واذا كان عنوان العنصر المختار هو
نفس الرقم الذي تم ادخاله في صندوق النصوص يتم عرض رسالة Right
واال يتم عرض رسالة Wrongعلى صندوق رسائل.
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
متحكمات األغراض الخاصة :Special Purpose Controls
تعمل مع مجموعة أخرى من المتحكمات مثل:
االطار ( Frameمع أزرار البدائل)
شرائط التمرير ScrollBars
ساعة التوقيت Timer
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
شرائط التمرير : ScrollBars
المؤشر أو زر المكان
Min
خاصية القيمة الصغرى
Max
خاصية القيمة الكبرى
Value
خاصية تشير الى موضع المؤشر
Change
حدث يتم اثارته عند تغير موقع
المؤشر
Scroll
حدث يتم اثارته عند سحب المؤشر
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
شرائط التمرير : ScrollBars
الخاصية
التأثير
Min
القيمة الصغرى للشريط
القيمة العظمى للشريط
تحمل دائما قيمة موضع الشريط و هى قيمة بين
Minو Max
القيمة التي يتحركها المؤشر عند نقر السهم عند أى
من طرفي الشريط
القيمة التي يتحركها المؤشر عند النقر في مكان ما
بين السهم و المؤشر
( 5% or 10%عادة)
Max
Value
SmallChange
LargeChange
في وضع التصميم نضبط قيم SmallChange ،Max ،Minو . LargeChange
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
مثال :3
لدينا متحكم Shapeمن نوعية مستطيل و نريد زيادة العرض
واالرتفاع بمقدار قيمة مؤشر شريط تمرير أفقي و أخر رأسي علي
الترتيب.
يتم عرض قيمة المؤشر األفقي علي الالفته Label2و كذلك قيمة
المؤشر الرأسي علي .Label3
الحظ ضبط خاصية ال BorderStyleلالفتتين H_Valueو
V_Valueعلى .1 – Fixed Single
Dr.Basheer M. Nasef
Run
L4,CSE 101: 2014-2015 © Zag. Univ.
) (ضبط الخصائص و كتابة الكود:حل المثال
للشريطين
Min
0
Max
2000
SmallChange
10
LargeChange
100
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
Test your understanding:
قم باضافة زر تحكم بعنوان Initializeلضبط القيم
الصغرى للشريط األفقي و الرأسي عند قيم عرض و ارتفاع
المستطيل المبدئية علي الترتيب.
و هل يمكن تنفيذ ذلك بدون زر األمر ؟ وكيف يتم ذلك إذا كانت
اإلجابة بعم ؟
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
مثال :
(2
صمم برنامج باستخدام الـ VBيقوم بتحويل درجة الحرارة
من سيليز إلي فهرنت باستخدام الصيغة االتية:
Run
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
ساعة التوقيت أو
التمرير :Timer
تستخدم لتكرار تنفيذ جزء معين من الكود كل فترة زمنية محددة.
التكون مرئية علي النموذج في وضع التشغيل.
أهم الخصائص هي Intervalوتحدد التردد وأهم حدث هو Timer
الخاصية
التأثير
تأخذ قيمة بين 0و 65535ملي ثانية و تحدد الفترة الزمنية التي عند مرورها
ينطلق حدث Timerوينفذ الكود بداخل االجراء المصاحب له
True:
يظل الكود المكتوب داخل اجراء حدث Timerينفذ تلقائيا كلما انقضت الفترة
Interval
Interval
Enable
False:
ساعة التوقيت تكون معطلة
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
مثال :
(1
صمم واجهة برنامج يقوم بعمل StopWatchكما هو
موضح بالشكل التالي؟
Open_Prog
Run
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
تابع مثال :1
صمم برنامجا لعرض التاريخ و الوقت علي الفتتين ,يتحكم في الالفته
األولى مجموعة أزرار بدائل ,أما الالفته األخرى يتحكم فيها مجموعة
صناديق مرا جعة ,بحيث يمكن عرض التاريخ فقط أو الوقت فقط أو
االثنين معا عل كل الفته.
كيف نجعل الوقت الذي يظهر علي الالفته يتغير باستمرار مثل
الساعة العادية بدال من كونه ثابتا اليتغير في المثال السابق؟
(باستخدام ال )Timer
! Try this out
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
تابع مثال ( :1تصميم الواجهه)
تم اضافة متحكمين من نوعية
ساعة التوقيت باسم Timer1و
.Timer2
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
) (كتابة الكود:1 تابع مثال
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
) (كتابة الكود:1 تابع مثال
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
) (وضع التنفيذ:1 تابع مثال
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
نالحظ أن قيمة ال Intervalتساوي 1لكلتا الساعتين أي 1ملي ثانية و عليه فان
كل 1ملي ثانية يتم عرض الساعة (عند اختيارها) علي الالفته و علية لو أن
ال intervalتساوي أي قيمة أقل من أو يساوي 1000ستظل الساعة تتغير كل 1
ثانية.
نالحظ أنه بمجرد اختيار أي من أزرار البدائل أو صناديق االختيار يتم تغيير عنوان
الالفتات دون الحاجة لنقر أي من زر Show_1أو .Show_2هل يمكن تعديل
الكود بحيث اليتم تغيير عنوان أي من الالفتتين بعد االختيار اال بعد النقر علي الزر
Show_1أو Show_2؟
Dr.Basheer M. Nasef
L4,CSE 101: 2014-2015 © Zag. Univ.
option button , check box, Listbox, التعرف علي
.I
. Combobox
. Timer التعرف علي الـ
L4,CSE 101: 2014-2015 © Zag. Univ.
Dr.Basheer M. Nasef
.II