Miguel de Cervantes y Saavedra - Don Quijote de la Mancha - Ebook:
HTML+ZIP- TXT - TXT+ZIP

Wikipedia for Schools (ES) - Static Wikipedia (ES) 2006
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Visual Basic - ויקיפדיה

Visual Basic

מתוך ויקיפדיה, האנציקלופדיה החופשית

עטיפת האריזה של התוכנה
הגדל
עטיפת האריזה של התוכנה
תמונת מסך של  Visual Basic 6 שמדגימה כתיבה של התוכנית Hello World
הגדל
תמונת מסך של Visual Basic 6 שמדגימה כתיבה של התוכנית Hello World

Visual Basic (בקיצור VB) היא שפת תכנות הנמצאת בשימוש רחב מאוד בעולם, בזכות היותה מאופיינת בקלות ובנוחות פיתוח ובהתאמה לממשקי משתמש ומערכות עיבוד נתונים. השפה מפותחת על ידי חברת מיקרוסופט ועובדת רק בסביבת מערכת ההפעלה Windows. חברה זו שמה למטרה להפוך אותה לספינת הדגל, והשקיעה בפיתוחה, בשיכלולה ובהפצתה מאמצים מרובים.

תוכן עניינים

[עריכה] רקע

יסודותיה בשפת Basic שהייתה שפת תכנות פופולרית בשנות השמונים, אף שהייתה חסרה מבני בקרה בסיסיים ולכן הקוד שנכתב בה נחשב "קוד ספגטי". בעיות אלה נפתרו ב־Visual Basic.

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

בשלביה הראשוניים השפה הייתה חלשה למדי ובעלת ביצועים נחותים, כמו חוסר יכולת הידור, איטיות הרצה ותחביר פרימיטיבי וחסר גמישות, ולכן לא התאימה למערכות קריטיות, להפעלת חומרה וזמן אמת, אך עם התקדמות השנים, במיוחד החל מגרסאות 5 ו־6 שבהן הוספו פקדים שיתופיים, יכולת של הידור של הפרויקט לקובצי EXE ,DLL ו־ActiveX וכן פקדי משתמש ומסכי MDI, היא נעשתה חזקה למדי. יכולות מרשימות הוספו לה במיוחד בגרסת Net., שבה מומשו כל עקרונות התכנות מונחה עצמים, השפה הוגמשה וחוזקה, וחוברה אל פלטפורמת הדוט נט. כיום Visual Basic היא משפות הפיתוח הנפוצות ביותר לשימושים מסחריים.

בעקבות או במקביל להצלחה שלה יצאו תוכנות דומות כמו דלפי של בורלנד ומחולל היישומים Access של מיקרוסופט.

