ראשי >>יסודות התכנות >> לפני שאתה מתחיל לכתוב קוד
מפת הפרק:

3.2 לפני שאתה מתחיל לכתוב קוד

3.2.1 מכניקה של כתיבת הקוד
3.2.2 מודולים של קוד

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

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

ההחלטה לאיזה מודול לשייך איזה פרוצדורה תלויה קצת באיזה סוג יישום אתה מיצר. מכיוון ש VisualBasic מבוססת על עצמים, קל יותר לחשוב על היישום במושגים השייכים לעצמים שאליהם הוא מתיחס. התכנון לדוגמת היישום של פרק זה בנויה על עצם שמכיל קסטות וידאו וטלויזיה. יישום ה VCR מבוסס על שני טפסי מודול, מודול סטנדרטי, ושני מודולי מחלקה .אתה יכוך להשתמש דפדפן העצמים (Object Browser) בכדי לבחון את מבנה הפרויקט.

תמונה 3.2 מבנה ה VCR כפי שנראה בדפדפן העצמים

הטופס העיקרי של יישום ה VCR (frmVCR ) הוא הצגה ויזואלית של שילוב בין VCR ומסך טלויזיה (תמונה 3.3 ). זהו שילוב של מספר עצמים שהמודל שלהם נמצא בעולם האמיתי. קבוצת פקדי כפתור(cmdPlay,cmdRecord וכו') מחקים את פעולת ה VCR. תוכנת ה VCR מכילה כמו כן שעון(lblTime ) מכוון ערוצים (lblChanel ) ,מכוונים של פונקציות (shpPlay,shpRecord , וכו' ) ושפופרת תמונה(picTV ) פרוצדורות האירוע של עצמים אלו מוכלים בפורום המודול Vcr.frm .

תמונה 3.3 הטופס העיקרי של יישום VCR

במיקרים רבים ישנם פרוצדורות חוזרות המשותפופ למספר עצמים. לדוגמא כאשר כפתורי PLAY REWIND או RECORD לחוצים ,כפתור י PAUSE ו STOP צריכים להיות זמינים.במקום לחזור על קוד זה בכל פרוצדורות ה "קליק" של הכפתורים ,עדיף ליצור פרוצדורת SUB משותפת שיכולה להקרא ע"י כל כפתור. אם נרצה לשנות פרוצדורה זו נוכל לעשות את השינוי במקום אחד בלבד(במקום בכל כפתור בנפרד).פרוצדורה זו ושארהפרוצדורות המשותפות נמצאות בקובץ Vcr.bac

חלקים מה VCR אינם ניראים, כמו הטייפ או האפשרות להקליט תוכנית טלויזיה. כמו כן ישנם מספר פרוצדורות אשר אין להם הצגה ויזואלית.הם נמצאים בשני מודולי מחלקה:Record.cls ו Tape.cls . הקוד שמיצג את ההקלטה מוכל במודול clsRecorder , הקוד לשלוט בכיוון ומהירות הטייפ מוכל במודול clsTape . למחלקות שהוצהרו במודולים אלו אין התיחסות ישירה לעצם מסוים בטופס. מכיוון שהם עצמאיים הם יכולים בקלות להלקח לשימוש לצורך "הקלטת קול".

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

מכניקה של כתיבת הקוד

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

הקוד הבא(מודולים ופרוצדורות) שנעסוק בו יהוה בסיס לדיון על השימוש בעורך הקוד, ומכסה כללים בסיסיים לכתיבת קוד

מודולים של קוד

קוד ב VisualBasic נשמר במודולים. ישנם שלשה סוגי מודולים : טפסים , סטנדרטים ומחלקות.

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

כל מודול סטנדרטי , מחלקה וטופם, יכול להכיל:

  • הצהרה.אתה יכול למקם קבועים, טיפוסים, משתנים, וספריות קישור דינמי(DLL ), פרוצדורות, הצהרה על פרוצדורות ברמת הטופס,מחלקות או מודולים סטנדרטים
  • פרוצדורות.פרוצדורות SUB , FUMCTION , PROPERTY ,אשר מכילות פיסות קוד אשר יכולות להיות מבוצעות כיחידה.פרוצדורות אלו ידונו בפרק "פרוצדורות" יותר מאוחר.

מודול טופס

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

מודול סטנדרטי

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

מודול מחלקה

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

שים לב: גירסאות ה Professional , Enterprise ,ב VisualBasic מכילים גם מסמכי ActivX ,שרטט ActivX, ופקדי משתמש (User Controls) .הם מיצגים טיפוס חדש של מודול עם סיומת שונה של הקבצים. ממבטו של כותב הקוד , מודולים אלו יכולים להחשב זהים למודול הטופס.
כללי לפני שאתה מתחיל לכתוב קוד שימוש בחלון הקוד