Professional Documents
Culture Documents
فيجول بيسك
فيجول بيسك
تطورت وأضيف لها الكثير من األدوات مما جعلها بيئة برمجة متكاملة
شريط األدوات نضغط على إيقونة شريط أدوات التحكم باستخدام
الحجم بسحب المربعات الظاهرة في أط7راف األداة وإفالتها عند الوصول إلى الحجم المطلوب تعديل
نافذة مستكشف المشروع
إظهار نافذة مستكشف المشروع
من شريط القوائم -:من قائمة Viewثم أمر Project Explorer
قائمة اإلضافات -: add Insتشغيل برامج من خارج بيئة V.Bلخلق تكامل مع اللغة منها visual data manager
النافذة Windowلعرض النوافذ بالشكل المطلوب قائمة
شريط األدوات
يحتوي على مجموعة من األزرار وهي عبارة عن بعض األوامر الموجودة تحت القوائم الشائعة االستعمال للتعامل مباشرة معها
شريط القوائم
يحتوي على مجموعة من القوائم وكل قائمة تحتوي على مجموعة أوامر على حسب وظ7يفة القائمة ومنها :
قائمة ملف File
تحتوي عل7ى اآلوم7ر األس7اسية New Projectمشروع جدي7د أ7و Save Projectحف7ظ مشروع أ7و ترجمة المشروع
وتحويله أي ملف ثنائي (تنفيذي) Make Project exe
تعديل : Editتحتوي على اآلوامر القياسية مثل Copy – Past – Cut قائمة
قائمة عرض : Viewلعرض النوافذ المكونة لواجهة V.Bمثل Tool Boxصندوق أدوات التحكم
Properties Windowن77افذة ا77لخصائص
المشروع :Projectتحتوي عل7ى األوام7ر الخاص7ة بالمشروع وم7ن خالله7ا يت7م إضاف7ة عناص7ر للمشروع مثل Form قائم7ة
نماذج – Modulesوحدات برمجية – Property pagesصفحات الخصائص
التنسيق : Formatلتنسيق األدوات وتغيير ترتيبها مثل Order قائمة
نافذة الخصائص Properties Window
إظهار نافذة الخصائص
من شريط القوائم -:قائمة Viewـــــــــــــــ Properties Window
من شريط األدوات -:نضغط على زر Properties Window
من لوحة المفاتيح -:نضغط على المفتاح F4
م7ن خالله7ا يت7م تحدي7د قي7م معين7ة م7ن المميزات مث7ل العنوان – الحج7م – اللون – االس7م ال7برمجي ...الخ لك7ل أداة م7ن األدوات بم7ا فيها النموذج
Form
هذه الخصائص مرتبة أبجديا ما عدا الخاصية Name
KEY PRESS ضغط حرف عند الضغط على حرف من لوحة المفاتيح
عبارة عن وظائف جاهزة ترتبط بكينونة األداة ومبنية داخل األداة تؤدي وظيفة معينة متعلقة بعمل وسلوك األداة
وتستدعى باسم األداة مباشرة
اسم الوظيفة.اسم األداة مثل Form1.Show صيغتها العامة
الفرق بين الخاصية والوظيفة
الخاصية -:هي قيمة معينة ألداة التحكم تميزها عن باقي األدوات مثل العنوان والطول والعرض ولون الخلفية ...الخ
الوظيفة -:هي عبارة عن وظ7يفة مبنية في األداة ويتم استدعائها من اسم األداة مباشرة
قواعد تسمية األدوات
Command cmd
Text txt
Label lbl
Form frm
أهم الخصائص واألحداث والطرق المشتركة بين النموذج وبعض أدوات التحكم
الطريق
الخاصية عملها الحدث عمله عملها
ة
Name Db Clickتحديد االسم البرمجي سحب Dragضغط مزدوج
Transparent=0ال تسمح بتغيير لون الخلفية Back سحب أداة أخرى فوق
Back Style Drag Over
Color األداة
Auto size Changeتغيير الحجم ليتالءم مع حجم النص تغيير العنوان أثناء التنفيذ
Word
يسمح بالتفاف النص
wrap
فقدان التركيز
Picture Lost focusإدراج صورة على خلفية زر األوامر
Visible = Trueإظهار الزر False = -إخفاء الزر
= Trueتجعل األداة متاحة false = -تجعل األداة غير
Enabled متاحة
set focus مع الطريقةlost focus مثال على استخدام الحدث
إرغام مؤشر الكتابة ملء صندوق النص
FORM × Private Sub Text1 _Lost Focus()
If trim(Text1.text)="" Then
Text1.set focus
End Sub
تلغي وجود الفراغاتtrim الدالة-: مالحظة
Secand
تطبيق عملي
FORM × FORM ×
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Text1
. . . . .
االسم Label1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .. . . . . . .. . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .. . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.. . . . . . .. . . . . . .. . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
مثال -:إلنشاء مصفوفة my arrayلتخزين بيانات رقمية صحية عدد عناصرها ()5
Dim my array (4) as integer
Dim array name (min value to max value) as
data type
أصغر مدى إلى اكبر مدى
طباعة العناصر
البحث عن عنصر
ادخال العناصر
ثانيا ً كتابة الكود
في الجزء العام Generalنحجز عناصر المصفوفة
Dim A(4) as integer
نضغط ضغط مزدوج على الـ Command1أو من قائمة Objectنحدد Command1مع الحدث Clickونكتب الكود التالي
)( Private Sub Command1_click
For I = 0 to 4
)"A(i) = Inputbox ("Enter Element
هذا الكود إلدخال عناصر المصفوفة
Next I
End Sub
نضغط ضغط مزدوج على الـ Command2أو من قائمة Objectنحدد Command2مع الحدث Clickونكتب الكود التالي
)( Private Sub Command2_click
For I = 0 to 4
)Print A(i
هذا الكود لطباعة عناصر المصفوفة Next i
End Sub
نضغط ضغط مزدوج على الـ Command3أو من قائمة Objectنحدد Command3مع الحدث Clickونكتب الكود التالي
)( Private Sub Command3_click
Dim X As Integer
Dim Check As Booleanحجز العنصر المراد البحث عنه في المصفوفة ونوعه صحيح مثل عناصر المصفوفة
حجز عنصرالكشف عن العنصر ونوعه منطقي
Check = False
عنصر الكشف يأخذ القيمة Falseوعند الكشف عن العنصر يأخذ القيمة True
)"X= Inputbox("Enter Element
إدخال العنصر المراد البحث عنه باستخدام دالة صندوق اإلدخال
For I = 0 to 4
حلقة لمقارنة العنصر المدخل بكل عناصر المصفوفة التي أٌدخلت بزر إدخال عناصر المصفوفة
If A(i) = X Then
باستخدام الجملة الشرطية العنصر المدخل = عنصر من عناصر المصفوفة المدخلة Check = True البحث عن عنصر
في حالة تحقق الشرط إذن عنصر الكشف يأخذ القيمة True
End if
Next I
If Check = True Then
” لاــعنصـر موـجود"Print
Else
الجملة الشرطية إذا عنصر الكشف أخذ القيمة Trueإذن أطبع العنصر موجود (تحقق الشرط)
“ لاــعنصـر غير مـوـجود" Print
وإال أطبع العنصر غير موجود (عدم تحقق الشرط) End if
End Sub
المصفوفة ذات البعدين
تتكون مصفوفة ذات البعدين من اسم المصفوفة ودليلين (فهرسين) دليل للصفوف ودليل لألعمدة
جملة إعالن المصفوفة
جملة إعالن
مثال -:إنشاء مصفوفة باسم Arrayتتكون من أربعة صفوف و أربعة أعمدة ونوع العناصر صحيح
جملة إعالن المصفوفة ودائما ً تكتب في الجزء العام Generalفي نافذة الكود
Dim Array (3,3) as Integer
مالحظة -:يمكن تحديد أول صف وأخر صف في دليل الصفوف وكذلك األعمدة مثل
Dim Array (1 To 4, 1 To 4) as Integer
وبالتالي العنصر األول يكون موجود في الصف ( )1والعمود ( )1بدال ً من الصف ( )0والعمود ()0
حاصل ضرب عناصر الصف في عناصر األعمدة = عدد عناصر المصفوفة
مثال -:اكتب برنامج يقوم بتخزين مجموع رقمي الصف مع العمود وطباعة المجموع ورقم الصف والعمود
طباعة المصفوفة
وذلك بإنشاء مصفوفة تحتوي على أربعة صفوف وأربعة أعمدة
أوال ً تصميم النموذج -:نضع على النموذج زر األمر Command1و من نافذة الخصائص طباعة المصفوفة Caption
ثانيا ً كتابة الكود
في الجزء العام Generalنحجز مواقع المصفوفة
ناتج تنفيذ البرنامج
Dim myarray(3, 3) As Integer
في النموذج نضغط ضغط مزدوج على النموذج أو من قائمة Objectنحدد الـ Form1ونكتب الكود
Private Sub Form_Load )(
For i = 0 To 3
For j = 0 To 3
My array(i, j) = i + j
Next j
حلقتي دوران األولى دليل الصفوف والثانية دليل األعمدة Next i
End Sub
جملة تخزين مجموع كل صف مع األعمدة داخل حلقتي الدوران
نضغط على زر األمر Command1ضغط مزدوج أو من قائمة Objectنحدد الـ Command1ونكتب الكود
Private Sub Command1_Click )(
For i = 0 To 3
For j = 0 To 3
)Print i; "+"; j; "="; myarray(i, j
جملة طباعة قيم دليل الصفوف وعالمة الجمع وقيم األعمدة و Next j
عالمة =وناتج جمع كل صف مع األعمدة داخل حلقتي الدوران
Next i
End Sub
الفصل السادس
لبناء مشروع متكام7ل يحتاج إل7ى تكرار مجموع7ة م7ن الجم7ل لتنفي7ذ وظيفة
معين7ة ف7ي أكث7ر م7ن موق7ع مم7ا يس7بب ضياع للوق7ت وص7عوبة ف7ي التعديل
فالتعدي7ل ف7ي جزء م7ن المشروع ق7د يتطل7ب التعدي7ل ف7ي أماك7ن عديدة من
المشروع لذل7ك لغ7ة البيس7ك تدع7م إمكاني7ة كتاب7ة برام7ج فرعي7ة لح7ل هذه المشكلة
بتقس7يم المشروع إل7ى أجزاء ك7ل جزء يقوم بوظيف7ة معين7ة ويت7م اس7تدعاؤها عند
الحاج7ة إليه7ا وهذا يوف7ر الوق7ت والجه7د وس7هولة التعدي7ل والتقلي7ل من تكرار
بعض الجمل
مالحظات هامـة حول كتابـة الـبرنامج الفرعـي أـو الدالة
يكت7ب ال7برنامج الفرع7ي subأ7و Funفي الجزء General
للنموذج Formوبالتال7ي يُس7تدعى ال7برنامج م7ن أ7ي أداة على
النموذج مع الجملة Privateويعرف بالبرنامج الخاص
اــرـعي
لفـ Sub nameاـسمـ اـإلجرـاء
بــــمـتراـتوـهي معاـمـالت مـدـخـالتوـمـخرجات
اراـ Par1 – par2
يانات لاــمعاـمـالت
بــــ Type1 – Type2أـنواـع
مالحظات هامة -:
بدون معامالت تنفـذ مباشرة بالنقـر علـى زر األمـر من خالل الحدث منهـا
clickأو Dbclick
برامج عند تنفيذها يظهر مربع حوار باستخدام جملة MSGBOX
) -: Right (String,Lإلعادة عدد معين من الحروف من نهاية النص الدالة
) -: Mid(String,S,Lإلرجاع عدد معين من الحروف ومن موقع محدد الدالة
Mid(String,S) :في حالة عدم تحديد طول النص المراد يعاد النص من الموقع المحدد إلى نهاية النص مالحظة
الموجودة داخل اإلطار تعتبر كتلة واحدة تتحرك مع بعضها عند تحريك اإلطار العناصر
Drop Down Combo = 0 يشبه صندوق النص مع سهم لألسفل على اليمين
Style simple Combo= 1 عرض العناصر بدون السهم ويمكن االختيار والتغيير
Drop Down List = 2 يشبه صندوق النص وبه سهم وال يسمح بالتغيير المباشر
الحدث عمله
Drop Down سحب لألسفل مع القيمة 2 ، 0للخاصية Style
Change يعمل مع القيمة 1 ، 0للخاصية Style
Dbl Click يعمل مع القيمة 0للخاصية Style
برنامج من النوع SUB
مثال -:
اكتب برنامج فرعي لحساب مساحة المستطيل
الحل -:نحدد المدخالت والمخرجات
إليجاد مساحة المستطيل الطول – Lالعرض – Wالمساحة A
المساحة = الطول × العرض بمعنى A= L*W
اسم البرنامج الفرعي area
للنموذج نكتب جملة اإلعالنGeneral في الجزء الـ
Sub area (L,W,A as integer)
A=L*W
End sub
في جملة اإلستدعاء
) ( Private sub form _ Load
L= 3
W=4
Call area (L,W,A)
Print A
End sub
برنامج من النوع الدالة
مثال -:
باستخدام الدالة اكتب برنامج لحساب مساحة المستطيل
الحل -:نحدد المدخالت والمخرجات
إليجاد مساحة المستطيل الطول – Lالعرض – Wالمساحة A
المساحة = الطول × العرض بمعنى A= L*W
اسم البرنامج الفرعي area
للنموذج نكتب جملة اإلعالنGeneral في الجزء الـ
function area (L,W, as integer) as integer
area=L*W
End function
في جملة اإلستدعاء
) ( Private sub form _ Load
L= 3
W=4
area (L,W)
Print area
End function
برنامج من نوع الدالة Function
برنامج لحساب الضريبة % 23على إجمالي الدخل
الحل
إجمالي الدخل Income
الضريبة tax
صافي الدخل net
جملة اإلعالن في الجزء الـGeneral
اسم البرنامج taxnet
)Sub taxnet (income,tax,net
Tax = 0.23*income
Net = income - tax
جملة اإلستدعاء
)( Private sub form _ Load
)”“( Income = inputbox
Call taxnet(income,tax,net)
Text1.text = income
Text2.text = tax
Text3.text = net