[עריכה] מאפיינים של Visual Basic

  • תכנות ויזואלי של הממשק. התכנות הויזואלי, שבו חלק ממלאכת התכנות מומר בגרירת אובייקטים וציורם על-גבי טופס, ועדכון מאפיינים ופרמטרים נעשה בבחירת עכבר מתוך תיבות רשימה קיימות. התפיסה הזו הורחבה לכלים בונה המחלקה שמאפשר בתכנות ויזואלי ליצור מחלקות, ולבונה השאילתה המאפשר ליצור שאילתות SQL בצורה גרפית. כמו כן, הפרדיגמה התכנותית ב-Visual Basic היא שתחילה יוצרים את הממשק ולבסוף מגיעים אל הפונקציונאליות של הקוד שמאחורי האובייקטים של הממשק, כך שהולכים מן הכלל אל הפרט.
  • תכנות מונחה אירועים: לכל אחד מהפקדים המוצגים בממשק המשתמש מוגדרת בתוכנית סדרה של שגרות, המתבצעות כאשר קורה האירוע המתאים, כגון כניסה לפקד, יציאה ממנו, קליק עליו, שינוי תוכנו ועוד. הביצוע הסדרתי המסורתי של תוכנית מחשב, פקודה אחר פקודה, מוחלף בשפה זו בביצוע מונחה אירועים: כל אירוע מפעיל את השגרה המתאימה לו.
  • גמישות: בשפה ניתן להשתמש במשתנים מבלי להגדירם. מתבצע קסטינג אוטומטי ממחרוזת למספר באם הדבר אפשרי. כמו כן ניתן להגדיר משתנה מסוג משתנה (variant) שיכול לשנות את הטיפוס שלו לכל סוג במהלך הריצה (ובשל כך הוא פחות יעיל), לפי סוג הנתונים שמשימים אליו. שימוש נפוץ בו הוא השמה של פונקציה שמחזירה מערך בגודל שאיננו ידוע מראש. אפשר להגדיר מערכים דינמיים ולשנות את גודלם תוך כדי ריצה. בפעולות השמה מתבצע המרה אוטומטית בין סוגי משתנים כאשר הדבר אפשרי. בשפה קיים גם אוסף (collection) שהוא כעין מערך גמיש, שמאפשר ליצור אוסף של אובייקטים ושל רשומות בצורות שונות. לאוסף יש מבנה בקרה מיוחד (For Each) שהוא ללואה למעבר על כל האיברים שבו. יישום של תפיסה זו היא האפשרות ליצור מכל פקד, שכפול של אוסף פקדים תוך כדי ריצה, כאשר התיחסות אליהם היא כאל מערך של פקדים באמצעות אינדקס.
  • מודולריות. שפת VB הינה שפה "פתוחת קצוות" (Open-Ended). לשפה זו היו אפשרויות הרחבה, באמצעות פקדי VBX, שנכתבו בשפת C. (בגרסאות 1-3). יורשיהם של פקדים היו פקדי OCX ואילו כיום הם מכונים פקדי ActiveX, וניתן לכותבם בשפות שונות, באמצעות טכנולוגיית COM. הפקדים הינם למעשה מיני תוכנות, המשמשים כאבני הבניין של התוכנית, ויוצרים בה מבנה מודולרי. בהמשך נוצרו פקדים נוספים לפי נושאים ותחומים, באופן שכיסו חלק נרחב מנושאי התכנות הקיימים, והביאו נושאי תכנות מסובכים לידי פשטות תכנותית, החל מפקד טורי שמטפל ביציאות המחשב ופקד היוצר תקשורת לאינטרנט וכלה בפקד שנותן פונקציונליות של לוח שנה. הפקדים ופקדי המשתמש של VB הינם למעשה ישום של תכנות מונחה עצמים.
  • שפת תכנות סינטתית. שפה שהיא שילוב של שפה פרשנית (interpreter) ושפה מהדרת. העובדה שהשפה במקורה הינה שפה פרשנית, שכל פקודה מתורגמת בזמן ריצה לשפת מכונה, כך שאין כל צורך להדר את הקוד כולו, לפני כל ריצת ניסוי, ואפשר גם לשנות קוד תוך כדי ריצה. ומצד שני התוכנית המוגמרת, זו המוגשת למשתמש, עוברת הידור לשפת מכונה, כך שמתקבלת לבסוף תוכנית יעילה יותר (הגם שהיא עדיין איטית משמעותית משפות תכנות כמו C).

[עריכה] סביבת הפיתוח

סביבת הפיתוח של VB כוללת מספר של חלונות:

  • חלון הקידוד המרכזי בו אפשר לצייר את הטופס או לכתוב את הקוד. בחלון הקוד אפשר לקבל רשימה של כל האובייקטים ולקבל רשימה של כל שגרות האירוע שלהם. בכתיבה ניתן לקבל השלמה בכתיבת מילים, וכן לקבל אתה המבנה של הפונקציה וצורת הפרמטרים שלה תוך כדי הקלדה.
  • חלונית ארגז כלים (Toolbox) בו יופיעו אייקונים של הפקדים הקיימים לשרטוט על גבי הטופס.
  • סייר הפרויקט (Project Explorer) בו אפשר לנווט בין כל רכיבי הפרויקט.
  • סייר האובייקטים (Object Explorer) בו אפשר לקבל מידע על כל הפונקציות, המשתנים והקבועים שהפרויקט מקושר אליהם ויכול לעשות בהם שימוש.
  • חלון מאפיינים (Properties) בו אפשר לקבל מידע ולבצע שינויים בתכונות של האובייקט שנבחר.
  • חלונית תסדיר טופס (Form Layout) באמצעותו ניתן לקבוע את מיקום הטופס במסך בתחילת הריצה באופן ויזואלי.
  • חלון מידי (Immediate) בו אפשר להפעיל פונקציות ולקבל תוצאות באופן מידי.
  • חלונית צפיה (Watches) בו אפשר לבחון משתנים וביטויים בנקודות עצירה של התוכנית.
  • חלונית מקומי (Locals) בו אפשר לבחון אובייקטים מקומיים מבלי לבקש אותם.

