ي ن ها د ب ع ن سي ح ل ا هادي م عل ت ول ج ف ك س" ي$ ب ة ج م ر لب ا ة غ ل$ ب ول ج ي ف ك س" ي$ بProgramming with Visual Basic 1-1 ل ب غ5 ش تVisual Basic : ن م ; مة ئ ا ق ة داي ب ل اStart ب ت خ ا رPrograms م5 ث ن م د ب لب اMicrosoft Visual Basic 6.0 ب ط غ ض ى علMicrosoft Visual Basic 6.0 ، رN ظ ن ا ك5 س ل ا ل( 3 - 1 .) [email protected]07705853496 77
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
هادي الحسين عبد هاني
بيسك فجول تعلم
بيسك فيجول بلغة البرمجة
Programming with Visual Basic
: Visual Basic تشغيل 1-1
Microsoft Visual Basic البند من ثم Programs راختن Start البداية قائمة من
(.1-3) لالشك انظر ،Microsoft Visual Basic 6.0على ضغطن 6.0
(1-3) رقم شكل
) الشكل في كما الرئيسية التطبيق واجهة ظهرت بيسك لالفيجوا تشغيل بعد
فيظهرNew Project األمر ونضغطFile قائمة نفتح جديد مشروع (. ولتكوين3-2
التنفيذي المشروع (. ويكون3-3) الشكل انظر ،جديد مشروع حوار مربع
بيسك فيجول بلغة البرامج كتابة - مراحل2 المرور من بد فال معقد أو بسيط كان مهما بيسك فيجول بلغة مشروع أي لتكوينهي: مراحل بثالث
الواجهات تصميم2-1 نموذج كل في الكائنات وعدد وأنواع النماذج عدد تحديد يتم المرحلة هذه فيكائن. لكل المناسب المكان أختيار ويتم
الصفات تحديد2-2 كل صفات تحديد مرحلة تأتي نموذج كل في والكائنات النماذج عدد تحديد بعد
نافذة من صفاته الكائن( وتحديد )أو النموذج بأختيار ذلك ويتم كائن وكل نموذج , Top) والموقع(Name) االسم مثل الكائنات بين مشتركة صفات وهناك الصفات
Left)والحجم (Width , Height)الخط ونوع (Font)والعنوان (Caption)وغيرها وتمثلText صفة كائنات( مثل عدة )أو معين لكائن تتوفر خاصة صفات وهناك للكائن تضاف التي الصورة وتمثلPicture صفة وكذلك للكائن يضاف الذي النص
نافذة في موجودة )غير الشفرة كتابة عند فقط تتوفر الصفات بعض وهناكالكائنات. عن حديثنا عند لها الصفات( وسنتطرق
على معين حدث تطبيق عند أستدعائها أو تنفيذها يتم بيسك بلغة تكتب برامج هي حدث أو المزدوج النقر أو النقر حدث مثل النموذج على موجود كائن أي أو النموذج
الكائن. فوق الفأرة مؤشر أمرار
نص وصندوق أوامر ي زر على يحتوي والذي االتي الشكل : صمم(1) مثـال الزر على النقر يؤدي بينما االول الزر نقر عند ترحيب رسالة يكتب المشروع وأجعلالترحيب. رسالة مسح الى الثاني
(5-3) الشكل ("1"مثال) بالعبارة للنموذج عنوان ونضيف قياسي مشروع نكون: التصميم
وهي: االخرى الكائنات ونضيفالصفة قيمة ونمسح نص صندوق Textفارغ. لنجعلهرسالة" واالسم "أطبع بالعنوان أوامر زر CmdType.واالسم الرسالة " أمسح بالعنوان أوامر ور " CmdClear.الصفة وحجمه الخط نوع نغير الصفات نافذة من( Fontللكائنات ) .الثالثة
أو النموذج أحداث لكل معروفة قيمها االحداث( وتكون )خارج النموذج أو للوحدةالوحدة. أجراءات
التطبيق مستوى من تعريف (Application Level)عامة هنا المعطيات وتكون هذه االجراءات( وتعرف ووحدة النموذج )ضمن التطبيق اجراءات لكل ومعروفة
أو االجراءات لوحدة التعريف مقطع ( فيGlobal )أوPublic باآلمر المعطياتالنموذج. االحداث على(Procedure) االجراء مصطلح تستخدم الكتب : بعض مـالحظـة
لتكون المصطلحين أستخدمنا ولهذا االجراءات وحدة وداخل النموذج داخل الموجودةبيسك. بالفيجول الخاصة للمصادر قرائتهم عند الطلبة لدى مألوفة
نماذج تحت تظهرBas باالمتداد ملف هي(Module) االجراءات : وحدة مـالحظـة وتعرف المشروع متصفح نافذة المستخدم( في قبل من أضافتها )بعد المشروع نماذج لكل متاحة تكون لكيPrivate بدلPublic باالمر عادة الوحدة أجراءات
يمكن ال الوحدة آلن الوحدة أختيار عند فعالة غيرView Object أداة المشروع. وتصبح . وتضافView code أداة خالل من بها الخاصة الشفرة نعرض وانما النوذج مثل عرضها المشروع مستعرض نافذة في فارغة منطقة في االيمن الزر نقر خالل من الوحدة(.9-3) الشكل أنظر ،Module ثمAdd وأختيار
(9-3) الشكل
للمعطيات. التعريف مستويات لنا يوضح اآلتي المثال
للترحيب االول ، نماذج ثالث على يحتوي مشروع تكوين : المطلوب(2) مثـال يعرض الثاني ، سويةCtrl+Alt+Home المفاتيح يضغط أن منه والطلب بالمستخدم
وعرض المشروع بتشغيل الخاصة السر كلمة أدخال ويطلب المشروع مصمم أسمالثالث. النموذج عرض يتم السر كلمة صحة من التأكد وبعد النماذج بقية
يلي ما له نضيف ، المشروع تكوين عند تلقائيا االول النموذج : يضاف االول النموذج المفاتيح" أضغط المشروع لتشغيل "مرحبا بالعنوان داللةبالعنوان داللة "Ctrl+Alt+Home"(.10-3) الشكل . أنظر
فارغة منطقة على بالزرااليمن النقر خالل من النموذج هذا : يضاف الثاني النموذج تحت الثاني النموذج يظهر حيثForm ثمAdd واختيار المشروع مستعرض نافذة في
لصندوقPasswordChar صفة )أجعل نص وصندوقي دالالتين له نضيف ، االول النموذج(.11-3) الشكل في كما أوامر ( وزري* لـ مساوية الثاني النص
أو لغلق اوامر وزر صورة له أضف ، أعاله االسلوب بنفس : يضاف الثالث النموذج(12-3) الشكل ، المشروع أنهاء
النماذج. تحت تظهر حيث أعاله االسلوب بنفس : تضاف االجراءات وحدة
للنموذج تابع حدث فيDesignerName للمتغير قيمة أعطاء تتضمن المثال فكرة أنه على سنعرفه فأننا الثاني النموذج في المتغير هذا قيمة ظهور نريد أننا وبما االول
Publicالتطبيق( وفي مستوى من نجعله )أي االجراءات وحدة في التعريف مقطع في النموذج لهذا التابعة اآلحداث أحد داخلPassword للمتغير قيمة سنعطي الثاني النموذج
سنعرفه ولهذا النموذج لنفس تابع أخر حدث داخل المتغير هذا قيمة سنستخدم ولكننا من نجعله )أي االحداث خارج النموذج لهذا التعريف مقطع ضمنPrivate أنه على
االجراءات: وحدة شفرة النموذج(. أدناه مستوىPublic DesignerName As String
تطبيقات بعض مع يستخدم الذيKeyDown حدث أستخدمنا االول النموذج شفرة في أدناه: مبين كماCtrl+Alt+Home المفاتيح ضغط من للتأكد الويندوز
Option ExplicitPrivate Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = vbKeyHome Then
If Shift = 6 Then DesignerName = " ريـاض شهـد "
Unload Me ' الحالي النموذج غلق
FrmLogin.Show الثاني النموذج عرض ' End If
End IfEnd Sub
: هي الثاني النموذج شفرة Private Password As String Private Sub Form_Load() ' الثاني للنموذج التحميل حدث
Me.ShowtxtName.Text = DesignerName النص صندوق في المصمم أسم عرض 'Password = "Help Me" ' السر لكلمة قيمة أعطاءtxtPass.SetFocusEnd SubPrivate Sub CmdBack_Click() ' رجوع االوامر زر شفرة
Unload Me الحالي النموذج غلق 'FrmStart.Show ' اآلول النموذج عرض
End SubPrivate Sub CmdStart_Click() ' البداية االوامر زر شفرة
If txtPass.Text <> Password Then ' السر لكلمة المدخلة القيمة من التأكد txtPass.Text = "" txtPass.SetFocus Exit Sub ' البداية لزر النقر حدث من الخروج
End IfUnload MeFrmProject.Show الثالث النموذج عرضEnd Sub
المشروع. أنهاء لزر النقر حدث فقط تشمل والتي الثالث النموذج شفرة وأخيرا Private Sub CmdClose_Click() EndEnd Sub
ضمنها ومن الكائنات من الكثير على يطبقKeyDown : الحدث مـالحظـة النموذج داخل الموجودة للكائنات اسبقية يعطي بيسك الفيجول ولكن النموذج هذا لحل أسلوبان ولدينا يستجيب لن سوف للنموذجKeyDown حدث فأن وبالتالي للكائناتFalse لـ مساويةEnabled صفة جعل خالل من يتم : االول االشكال
من للنموذجKeyPreview صفة تحويل هو الثاني والحل النموذج على الموجودةFalseالى Trueفقط أحتوى النموذج آلن الحلين لهذين نحتاج لم االول النموذج . في . KeyDown حدث عليها يطبق ال التي الكائنات من وهي الدالالت على
الدوال بعض على االطالع من لنا بد ال المعطيات عن كالمنا ننهي أن قبلبيسك. الفيجول مشاريع في بكثرة المستخدمة
MsgBox الرسالة صندوق دالـة: وصيغتها المدخالت بعض وأسترجاع المعطيات لعرض تستخدم
A1الرسالة صندوق وسط في يظهر الذي : النصA2أدناه الجدول حسب معينة عالمة أظهار الى يؤدي رمز أو : رقم
العالمـة A2 الرمز قيمة
16 X 32 ? 48 ! 64 i
A3الرسالة. صندوق عنوان شريط في يظهر الذي : النصمالحظـات
المتغير وجود يعتبر A1المتغيرين أما ، ضروري A2و A3أختياري فوجودهماللمتغير رقم أضافة يمكن A2تستخدم الصندوق على أزرار لعرض وذلك
: يلي وكما المستخدم من قيمة آلسترجاع الصندوق على تظهر التي اآلزرار المضاف الرقم
0 Ok 1 Ok / Cancel 2 Abort / Retry / Ignore 3 Yes / No / Cancel 4Retry / Cancel
: االتية العبارة أستخدام ناتج ( يمثل13-3) الشكلR = MsgBox ("File Not Found",50,"Check Your FileName")
(13-3) الشكل ( حسبvbIgnore أوvbRetry أوvbAbort) القيم أحدى يأخذ سوفR المتغير هنا
الرسالة. صندوق على المعروضة االزرار من المستخدم أختيار InputBox اآلدخال صندوق دالـة
: وصيغتها للمعطيات الرمزية أو الرقمية القيم آلدخال تستخدم InputBox (B1, B2, B4)
B1اآلدخال. صندوق وسط في الذي : النص B2( أختياري المتغير ) هذا العنوان شريط في يظهر الذي : النص B3هذا الصندوق داخل مستطيل في تظهر والتي للمدخل االفتراضية : القيمة(
Dim name As String , grade as Single =name” عامر ”محمد
Grade = 68.5اإلسناد عملية
هادي الحسين عبد هاني
أو عددية إما تكون المسندة القيمة وهذه ، متغير في معينة قيمة تخزين بها ويقصدهي: له العامة والصيغة المتغير نوع حسب أخر نوع أي أو حرفية
Var1 = Valueعليه وكمثال
4-2 اإليعاز
(IF) الشرطي بأختيار المصمم ويقوم االيعاز لهذا الصيغ من العديد بيسك الفيجول لغة توفر
الصيغ: لهذه شرح وأدناه المشروع أو السؤال متطلبات حسب منها المناسبالبسيط الشرطي االيعاز4-2-1
كما شروط مجموعة أو شرط تحقق عند واحد فعل لتنفيذ الصيغة هذه تستخدمأدناه موضح
If Degree >= 90 Then Print "Excellent"If X > 10 And Y = 0 Then Z = X ^ 2If M = 10 Or M = 20 Then MsgBox " Well Done "
أدناه مبين كما البسيط الشرطي االيعاز مع المنطقيةNot عبارة أستخدام ويمكنDim Se As BooleanSe = InputBox (" Enter a Boolean value")If Not Se Then MsgBox " The parameter Se is False"
المركب الشرطي االيعاز4-2-2 عند أفعال عدة لتنفيذ وتستخدم End IF بعبارة وتنتهيIF بعبارة الصيغة هذه تبتدأ Else العبارة بدون : االول نوعين على أيضا وهي شروط مجموعة أو شرط تحقق
، متعددة آلفعال متعددة شروط وجود عند يستخدم واالخيرElse العبارة مع والثانيالمركب. الشرطي االيعاز من االول النوع تبين التالية الشفرة
IF X < 0 ThenY = X ^ 2Z = Y + 32MsgBox " Z = " & Z
: الشفرة لزر النقر حدث خالل منC وB وA قيم آلدخال شفرة الى نحتاج المثال هذا في
موضح: كما االول االوامرOption ExplicitPrivate A, B, C As IntegerPrivate Sub CmdInput_Click()A = InputBox("Enter Value of A")B = InputBox("Enter Value of B")C = InputBox("Enter Value of C")End Sub
حساب ثم المدخالت قيم من التأكد تشمل فهي المعادلة جذور حساب زر شفرة أما جذر أي وجود عدم أو جذرين أو واحد جذر وجود هي واالحتماالت المعادلة جذور قيم
للمعادلة.Private Sub CmdCompute_Click()Dim Msg, D, X, X1, X2If A = 0 And B = 0 And C = 0 Then Exit SubIf A = 0 Then Exit Sub
D = B ^ 2 - 4 * A * CIf D = 0 Then
X = -B / (2 * A) Msg = "One Root =" & X
ElseIf D > 0 Then X1 = (-B - D ^ 0.5) / (2 * A) X2 = (-B + D ^ 0.5) / (2 * A) Msg = "Two Roots, First =" & X1 & " Second =" & X2
المشروع أنهاء أوامر زر شفرة وأخيرا Private Sub CmdExit_Click() EndEnd Sub
المباشر الشرطي االيعاز4-2-3كاالتي: هي النوع هذا وصيغة
G = IIF ( X > 0 , 6, 12) تحقق عدم عند12 القيمة ويأخذ ، الشرط تحقق عند6 القيمة يأخذG المتغير
فقط. بقيمتين محدود النوع هذا أن ويالحظ الشرط
GOTO االنتقال ايعاز4-3 االعلى من تسلسلي يكون السابقة االمثلة في الخطوات تنفيذ بأن الحظنا لقد
من االجراء داخل خطوة أية الى االنتقال أمكانية يوفر بيسك الفيجول ولكن لالسفل رمز نضع حيثIsEmpty دالة عن حديثنا عند ذلك أستخدمنا وقدGOTO االيعاز خالل الحدث داخل مكان أي وفي له االنتقال نريد الذي المكان ):( في بالعالمة ينتهي
االتي: المثال في كما الرمز بذلك متبوعGOTO االيعاز نستخدمPrivate Sub Counting() Dim I as Integer I = 0Count: I = I +1 MsgBox " I=" & I If I < 10 GoTo CountEnd Sub
بأي يرتبط ( لمCounting )المسمى السابق االجراء بأن الطلبة يالحظ: مالحظـة أو تنفيذ كيفية عن الطلبة يتسائل وربما وغيرها المزدوح النقر أو النقر مثل حدث
أستدعائها يتم باالحداث المرتبطة غير االجراءات كل أن والجواب االجراء هذا أستدعاء يقوم االوامر أزرار آلحد أدناه المذكور النقر فقط. حدث أسمها بذكر االحداث داخل
. Counting االجراء بأستدعاءPrivate Sub Command1_Click() Counting
( SELECT CASE) الشرطية الجمل4-4 عدة لتنفيذ يستخدم فكالهما المركب الشرطي االيعاز مع الشرطية الجمل تتشابه
:االتية الصيغة تاخذ الشرطية الجمل شروط. بعدة مرتبطة عند أفعالSelect Case A
Case Is = 3Statements
Case Is = 4Statements
Case Is > 10Statements
Case Is 20 To 30Statements
End Select بعد اعاله( ونضعه المثال فيA )المتغير للمقارنة كأساس متغير نختار البداية في الرمز بمقارنة نقوم ثم المتغير ذلك قيمةCase الرمز يأخذ حيثSelect Case عبارةCaseالمقارنة. ويمكن شروط تحقق عند ستنفذ التي االفعال ونحدد معلومة قيم مع
20 في )كما القيم من مدى أستخدام وأصغر( وكذلك )أكبر المقارنة رموز أستخدامTo 30عبارة آلن المقارنة في رمزي متغير على االعتماد عند االنتباه (. ويجب Select
Caseالحرف والكبيرة الصغيرة الحروف بين تفرق( Cالحرف يساوي ال c) الى )للتحويلLCase هما دالتين بيسك الفيجول يوفر المشكلة هذه على وللسيطرة
بأستخدام الكبيرة( وينصح الحروف الى )للتحويلUCase الصغيرة( و الحروف )القيمة بالخطأ تضاف قد التي للفراغات االنتباه يجب المقارنة. كذلك عند أحداهما
NorthSchoolتساوي ال North Schoolالدالة بأستخدام هنا ( وينصح Trimعند Trim(North لـ مساويةNorthSchool القيمة فتصبح الفراغات تلغي آلنها المقارنة
School)
التكرارية الحلقات4-5 ويوفر مرات عدة العبارات من مجموعة لتنفيذ التكرارية الحلقات تستخدم
أدناه. موضح كما الحلقات هذه من أنواع عدة بيسك الفيجول
For – Next إيعاز4-5-1 الصيغة وتأخذ التكرار مرات عدد علمنا أذا خصوصا أستخداما الحلقات أنواع أكثر وهي
: االتيةFor Counter = StartValue To EndValue Step M
بعبارة الحلقة أنهاء يمكن Nextالعداد. رمز ذكر بدونبعبارة الحلقة من الخروج يمكن GOTOأو Exit For.عبارة خالل من أال للحلقة الدخول يمكن ال For.الحلقة. داخل العداد قيمة تغيير يجوز ال
تصاعدية تكرارية حلقة أدناه العبارات تمثل For I = 1 To 100
Print INext I
في كما صغيرة بقيمة وتنتهي كبيرة بقيمة تبدأ فأنها التنازلية التكرارية الحلقات أما المثال
For K = 10 To 0 Step -2X = K^2 + 3 * K + 5MsgBox "X=" & X & " For K=" & K
Next K
Do - While إيعاز4-5-2 عملية على السيطرة وتتم التكرار مرات عدد معرفة عدم عند النوع هذا يستخدم
أدناه: موضح كماWhile عبارة بعد يوضع شرط خالل من التكرارDo While R > 20
S = 2 * RPrint S
Loop.Exit Do بعبارةDo – While حلقة من الخروج ويمكننا
الشرطية. أنظر والجمل المركب الشرطي االيعاز يستخدم المثال : هذا(4) مثـال ، صورة صندوق ، منسدلة )قائمة كائنات عدة على يحتوي ( والذي16-3) للشكل
المنسدلة القائمة من العربية الدول أحدى أختيار هي المثال أوامر( وفكرة زري نعرض االوامر زري أحد ومن الصورة صندوق في الدولة تلك وعلم خارطة لعرضالدولة. تلك وعاصمة موقع
للقائمةStyle صفة ونجعل المطلوبة الكائنات ونضيف جديد مشروع نكون في الموجود النص تغيير من المستخدم لمنعDropDownList-2 لـ مساوية المنسدلة
المنسدلة. القائمة: الشفرة
)الصندوق المنسدلة للقائمة النقر هو : االول لحدثين شفرة نحتاج المثال هذا في أدناه: موضح كما االوامر لزر النقر هو المركب( والثاني
Option ExplicitPrivate S As Integer
Private Sub CboCountry_Click()S = CboCountry.ListIndexIf S = 0 Then PicView.Picture = LoadPicture("D:\Pictures\Egypt.jpg")ElseIf S = 1 Then PicView.Picture = LoadPicture("D:\Pictures\Iraq.jpg")ElseIf S = 2 Then PicView.Picture = LoadPicture("D:\Pictures\Jordan.jpg")ElseIf S = 3 Then PicView.Picture = LoadPicture("D:\Pictures\Labanon.jpg")ElseIf S = 4 Then PicView.Picture = LoadPicture("D:\Pictures\Moroco.jpg")ElseIf S = 5 Then PicView.Picture = LoadPicture("D:\Pictures\Kuwait.jpg")End IfEnd Sub
Private Sub CmdInfo_Click()Select Case SCase Is = 0 MsgBox " القاهرة هي العاصمة ، أفريقيا شمال "Case Is = 1 MsgBox " بغداد هي العاصمة ، تركيا جنوب "Case Is = 2 MsgBox " عمان هي العاصمة ، العراق غرب "Case Is = 3 MsgBox " بيروت هي العاصمة ، سوريا غرب " Case Is = 4 MsgBox " البيضاء الدار هي العاصمة ، تونس وغرب أفريقيا شمال "
Case Is = 5 MsgBox " الكويت هي العاصمة ، العراق جنوب "End SelectEnd Sub
(16-3) الشكل: التنفيذ تظهر وعندئذ الدولة أسم نختار المنسدلة القائمة ومن المشروع لتنفيذF5 نضعط
االعلى في الذي االوامر زر على وبالضغط الصورة صندوق في الدولة تلك وعلم خارطة أختيار عند التنفيذ عملية ( يرينا17-3) الشكل ، الدولة تلك عاصمة وأسم موقع نعرض
هذه شرح من لنا بد ال ، وأحداثها وطرقها وصفاتها االدوات عن الحديث قبل
المفاهيم.
Properties الصفات
بأختيارها الكائن( أما تكوين )بعد تحديدها يتم والتي الكائنات مواصفات هي
داخل قيمها بأدخال أو التصميم فترة أثناء الصفات نافذة في المتوفرة القوائم من
وقيمة الصندوق حجم هي صفاتها فمن النص صناديق عن مثال تكلمنا فلو الشفرة
داخل النص قيمة أدخال كيفية على مثال وغيرها. أدناه الخط ونوع ولونه النص
: الشفرة
Text1.text = "Good Morning"
صندوق صفات أحدى هيtext نص( و )صندوق الكائن أسم هوText1 حيث
صندوق داخل ستظهر التي القيمة هيGood Morning و النص قيمة وتمثل النص
عالمة وتعقبها الكائن بأسم تسبق الصفة بأن أعاله المثال من النص. نستنتج
الصفة. قيمة ثم المساواة
Methods الطرق
وهي الشفرة تنفيذ عند تتحقق والتي الكائنات بها تقوم التي االفعال هي
عالمة توجد ال ولهذا قيم تأخذ ال ولكنها الكائن بأسم تسبق حيث الصفات تشبه
: الطرق أستخدام على مثال بعدها. أدناه مساواة
Form1.cls
النموذج طرق أحدى هيcls )النموذج( و الكائن أسم هوForm1 حيث . ومنClear Screen لـ أختصار وهي عليه المرسومة الكائنات لمسح وتستخدم
واالحداث. بالصفات مقارنة أستخداما أقل الطرق فأن بالذكر الجدير Events االحداث
أفعال ردود عنها تنتج والتي الكائنات على تطبق التي الخارجية االفعال هي الشفرة( متبوع )في الكائن أسم كتابة الشفرة. عند تنفيذ عند تتحقق ايضا وهي
لهذا والطرق( المتوفرة الصفات )وكذلك االحداث بأسماء قائمة تظهر بالنقطة عند بالماوس. فمثال(Click) النقر عملية هي أستخداما االحداث وأكثر الكائن داخل الموجود النص الفعل( يمسح هو )هذا االوامر زر كائن على بالماوس النقر
ذلك: توضح التالية الفعل(. االسطر رد هو )هذا النص صندوقPrivate Sub Command1_Click( )
هو عليه سيطبق الذي الحدث و االوامر زر كائن أسم هوCommand1 حيث )أيtext للصفة فارغة قيمة أعطاء هو النقر عملية عن سينتج والذيClick النقر وPrivate )مثل أعاله المذكورة المصطلحات النص(. بقية صندوق محتويات مسح
Subالحقا(. سنتعلمها
Form النموذج6-1
فتح عند تلقائيا للمشروع ويضاف بيسك الفيجول في الكائنات أهم هو االخرى الكائنات الكائنات( وكل صندوق في موجود غير فهو )ولهذا جديد مشروعالكائنات لكل وعاء فهو أخر وبمعنى فوقه وتظهر للنموذج تضاف
الصفات
االولية )القيمة لها االفتراضية والقيمة النموذج صفات أهم ( يوضح3) الجدول قيم لها ليس الصفات بعض ان ونالحظ ، صفة لكل شرح للصفة( وكذلك
أفتراضية.( أهم صفات النموذج3جدول )
القيمـــةالصفــة
االفتراضية
الوصف
NameForm1التصميم مرحلة في النموذج أسم لتحديد
CaptionForm1شريط في )نص( يظهر عنوان الضافة
العنوان
BackColor&H8000000F&والقيمة النموذج أرضية لون لتحديد
Form1.Move Left + 50, Top + 50 االسفل )بأتجاه النموذج حركة
واليمين(
End Sub
المثال: عن مالحظـات
الرمز BFلـ مختصر هو Box Fillمضلع( مملوء مربع رسم الى ويؤدي(
بلون. مملوء غير مربع يرسم وهناF حرف حذف ويمكن بلون
الـ طريقة في Circleفيجب بلون الدائرة ولملىء االطار لون يمثل اللون
على وتضبطFillColor وSolid-0 على وتضبطFillStyle هما للنموذج صفتين تغيير
المطلوب اللون
االستعاضة يمكن أو النموذج بأسم نسبقها دون من الطريقة نكتب أن يمكننا
. Me بكلمة النموذج أسم عن
أالحداث
شرحها سيتم والتي االخرى الكائنات مع مشتركة وأغلبها كثيرة أحداث للنموذج Load حدث هو بالنموذج الخاصة االحداث أهم ومن الكائنات لتلك التطرق عند الحقا أو للمتغيرات أولية قيم لتحديد منه ويستفاد النموذج تحميل عند تلقائيا ينفذ الذي
الحدث آلن الحدث هذا معShow طريقة عادة وتستخدم معين لكائن التركيز توجيه طرق أستخدام عند خطأ بحدوث يتسبب قد مما النموذج ظهور الى يؤدي ال ذاته بحد
توجيه الى تؤدي والتيSetFocus وأهمها جدا قليلة االوامر أزرار طرق داخل يكون ذكرنا كما مؤشر( واستخدامها الزر يكون ) حيث االوامر لزر التركيز للتركيز فاقد أحدهما أوامر زري يرينا التالي الشكل(Cmd2.SetFocus) الشفرة
تحميل أثناء التركيز توجيه تم )البرتقالي( حيث للتركيز مستلم )االصفر( واالخرالتالية: بالشفرة النموذج
Private Sub Form_Load()
Form1.Show
Cmd2.SetFocus
End Sub
(20-3) شكل
االوامر( )زر الكائن يكون أنSetFocus الطريقة أستخدام في : يشترطمالحظـة
وفعال. ظاهر
االحداث
النقر. حدث هو أستخداما وأكثرها االوامر أزرار أحداث أهم ( يرينا6) الجدول
( 6جدول )
الوصفالحدث
Clickاالوامر زر على المنفرد النقر
MouseOverاالوامر زر فوق الفأرة مؤشر أمرار
GotFocusمفتاح أو االسهم أو بالنقر )سواء التركيز أستالم
CaptionCheck1عن معبرا ويكون للصندوق عنوان الضافة الصندوق أختيار عند ستتحقق التي الوظيفة
على أعتمادا الصندوق يسار أو يمين ويظهر المحاذاة
Value0ويمكن ال أم مؤشر هو هل الصندوق حالة تحديد التنفيذ أو التصميم فترة أثناء الصفة هذه تحديد وتعني1 ، مؤشر غير وتعني0قيم: ثالث وتأخذ هذه أهمية وتظهر جزئيا مؤشر وتعني2 و مؤشر عن مسؤول التحقق صندوق يكون عندما القيمة
يكون وهنا منها جزء نختار ولكننا خيارات عدة بلون تكون الصندوق أرضية ولكن مؤشر الصندوقرصاصي.
Pictureأحدى في مخزونة )الصورة للصندوق صورة اضافةفارغة كانت أذا أال الصفة هذه تعمل الخزن( وال وحدات
.Graphical لـ مساويةStyle صفةDownPictureالتنفيذ أثناء أختياره عند للصندوق صورة اضافةفارغة
التحقق صناديق وطرق أحداث
التحقق: لصناديق المتوفرة أالحداث بعض أدناه
Click , MouseUp , DragDrop , GotFocus , LostFocus
قيمة تغيير من يستفاد وأنما االحداث هذه يستخدمون ال المبرمجين من كثير ان لتنفيذClick الحدث ويستخدم ، )أختيار( الصندوق تأشير عندValue الصفة
مثل جدا قليل أستخدامها فأن الطرق أما الصندوق تأشير عند معينة عملياتMoveو Refreshو SetFocus.
من واحد خيار االشعاع( بتأشير بأزرار أيضا )تسمى الخيارات أزرار تسمح االخرى االزرار تأشير يلغي الخيارات أحد تأشير ان أي ، الخيارات من مجموعة
وذلك بعضها عن عزلها فيجب الخيارات آلزرار واحدة مجموعة من أكثر وجود وعند دائرة بداخلها تظهر صغيرة دوائر شكل على االزرار هذه وتكون اطار داخل بوضعهاتأشيرها. عند سوداء
الصفات
فتأخذValue صفة أما ، وغيرها والصورة العنوان مثل التحقق صناديق صفات تشبه
. False وTrue ما فقط قيمتين
الخيارات أزرار وطرق أحداث
آلنجازValue قيمة من يستفاد وأيضا التحقق صناديق وطرق أحداث نفس لها
المطلوبة. الوظائف
حسب النص تنسيق يتغير ( حيث20-3) الشكل تصميم : المطلوب(6) مثــال
المستخدم. أختيار
(22-3) الشكل
: للنموذج التالية الكائنات نضيف جديد مشروع إنشاء بعد : التصميمبأسم نص صندوق TxtTitleو الخط ونوع بداخله نص وكتابة MS Sans
Seirfالخط. لنمط واطار الخط لحجم واطار لاللوان اطار المثال النهاء أوامر زر
TxtTitle.ForeColor = vbRedEnd SubPrivate Sub OptYellow_Click()
TxtTitle.ForeColor = vbYellowEnd Sub
اطار داخل يضعها أن دون من التحقق صناديق يضيف أن للطالب : يمكنمالحظـة
فقط. تنسيقية الغراض المثال في االطار أضيف وقد
List Box القائمة صندوق5-8
المدخالت هذه تغيير يمكن وال المدخالت من قائمة لعرض االداة هذه تستخدم
الفيجول ويقوم الشفرة داخل ذلك يمكن وأنما القائمة داخل النقر خالل من مباشرة
طويلة. القائمة تكون عندما التمرير أشرطة بأظهار بيسك
الصفات
القائمة: صندوق صفات أهم ( يوضح11-3) الجدول
( 11-3جدول )
القيمـــةالصفــةاالفتراضي
ة
الوصف
Listنضغط عنصر كل نهاية وفي القائمة عناصر الدخالفارغة جديد عنصر الدخال معاCtrl وEnter مفتاحي )على الشفرة داخل الصفة هذه أستخدام ويمكن حذفها المراد العناصر قيم مصفوفة( لتحديد شكل
الثالث العنصر لطباعة فمثال ، طباعتها أو أضافتها أو العبارة نستخدم
Print ListComputer.List(2)
القائمة صندوق أسم هوListComputer حيث
القائمة داخل الثالث العنصر موقع يمثل2 والرقم
بالصفر. تبدأ العناصر مواقع الن
MultiSelect0-Noneبأختيار وتسمح0 هي قيم ثالث الصفة هذه تأخذ 2 و عناصر عدة بأختيار وتسمح1 فقط واحد غنصر
المتغير Buttonاالوسط للزر3 و االيمن للزر2 و االيسر للزر1 وقيمتهالمتغير Shiftلمفتاح1 وقيمته Shiftلمفتاح2 و Ctrlلمفتاح3 و Alt المتغيرين Xو Yالحدث. تطبيق عند الفأرة مؤشر أحداثيات يمثالن
Combo Boxالمنسدلة( القائمة )أو المركب الصندوق5-9
سمي )ولهذا القائمة وصندوق النص صندوق مزايا بين ما الكائن هذه يجمع النقر( عملية خالل )من مباشرة لنا ويسمح قائمة لعرض يستخدم بالمركب( فهو
التنفيذ فترة أثناءText الصفة قيمة تغيير امكانية يتيح عنصر. كما أي تغيير أو بأدخال(.Text الصفة قيمة استرجاع امكانية فقط يتيح القائمة )صندوق
الصفات وListCount وList مثل القائمة صندوق صفات مع الكائن هذا صفات تتشابه
ListIndexو Sortedمثل الصفات بعض وتختفي وغيرها Columnsو Selectedو MultiSelectهي الكائن هذا بها يتميز صفة وأهم Styleقيم: ثالث وتأخذ
0-DropDownComboصندوق يشبه المركب الصندوق تجعل القيمة : هذه عنصر أي أختيار وعند الصندوق عناصر لسرد االسفل نحو سهم يمينه وعلى النصداخله. بالنقر مباشرة تغييره يمكن حيث االعلى في يظهر فأنه1-SimpleComboظاهرة تكون الصندوق عناصر الن السرد سهم يختفي : هنا
العناصر. جميع آلظهار الصندوق حجم تكبير ويجب والتغيير االختيار ويمكن2-DropDownListوسهم نص )صندوق الشكل ناحية من االول النمط : يشبه
كأنه يتصرف هنا النص صندوق أن أي ، المباشر بالتغيير يسمح ال سرد( ولكنه النموذج يكون عندما القائمة صندوق بدل النمط هذا ويستخدم قائمة صندوقبالكائنات. مزدحم
المركب الصندوق وطرق أحداث: هي أستخداما اآلكثر ولكن كثيرة أحداث الكائن لهذا
DropDownلصفة والثالثة االولى القيمتين مع يعمل : وهو Style Changeلصفة الثانية والقيمة االولى القيمة مع : يعمل Style
بعد أو )قبل التمرير شريط نقر أو الشريط نهاية في الموجودين السهمين نقر ، Value الصفة قيمة تتغير المزالق موقع تغير المزالق(. وعند
الصفاتالقائمة: صندوق صفات أهم ( يوضح12-3) الجدول
( 12-3جدول )
القيمـــةالصفــة
االفتراضي
ة
الوصف
Min0في الدنيا القيمة موقع ويكون للتمرير الدنيا القيمة
أن ويمكن العمودي التمرير لشريط بالنسبة االعلى
سالبة قيمة الصفة هذه تأخذ
Max32767الصفة هذه تأخذ أن ويمكن للتمرير العليا القيمة
سالبة. قيمة
Value0التصميم أثناء تحديدها ويمكن للتمرير الحالية القيمة
التنفيذ. أو
LargeChange1الصفة قيمة في التغير مقدار Valueنقر عند
الشريط.
SmallChange1الصفة قيمة في التغير مقدار Valueنقر عند
الشريط. نهاية في الموجودة االسهم
التمرير أشرطة وطرق أحداث التغيير هما اآلحداث وأهم ، والطرق اآلحداث من قليل عدد التمرير أشرطة تمتلكChangeوالتمرير Scrollالصفة تغير عند ينفذ التغيير حدث . أن Valueبأحدى
الحدث أن حيث السحب عملية ذلك من ويستثنى سابقا المذكورة الثالثة العمليات ينفذ فأنه التمرير حدث أما السحب عملية أثناء وليس )ترك( المزالق أفالت بعد ينفذ فأنها التمرير أشرطة لطرق فقط. بالنسبة السحب بعمليةValue الصفة تغير عند
(.Drag وMove )مثل االستخدام ونادرة جدا قليلة صندوق في تظهرValue الصفة قيمة ( وأجعل25-3) الشكل : صمم(10)مثـال
ما جمع أراد اذا أستخدامها الى يضطر قد المصمم أن كما ، أوال عليها للتعرفرمزية. قيمة مع النص صندوق في موجود
بلون دائرة ( وأرسم26-3 )الشكل عمودي تمرير شريط : أستخدم(11)مثـالالمزالق. موقع بتغير تتغير والتيValue الصفة قيمة على قطرها يعتمد أحمر
(26-3 )الشكل
ونضيف بالشكل مبين كما النموذج عنوان ونجعل جديد مشروع نكون: التصميميلي: مابأسم عمودي تمرير شريط vsbDrawهي. كما صفاته بقاء معالصفتين قيمتي لعرض دالالتين Minو Max.
Sourceالمصدر كائن : أسمPictureصفة : Pictureأستخدام ويمكن المصدر كائن في المحتواة الصورة وتمثل
عنها. بدالImage الصفةTX , TYالهدف كائن اليسار( في )أعلى الصورة : أحداثيات
TWidth , THeightهاتين قيم كانت الهدف. أذا كائن في الصورة وأرتفاع : عرض أبعاد فأن المصدر كائن في الصورة وأرتفاع عرض من أكبر أو أق الصفتين
الهدف. صورة أبعاد مع لتتالئم تتغيير المصدر صورةSX , SYأحداثيات الصورة المراد أستنساخها في كائن المصدر وتأخذ القيم :
التالي حسب المؤثرات المرافقة لعملية االستنساخ.لآلستنساخ المرافق المؤثرالقيم
فقط( )أستنساخ مؤثر بدوناليسار أعلى أحداثياتأفقيا الصورة قلب مع أستنساخاليمين أعلى أحداثياتعموديا الصورة قلب مع أستنساخاليسار أسفل أحداثيات و أفقيا الصورة قلب مع أستنساخاليمين أسفل أحداثيات
عموديا
SWidth , SHeightأستنساخها المراد المصدر كائن صورة وأرتفاع : عرض ، الصورة قلب مثل مؤثر أضافة عند أما االعتيادي االستنساخ في موجبة قيمها وتكون
سالب يكون االرتفاع فأن عموديا الصورة قلب عند أما سالب يكون العرض فأن أفقياسالب. يكون كالهما فأن باالتجاهين القلب وعند
Opcodeالصور ملفات مع ويستخدم المؤثرات بعض لتحديد فرصة يوفر : متغير هي: قيم عدة ويأخذgif وjpg وbmp نوع من
VbDstInvertالهدف. كائن في الموجودة الحالية الصورة : عكسVbScrCopyالهدف. كائن صورة ومسح المصدر صورة : أستنساخ
VbNotScrCopyالهدف. كائن لصورة معكوس : أستنساخVbNotScrEreaseبأستخدام الهدف صورة مع المصدر صورة : ربط
ثمOR الدالة
الناتجة. الصورة عكس صورة صندوق على يحتوي ( والذي28-3) الشكل صمم : (13مثـال)
أجعل ، الملفات ومستعرض المجلدات وقائمة االقراص مشغل ومستعرض صورة وتظهر الملفات مستعرض فيjpg نوع من الملفات أسماء يعرض المشروع
مجلدات واحدة( فتعرض )نقرة الخزن وحدة نختار المشروع تنفيذ : بعد التنفيذ ذلك ملفات )بنقرتين( فتعرض المجلد نختار ، المجلدات قائمة في الوحدة تلك
واحدة( )نقرة ملف أي نختار ثم ، الملفات مستعرض ( فيjpg نوع )من المجلد.الصورة صندوق في الملفا داخل المخزونة الصورة عرض فيتم
ملف كان اذا ضروري يعتبر النقر حدث في"\" الرمز أضافة أن: مـالحظـة وجود عند خظأ عبارة ظهور الى ويؤدي ضروري غير ولكنه مجلد داخل الصورةالخزن. وحدة جذر على الملف
حسب الصورة وقلب أستنساخ فيPaintPicture الطريقة أستخدم : (14مثـال)(.28-3) الشكل أصمم المستخدم طلب
(.28-3) الشكل
االتية: الكائنات ونضيف النموذج عنوان ونحدد جديد مشروع : نكون التصميمباآلسماء صورقي صندوقي PicSrcو PicTar.باآلسماء أوامر أزرار أربعة CmdCopyو CmdHorو CmdVerو CmdHorVer
الشكل. على موضح كما عناوينها ونحددباسم داللة Label1الصورتين. بين وموقعها
يلي: وكما االربعة اآلوامر أزرار شفرات ندخل: الشفرة
الصفات بينهما المتشابهة الصفات ومن الصورة بصندوق مقارنة قليلة صفات الكائن لهذا
لبعض الكائن هذا وبفتقر وغيرهاDragMode وPicture ، DragIcon ، Visible: هي الكائن هذا تميز صفة وأهمAutoSize وكذلكAutoRedraw وImage مثل الصفات
أو تصغير الى تؤدي ( والتيTrue أوFalse قيمة )تأخذStretch صفة هي غيره عن لصندوقAutoSize صفة بأن الطلبة الكائن. يتذكر حجم مع تتالئم لكي الصورة تكبير
وليس الصورة حجم مع ليتالئم الصندوق حجم تكبير أو تصغير الى تؤدي الصورة.Stretch صفة في كما بالعكس
والطرق اآلحداث ، Click ، DblClick: هي أحداثه أبرز ومن وطرق أحداث عدة الثابتة للصورة
DragDropو MouseDownااليمن. أو االيسر بالزر سواء الفأرة نقر عند ينفذ واالخير .Move والحركةDrag السحب طريقتي مثل قليلة فهي طرقه أما
كائنات ثالث على يحتوي ( والذي29-3) الشكل تصميم : المطلوب(15)مثـال عملية خالل من الصور مواقع بتبادل المشروع ويسمح الثابتة الصورة نوع من
السحب.
(29-3) الشكل
من كائنات ثالث له ونضيف النموذج عنوان وندخل جديد مشروع نكون: التصميماالتية: الصفات لها ونحدد الثابتة الصور نوعصفة في Pictureصورة أية يختار أن للطالب ويمكن منها لكل صورة نضيف
الحاسوب. في الخزن وحدات على مخزونةصفة نجعل DragMode0 لـ مساوية منها لكل-Manual.صفة في DragIconباالمتداد صورة ملف نختار icoعند المؤشر شكل يمثل
الى كائن من صورة أية بسحب ونقوم التنفيذ لبدءF5 المفتاح : نضغط التنفيذالسحب. عملية أثناء المؤشر شكل تغير ونالحظ الكائنات بين الصور آلستبدال أخرى
:مالحظـاتالصفة قيمة هي المشروع لها العمل مفتاح أن DragModeعن جعلناها ولقد
والتيDrag طريقة أستخدام لنتعلم تلقائية غير التصميم مرحلة في قصد لتحويل الطريقة بعد1 الرقم وضع ويجبMouseDown الحدث داخل توضعالسحب(. بعملية السماح )أي تلقائية الى السحب عملية
صفة جعلنا أذا DragMode1 لـ مساوية-Auomaticنحتاج لن سوف فأننا الثالثة. للكائناتMouseDown لحدث
الحدث يأخذ MouseDownهي: متغيرات ثالثButton4 و االيمن للزر2 و االيسر الزر أستخدام عند1 قيمته : تكون
االوسط. للزرShiftمفتاح ضغط عند1 القيمة المتغير هذا : يأخذ Shift2 والقيمة
.Alt مفتاح ضغط عند4 والقيمةCtrl مفتاح ضغط عند
الفصل أسئلة أختيار عند ، خيارات وزري فارغ مركب صندوق فيه قياسي مشروع : كون1سؤال
يمليء الثاني الزر أخنيار وعند أسيا قارة من دول بأسماء الصندوق يمليء االول الزر.DropDown الحدث أفريقيا. أستخدم قارة من دول بأسماء االلــوان تمثــل تمرير أشرطة ثالث على يحتوي والذي االتي الشكل : صمم2سؤال
255 و0 هي االشــرطة لهــذهMax وMin قيمــة واالزرق( وأجعل واالخضر )االحمر االلــوان أمــا االلــوان قيم لعرض دالالت ثالث وبداخله أطار يوضع الشكل أعلى وفي
بــدء عنــد االلــوان قيم أن الطلبــة . يالحظRGB دالة أستخدم ، االطار داخل فتعرضاالبيض. اللون تعطي والتي255 هي التشغيل
مفتاح على والضغط عليه النقر عند بأستنساخه ويسمحShift مفتاح على الضغطCtrl .
رسالة آلضافة أحدهما أزرار وثالث نص صندوق وفيه اآلتي النموذج : كون7سؤال داخل مكتوب ما لمسح ( واالخيرDate الدالة خالل )من التاريخ آلضافة واالخر ترحيب
الى ويتحول فارغ النص صندوق يكون عندما فعال غير المسح زر أجعل ، الصندوقالتاريخ. أو الرسالة أضافة عند فعال
صندوق ، أوامر وزري نص صندوق فيه االول نموذجين فيه مشروع : كون8سؤال أآل فعال يكون ال الزر )هذا الثاني للنموذج لالنتقال وزر لآلغالق وزر أسمك آلدخال النص
الذي لالسم ترحيب رسالة لعرض نص صندوق فيه الثاني االسم( والنموذج أدخال بعداالول. للنموذج للرجوع وزر االول النموذج في أدخل
لبدء واالخر لالغالق أحدهما أوامر زري فيه واحد نموذج من مشروع : كون9سؤال أدخال من والتأكد طالب عشرة وأعمار أسماء أدخال هي والفكرة المشروع تشغيل العمر أدخال عند رقمي متغير أدخال من التأكد وكذلك االسم أدخال عند رمزي متغير