940 likes | 1.12k Views
Visual Basic. About the Lecturer. Age 24 Professional experience: Two years as a Developer at Intel Corp . 1 year as Web Developer in a small firm. Head of Department in Basmach (computer science school - IDF) in the field of methodology. Now at Technical System Designer in IDF
E N D
About the Lecturer • Age 24 • Professional experience: • Two years as a Developer at Intel Corp. • 1 year as Web Developer in a small firm. • Head of Department in Basmach (computer science school - IDF) in the field of methodology. • Now at Technical System Designer in IDF • Specializing in Teaching: • OO Design Principles • .NET • C++
0. מבוא...............................................41. יסודות.............................................142. פקדים א'.........................................313. תנאים.............................................424.לולאות............................................495. מערכים..........................................53 6. פונקציות.........................................577. פקדים............................................73
Visual Basic מבוא
מטרת הקורס • הכרות עם תכנות מונחה ארועים • עבודה עם ממשקי משתמש גרפיים • שפת VB
סביבת העבודה Menu bar Toolbar Project Explorer window Toolbox Properties window Form
תוכנית ראשונה • התחל את סביבת העבודה Visual Basic 6 • Start->Programs->Microsoft Visual Studio 6.0->Microsoft Visual Basic 6.0 • צור פרויקט חדש – Hello.exe • לחץ על פקד הכפתור "Button" שנמצא בארגז הכלים וגרור אותו ל-Form • לחץ פעמיים על הכפתור כדי להעלות את עורך הקוד • רשום את הקוד: • לחץ על כפתור ההפעלה Private Sub Command1_Click() MsgBox ("Hello world") End Sub
מהי VB • שפה מונחית ארועים • קלה לשימוש • מתאימה ל-RAD(Rapid Appliction Development)
Forms • VB משתמשת במושג form כדי להתכוון לחלון • המידע על form נשמר בקובץ .frm • המערכת של VB מציירת את הform בהתאם למידע הזה • ניתן להתייחס ל-Forms כמו למחלקות בOOP
Controls • כפתורים, תיבות טקסט, תויות, תיבות סימון..... • פקד של VB = אלמנט של ממשק משתמש • חלקם בלתי נראים (כמו טיימר) • לפקדים יש מאפיינים (לדוגמא צבע רקע) • שלושה סוגים: • סטנדרטים • לא סטנדרטים של גורם צד שלישי (כמו MS) • ActiveX שנכתבים פנימית
אובייקטים • יש מעט OO ב-VB – לא שפה מונחית אובייקטים טהורה • יש אפשרות ליצור אובייקטים (לדוגמא Form) • תכונה = ערך מידע שמיוחס לאובייקט • מתודה = משהו שהאובייקט יכול לעשות
דוגמא לOO Form2 is a class f is an object – an instance of class Form2 Dim f As Form2 Set f = New Form2 f.Show f.BackColor = RGB(255, 0, 0) the Form2 class has a method called show It has a property called BackColor
Event-driven programming • גישה סטנדרטית לGUI • בניגוד לגישה הישנה (הדפסות על המסך) שבה התוכנית קבעה מה צריך לקרות • בGUI המשתמש קובע (triggers) מה האפליקציה תעשה (בעיקר) • דוגמאות לאירועים (Events): לחיצת מקש, הזזת עכבר, timeout של טיימר • Event Handler – מתודה שתתבצע כאשר האירוע קורה
Visual Basic יסודות
Project • פרויקט = קוד בשביל אפליקציה • Form = חלון – יתכנו מספר בפרויקט אחד • Module = קוד VB • Class = הגדרת מחלקות משל עצמנו • התוצר של הפרויקט הוא .exe
VERSION 5.00 Begin VB.Form Form1 Caption = "Form1" ClientHeight = 2445 ClientLeft = 5145 ClientTop = 4110 ClientWidth = 5070 LinkTopic = "Form1" ScaleHeight = 2445 ScaleWidth = 5070 Begin VB.CommandButton Command1 Caption = "Command1" Height = 615 Left = 1200 TabIndex = 0 Top = 600 Width = 1815 End End Attribute VB_Name = "Form1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Option Explicit Private Sub Command1_Click() MsgBox ("Hello world") End Sub Inside a .frm file
Visual Basic משתנים
Variables • לכל משתנה בתוכנית מוקצה טיפוס נתונים • השתמשו בDimכדי להצהיר על הטיפוס של המשתנה • Dim x as Integer • Dim x,y as Integer NO! • Case sensitive (בערך) • משפט השמה X = 4
Variables • בVB ניתן להשתמש במשתנה גם אם לא הגדרנו אותו (לא מומלץ) אלא אם נוסיף את הפקודה Option Explicit • הגדרת קבועים Private const MyInt As Integer = 5 • כדי להחזיק מחרוזות השתמשו בטיפוס String Dim flower As String
טיפוסים • Integer Long • Single Double • Currency • Byte unsigned 0 - 255 • String • Boolean • Date • Object • Variant - do not use except explicit reason
Variant • הטיפוס Variant יכול להכיל כל סוג של מידע • ניתן לדעת מה טיפוס המידע בזמן ריצה ע"י VarType Dim x As Variant x = 1 MsgBox (VarType(x))
ערכי VarType 0 Empty (uninitialized) 1 Null (no valid data) 2 Integer 3 Long integer 4 Single-precision floating-point number 5 Double-precision floating-point number 6 Currency value 7 Date value 8 String 9 Object 10 Error value 11 Boolean value 12 Variant (used only with arrays of variants) 13 A data access object 14 Decimal value 17 Byte value 36 Variants that contain user-defined types 8192 Array
פעולות אריתמטיות Operator operation Basic expression ^ Exponentiation A ^ B * Multiplication A * B / Division A / B + Addition A + B - Subtraction A - B
שרשור • ניתן לשרשר שתי מחרוזות בעזרת אופרטור השרשור & Private Sub cmdConcatenation_Click() Dim strVar1 As String Dim strVar2 As String Dim result As String strVar1 = “Hello” strVar2 = “World” result = strVar1 & strVar2 End Sub
הערות, המשך שורה וHEX • הערות מתחילות עם גרש ', וממשיכות עד לסוף השורה 'this line is a comment • ביטוי ארוך מאוד ניתן לפצל לשורות בעזרת קו-תחתון _כדי להמשיך לשורה הבאה • קבועים הקסה-דצימלים נכתבים בצורה: &HFF0012
Visual Basic המרות
המרות DIM x as integerx = Cint("10")
Visual Basic פקדים – חלק 1
הפקדים השימושיים ביותר • Text Boxes • Labels • Command Buttons • Picture Boxes
TextBox • לחצו פעמיים על תיבת הטקסט בארגז הכלים כדי להוסיף לחלון • הפעילו את חלון המאפיינים (ע"י לחיצה על F4) • הציבו ערכים במאפיינים של תיבת הטקסט
TextBox Text box
מאפיינים חשובים • Name • Caption • Border style • Visible • Back Color • Alignment • Font
שימוש בתיבות טקסט לקלט ופלט • התוכן של תיבות טקסט הוא תמיד מחרוזתי. • גם מספרים מאוחסנים בתיבות טקסט בתור מחרוזת. • מכאן נובע שצריך להמיר את המחרוזת של תיבת הטקסט לפני שמשתמשים בה כמספר • Val (txtBox.Text) משנה את מחרוזת הקלט למספר numVar = Val (txtBox.Text) txtBox.Text = Str(numVar)
Example - calculator Private Sub Command1_Click() Dim num1 As Integer Dim num2 As Integer Dim result As Integer num1 = val(Text1.Text) num2 = val(Text2.Text) result = num1 + num2 Label1.Caption = str(result) End Sub
תרגיל • הוסיפו למחשבון תמיכה בחיסור, כפל, וחילוק • התעלמו מספרים לא חוקיים וחלוקה באפס – נתייחס לזה בהמשך
קלט מתיבת קלט • עבור קלט בודד ניתן להשתמש בinput box במקום תיבת טקסט • Input Box הוא תיבת דיאלוג מוגדרת מראש • Input Box is a predefined dialog box. • תחביר: stringVar = InputBox (prompt, title)
דוגמא ל- Input Box Private Sub cmdDisplay_Click() Dim fileName As String fileName = InputBox("Enter the name of the file containing the information.", "Name of File") End Sub After executing an input box would pop up
Visual Basic תנאים
משפט IF If c > 5 Then x = 1: y = 3 If c > 5 Then x = 1 y = 3 ElseIf c = 4 Then z = 7 Else x = 9 End If If c > 5 Then x = 1 y = 3 End If If c > 5 Then x = 1 y = 3 Else z = 7 End If
תרגיל – פיתרון משוואה ריבועית • צרו form עם: • 3 תיבות טקסט שיכילו את ערכי a,b,c • 2 תויות שבהן התוצאות יוצגו • כפתור בשם "פתור" – הקוד שמשויך לכפתור יפתור את המשוואה * פונקציה לשורש היא sqr
select Dim Number Number = 8 ' Initialize variable. Select Case Number ' Evaluate Number. Case 1 To 5 ' Number between 1 and 5, inclusive. x=4 Case 6, 20, 8 ' Number is 6 or 20 or 8. x=5 Case 9 To 10 ' Number is 9 or 10. x=6 Case is<0 X=7 Case Else ' Other values. x=8 End Select
Visual Basic טיפול בשגיאות
Error and exception handling • Exception = בעיה שעולה בזמן ריצה • בד"כ קשורה ל- I/O • לדוגמא:קובץ שלא נמצא, בעית חיבור לשרת, קלט שגוי של המשתמש • לא באג תיכנותי • VB קורא לexception- בשם error
דוגמא לטיפול בשגיאות – מספרים לא חוקיים Private Sub Command1_Click() Dim num1 As Integer Dim num2 As Integer Dim result As Integer On Error GoTo myErrorHandler num1 = Text1.Text num2 = Text2.Text result = num1 + num2 Label1.Caption = result Exit Sub myErrorHandler: If Err.Number = 13 Then MsgBox ("Please enter a valid number") Else MsgBox (Err.Description) End If Resume Next End Sub תרגיל הוסיפו טיפול בשגיאות במחשבון שלכם טפלו בבעית החלוקה באפס(11)
Visual Basic לולאות
For next loops Dim x as Integer, total As Integer total = 0 For x = 1 To 5 total = total + x Next Dim x as Integer, total As Integer total = 0 For x = 1 To 5 Step 2 total = total + x Next