w
מפת הפרק:

7.1 עבודה עם פקדים

7.1.1 נוהל קריאת שמות לפקדים
7.1.2 שימוש בערך של פקד
7.1.3 הבטחת תקינות הקלט על ידי הגבלת מעבר הפוקוס
7.1.4 שימושים אפשריים

נוהל קריאת שמות לפקדים

כאשר הנך יוצר לראשונה עצם (טופס או פקד), VisualBasic מציב את שם המאפיין כערך ברירת המחדל. לדוגמא, לכל לחצני הפקודה יש את אותו שם Commandn כאשר n הוא מספור רציף מ1 והלאה. VisualBasic קורא ללחצן הראשון Command1 לשני Command2 וכו'.

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

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

כמה כללים לקריאה בשם: ·

  • חייב להתחיל באות. ·
  • חייב להכיל רק אותיות, מספרים, ו-"_". ·
  • אסור שיארך יותר מ40 אותיות.

שימוש בערך של פקד

לכל פקד יש מאפיין שאתה יכול לאחסן או לשלוף ממנו ערך רק מהתיחסות לפקד ללא שימוש בשם הפקד. זה נקרא ערך הפקד והוא בד"כ המאפיין הכי חשוב או שמשתמשים בו הכי הרבה. הטבלה הבאה מסכמת את המאפיינים המהווים הערך של הפקד:
Control Value
Check box Value
Combo box Text
Command button Value
Common dialog Action
Data Caption
DataCombo Text
DataGrid Text
DataList Text
Directory list box Path
Drive list box Drive
File list box FileName
FlexGrid Text
Frame Caption
Horizontal scroll bar Value
Image Picture
Label Caption
Line Visible
List box Text
Option button Value
Picture box Picture
Shape Shape
Text box Text
Timer Enabled
Vertical scroll bar Value

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

Text1 = "This text is assigned to the Text property of Text1"

בדוגמא זו מאפיין הכותרת של Label1 מוצב למאפיין FileName של File1 כאשר המשתמש מקליק על קובץ מתיבת רשימת הקבצים:

Private Sub File1_Click ()
 Label1 = File1
End Sub

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

הבטחת תקינות הקלט על ידי הגבלת מעבר הפוקוס

אירוע וידוא ( Validate ) ומאפין CausesValidation משמשים יחדיו כדי לאמת את הקלט לפקד בטרם מאפשרים למשתמש להעביר את הפוקוס לפקד אחר. לדוגמא, חשוב על יישום המכיל כמה תיבות טקסט וכפתור עזרה. כאשר אחת מהתיבות מקבלת את הפוקוס, תרצה למנוע מהמשתמש להעביר את הפוקוס לתיבה אחרת עד שיעמוד בקריטריונים של תקינות נתונים הרלוונטיים לאותה תיבה. אבל עדיין תרצה לאפשר למשתמש ללחוץ על כפתור העזרה בכל זמן שהוא. על מנת לעשות זאת, קבע את הקריטריונים (Validation Criteria) עבור אירוע וידוא, וסמן כ- False את מאפיין CausesValidation של כפתור העזרה. אם מאפיין זה יסומן כ- True (מצב ברירת המחדל), אירוע וידוא יתרחש בפקד הקודם עם הלחיצה על כפתור העזרה. אם המאפיין יסומן כ- False, אירוע וידוא עבור הפקד הקודם ימנע מראש. אירוע וידוא מתאים לאימות נתוני קלט יותר מאירוע LostFocus , משום ש- LostFocus בהגדרתו מתרחש אחרי שהפוקוס כבר הועבר. לעומת זאת, על ידי השימוש באירוע וידוא תוכל למנוע את מעבר הפוקוס לפקד אחר עד שימולאו כל הקריטריונים לתקינות הנתונים.

שימושים אפשריים

על יישום המכיל קלט נתונים לבצע אימות מתוחכם יותר ממה שמספק פקד Masked Edit, או אימות המתחייב מאילוצים עסקיים.
הטופס צריך למנוע מהמשתמש לעבור לפקד אחר באמצעות מקש TAB או מאיץ עד שימלא נתונים בשדה.
מסמך ActiveX שרץ בתוך דפדפן האינטרנט זקוק למסלול בשביל שהמשתמש יסיים את המסמך לפני שהScript מעביר את המיקוד ע"פ התוכנית.

בקרת המיקוד בעת אירוע וידוא (validate). אירוע וידוא כולל ארגומנט של שמירת מיקוד. כאשר ארגומנט זה הוא True (אמת) הפקד מחזיק במיקוד. זה מונע ביעילות מהמשתמש לעבור לפקד אחר.
שימוש בפקדים סטנדרטים של VisualBasic עבודה עם פקדים קטגורית פקדים