באמצעות טופס References, ניתן ליצור קישור של הפרויקט לספריות חיצונית. אפשר להוסיף תוספים לVB, וישנם כמה תוספים שמובנים בו ובאים כבררת מחדל.

[עריכה] הטופס

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

הטופס הוא לב ליבה של שפה זו. התפיסה היא שמתחילים בשלב הויז'ואלי. יוצרים את כל הטפסים של הפרויקט, נותנים תיפקודיות ראשונית לכל טופס, באמצעות ציור של פקדים מובנים ושל פקדי אקטיבX. מקנפגים את הפקדים שבאמצעות חלון התכונות, ורק אז ניגשים לקוד ומוסיפים אותו היכן שצריך, בהקלקה כפולה על הטופס או על הפקד. בחלון הקוד אפשר לקבל את רשימת כל אירועים הטופס ופקדיו, ובבחירת אירוע נוצרת לו אוטומטית שגרת אירוע עם כל הפרמטרים הרלבנטים. בשגרה יש לכתוב קוד או לקרוא לשגרה/פונקציה שנמצאת במקום אחר. במקרה שעדיין הפונקציונאליות הדרושה חסרה, אפשר ליצור הפניה לפונקציות בקובצי DLL או לקובצי COM, או להכריז על פונקציות שנמצאת בAPIs של המערכת, או לכתוב את הקוד הנצרך במודול או במחלקה.

[עריכה] User Control

זהו טיפוס פקד מיוחד שנוצר בידי המתכנת, שהינו מעין מיני טופס, ובעצם הוא אקטיבX פנימי של VB. כשם שאפשר ליצור בשפות תכנות טיפוסי משתנים, המבוססים על משתנים קיימים, כך אפשר בVB ליצור טיפוסי פקדים חדשים, המבוססים על פקדים קיימים או על שיטות גרפיות של השפה. יוצרים אותו כשם שיוצרים טופס, וברגע שהוא קיים במערכת, נוסף אייקון שלו בסרגל הכלים ואפשר לצייר אותו בכל טופס בפרויקט כשם שמציירים פקד רגיל. זהו למעשה ישום של התפיסה המונחת עצמים והתפיסה המודולרית. לרכז פונקציונאליות במחלקה סגורה, שמתקשרת עם החוץ באמצעות תכונות ומתודות חיצוניות. יחודו על סתם מחלקה שהוא בנוסף לקוד יכול להיות בעל מופע חזותי. שימוש פשוט יכול להעשות בו על מנת להכליל טופס אחד בטופס אחר, אך כמובן שאפשר ליצור באמצעות טיפוס זה פקדים מורכבים. הפקד מתאפיין בקלות שבה ניתן ליצור אותו, ויתרון נוסף בו שניתן לראות את האפקט התכנותי שבו בטופס אחר, גם שלא בזמן ריצה. VB הורישה את הטיפוס הזה לסביבת הדוט נט.

[עריכה] פקדים שיתופיים

