Presentation is loading. Please wait.

Presentation is loading. Please wait.

2 משתנים - variables משתנה - הנו מאגר מידע זמני למרות ש- VB לא מחייבת הגדרת משתנים (כברירת מחדל) רצוי לעשות זאת.  ודא שאופציה Required Variable decleration.

Similar presentations


Presentation on theme: "2 משתנים - variables משתנה - הנו מאגר מידע זמני למרות ש- VB לא מחייבת הגדרת משתנים (כברירת מחדל) רצוי לעשות זאת.  ודא שאופציה Required Variable decleration."— Presentation transcript:

1

2

3 2 משתנים - variables משתנה - הנו מאגר מידע זמני למרות ש- VB לא מחייבת הגדרת משתנים (כברירת מחדל) רצוי לעשות זאת.  ודא שאופציה Required Variable decleration בתפריט Tools, Options בכטיסיה Editor מסומנת כפעילה, זה יגרום ל- VB לדווח על שגיאות  ניתן להוסיף את הפקודה Option Explicit בראש הקוד בכל אחד מהטפסים והמודולים

4 3 סוגי משתנים - (Data Types)  S מחרוזת (String)  n מספר שלם (Integer)  l שלם שלם ארוך (Long integer)  f נקודה צפה (floating point)  d נקודה צפה  cמטבע (Currency)  bבולאני (Boolean)  vמשתנה מסוג Variant

