المنهاج دورة البرمجة بلغة الفيجوال بيسك
 
 
دورة الفيجوال بيسك  Visual Basic
واجهة برنامج الفيجوال بيسك مربع الأدوات نافذة النموذج نافذة الخصائص مستكشف  المشروع اطار  مصمم النموذج شريط القوائم شريط الأدوات نافذة المشروع
الأدوات خصائص طرق التصميم أوامر البرمجة أوامر البرمجة
الأدوات
تغيير اسماء الأدوات
التعرف على النموذج ( form  )
 
خصائص النموذج
Back color Border Style Caption Control Box Forecolor Hight-Left-Width –Top   scale mode Icon Maximize Button-Minimize Button Name Mouse pointer Font Picture Right to left Startup position Visible Window state التعرف على خصائص النموذج
أهم خصائص  Textbox Enable Alignment Multiline Scrollbar Maxlength Text Passwordchar Borderstyle   Appearnce Tooltiptext Textbox
أهم خصائص  label Alignment Backstyle Autosize Label
أهم خصائص  Command Button Style Tabindex Tabstop لون الخط غير موجود !! Command Button
شاشة البرمجة  ( Code ) اسم الأداة الحدث  ( Event ) الخاصية أو الطريقة
الأحداث الشائعة
تدريب  1 صممي نموذج يقرا اسمك  ( يعرض كرموز  )  و عند الضغط على الأمر  read name  يعرض الاسم بخط مختلف  ( اللون و الحجم )  .  و ينتهي التطبيق بالضغط على الأمر   Exit  مع مراعاة ظهور النموذج في منتصف الشاشة و عدم السماح للمستخدم بالتغيير من حجم النموذج وقت التنفيذ  .
الحل : Enter your Name caption 0-Left Justify Alignment Lblname Name Label (Enter…) أزرق Forecolor 18 Font caption 2-center Alignment Lblmyname Name Label  لعرض الاسم 28 Font Welcome caption 0-Transparent backstyle 2-center Alignment Lblfirst Name Label(Welcome) 2-center screen Start up position My First Project caption 1-fixed single Borderstyle اختيار اللون Backcolor frmtext Name Form Value  القيمة Property  الخصائص Object  الأدوات
1-Graphical style Exit Caption اختيار اللون Backcolor cmdexit Name command 1-Graphical style Read name Caption اختيار اللون Backcolor cmdname Name command Name ToolTipText * PasswordChar txtname Name Text
الحل Private Sub cmdexit_Click () End End Sub Private Sub cmdname_Click () lblmyname.Caption = txtname.Text End Sub
تغيير الألوان 1-  Vbred 2-  Rgb(red,green,blue) -3   qbcolor(number)
تدريب  -2 : صممي نموذج يحتوي على ثلاث اوامر لتغيير لون خلفية النموذج بحيث يمكن تنفيذ الأمر بالضغط عليه بالفأرة كما يمكن تنفيذه باستخدام لوحة المفاتيح .  مع مراعاة التالي  : - عند المرور على الأمر بسهم الفأرة يصبح خط عنوان الأمر غامق و أثناء الضغط على الأمر يتغير لون خلفيته إلى اللون الوردي . - ثم اضيفي أمر جديد يغير لون خلفية النموذج كل مرة بشكل عشوائي
الحل Private Sub cmdblue_Click () frmcolor.BackColor = vbBlue End Sub Private Sub  cmdblue_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single ) cmdblue.BackColor = RGB(255, 217, 245 ) End Sub Private Sub cmdblue_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single ) cmdblue.FontBold = True cmdgreen.FontBold = False cmdred.FontBold = False End Sub Private Sub Command1_Click () frmcolor.BackColor = QBColor(Rnd * 15) End Sub
تدريب -3 : صممي نموذج يعرض كلمة  Hello  وعند الضغط على الأمر  Move Up  تتحرك الكلمة الى الزاوية العليا جهة اليمين و يتغير لونها عشوائيا . و عند الضغط على  Move down تتحرك الكلمة إلى الزاوية السفلى جهة اليسار و يتغير لونها عشوائيا . و ينتهي التطبيق بالضغط على  Exit
الحل Private Sub cmddown_Click () Label1.Top = Label1.Top + 100 Label1.Left = Label1.Left - 50 Label1.ForeColor = QBColor(Rnd * 15) End Sub Private Sub Cmdup_Click () Label1.Top = Label1.Top - 100 Label1.Left = Label1.Left + 50 Label1.ForeColor = QBColor(Rnd * 15) End Sub
المتغيرات (أنواعها) شروط اختيار اسم المتغير : 1-  أن يبدأ بحرف هجائي . 2-  لا يتعدى  256  حرف . 3-  لا يحتوي على نقاط أو مسافات أو العمليات الحسابية . 4-  لا تستعمل الكلمات المحجوزة . أنواعها : 1-  Dim  2-  Public 3-  Static 4-  Private
تعريف المتغيرات Data type Boolean  ( True-False )  String ($)   (@)   Currency   single (!) Double (#) Byte  long (&) Varient (%)  Integer Date  ،   bject   ،  char Dim Var-name as Data type
العمليات الحسابية
مثال X=5-(2 4+10/2) -5  *2\3 mod2 الناتج  = 17-
العمليات الحسابية
اسناد قيم للمتغيرات Varname= Expression مثال : Num=5+2 F_name=“mona” Num=txt.text Result=num1+num2 Res1=A or B
تدريب  -4: ضعي اشارة صح او خطأ امام الجمل التعريفية التالية مع تحديد سبب الخطأ : Dim  mydate  as  Integer   Dim  salary!   Dim  male/female  as  boolean dim salary % =  2 Dim  salary as currency  salary=5000$ Dim x As String  *  15   هل يمكن استخدام  نفس المتغير في أي من موضع في  Procedure   لأكثر من نوع من البيانات؟
إظهار رسائل  Msgbox Button clicked= msgbox(massage,number of Button , title) X = msgbox(“welcom to”& na,vbokcancle,”so mutch”
 
تدريب  5: صممي نموذج تعمل عمل الآلة الحاسبة.  مع مراعاة إظهار رسالة للمستخدم في حال كان العدد الثاني لعملية القسمة يساوي الصفر و إعطاءه فرصة لإدخال عدد آخر.
الحل Private Sub cmdadd_Click () result = no1 + no2 txtresult = result End Sub Private Sub cmdclear_Click () txtno1.Text  = &quot;&quot; txtno2.Text  = &quot;&quot; txtresult.Text  = &quot;&quot; End Sub Private Sub cmddif_Click () result = no1 - no2 txtresult = result End Sub Private Sub cmdmulti_Click () result = no1 * no2 txtresult = result End Sub Private Sub cmdpower_Click () result = no1 ^ no2 txtresult = result End Sub Private Sub comdivid_Click() If no2 <> 0 Then result = no1 / no2 txtresult = result Else MsgBox &quot;you can't divid by zero ,enter another number&quot;, vbExclamation + vbOKOnly, &quot;Error&quot; End If End Sub Private Sub txtno1_Change () no1 = Val(txtno1) End Sub Private Sub txtno2_Change () no2 = Val(txtno2) End Sub
قراءة البيانات من  inputbox Variable=inputbox (  ) C=inputbox(“enter a letter”,”enter screen”) وسيطات
تغيير تنسيق البيانات باستخدام  Format Text or label = var(format(exp,”type of format”) Lb1.caption=format(salary,”currency”) Format: Currency Percent Fixed General number
تدريب  -6: صممي برنامج يحسب الدخل السنوي للموظف :  بحيث يقرأ الاسم و الراتب و نسبة الزيادة من مربع الادخال inputbox
الواجب صممي نموذج يقوم بإدخال اسمك وعند النقر على الأمر  Change font   يكبر الخط ويتغير لون النص في كل نقره على الأمر .
حل الواجب Private Sub Command1_Click() Text1.ForeColor = QBColor(Rnd * 15) Text1.FontSize = Text1.FontSize * 2 End Sub
الثوابت  Const قيم لا تتغير مهما اختلف موقعها داخل البرنامج . Const const-name [as type] = value Const doller as single = 4.13 من الثوابت المعروفة في الفيجوال بيسك Vbgreen Vbcrlf vbtab
الطباعة على  Form أو على الطابعة Debug.print “n” Print Tab(10),”hi” Print “welcom” & n & “to all” Print format(salary,”currency”) Debug.print n ( يطبع على الطابعة ) Printer.print spc(n) tab(n)
تدريب  -7: صممي برنامج يحسب مساحة و محيط الدائرة . و يطبعها على نفس  form
الحل Private Sub Command1_Click() Dim r As Single Const pi As Single = 3.14 Const x As Integer = 2 Dim area As Single, circum As Single r = InputBox(&quot; ادخل نصف القطر &quot;) area = pi * r ^ x circum = x * pi * r Print &quot; مساحة الدائرة   &quot; & area & &quot; محيط الدئرة &quot; & circum End Sub Private Sub Command2_Click() Cls End Sub
جمل التحكم واتخاذ القرار  If If  condtion then Statments End if If  condtion then Statments Else statments End if If  condtion then Statments Else if condtion then Statments   End if
تدريب  8 صممي برنامج يقرأ درجة طالب و يطبع تقديره  ( A,B,C,D,F ) علما بأنه سيطبع التقدير باللون الاحمر اذا كان الطالب راسب
الحل Private Sub cmnstart_Click() Dim mark As Single Dim grade As String mark = txtmark.Text txtgrade.ForeColor = vbBlack If mark <= 100 Then If mark >= 90 Then grade = &quot;A&quot; Else If mark >= 80 Then grade = &quot;B&quot; Else If mark >= 70 Then grade = &quot;C&quot; Else If mark >= 60 Then grade = &quot;D&quot; Else txtgrade.ForeColor = vbRed grade = &quot;F&quot; End If End If End If End If Else MsgBox &quot;The mark you entered is incorrect&quot; End If txtgrade.Text = grade End Sub
معاملات الربط – or-not-and If grade>=90  and  grade<=100 then If Text1.Text = &quot;&quot;  Or  IsNumeric(Text1.Text) Then If Text1.Text = &quot;&quot; Or  Not  IsDate(Text1.Text) Then
جملة  select case Select case test value Case val1: statement Case val2:statment Case val3:statement ( اذا لم يكن من احد الاحتمالات Case else ( statment End select حالات  case Case “A”,”a”: : Case 10: Case 3 to 10: Case is >50:
تدريب  9: تتبعي البرنامج التالي و اكتبي قيمة  X  اذا كانت  c=E  ,  c=H ,  c=N  Dim c as string Dim x as integer Private sub X=10 C=inputbox(&quot;enter a latter&quot;) Select  case c Case &quot;A&quot; : x=x+5 Case &quot;B&quot; X=x-1 Case &quot;C&quot; to &quot;F&quot;   X=x+2 Case &quot;G&quot;,&quot;H&quot;,&quot;I&quot; X=x+10 Case &quot;K&quot;,&quot;L&quot;,&quot;M&quot; to &quot;R&quot; X=x+1 Case else X=0 End select Print x End sub
أهم خصائص  Check box Value (0 ، 1 ، 2) أهم خصائص  Option Box Value ( True,False ) تابع أدوات التحكم  check box   مربع التدقيق option box  زر الاختيار Check box Option box
تابع أدوات التحكم  frame إطار يمكن أن يحوي أكثر من أداة frame
تابع أدوات التحكم  Picture box,Image أهم خصائص  Image  ( ظل الصورة ) Stretch Picture أهم خصائص  Picture box ( مربع الصورة ) يشغل حجم أكبر من ظل الصورة ويمكن  أن يكون حاوية لأدوات أخري . Autosize Picture Picture Box Image
تدريب  10 صممي نموذج بحيث يقرا الاسم من مربع الادخال  بمجرد التنفيذ و لا يسمح بالتعديل عليه بعد ادخاله اذا اختار المستخدم  show picture  تظهر الصورة كما يمكنه تفعيل خيار حدود الصورة اما اذا اختار  Hide picture  تختفي الصورة  يمكن تغيير تنسيق الاسم و تطبيق الاوامر  bold-italic-underline
الحل Private Sub chkbold_Click() If chkbold Then Text1.FontBold = True Else Text1.FontBold = False End If End Sub Private Sub chkborder_Click() If chkborder.Value Then Image1.BorderStyle = 1 Else Image1.BorderStyle = 0 End If End Sub Private Sub chkitalic_Click() If chkitalic.Value Then Text1.FontItalic = True Else Text1.FontItalic = False End If End Sub Private Sub chkuline_Click() If chkuline.Value Then Text1.FontUnderline = True Else: Text1.FontUnderline = False End If End Sub
Private Sub Form_Load() Text1.Text = InputBox(&quot;Enter Name&quot;) Text1.Locked = True End Sub Private Sub Option1_Click() Image1.Visible = True chkborder.Enabled = True End Sub Private Sub Option2_Click() Image1.Visible = False chkborder.Enabled = False End Sub
أدوات التحكم  list box-combo box List box Combo box اهم الخصائص : List :  تحدد فيه عناصر القائمة . List index :  تعطي رقم ترتيب العنصر في  القائمة . Text : تعطي عنوان للقائمة  Combo box وتستخدم أثناء التنفيذ في القائمة  List
تدريب 11 صممي برنامج لتعبئة قائمة من المشتريات  من مربع نص مع إمكانية تغيير أحجام الخطوط . يمكن الإضافة للقائمة  و حذف عنصر من القائمة حذف محتويات القائمة
الحل Private Sub Combo1_Click () Text1.FontSize = Combo1.Text End Sub Private Sub Command1_Click () List1.AddItem (Text1.Text) Text1  = &quot;&quot; End Sub Private Sub Command2_Click () List1.RemoveItem (List1.ListIndex) End Sub Private Sub Command3_Click () List1.Clear End Sub Private Sub Command4_Click () End End Sub
Option Explicit هو أمر يمنع التعامل مع أي متغير ما لم يتم تعريفه مسبقاً ويعطي رسالة خطأ في حالة تم استخدام متغير لم يعرف . الفائدة : في حالة الخطأ الإملائي للمتغير المعرف فإن البرنامج لن يعطي أي خطأ ولن يعمل بالشكل المطلوب .
التكرار / الدوران  looping 1-  جملة التكرار المحدود  For….Next Step num   For  <variable>  start  to  end statement Next For i=2 to 10 step 2 Print “line:”,i  Next Exit for  :  لإنهاء التكرار   قبل الانتهاء
For loop تدريب  12 صممي برنامج يقرأ رقم و يحسب مضروبه .
الحل Private Sub Command1_Click() Dim num As Integer Dim fact As Integer Dim i As Integer num = Text1.Text fact = 1 For i = num To 1 Step -1 fact = fact * i Next Text2.Text = fact End Sub
For loop تدريب  13 صممي النموذج التالي بحيث يدخل عدد  من الدرجات من خلال  Inputbox  ويعرضها في  مربع نص ويحسب المجموع والمعدل .
الحل Private Sub Command1_Click () Dim n As Integer, i As Integer, mark As Integer, sum As Integer n = InputBox(&quot;Enter number of marks &quot;) For i = 1 To n mark = InputBox(&quot;enter mark &quot;) Text2.Text = Text2.Text & &quot;mark&quot; & i & mark & vbCrLf sum = sum + mark Next Text4 = sum Text3 = sum / n End Sub Private Sub Command2_Click () End end Sub
التكرار المشروط Do while <condition>…..loop Do until<condition>…….loop Do……….loop while <condition> Do ……….loop until <condition> Exit do : لانهاء التكرار قبل الانتهاء ( تحقق الشرط )
تدريب تتبعي التكرارين هل لهما نفس النتيجة؟ Dim I as integer i=5 Do while i<5  Print I i=i+1 loop Dim I as integer i=5 Do  Print I i=i+1 Loop while i<=5
While loop تدريب  14 صممي برنامج يقرأ أسماء  مجموعة من الطلاب  ، تنتهي القراءة بإدخال كلمة  &quot; done &quot;  او بعدم ادخال اسم الطالب  .
الحل Private Sub Command1_Click () Dim na As String Do While na <> &quot;done &quot; na = InputBox(&quot;Enter student name”) If na = &quot;&quot; Then Exit Do End If Text1.Text = Text1 & na & vbCrLf Loop End Sub
حل آخر Private Sub Command1_Click () Dim x As String x  =  InputBox (&quot; enter &quot;) Do While x <>  &quot; done &quot;  And x <>  &quot;&quot; Text1 . Text  =  Text1 & x & vbCrLf x  =  InputBox (&quot; enter &quot;) Loop End Sub
المصفوفات  Array Dim array-name(size) as datatype Dim age(8) as integer Age(7)  Age(0)
المصفوفات الديناميكية  Dynamic Array Redim Array-name(n ) هي مصفوفات لم يحدد لها حجم لذلك يتم إعادة تحجيم المصفوفة من خلال الأمر :
تدريب  15 صممي برنامج يقرأ رواتب  5  موظفين و يحسب الزيادة لهم على النحو التالي : اذا كان الراتب  > 15000  يحصل على زيادة  20% اذا كان 10000 =<  الراتب  =< 15000  يحصل على زيادة  15% اذا كان  5000=< الراتب  <10000  يحصل على زيادة  10% اذا كان الراتب  < 5000  يحصل على زيادة  0% بحيث يقرأ فقط بالضغط على امر الاضافة و يطبع بالضغط على امر الطباعة
الحل Option Base 1 Dim sal(5) As Double, bounce(5) As Double Dim I As Integer Private Sub cmdadd_Click() For I = 1 To Ubound(sal) sal(i) = InputBox(&quot;Enter salary&quot;) If sal(i) > 15000 Then bounce(i) = sal(i) * 0.2 ElseIf sal(i) >= 10000 And sal(i) <= 15000 Then bounce(i) = sal(i) * 0.15 ElseIf sal(i) >= 5000 And sal(i) < 10000 Then bounce(i) = sal(i) * 0.1 Else bounce(i) = 0 End If Next End Sub Private Sub cmdprint_Click() For I = 1 To Ubound(sal) Text1 = Text1 & &quot;salary: &quot; & sal(i) & vbTab & &quot;Bounce : &quot; & bounce(i) & vbCrLf Next End Sub
module ملف وحدات برمجية لا يرتبط مع نموذج معين أو أداة تحكم معينه وتستخدم لتعريف المتغيرات والثوابت والبرامج الفرعية.
تدريب-16 صممي نموذجين ،الأول يقرأ اسم و درجات طالب في مجموعة من المواد  و الثاني يحسب المجموع و المعدل للدرجات .
الحل النموذج الاول : Private Sub Command1_Click () Dim mark() As Single Dim I As Integer n = InputBox(&quot; &quot; ادخل عدد المواد &quot;) ) ReDim mark(n – 1) Text2 = &quot;  رقم المادة &quot; & vbTab & &quot; الدرجة &quot; & vbCrLf For I = 0 To Ubound(mark ) mark(i) = InputBox(&quot; ادخل الدرجة &quot;) Text2 = Text2 & I + 1 & vbTab & mark(i) & vbCrLf sum = sum + mark(i ) Next End Sub Private Sub Command2_Click () Form5.Show Hide End Sub النموذج الثاني  : Private Sub Command1_Click() End End Sub Private Sub Form_Load() Dim avg As Single Text1 = sum avg = sum / n Text2 = avg End Sub Module: Public n As Integer Public sum As Single
الواجب صممي برنامج لتحويل العملات من ريال إلى دولار أو العكس تحويل درجات الحرارة من مئوي إلى فهرنهايت أو العكس ..  كما يحتوي على امر الخروج من التطبيق و عند الضغط عليه يسأل المستخدم اذا كان متأكد انه يريد الخروج من البرنامج .
Dim x As Single, y As Single Const temp As Single = 1.8 Const xchg As Single = 3.75 Private Sub cmdC_Click () x = InputBox(&quot; ادخل درجة الحرارة المئوية &quot;, &quot; تحويل درجات الحرارة &quot;) y = (x * temp) + 32 Print  درجة الحرارة المئوية &quot; &quot; & x & &quot;  م   &quot; & &quot;  درجة الحرارة الفهرنهايتية   &quot; & y & &quot; ف   &quot; End Sub Private Sub cmdclear_Click () Cls End Sub Private Sub cmdDollar_Click () x = InputBox(&quot; ادخل المبلغ بالريال &quot;,&quot; تحويل العملات &quot;) y = x / xchg Print &quot;  المبلغ بالريال   &quot; & x & &quot;  ر . س   &quot; & &quot;  المبلغ بالدولار   &quot; & y &  &quot;  $  &quot; End Sub Private Sub cmdF_Click () y = InputBox(&quot; ادخل درجة الحرارة الفهرنهايتية &quot;, &quot; تحويل درجات الحرارة &quot;) x = (y - 32) / temp Print &quot;  درجة الحرارة الفهرنهايتية   &quot; & y & &quot;  ف   &quot; & &quot;  درجة الحرارة المئوية   &quot; & x &  م  &quot; &quot; End Sub Private Sub cmdRiyal_Click () y = InputBox(&quot; ادخل المبلغ بالدولار &quot;,&quot; تحويل العملات &quot;) x = y * xchg Print &quot;  المبلغ بالدولار   &quot; & y & &quot; $ &quot; & &quot;  المبلغ بالريال   &quot; & x & &quot; ر . س   &quot; End Sub
جملة  Goto
الدوال الجاهزة Asc(string )    chr(interger)  cDate(exp) Cint(string)  cstr(interger)  ccur(exp) Cdbl(exp)  len(string)  Trim(string) lTrim(string)  Rtrim(string)  instr(start,s,s1) Left(s,n)  Right(s,n)  mid(s,start,n) ucase(s)  lcase(s)  replace(s,s1,s2)  strcomp(s1,s2)  Isdate(exp)  isnumeric(exp)  IsEmpty(exp)  isnull(exp)
تدريب 18 قومي بتنفيذ التدريب على الجهاز X=Asc(&quot;A&quot;)  x=chr(65) x=ISNumeric(&quot;Hi&quot;) اذا كانت : s=&quot;How are you&quot; X=len(s)   x=left(s,3)      x=Mid(s,5,3)  X=instr(s,&quot;are&quot;)  x=replace(s,&quot;you&quot;,&quot;they&quot;)
الدوال الجاهزة Private Sub Command1_Click () Dim strmsg As String strmsg  =  WeekdayName ( Weekday ( Date ) , False, vbUseSystemDayOfWeek ) strmsg  =  strmsg &  &quot; is the today  &quot; strmsg  =  strmsg &  &quot; I love it &quot; Text1 . Text  =  strmsg End Sub
الدوال الجاهزة تدريب -19: صممي برنامج يقرأ رقم الموظف (  بحيث لا يزيد عن  10  خانات ) –  اسم الموظف  ( لا يقبل الفراغ ) -  تاريخ التعيين  ( من بعد  (1/1/2004)  ثم يحسب عدد سنوات الخبرة . و يحول الاسم إلى أحرف كبيرة .
Private Sub Command1_Click () If Len(Text1) >10 Then MsgBox &quot;ID mustcontained of 10 digits &quot; ElseIf Len(Text2) = 0 Then MsgBox &quot;you must enter a name &quot; ElseIf Text3 < #1/1/2004# Then MsgBox &quot;the date must be after 2004 &quot; Else Text2 = Ucase(Text2) Text4 = DateDiff(“yyyy&quot;, Text3, Now) End If End Sub
DateDiff دالة تطرح تاريخين لتعطي فرق السنوات والأشهر والأيام والساعات والدقائق ...
الاجراءات والدوال Sub & function  -private sub sun-name (par1 as integer,par2 as integer) … .. End sub Call subname(par,..) -Private function function-name (par1 as integer,par2 as integer) as integer … .. End function Variable=function-name(par,..)
 
نتائج البرنامج Local x1 6 using apply Local x1 26 on entering sub1 Local x1 27 on Exit sub1 Local static x1 0 on entering sub Local static x1 61 on Exit sub2 Module x1 0 on entering sub3 Module x1 5 on Exit sub3 Local x1 26 on entering sub1 Local x1 27 on Exit sub1 Local static x1 61 on entering sub2 Local static x1 62 on Exit sub2 Module x1 5 on entering sub3 Module x1 10 on Exit sub3 Local x1 6 At Exit of Apply
الإجراءات والدوال تدريب  17: خاص بـ  procedure- function- goto صممي برنامج يدخل الاسم بحيث لايكون كلمة  &quot; end &quot;  فإذا كان  &quot; end &quot;  ينتقل البرنامج ليخرج رسالة  &quot; see you later &quot;  وإذا لم يكن ينادي  procedure  ( hello )  والتي وظيفتها إخراج رسالة  welcome  name enterd  in our procedure ثم ينادي  Function  لتجمع العددين المدخلة
الحل Public Sub hello(ByVal st As String) MsgBox &quot;Welcom &quot; & st & &quot; in our procedure&quot; End Sub Public Function add(x As Integer, y As Integer) As Integer add = x + y End Function Private Sub Command1_Click() If Text1 = &quot;end&quot; Then GoTo closing Else Call hello(Text1) Text4 = add(Text2, Text3) End  closing: MsgBox &quot;see you later&quot; End Sub
التعامل مع مربعات الحوار والوسائط المتعددة من قائمة  project   components<   يتم اختيار الأدوات التالية :
Cmdialog1.Action=number 1-  فتح الملف . 2-  حفظ الملف . 3-  حفظ اللون . 4-  حفظ الخط . 5-  خيارات الطباعة التعامل مع مربعات الحوار
تدريب-20  يشغل ملفات الصوت التي يتم اختيارها . يحتوي على أداة العنوان يتم تغيير نوع الخط وحجمه ولونه من خلال استدعاء مربع حوار الخط .
الحل Private Sub Form_Load() MMControl1.Notify = False MMControl1.Wait = True MMControl1.Shareable = False MMControl1.DeviceType = &quot;waveaudio&quot; End Sub Private Sub Command2_Click() End End sub
الحل Private Sub Command 1 _Click () CommonDialog 1 .Filter = &quot;wav(*.wav)|*.wav &quot; CommonDialog 1 .ShowOpen MMControl 1 .Command = &quot;close &quot; MMControl 1 .FileName = CommonDialog 1 .FileName MMControl 1 .Command = &quot;open &quot; MMControl 1 .Command = &quot;play &quot; CommonDialog1.Action = 3 Label1.ForeColor = CommonDialog1.Color CommonDialog1.Flags = 3  ( خطوط الشاشة والطابعة ) CommonDialog1.Action = 4 Label1.FontSize = CommonDialog1.FontSize Label1.FontName = CommonDialog1.FontName End Sub
التعامل مع مربعات الحوار والوسائط المتعددة صممي نموذج لتشغيل المقاطع الصوتية أو الفيديو
الحل Private Sub Command1_Click () c1.Filter = &quot;all file  *.*&quot; c1.ShowOpen media1.openPlayer (c1.FileName) End Sub
متصفح الانترنت إضافة أداة الانترنت  :
صممي نموذج يحتوي على متصفح للانترنت : متصفح الانترنت
Private Sub Command1_Click () WebBrowser1.Navigate (Text1.Text) End Sub Private Sub Form_Load () WebBrowser1.GoHome End Sub Private Sub WebBrowser1_DownloadComplete () Text1.Text = WebBrowser1.LocationURL End Sub
نظام  Ascii
المراجع دورة اقيمت من قبل مركز التربية والتعليم بالروابي . كتاب فيجوال بيسك  6  د .  يحي صبري الحلبي د .  محمد بلال الزعبي كتاب الفيجوال بيسك من معهد العالميه

اليوم الثالث

  • 1.
    المنهاج دورة البرمجةبلغة الفيجوال بيسك
  • 2.
  • 3.
  • 4.
  • 5.
    واجهة برنامج الفيجوالبيسك مربع الأدوات نافذة النموذج نافذة الخصائص مستكشف المشروع اطار مصمم النموذج شريط القوائم شريط الأدوات نافذة المشروع
  • 6.
    الأدوات خصائص طرقالتصميم أوامر البرمجة أوامر البرمجة
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
    Back color BorderStyle Caption Control Box Forecolor Hight-Left-Width –Top scale mode Icon Maximize Button-Minimize Button Name Mouse pointer Font Picture Right to left Startup position Visible Window state التعرف على خصائص النموذج
  • 13.
    أهم خصائص Textbox Enable Alignment Multiline Scrollbar Maxlength Text Passwordchar Borderstyle Appearnce Tooltiptext Textbox
  • 14.
    أهم خصائص label Alignment Backstyle Autosize Label
  • 15.
    أهم خصائص Command Button Style Tabindex Tabstop لون الخط غير موجود !! Command Button
  • 16.
    شاشة البرمجة ( Code ) اسم الأداة الحدث ( Event ) الخاصية أو الطريقة
  • 17.
  • 18.
    تدريب 1صممي نموذج يقرا اسمك ( يعرض كرموز ) و عند الضغط على الأمر read name يعرض الاسم بخط مختلف ( اللون و الحجم ) . و ينتهي التطبيق بالضغط على الأمر Exit مع مراعاة ظهور النموذج في منتصف الشاشة و عدم السماح للمستخدم بالتغيير من حجم النموذج وقت التنفيذ .
  • 19.
    الحل : Enteryour Name caption 0-Left Justify Alignment Lblname Name Label (Enter…) أزرق Forecolor 18 Font caption 2-center Alignment Lblmyname Name Label لعرض الاسم 28 Font Welcome caption 0-Transparent backstyle 2-center Alignment Lblfirst Name Label(Welcome) 2-center screen Start up position My First Project caption 1-fixed single Borderstyle اختيار اللون Backcolor frmtext Name Form Value القيمة Property الخصائص Object الأدوات
  • 20.
    1-Graphical style ExitCaption اختيار اللون Backcolor cmdexit Name command 1-Graphical style Read name Caption اختيار اللون Backcolor cmdname Name command Name ToolTipText * PasswordChar txtname Name Text
  • 21.
    الحل Private Subcmdexit_Click () End End Sub Private Sub cmdname_Click () lblmyname.Caption = txtname.Text End Sub
  • 22.
    تغيير الألوان 1- Vbred 2- Rgb(red,green,blue) -3 qbcolor(number)
  • 23.
    تدريب -2: صممي نموذج يحتوي على ثلاث اوامر لتغيير لون خلفية النموذج بحيث يمكن تنفيذ الأمر بالضغط عليه بالفأرة كما يمكن تنفيذه باستخدام لوحة المفاتيح . مع مراعاة التالي : - عند المرور على الأمر بسهم الفأرة يصبح خط عنوان الأمر غامق و أثناء الضغط على الأمر يتغير لون خلفيته إلى اللون الوردي . - ثم اضيفي أمر جديد يغير لون خلفية النموذج كل مرة بشكل عشوائي
  • 24.
    الحل Private Subcmdblue_Click () frmcolor.BackColor = vbBlue End Sub Private Sub cmdblue_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single ) cmdblue.BackColor = RGB(255, 217, 245 ) End Sub Private Sub cmdblue_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single ) cmdblue.FontBold = True cmdgreen.FontBold = False cmdred.FontBold = False End Sub Private Sub Command1_Click () frmcolor.BackColor = QBColor(Rnd * 15) End Sub
  • 25.
    تدريب -3 :صممي نموذج يعرض كلمة Hello وعند الضغط على الأمر Move Up تتحرك الكلمة الى الزاوية العليا جهة اليمين و يتغير لونها عشوائيا . و عند الضغط على Move down تتحرك الكلمة إلى الزاوية السفلى جهة اليسار و يتغير لونها عشوائيا . و ينتهي التطبيق بالضغط على Exit
  • 26.
    الحل Private Subcmddown_Click () Label1.Top = Label1.Top + 100 Label1.Left = Label1.Left - 50 Label1.ForeColor = QBColor(Rnd * 15) End Sub Private Sub Cmdup_Click () Label1.Top = Label1.Top - 100 Label1.Left = Label1.Left + 50 Label1.ForeColor = QBColor(Rnd * 15) End Sub
  • 27.
    المتغيرات (أنواعها) شروطاختيار اسم المتغير : 1- أن يبدأ بحرف هجائي . 2- لا يتعدى 256 حرف . 3- لا يحتوي على نقاط أو مسافات أو العمليات الحسابية . 4- لا تستعمل الكلمات المحجوزة . أنواعها : 1- Dim 2- Public 3- Static 4- Private
  • 28.
    تعريف المتغيرات Datatype Boolean ( True-False ) String ($) (@) Currency single (!) Double (#) Byte long (&) Varient (%) Integer Date ، bject ، char Dim Var-name as Data type
  • 29.
  • 30.
    مثال X=5-(2 4+10/2)-5 *2\3 mod2 الناتج = 17-
  • 31.
  • 32.
    اسناد قيم للمتغيراتVarname= Expression مثال : Num=5+2 F_name=“mona” Num=txt.text Result=num1+num2 Res1=A or B
  • 33.
    تدريب -4:ضعي اشارة صح او خطأ امام الجمل التعريفية التالية مع تحديد سبب الخطأ : Dim mydate as Integer  Dim salary!  Dim male/female as boolean dim salary % = 2 Dim salary as currency salary=5000$ Dim x As String * 15  هل يمكن استخدام نفس المتغير في أي من موضع في Procedure لأكثر من نوع من البيانات؟
  • 34.
    إظهار رسائل Msgbox Button clicked= msgbox(massage,number of Button , title) X = msgbox(“welcom to”& na,vbokcancle,”so mutch”
  • 35.
  • 36.
    تدريب 5:صممي نموذج تعمل عمل الآلة الحاسبة. مع مراعاة إظهار رسالة للمستخدم في حال كان العدد الثاني لعملية القسمة يساوي الصفر و إعطاءه فرصة لإدخال عدد آخر.
  • 37.
    الحل Private Subcmdadd_Click () result = no1 + no2 txtresult = result End Sub Private Sub cmdclear_Click () txtno1.Text = &quot;&quot; txtno2.Text = &quot;&quot; txtresult.Text = &quot;&quot; End Sub Private Sub cmddif_Click () result = no1 - no2 txtresult = result End Sub Private Sub cmdmulti_Click () result = no1 * no2 txtresult = result End Sub Private Sub cmdpower_Click () result = no1 ^ no2 txtresult = result End Sub Private Sub comdivid_Click() If no2 <> 0 Then result = no1 / no2 txtresult = result Else MsgBox &quot;you can't divid by zero ,enter another number&quot;, vbExclamation + vbOKOnly, &quot;Error&quot; End If End Sub Private Sub txtno1_Change () no1 = Val(txtno1) End Sub Private Sub txtno2_Change () no2 = Val(txtno2) End Sub
  • 38.
    قراءة البيانات من inputbox Variable=inputbox ( ) C=inputbox(“enter a letter”,”enter screen”) وسيطات
  • 39.
    تغيير تنسيق البياناتباستخدام Format Text or label = var(format(exp,”type of format”) Lb1.caption=format(salary,”currency”) Format: Currency Percent Fixed General number
  • 40.
    تدريب -6:صممي برنامج يحسب الدخل السنوي للموظف : بحيث يقرأ الاسم و الراتب و نسبة الزيادة من مربع الادخال inputbox
  • 41.
    الواجب صممي نموذجيقوم بإدخال اسمك وعند النقر على الأمر Change font يكبر الخط ويتغير لون النص في كل نقره على الأمر .
  • 42.
    حل الواجب PrivateSub Command1_Click() Text1.ForeColor = QBColor(Rnd * 15) Text1.FontSize = Text1.FontSize * 2 End Sub
  • 43.
    الثوابت Constقيم لا تتغير مهما اختلف موقعها داخل البرنامج . Const const-name [as type] = value Const doller as single = 4.13 من الثوابت المعروفة في الفيجوال بيسك Vbgreen Vbcrlf vbtab
  • 44.
    الطباعة على Form أو على الطابعة Debug.print “n” Print Tab(10),”hi” Print “welcom” & n & “to all” Print format(salary,”currency”) Debug.print n ( يطبع على الطابعة ) Printer.print spc(n) tab(n)
  • 45.
    تدريب -7:صممي برنامج يحسب مساحة و محيط الدائرة . و يطبعها على نفس form
  • 46.
    الحل Private SubCommand1_Click() Dim r As Single Const pi As Single = 3.14 Const x As Integer = 2 Dim area As Single, circum As Single r = InputBox(&quot; ادخل نصف القطر &quot;) area = pi * r ^ x circum = x * pi * r Print &quot; مساحة الدائرة &quot; & area & &quot; محيط الدئرة &quot; & circum End Sub Private Sub Command2_Click() Cls End Sub
  • 47.
    جمل التحكم واتخاذالقرار If If condtion then Statments End if If condtion then Statments Else statments End if If condtion then Statments Else if condtion then Statments End if
  • 48.
    تدريب 8صممي برنامج يقرأ درجة طالب و يطبع تقديره ( A,B,C,D,F ) علما بأنه سيطبع التقدير باللون الاحمر اذا كان الطالب راسب
  • 49.
    الحل Private Subcmnstart_Click() Dim mark As Single Dim grade As String mark = txtmark.Text txtgrade.ForeColor = vbBlack If mark <= 100 Then If mark >= 90 Then grade = &quot;A&quot; Else If mark >= 80 Then grade = &quot;B&quot; Else If mark >= 70 Then grade = &quot;C&quot; Else If mark >= 60 Then grade = &quot;D&quot; Else txtgrade.ForeColor = vbRed grade = &quot;F&quot; End If End If End If End If Else MsgBox &quot;The mark you entered is incorrect&quot; End If txtgrade.Text = grade End Sub
  • 50.
    معاملات الربط –or-not-and If grade>=90 and grade<=100 then If Text1.Text = &quot;&quot; Or IsNumeric(Text1.Text) Then If Text1.Text = &quot;&quot; Or Not IsDate(Text1.Text) Then
  • 51.
    جملة selectcase Select case test value Case val1: statement Case val2:statment Case val3:statement ( اذا لم يكن من احد الاحتمالات Case else ( statment End select حالات case Case “A”,”a”: : Case 10: Case 3 to 10: Case is >50:
  • 52.
    تدريب 9:تتبعي البرنامج التالي و اكتبي قيمة X اذا كانت c=E , c=H , c=N Dim c as string Dim x as integer Private sub X=10 C=inputbox(&quot;enter a latter&quot;) Select case c Case &quot;A&quot; : x=x+5 Case &quot;B&quot; X=x-1 Case &quot;C&quot; to &quot;F&quot; X=x+2 Case &quot;G&quot;,&quot;H&quot;,&quot;I&quot; X=x+10 Case &quot;K&quot;,&quot;L&quot;,&quot;M&quot; to &quot;R&quot; X=x+1 Case else X=0 End select Print x End sub
  • 53.
    أهم خصائص Check box Value (0 ، 1 ، 2) أهم خصائص Option Box Value ( True,False ) تابع أدوات التحكم check box مربع التدقيق option box زر الاختيار Check box Option box
  • 54.
    تابع أدوات التحكم frame إطار يمكن أن يحوي أكثر من أداة frame
  • 55.
    تابع أدوات التحكم Picture box,Image أهم خصائص Image ( ظل الصورة ) Stretch Picture أهم خصائص Picture box ( مربع الصورة ) يشغل حجم أكبر من ظل الصورة ويمكن أن يكون حاوية لأدوات أخري . Autosize Picture Picture Box Image
  • 56.
    تدريب 10صممي نموذج بحيث يقرا الاسم من مربع الادخال بمجرد التنفيذ و لا يسمح بالتعديل عليه بعد ادخاله اذا اختار المستخدم show picture تظهر الصورة كما يمكنه تفعيل خيار حدود الصورة اما اذا اختار Hide picture تختفي الصورة يمكن تغيير تنسيق الاسم و تطبيق الاوامر bold-italic-underline
  • 57.
    الحل Private Subchkbold_Click() If chkbold Then Text1.FontBold = True Else Text1.FontBold = False End If End Sub Private Sub chkborder_Click() If chkborder.Value Then Image1.BorderStyle = 1 Else Image1.BorderStyle = 0 End If End Sub Private Sub chkitalic_Click() If chkitalic.Value Then Text1.FontItalic = True Else Text1.FontItalic = False End If End Sub Private Sub chkuline_Click() If chkuline.Value Then Text1.FontUnderline = True Else: Text1.FontUnderline = False End If End Sub
  • 58.
    Private Sub Form_Load()Text1.Text = InputBox(&quot;Enter Name&quot;) Text1.Locked = True End Sub Private Sub Option1_Click() Image1.Visible = True chkborder.Enabled = True End Sub Private Sub Option2_Click() Image1.Visible = False chkborder.Enabled = False End Sub
  • 59.
    أدوات التحكم list box-combo box List box Combo box اهم الخصائص : List : تحدد فيه عناصر القائمة . List index : تعطي رقم ترتيب العنصر في القائمة . Text : تعطي عنوان للقائمة Combo box وتستخدم أثناء التنفيذ في القائمة List
  • 60.
    تدريب 11 صمميبرنامج لتعبئة قائمة من المشتريات من مربع نص مع إمكانية تغيير أحجام الخطوط . يمكن الإضافة للقائمة و حذف عنصر من القائمة حذف محتويات القائمة
  • 61.
    الحل Private SubCombo1_Click () Text1.FontSize = Combo1.Text End Sub Private Sub Command1_Click () List1.AddItem (Text1.Text) Text1 = &quot;&quot; End Sub Private Sub Command2_Click () List1.RemoveItem (List1.ListIndex) End Sub Private Sub Command3_Click () List1.Clear End Sub Private Sub Command4_Click () End End Sub
  • 62.
    Option Explicit هوأمر يمنع التعامل مع أي متغير ما لم يتم تعريفه مسبقاً ويعطي رسالة خطأ في حالة تم استخدام متغير لم يعرف . الفائدة : في حالة الخطأ الإملائي للمتغير المعرف فإن البرنامج لن يعطي أي خطأ ولن يعمل بالشكل المطلوب .
  • 63.
    التكرار / الدوران looping 1- جملة التكرار المحدود For….Next Step num For <variable> start to end statement Next For i=2 to 10 step 2 Print “line:”,i Next Exit for : لإنهاء التكرار قبل الانتهاء
  • 64.
    For loop تدريب 12 صممي برنامج يقرأ رقم و يحسب مضروبه .
  • 65.
    الحل Private SubCommand1_Click() Dim num As Integer Dim fact As Integer Dim i As Integer num = Text1.Text fact = 1 For i = num To 1 Step -1 fact = fact * i Next Text2.Text = fact End Sub
  • 66.
    For loop تدريب 13 صممي النموذج التالي بحيث يدخل عدد من الدرجات من خلال Inputbox ويعرضها في مربع نص ويحسب المجموع والمعدل .
  • 67.
    الحل Private SubCommand1_Click () Dim n As Integer, i As Integer, mark As Integer, sum As Integer n = InputBox(&quot;Enter number of marks &quot;) For i = 1 To n mark = InputBox(&quot;enter mark &quot;) Text2.Text = Text2.Text & &quot;mark&quot; & i & mark & vbCrLf sum = sum + mark Next Text4 = sum Text3 = sum / n End Sub Private Sub Command2_Click () End end Sub
  • 68.
    التكرار المشروط Dowhile <condition>…..loop Do until<condition>…….loop Do……….loop while <condition> Do ……….loop until <condition> Exit do : لانهاء التكرار قبل الانتهاء ( تحقق الشرط )
  • 69.
    تدريب تتبعي التكرارينهل لهما نفس النتيجة؟ Dim I as integer i=5 Do while i<5 Print I i=i+1 loop Dim I as integer i=5 Do Print I i=i+1 Loop while i<=5
  • 70.
    While loop تدريب 14 صممي برنامج يقرأ أسماء مجموعة من الطلاب ، تنتهي القراءة بإدخال كلمة &quot; done &quot; او بعدم ادخال اسم الطالب .
  • 71.
    الحل Private SubCommand1_Click () Dim na As String Do While na <> &quot;done &quot; na = InputBox(&quot;Enter student name”) If na = &quot;&quot; Then Exit Do End If Text1.Text = Text1 & na & vbCrLf Loop End Sub
  • 72.
    حل آخر PrivateSub Command1_Click () Dim x As String x = InputBox (&quot; enter &quot;) Do While x <> &quot; done &quot; And x <> &quot;&quot; Text1 . Text = Text1 & x & vbCrLf x = InputBox (&quot; enter &quot;) Loop End Sub
  • 73.
    المصفوفات ArrayDim array-name(size) as datatype Dim age(8) as integer Age(7) Age(0)
  • 74.
    المصفوفات الديناميكية Dynamic Array Redim Array-name(n ) هي مصفوفات لم يحدد لها حجم لذلك يتم إعادة تحجيم المصفوفة من خلال الأمر :
  • 75.
    تدريب 15صممي برنامج يقرأ رواتب 5 موظفين و يحسب الزيادة لهم على النحو التالي : اذا كان الراتب > 15000 يحصل على زيادة 20% اذا كان 10000 =< الراتب =< 15000 يحصل على زيادة 15% اذا كان 5000=< الراتب <10000 يحصل على زيادة 10% اذا كان الراتب < 5000 يحصل على زيادة 0% بحيث يقرأ فقط بالضغط على امر الاضافة و يطبع بالضغط على امر الطباعة
  • 76.
    الحل Option Base1 Dim sal(5) As Double, bounce(5) As Double Dim I As Integer Private Sub cmdadd_Click() For I = 1 To Ubound(sal) sal(i) = InputBox(&quot;Enter salary&quot;) If sal(i) > 15000 Then bounce(i) = sal(i) * 0.2 ElseIf sal(i) >= 10000 And sal(i) <= 15000 Then bounce(i) = sal(i) * 0.15 ElseIf sal(i) >= 5000 And sal(i) < 10000 Then bounce(i) = sal(i) * 0.1 Else bounce(i) = 0 End If Next End Sub Private Sub cmdprint_Click() For I = 1 To Ubound(sal) Text1 = Text1 & &quot;salary: &quot; & sal(i) & vbTab & &quot;Bounce : &quot; & bounce(i) & vbCrLf Next End Sub
  • 77.
    module ملف وحداتبرمجية لا يرتبط مع نموذج معين أو أداة تحكم معينه وتستخدم لتعريف المتغيرات والثوابت والبرامج الفرعية.
  • 78.
    تدريب-16 صممي نموذجين،الأول يقرأ اسم و درجات طالب في مجموعة من المواد و الثاني يحسب المجموع و المعدل للدرجات .
  • 79.
    الحل النموذج الاول: Private Sub Command1_Click () Dim mark() As Single Dim I As Integer n = InputBox(&quot; &quot; ادخل عدد المواد &quot;) ) ReDim mark(n – 1) Text2 = &quot; رقم المادة &quot; & vbTab & &quot; الدرجة &quot; & vbCrLf For I = 0 To Ubound(mark ) mark(i) = InputBox(&quot; ادخل الدرجة &quot;) Text2 = Text2 & I + 1 & vbTab & mark(i) & vbCrLf sum = sum + mark(i ) Next End Sub Private Sub Command2_Click () Form5.Show Hide End Sub النموذج الثاني : Private Sub Command1_Click() End End Sub Private Sub Form_Load() Dim avg As Single Text1 = sum avg = sum / n Text2 = avg End Sub Module: Public n As Integer Public sum As Single
  • 80.
    الواجب صممي برنامجلتحويل العملات من ريال إلى دولار أو العكس تحويل درجات الحرارة من مئوي إلى فهرنهايت أو العكس .. كما يحتوي على امر الخروج من التطبيق و عند الضغط عليه يسأل المستخدم اذا كان متأكد انه يريد الخروج من البرنامج .
  • 81.
    Dim x AsSingle, y As Single Const temp As Single = 1.8 Const xchg As Single = 3.75 Private Sub cmdC_Click () x = InputBox(&quot; ادخل درجة الحرارة المئوية &quot;, &quot; تحويل درجات الحرارة &quot;) y = (x * temp) + 32 Print درجة الحرارة المئوية &quot; &quot; & x & &quot; م &quot; & &quot; درجة الحرارة الفهرنهايتية &quot; & y & &quot; ف &quot; End Sub Private Sub cmdclear_Click () Cls End Sub Private Sub cmdDollar_Click () x = InputBox(&quot; ادخل المبلغ بالريال &quot;,&quot; تحويل العملات &quot;) y = x / xchg Print &quot; المبلغ بالريال &quot; & x & &quot; ر . س &quot; & &quot; المبلغ بالدولار &quot; & y & &quot; $ &quot; End Sub Private Sub cmdF_Click () y = InputBox(&quot; ادخل درجة الحرارة الفهرنهايتية &quot;, &quot; تحويل درجات الحرارة &quot;) x = (y - 32) / temp Print &quot; درجة الحرارة الفهرنهايتية &quot; & y & &quot; ف &quot; & &quot; درجة الحرارة المئوية &quot; & x & م &quot; &quot; End Sub Private Sub cmdRiyal_Click () y = InputBox(&quot; ادخل المبلغ بالدولار &quot;,&quot; تحويل العملات &quot;) x = y * xchg Print &quot; المبلغ بالدولار &quot; & y & &quot; $ &quot; & &quot; المبلغ بالريال &quot; & x & &quot; ر . س &quot; End Sub
  • 82.
  • 83.
    الدوال الجاهزة Asc(string) chr(interger) cDate(exp) Cint(string) cstr(interger) ccur(exp) Cdbl(exp) len(string) Trim(string) lTrim(string) Rtrim(string) instr(start,s,s1) Left(s,n) Right(s,n) mid(s,start,n) ucase(s) lcase(s) replace(s,s1,s2) strcomp(s1,s2) Isdate(exp) isnumeric(exp) IsEmpty(exp) isnull(exp)
  • 84.
    تدريب 18 قوميبتنفيذ التدريب على الجهاز X=Asc(&quot;A&quot;) x=chr(65) x=ISNumeric(&quot;Hi&quot;) اذا كانت : s=&quot;How are you&quot; X=len(s) x=left(s,3) x=Mid(s,5,3) X=instr(s,&quot;are&quot;) x=replace(s,&quot;you&quot;,&quot;they&quot;)
  • 85.
    الدوال الجاهزة PrivateSub Command1_Click () Dim strmsg As String strmsg = WeekdayName ( Weekday ( Date ) , False, vbUseSystemDayOfWeek ) strmsg = strmsg & &quot; is the today &quot; strmsg = strmsg & &quot; I love it &quot; Text1 . Text = strmsg End Sub
  • 86.
    الدوال الجاهزة تدريب-19: صممي برنامج يقرأ رقم الموظف ( بحيث لا يزيد عن 10 خانات ) – اسم الموظف ( لا يقبل الفراغ ) - تاريخ التعيين ( من بعد (1/1/2004) ثم يحسب عدد سنوات الخبرة . و يحول الاسم إلى أحرف كبيرة .
  • 87.
    Private Sub Command1_Click() If Len(Text1) >10 Then MsgBox &quot;ID mustcontained of 10 digits &quot; ElseIf Len(Text2) = 0 Then MsgBox &quot;you must enter a name &quot; ElseIf Text3 < #1/1/2004# Then MsgBox &quot;the date must be after 2004 &quot; Else Text2 = Ucase(Text2) Text4 = DateDiff(“yyyy&quot;, Text3, Now) End If End Sub
  • 88.
    DateDiff دالة تطرحتاريخين لتعطي فرق السنوات والأشهر والأيام والساعات والدقائق ...
  • 89.
    الاجراءات والدوال Sub& function -private sub sun-name (par1 as integer,par2 as integer) … .. End sub Call subname(par,..) -Private function function-name (par1 as integer,par2 as integer) as integer … .. End function Variable=function-name(par,..)
  • 90.
  • 91.
    نتائج البرنامج Localx1 6 using apply Local x1 26 on entering sub1 Local x1 27 on Exit sub1 Local static x1 0 on entering sub Local static x1 61 on Exit sub2 Module x1 0 on entering sub3 Module x1 5 on Exit sub3 Local x1 26 on entering sub1 Local x1 27 on Exit sub1 Local static x1 61 on entering sub2 Local static x1 62 on Exit sub2 Module x1 5 on entering sub3 Module x1 10 on Exit sub3 Local x1 6 At Exit of Apply
  • 92.
    الإجراءات والدوال تدريب 17: خاص بـ procedure- function- goto صممي برنامج يدخل الاسم بحيث لايكون كلمة &quot; end &quot; فإذا كان &quot; end &quot; ينتقل البرنامج ليخرج رسالة &quot; see you later &quot; وإذا لم يكن ينادي procedure ( hello ) والتي وظيفتها إخراج رسالة welcome name enterd in our procedure ثم ينادي Function لتجمع العددين المدخلة
  • 93.
    الحل Public Subhello(ByVal st As String) MsgBox &quot;Welcom &quot; & st & &quot; in our procedure&quot; End Sub Public Function add(x As Integer, y As Integer) As Integer add = x + y End Function Private Sub Command1_Click() If Text1 = &quot;end&quot; Then GoTo closing Else Call hello(Text1) Text4 = add(Text2, Text3) End closing: MsgBox &quot;see you later&quot; End Sub
  • 94.
    التعامل مع مربعاتالحوار والوسائط المتعددة من قائمة project components< يتم اختيار الأدوات التالية :
  • 95.
    Cmdialog1.Action=number 1- فتح الملف . 2- حفظ الملف . 3- حفظ اللون . 4- حفظ الخط . 5- خيارات الطباعة التعامل مع مربعات الحوار
  • 96.
    تدريب-20 يشغلملفات الصوت التي يتم اختيارها . يحتوي على أداة العنوان يتم تغيير نوع الخط وحجمه ولونه من خلال استدعاء مربع حوار الخط .
  • 97.
    الحل Private SubForm_Load() MMControl1.Notify = False MMControl1.Wait = True MMControl1.Shareable = False MMControl1.DeviceType = &quot;waveaudio&quot; End Sub Private Sub Command2_Click() End End sub
  • 98.
    الحل Private SubCommand 1 _Click () CommonDialog 1 .Filter = &quot;wav(*.wav)|*.wav &quot; CommonDialog 1 .ShowOpen MMControl 1 .Command = &quot;close &quot; MMControl 1 .FileName = CommonDialog 1 .FileName MMControl 1 .Command = &quot;open &quot; MMControl 1 .Command = &quot;play &quot; CommonDialog1.Action = 3 Label1.ForeColor = CommonDialog1.Color CommonDialog1.Flags = 3 ( خطوط الشاشة والطابعة ) CommonDialog1.Action = 4 Label1.FontSize = CommonDialog1.FontSize Label1.FontName = CommonDialog1.FontName End Sub
  • 99.
    التعامل مع مربعاتالحوار والوسائط المتعددة صممي نموذج لتشغيل المقاطع الصوتية أو الفيديو
  • 100.
    الحل Private SubCommand1_Click () c1.Filter = &quot;all file *.*&quot; c1.ShowOpen media1.openPlayer (c1.FileName) End Sub
  • 101.
    متصفح الانترنت إضافةأداة الانترنت :
  • 102.
    صممي نموذج يحتويعلى متصفح للانترنت : متصفح الانترنت
  • 103.
    Private Sub Command1_Click() WebBrowser1.Navigate (Text1.Text) End Sub Private Sub Form_Load () WebBrowser1.GoHome End Sub Private Sub WebBrowser1_DownloadComplete () Text1.Text = WebBrowser1.LocationURL End Sub
  • 104.
  • 105.
    المراجع دورة اقيمتمن قبل مركز التربية والتعليم بالروابي . كتاب فيجوال بيسك 6 د . يحي صبري الحلبي د . محمد بلال الزعبي كتاب الفيجوال بيسك من معهد العالميه