לVB5 ולVB6 הוספו פקדי אקטיבX שיתופיים רבים בקובצי OCX. בין הפקדים הללו יש פקדי רבים ומגוונים, שחלקם פועלים באופן הדדי. הצירוף של פקדים אלו הרחיב באופן משמעותי את היכולות של שפה זו, ואפשר למתכנתים לבצע דברים רבים באופן קל ופשוט. בין הפקדים הרבים ניתן למנות:

  • פקדי תצוגה שבין היתר איפשרו הצגת נתונים באופן הירככי ומדורג, איכסון תמונות, הצגת רשימות נתונים באופן ויזואלי, יצירת חיץ בין חלקים בטופס, שילוב קטעי וידאו, גישה לתאריכים, יצירת וניהול תפריטים, שורת סטטוס ועוד.
  • פקדי תקשורת שונים: ליציאה הטורית, לטלפוניה, לשליחת מייל, לגלישה באינטרנט ולתיקשור עם שרתים בפרוטוקולים שונים, כמו FTP וגופר.
  • ופקדי מסד נתונים שאיפשרו תקשורת עם מסדי נתונים, ניווט וקליטת נתונים ותצוגתם בטופס באופנים שונים.

למעשה בסביבת הדוט נט חלקם של פקדים אלו אומצו, והפכו להיות פקדים מובנים בסביבת הפיתוח, כאשר האינטגרציה שלהם שופרה, כמו גם מאפיינים ומתודות ששוכללו ונוספו.

[עריכה] אוסף פקדים

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

[עריכה] תחביר השפה