5 4 הגדרת משתנים  משתנה לוקלי באזור השיגרה או הטופס :  Dim i As integer, name as string  Private i As integer  משתנה גלובלי באזור המודול :  Public i As Currency  משתנה סטטי באזור השיגרה (שומר את ערכו) :  Static name As String  (שימוש במילה static בראש השיגרה הופכת את משתניה לסטטיים.

6 5 הגדרת קבועים  Const meters=1000  public const progtitle=“my program”  מילת המפתח public גורמת לקבועים להיות זמינים בכל התוכנית, בהנחה שההצהרה ב- module

7 6 הגדרת מערכים בעלי אורך קבוע  Dim Counter(15) as integer  Public Counter(15) as integer  Dim counter(1 to 16) as integer  Dim sums(100 to 120) as strings  כדי לשנות את ברירת המחדל של הערך הנמוך ביותר של האינדקס מ- 0 ל- 1 ניתן להגדיר במודול:  option base 1

8 7 מערך רב - ממדי  Dim arr(9,9) as Double  Static matrixa(1 to 10, 1 to 10) as integer  Dim Multid(3, 1 to 10, 1 to 15)

9 8 מערך דינמי  Dim Arr() as Double  הקצאת מספר האיברים האקטואלי ע”י משפט redim בתוך פרוצדורה sub calc(). Redim Arr(19,25) End Sub

10 9 הגדרת סוגי משתנים חדשים  Private type person  Public type person  private type person id as string name as string age as integer end type

11 10 הגדרת משתנים של סוגי משתנים חדשים  Dim myrecord as person, yourrecord_ as person

12 11 If statements  If...Then  If...Then...Else  Select Case

13 12 If statements If condition Then statements End If If condition1 Then [statementblock-1] [ElseIf condition2 Then [statementblock-2]]... [Else [statementblock-n]] End If

14 13 Select Case Select Case testexpression [Case expressionlist1 [statementblock-1]] [Case expressionlist2 [statementblock-2]]... [Case Else [statementblock-n]] End Select

15 14 Loop Statement  Do...Loop  For...Next  For Each...Next

16 15 Do...Loop Statement Repeats a block of statements while a condition is True or until a condition becomes True.  Do [{While | Until} condition] [statements] [Exit Do] [statements] Loop

17 16 Do...Loop Statement  Do [statements] [Exit Do] [statements] Loop [{While | Until} condition]

18 17 Do...Loop Statement Loop zero or more times Loop at least once  Do Until condition statements Loop  Do statements Loop Until condition Do While n < 100 n = n + n Loop

19 18 While...Wend Statement While condition [statements] Wend Dim Counter Counter = 0 While Counter < 20 Counter = Counter + 1 Wend ' End While loop when Counter > 19.

20 19 הצגת הודעה  MsgBox “Hello Users”  Dim mystr as string mystr = “Hello” & “Users” MsgBox mystr MsgBox(Prompt,[,buttons][,title][,helpfile,context])

21 20 הצגת הודעה ניתן לשלב בתיבת ההודעה אחד מבין ארבעה סמלים אפשריים המציינים את מהות ההודעה:  הודעה חשובה ביותר - מורה על התרחשות שגיאה חמורה (16)  שאילתה - מורה על שהתוכנית זקוקה למידע נוסף מהמשתמש (32)  אזהרה - מעיד על של שגיאת תוכנית העלולה להוביל לתוצאות בלתי רצויות (48)  הודעת מצב - מיידעת את המשתמש לגבי מצב התוכנית (ציון סוף תהליכים שונים) (64) vbcritical vbquestion

22 21 הצגת הודעה - ערך מוחזר ניתן להתריע בפני בעיות שונות או להודיע למשתמש לבצע מהלך מסוים וזה מתבצע ע”י החזרת ערך.  Result = MsgBox(“the printer is not_ responding”, vbretriycancel,”priter_ error”)

23 22 הצגת הודעה - מערכת לחצנים מערכת לחצנים ערך קבוע  OK 0vbOkonly  Cancel, OK 1 vbOkCancel  Ignor,Retry,Abort2 vbAbortRetryCcancel  Cancel, No, Yes3 vbYesNoCancel  No, Yes 4 vbYesNo  Cancel, Retry 5 vbCancelRetry

24 23 הצגת הודעה - ערך מוחזר לחצן ערך קבוע  OK 1 vbOk  Cancel 2 vbCancel  Abort 3 vbAbort  Retry 4 vbRretry  Ignor 5 vbIgnor  Yes 6 vbYes  No 7 vbNo

25 24 הצגת הודעה - דוגמה Dim smsg as string dim nbuttons as integer Dim nresult as integer smsg=“are you sure you want to exit?” nbutton=vbyesno+vbquestion nresult=MsgBox(smsg,nbuttons,”my program”) if nresult=vbyes then end enif

26 25 תיבת קלט – Input Box InputBox(prompt[, title][, default][, xpos] [, ypos][, helpfile, context]) Private Sub Form_Load() Dim input1 As String input1 = InputBox("Enter your name", "Name Win") MsgBox "Your name is:" & input1, vbInformation, "Name Win" End Sub

27 26 תיבת קלט – Input Box

28 27 Combo Box שלושה סוגים של Combo Box: Style 0 (default) - drop-down combo box המשתמש יכול להוסיף אפשרויות לרשימה או ללחוץ על החץ לבחירה מרשימת האפשרויות Style 1 - Simple combo box הרשימה מופיעה, אין חץ פתיחה. מאפשר למשתמש להוסיף אפשרויות Style 2 - Drop down list box הרשימה אינה מופיעה עד שלוחצים על החץ. אין אפשרות להוסיף אפשרויות לרשימה

29 28 Combo Box - גישה box.list(index) Text1.Text = List1.List(2) התכונה ListIndex - מציינת את המיקום של האלמנט הנבחר ListIndex יהיה (1-), אם לא נבחרה אפשרות או שהמשתמש הוסיף אפשרות התכונה ListCount מציינת את מספר האלמהנטים ברשימה

30 29 Combo Box - גישה AddItem Removeitem Clear ListIndex ListCount List1.additem “germany” List1.additem “japan”, 0 List1.removeitem 0 List1.clear

31 30 Creating Menus  By using the menu editor

32 31 תיבות דו - שיח שלוש דרכים להוסיף תיבות דו-שיח ליישום שלך:  הוספת בקרים לטפסים  שימוש בתיבות קלט ופלט (InputBox, MsgBox)  שימוש בפקד CommonDialog על מנת להשתמש בתיבות דו-שיח סטנדרטיות כמו: Print, File open

33 32 תיבות דו - שיח נפוצות פקד CommonDialog Common Dialog מאפשר להציג את תיבות הדו-שיח הבאות:  Open  Save As  Color  Font  Print

34 33 תיבות דו - שיח נפוצות פקד CommonDialog כדי להשתמש בפקד Common Dialog יש להוסיפו לסרגל הפקדים כך:  לבחור Project  Components  לסמן את Microsoft Common Dialog Control

35 34 תיבות דו - שיח נפוצות פקד CommonDialog בזמן ריצה ניתן להשתמש בשיטות הבאות: MethodsDialog Displayed ShowOpenOpen ShowSaveSave As ShowColorColor ShowFontFont ShowPrinterPrint ShowHelpHelp

36 35 Open Dialog Box Private Sub mnuOpenItem_Click() CommonDialog1.Filter ="Metafiles_ (*.WMF)|*.WMF" CommonDialog1.ShowOpen Image1.Picture =_ LoadPicture(CommonDialog1.filename) mnuCloseItem.Enabled = True End Sub

37 36 Color Dialog Box Private Sub command1_Click() CommonDialog1.ShowColor End Sub

38 37 Modal Dialog Box  Modal Dialog Box must be closed before you can continue working  A Dialog Box is Modal if you click OK or CANCEL before you can switch To display a form as a modal dialog box use a style argument of 1  form1.show 1

39 38 Modeless Dialog Box  Modeless Dialog Box let you shift the focus between the dialog box and another form without having to close the dialog box.  Form1.show

40 39 Procedures  פרוצדורות מחלקות את התוכנית למספר תוכניות קטנות  פרוצדורות שנכתבו עבור פרוייקט אחד יכולות להיות בשימוש עבור פרוייקט אחר  Sub procedures do not return a value  Function procedures return a value  Property procedures can return and assign a values, and set references to objects

41 40 Sub Procedures [Private|public][static]Sub procedurename (args) statements End Sub  Sub is Public by default  call MyProc(arg1,arg2)  MyProc arg1,arg2

42 41 Function Procedures [Private|public][static]Function procname (args) [As Type] statements End Function  As type is variant type by default  Label1.Caption = func(y)

43 42 By Value Function func(ByVal x As Integer) As Integer x = 3 func = 4 End Function Private Sub Form_Load() Dim y As Integer y = 5 Label1.Caption = func(y) & "---" & y End Sub

44 43 By Reference Function func(Byref x As Integer) As Integer x = 3 func = 4 End Function Private Sub Form_Load() Dim y As Integer y = 5 Label1.Caption = func(y) & "---" & y End Sub

45 44 Property Procedures נשתמש בסוג זה של פרוצדורות כאשר יוצרים תכונות חדשות לאובייקטים או רוצים לשייך קוד מסוים לתכונה  VB מספק שלושה סוגים של פרוצדורות property:  Property Let - sets the value of a property  Property Get - returns the value of a property  Property Set - Set a reference to an object

46 45 MDI- Multiple Document Interface במקרים מסוימים יהיה צורך לאחסן ולאחזר נתונים מבלי להידרש לעוצמה של מסד נתונים. במקרים כאלה, קבצי טקסט יהוו את הפתרון הרצוי.

47 46 קבצי טקסט במקרים מסוימים יהיה צורך לאחסן ולאחזר נתונים מבלי להידרש לעוצמה של מסד נתונים. במקרים כאלה, קבצי טקסט יהוו את הפתרון הרצוי.

48 47 גישה סדרתית - פתיחת קובץ לקבצים סדרתיים אין מבנה מסודר כלשהו. פתיחת קובץ לקריאה (input), לכתיבה (Output) ולהוספה (Append) Open pathname for [input|Output|Append] As filenumber [len= buffersize ] פתיחת קובץ לא קיים לקריאה תהווה שגיאה פתיחת קובץ לא קיים לכתיבה או הוספה, תיצור אותו.

49 48 גישה סדרתית - קריאה מקובץ  Line input # filenum, line קריאת שורה מהקובץ  input #filenum,str,int,date קריאה לתוך משתנים מתאימים. פ’ זו מחפשת את תווי ההפרדה (פסיקים, גרשיים, ו-#) “text”,100,#1999-12-31#  str=Input(chnum,#filenum) קריאת chnum תווים מקובץ filenum str=input(4,#filenum) קורא 4 תווים מהקובץ

50 49 גישה סדרתית - כתיבה לקובץ  Print #filenum, “hello” hello  write #filenum “hello” “hello”

51 50 גישה אקראית  גישה אקראית מתאימה לקבצים המכילים רשומות בעלי אורך ומבנה זהים Type worker lastname as string*10 title as string*7 rank as string*2 End Type public employee as worker

52 51 גישה אקראית - פתיחת קובץ Open pathname [for random] As filenumber len= buffersize הגישה האקראית היא ברירת המחדל, לכן לא חייבים לכתוב for random  reclen=len(employee)  filenum=freefile  open “myfile.txt” as filenum len=reclen

53 52 גישה אקראית - קריאה וכתיבה  קריאת רשומות למשתנים Get filenum, position, employee position מכיל מספר הרשומה get #1,1,employee  כתיבת משתנים לרשומות Put #filenum,position,employee  משתמשים במשפט seek כדי לעבור בין רשומות בקובץ seek #1,3 משפט get או put הבא יתייחס לרשומה מספר 3

54 53 גישה בינרית  הגישה הבינרית מאפשרת שליטה מוחלטת על הקובץ. ה- bytes בקובץ יכולים לייצג כל דבר.  בגישה הבינרית משתמשים כאשר חשוב לשמור על גודל קובץ קטן Open pathname for binary As filenumber

55 54 פונקציות על קבצים  file copy source, dest  kill path  name oldname as newname  mkdir pathname  rmdir pathname  chdir pathname  chdrive drive  strvar=dir(path[,attr]) if dir$(“c:\myfile.txt”)=“” then...  Strvar=cyrdir$([drive]) יחזיר את שם התיקיה הפעילה  close #filenum  הפונקציה shell להפעלת תוכניות נוספות  doublevar=shell(pathname[,winstyle]) dtaskid=shell(notepad d:\readme.txt”, vbnormalfocus)

56 55 Accessing Databases  אובייקט DATA  תכונות אובייקט DATA :  connect (Access)  Databasename  Readonly (true,false)  RecourdSource  RecordSetType (Table, Dynaset, SnapShot)  תכונות אובייקט קשור:  DataSource (אובייקט DATA)  DataField

57 56 Recordset  אובייקט recordset מייצג את הנתונים שעובדים עימם בתוכנית. Index תכונה להגדרת שדה חיפוש של בסיס הנתונים Seek שיטה (method) לחיפוש הרשומה ( ניתן להשתמש באופרטורי השוואה עמ ” נ להשוות את המחרוזת שמחפשים לטקסט שבבסיס הנתונים ) NoMatch תכונה שהיא true אם לא נמצאה המחרוזת שמחפשים MoveFirst שיטה שגורמת לרשומה הראשונה להיות הנוכחית

58 57 Recordset Type  Table-type Recordset (vbTableType) a set of records that represents a single database table that you can use to add, change or delete records  Dynaset-type Recordset (vbDynasetType) a dynamic set of records that represents a database table or the results of a query containing fields from one or more tables. You can add, change and delete records and it will be reflected in the table(s)  Snapshot-type Recordset (vbSnapshotType) a static copy of a set of records that you can use to find data or generate reports. It can contain fields from one or more tables but cant be updated

59 58 הוספת רשומה לבסיס הנתונים Data1.Recordset.AddNew Data1.Recordset.field1 = value EOFAction property: 0 - MoveLast 1 - EOF (disable movenext button) 2 - AddNew

60 59 מחיקת רשומה מבסיס הנתונים Data1.Recordset.Delete פקודה זו מוחקת את הרשומה הנוכחית Data1.Recordset.MoveNext עוברים לרשומה הבאה

61 60 גיבוי / שיכפול בסיס הנתונים Filename=inputbox(“Enter the path for_ backupcopy”) if filename <> ”” then filecopy data1.databasename, filename endif

62 61 חיפוש נתון מבסיס הנתונים Prompt$=“Enter the last name you want to search”) searchstr = inputbox(prompt$,”lname search”) data1.recordset.index=“lname” data1.recordset.seek “=“, searchstr$ if data1.recordset.nomatch then msgbox(“last name not found”) end if

63 62 OLE -Object Link and Embedded OLE הוא אובייקט המאפשר להתחיל יישומי windows מתוך יישום VB יישומים אלה יכולים להיות מקושרים (Link) או משובצים (Embedded) ביישום VB. Linked object - מכיל נתונים המנוהלים ע ” י האפליקציה שיצרה אותו ומאוחסנים בקובץ האפליקציה. Embedded object - מכיל נתונים המאוחסנים בתוך היישום של VB

64 63

65 64 OLE Automation Dim x As Object Set x = CreateObject("word.application") x.Visible = False x.Documents.Add x.Selection.Text = Text1.Text x.ActiveDocument.CheckSpelling Text1.Text = x.Selection.Text x.ActiveDocument.Close savechanges:=wdDoNotSaveChanges x.Quit Set x = Nothing יצירת אובייקט word הסתר word פתח מסמך חדש העתק את textbox למסמך הרץ בדיקת איות העתק תוצאה בחזרה ל - textbox צא מ - word


Download ppt "2 משתנים - variables משתנה - הנו מאגר מידע זמני למרות ש- VB לא מחייבת הגדרת משתנים (כברירת מחדל) רצוי לעשות זאת.  ודא שאופציה Required Variable decleration."

Similar presentations


Ads by Google