[עריכה] תוים מיוחדים

  • תו הערה. ניתן לגרום לקומפיילר להתייחס לטקסט כאל הערה באמצעות התו גרש בתחילת הטקסט ('). ניתן לשים את התו בכל מקום בשורה. בשפה לא מוגדר סט של תוים שיכול ליצור הערה על פני כמה שורות.
  • תו המשך שורה. הקומפיילר מתייחס לתו אנטר כאל תו הפסקה בין פקודות, ולכן לא צריך לשים תו מפריד בסוף כל פקודה. באם רוצים לכתוב פקודה על פני כמה שורות, אפשר לעשות זאת באמצעות התוים רווח ומקף תחתון (_).
  • תו הפרדת פקודות. בכדי להפריד בין כמה פקודות ולכתוב אותן באותה שורה, ניתן להשתמש בתו נקודותיים (:), שמקביל לתו נקודה פסיק (;) בשפת C.

[עריכה] הצהרות

באמצעות הצהרות השפה ניתן לקבוע דרך של התייחסות הכללית לקוד, כמו למשל האם נדרשת הכרזה על משתנים. (Option Explicit), מהו הטווח של מערכים וכדומה (Option Base).

הצהרה נוספת היא הצהרה על פונקציות בקובצי DLL חיצוניים, באמצעות המילים השמורות Declare ו- Lib.

דוגמה. באם רוצים לנגן קובץ קול באמצעות API של חלונות, אפשר לעשות זאת באמצעות ההצהרה הבאה:

  1. יש להצהיר על פונקציית PlaySound שנמצאת בקובץ winmm.dll.
  2. יש להגדיר את הקבועים ששולחים כפרמטרים בפונקציה, שתפקידם להורות כיצד לנגן את קובץ הקול.
  3. ולאחר מכן לבצע קריאה אליה.
Public Declare Function PlaySound Lib "winmm.dll" (ByVal FileName _
As String, ByVal hmod As Integer, ByVal flags As Integer) As Long
Public Const SND_FILENAME = &H20000 
Public Const SND_ASYNC = &H1 
PlaySound("C:\App.wav",0,SND_FILENAME+SND_ASYNC) 

[עריכה] הכרזת קבועים

הכרזת קבועים נעשית באמצעות המילה השמורה Const, כאשר אפשר להקדים להגדרת הקבוע האם מדובר בקבוע פרטי או ציבורי. דוגמה:

Public Const HKEY_USERS = &H80000003
Const KEY As Integer = 12

[עריכה] הכרזת משתנים

בהכרזת משתנים בשפה זו, שלא כפי שנהוג בשפות כמו C ופסקל, מתבצע איפוס אוטומטי שלהם: מחרוזות לערך ריק, ומספרים ל-0. "התשלום" בזמן מעבד שכרוך בפעילות עיבוד נוספת מאחורי הקלעים, משתלם מבחינה תכנותית וזמן ניפוי קוד ומונע מראש באגים שנוצרים עקב אי אתחול של משתנים. מגבלה הקיימת בשפה היא אי האפשרות לבצע הכרזה והשמת ערך באותה שורה.

בנוסף לכל המשתנים המקובלים, כמו משתנים מספריים שלמים וממשיים בגדלים שונים. משתנה מחרוזת ומשתנה בוליאני. קיימים משתנים נוספים מטיפוסים מיוחדים:
תאריך (Date), שמכיל חותמת של תאריך ושעה ומאפשר באמצעות פונקציות תאריכיות לבצע חישובים תאריכיים באופן קל, מטבע (Currency), לביצוע חישובים מדוייקים במטבע, אובייקט (Object), להצבעה על אובייקטים ולעבודה איתם, משתנה מסוג משתנה (Variant), שמשתנה לפי טיפוס הערך, ויכול להכיל ערך מכל סוג לעבודה עם טיפוסי ערכים לא מוגדרים, אוסף (Collection), לעבודה עם אוספים (ראו להלן), פונט (StdFont) ותמונה (StdPicture).

צורת הכרזה של משתנה

Dim|Private|Public VariableName As variableType

משתנים מחרוזתיים ניתן להגדיר בגודל קבוע באמצעות התו *,

Dim String64 As String * 64

[עריכה] הכרזה מקוצרת

ניתן להכריז על משתנים באמצעות כתיב מקוצר, כאשר לכל סוג משתנה מוקצה תו מסוים.

  • &Dim Key1 - משתנה מסוג LongInteger
  • Dim Key2$ - משתנה מסוג מחרוזת

[עריכה] קסטינג אוטומטי

בVB מתבצע בפעולות השמה קסטינג אוטומטי כאשר יש לדבר משמעות, כך למשל מספר מחרוזתי יהפוך למספר מסוג המשתנה אליו הושם, או אל סוג האופרטור שעליו נעשת פעולה. בדוגמה הערך שיתקבל בA יהיה 6, והפעולה תחשב לתקינה לגמרי.

A = "2" * 3

[עריכה] מיספור - Enum

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

Public Enum CityList
  Albuquerque_nm = 10
  Anchorage_AK = 22
  Atlanta_GA = 31
  Austin_TX = 44
  Birmingham_AL = 55
  Bismarck_ND = 63
End Enum
Private CityList1 As CityList

בדוגמה ברגע שנבקש לבצע השמה למשתנה CityList1, נקבל רשימה נפתחת ובו הערכים שבEnum

[עריכה] הגדרת משתני משתמש

טיפוס משתנה מורכב, המכונה גם רשומה או מבנה, מוגדר בVB בצורה דומה לפסקל, באמצעות המילה השמורה Type, אך לא ניתן ליצור בו רשומה בעלת שדות דינמיים.

Private Type City
    CityName As String
    SunRise As Date
    SunSet As Date
End Type

[עריכה] אוספים - Collections

טיפוס אוסף הינו טיפוס מיוחד בשפה שמפצה על חוסר האפשרות של שימוש במצביעים ובהקצאה דינמית בשפה זו. באמצעות טיפוס זה ניתן ליצור משתנים בזכרון אף מסוג מורכב בצורה של רשימות מקושרות, כאשר הגישה לאיברי הרשימה הינה סדרתית כמו במערך. לאוסף יש שיטות להוספת איבר, להסרתו, ולהעברת איבר ממקום למקום באוסף ותכונה המונה את מספר האיברים הקיימים בו. ניתן באותו משתנה-אוסף ליצור אוסף של פריטים מסוגים שונים של טיפוסים. טיפוס זה נותן פונקציונאליות של הקצאה דינמית בצורה של מערך ונוח ביותר לשימוש. ניתן לעבור על איברי האוסף באמצעות לולאה מיוחדת For Each, שמתבצעת כמספר האיברים שבאוסף, כשכל מעבר היא יוצרת מצביע אל האיבר הנוכחי.

[עריכה] הגדרת פונקציה

פונקציה מוגדרת בVB באמצעות הכותרת Function שם הפונקציה שמות פרמטרים שהיא מקבלת וטיפוסם, וטיפוס פרמטר שהיא מחזירה. ניתן כקידומת לפונקציה לקבוע האם תהיה ציבורית או פרטית. הפונקציה תסתיים במילה השמורה End Function. בכדי לבצע החזרת ערך יש לבצע אותו בתוך גוף הפונקציה לתוך שמה. הפונקציה יכולה לקבל פרמטרים אופציונאלים, וכן רשימת פרמטרים מערכית - ParmArray.

Private Function SunRisen(ByVal nt As Double) As Double
   Dim ne As Double
   ...
   SunRisen=value
End Function

[עריכה] הגדרת שגרה

שגרה שהיא מקטע תכנותי של מחזיר ערך, מוגדרת בVB בצורה דומה לפונקציה עם כמה שינויים באופן הבא: כותרת Sub שם השגרה שמות פרמטרים שהיא מקבלת וטיפוסם. ניתן כקידומת בשגרה לקבוע האם תהיה ציבורית או פרטית. השגרה תסתיים במילה השמורה End Sub. בכדי לבצע החזרת ערך יש לבצע אותו בתוך גוף הפונקציה לתוך שמה. הפונקציה יכולה לקבל פרמטרים אופציונאלים, וכן רשימת פרמטרים מערכית - ParmArray.

Private Sub SunRisen(ByVal nt As Double) 
   Dim ne As Double
   ...
End Sub

[עריכה] מודול

מודול (Modules) הוא האזור הכללי בו ניתן לבצע הגדרות כלליות, הכרזות קבועים ומשתנים גלובליים וכתיבת פונקציות ושגרות כלליות. נתונים באזור זה שיהיו מוגדרים כפומביים, יהיו חשופים לכל המודולים האחרים שבפרויקט. באזור זה ניתן לכתוב את השגרה MAIN ולהורות שהיא תהיה השגרה שתתבצע לראשונה בהרצת הפרויקט. בניגוד לשפת פסקל שקטעים תכנותיים יכולים להיות בגוף התוכנית, קטעים תכנותיים בVB יכולים להיות רק בתוך מקטעים של פונקציות או שגרות.

[עריכה] מודול מחלקה

מודול מחלקה (Class Modules) הוא הישום של VB לתכנות מונחה עצמים. מודול מחלקה יכול להכיל משתנים, שיטות, מאפיינים (Property) ואירועים (Event). למודול המחלקה יכול להיות בנאי (Class_Initialize) ומפרק (Class_Terminate). הטופס בVB הוא למעשה מקרה פרטי של מודול מחלקה.

כל מחלקה חייבת להיות בקובץ נפרד. לא ניתן ליצור מחלקות מקוננות. ואין אפשרות לירושה ופולימרפיזם. בVB מובנה כלי ויזואלי לבניית מחלקות בשם Class Builder, שבו אפשר לקבוע ולנהל את תצורת המחלקות שבפרויקט: שמות המאפיינים, השיטות והאירועים והפרמטרים שלהם, והכלי ממיר את התצורה המבוקשת לקוד.

[עריכה] עבודה בקבצים

לVB ישנה יכולת לעבוד עם קבצים באופנים שונים. בכדי לעבוד עם קובץ יש לפתוח אותו בערוץ מסוים באמצעות הפקודה Open, ניתן לקרוא מתוכו למשתנה באמצעות פקודת Input ולכתוב לתוכו באמצעות פקודת Print, ולבסוף יש לסגור אותו באמצעות פקודת Close. הדוגמה הבאה מדגימה כיצד ניתן לקרוא קובץ טקסט לתוך משתנה מחרוזת.

Private Function LoadFile(FileName As String) As String
Dim Temp As String, AllFile As String
   Open App.Path & FileName For Input As #1
       Do While Not EOF(1)
           Input #1, Temp
           AllFile = AllFile & Temp
       Loop
   Close #1
LoadFile = AllFile
End Function
FileTxt = LoadFile("\Data.dat")

[עריכה] בסיסי נתונים

לVB ישנם כמה רכיבים ועזרים שנועדו לספק פונקציונאליות שונה ומגוונת בעבודה עם בסיסי נתונים, בכל השלבים: היצירה, העדכון וההדפסה.

[עריכה] Visual Data Maneger

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

[עריכה] Data Environment

רכיב ActiveX Designer "סביבת נתונים" נועד לסייע למתכנת בעבודה עם בסיסי נתונים ולספק רכיב תקשורת ויזואלי שייצג קשרים עם בסיסי נתונים שונים. הרכיב מספק אפשרות לתקשורת מרובה בו זמנית עם מסדים מסוגים שונים. קשר עם טבלאות, שגרות מאוחסנות ועוד. ישנה אפשרות לתקשר עם הרכיב בטפסים השונים של הפרויקט, ולקבל את הנתונים שהוא מספק אל פקדים בטופס.

[עריכה] Data Report

רכיב זה אף הוא אובייקט אקטיבX המשולב בסביבת VB, הנועד לעזור ביצירת דוחות. באמצעותו ניתן לפצל את הנתונים לאזורים שונים (כמו כותרת דוח, כותרת עמוד, מקטע פירוט), לקבץ אותם לפי ערכים. לרכיב זה בדומה לטופס פקדים שונים המאפשרים תצוגה של נתונים. שדות מוגדרים מראש, שדות מבוססות פונקציות לחישובי דוח, יכולות גרפיות, הצגה מוקדמת והדפסה. מחולל דוחות נוסף שבאמצעותו ניתן לייצר דוחות הוא Crystal Reports שאף הוא מצורף לחבילת הפיתוח של VB.

[עריכה] פקדי בסיסי נתונים

בVB ישנם פקדי נתונים מסוגים שונים כמו DAO ו ADO המאפשרים תקשורת עם בסיסי נתונים בשיטות שונות. ניתן גם לתקשר ישירות בקוד ללא פקדים עם בסיסי הנתונים באמצעות אובייקטי גישה לנתונים בסוגים השונים. ישנם פקדים נוספים לתצוגת נתוני המסדים, שמאפשרים תצוגת נתונים באופנים שונים: רשומה בודדת, גיליון נתונים (רשת DataGrid), רשומות בקשר אב ובנים, רשת היררכית ותרשים. כאשר לפקדי התצוגה ישנה יכולת לתקשר עם פקדי הנתונים, באמצעות איגוד נתונים עם תכני הרשומות של טבלאות המסדים.

[עריכה] תתי גרסאות

ישנן שתי תתי גרסאות נפוצות לVisual Basic:

  • Visual Basic For Applications - VBA, שמיועדת לשילוב בתוכנות אחרות, כגון כל תוכנות המוכללות בחבילת האופיס של מיקרוסופט וביניהם Word וExcel. גרסה זו מאפשרת הרחבת יכולות ואוטומציה של תוכנה קיימת בידי המשתמש, ושימוש גמיש וחזק בפונקציונליות של התוכנה שמכילה אותה. כל המאקרו בתוכנות האופיס הן למעשה קוד של Visual Basic (ניתן לראותו על ידי לחיצה על Alt-F11).
  • VBScript - גרסה מוקטנת של Visual Basic המשמשת לכתיבת קטעי קוד קצרים (Scripts) שמורצים על ידי תוכנות אחרות. דוגמאות לשימושים כאלו:
    • מערכת ההפעלה חלונות יכולה להריץ VBScript שמשמשים בדרך כלל לפעולות אחזקה (נפוץ בעיקר בארגונים). ישנם מספר וירוסים שכתובים ב-VBScript (סיומת VBS). הם עושים שימוש בקבצים אלו כשהם מועברים בדואר אלקטרוני.
    • IIS - שרת האינטרנט של מיקרוסופט, מריץ דפי Active Server Pages - ASP שכתובים ב-VBScript.
    • ניתן להריץ VBScript בתוך דפדפן האינטרנט "אקספלורר", כתחליף לא פופולרי ל-JavaScript.

[עריכה] דוגמה לקידוד של VB

[עריכה] תוכנית שלום עולם


Sub main()
    msgbox("Hello World!") 
End Sub

[עריכה] פונקציה שמחזירה את המספר הגדול מבין שניים

Function MaxOf(Number1 As Long, Number2 As Long) As Long
  If Number1 >= Number2 Then
      MaxOf = Number1
  Else
      MaxOf = Number2
  End If
End Function

פונקציה זו ששמה MaxOf, מקבלת שני מספרים ומחזירה את הגדול ביותר. ניתן לראות בפונקציה זו את המבנה הטיפוסי של VB, שבו כל מבנה מסתיים, בEND, דבר המקל על קריאותה של התוכנה, לעומת שפות הC למיניהן אפשר לקבל בסיום קוד רצף של סוגריים מתולתלות, שקשה לדעת איזו שייכת לאיזו פקודה.

[עריכה] Visual Basic .NET

ערך מורחב – Visual Basic .NET
גרסת 2005 של VB.NET
הגדל
גרסת 2005 של VB.NET

גרסה זו של ויז'ואל בייסיק שהוכרזה לראשונה בפברואר 2002, (וב2003, וסוף 2005) עברה מקצה שיפורים נוסף לכיוונם של השפות העיליות. אם בגרסה 6 הוסיפו אובייקטים, יכולת קומפילציה, יצירת אובייקטי אקטיבX וקובצי DLL, בגרסה זו הושלמה יכולת תכנות מונחה עצמים במלואה, עם אפשרות של ירושה, העמסת אופרטורים, דריסת והצללה פונקציות. כמו כן, הוספה גמישות לתוכנה למשל ביצירת תהליכונים. התחביר שונה כך שיהיה תואם יותר לתפיסות המקובלות. נוספו אובייקטים וספריות רבות שמקלות על עבודת התיכנות. השפה החדשה מתבססת על סביבת NET Framework. של מיקרוסופט, שהוסיפה יכולות נרחבות שכלל לא היו קיימות בגרסאות הקודמות כמו כתיבת ישומי ושירותי רשת וטפסי Web, וחיזוק העבודה עם בסיסי נתונים באמצעות ה-ADO.NET. התוכנה הפכה להיות רב פלטפורמית, ואפשר לפתח בה ישומים להתקנים ניידים, למחשב האישי וישומי אינטרנט. הוספה לה יכולת תקשורת עם שפות תכנות אחרות הכלולות בדוט נט, באופן שמאפשר מיחזור קוד משפה לשפה, ללא צורך של כתיבה מחדש. שינוי התחביר של הVB הפך את התכנות בה ליותר מסובך, וחייב המרה של הגרסאות הקודמות, דבר שעורר תרעומת אצל חלק ממתכנתי הVB, עם זאת השינויים הרבים שהיא עברה, הפכו אותה למעשה משפת נישה שמיועדת לממשקים ובסיסי נתונים, למעמד של שפה מובילה בפלטפורמת NET Framework.

[עריכה] ראו גם

[עריכה] לקריאה נוספת

  • בריאן שילר וג'ף ספונטס, Visual Basic 6 - סדנת לימוד, מהדורה אנגלית: QUE, מהדורה עברית: הוד עמי, 1999, 1024 עמ', בעריכת יצחק עמיהוד.
  • מייקל הלוורסון, Visual Basic 6 - צעד אחר צעד ערכת לימוד, מהדורה אנגלית: Microsoft Press, מהדורה עברית: פוקוס מחשבים, 1999, 678 עמ', בתרגום ענת קדם בן צבי.

[עריכה] קישורים חיצוניים

מיזמי קרן ויקימדיה
ויקיספר ספר לימוד בוויקיספר: Visual Basic
Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com