6 VISUAL BASIC : סדנת לימוד

עריכה מקצועית, לשונית ועיצוב – אניקה סואץ | 1024 עמודים : איורים ; 24 ס"מ + 1 תקליטור. – ISBN 965-361-186-0

OCR (הסבר)
שי ב / 8 > "*?, . 2 . סדנת לימוד מהדורה שנייה ייעוץ ועריכה מקצועית: ארז ירון איל גוטליב שש 6% יש להתעלם מכל מה שנאמר לגבי תקליטור מצורף בספר זה קבצי התוכניות (קוד מקור) נמצאים באתר הוד-עמי |!|.60. ורחב3ּ-ססח.צעצעצ בתיקיה "קבצי תרגול לספרים שלא באתר" 6 53516 [בּט5ו/ סדנת לימוד יש להתעלם מכל מה שנאמר לגבי תקליטור מצורף בספר זה קבצי התוכניות (קוד מקור) נמצאים באתר הוד-עמי ||. ס6. וחחה3ּ-6ססה.שעשעצ בתיקיה ''קבצי תרגול לספרים שלא באתר''י עורך ראשי: זהר עמיהוד עריכה מקצועית, בדיקת תוכניות ותפיסת מסכיס: איל גוטליב - מנהל מרכז תמיכה מיקרוסופט ארז ירון - מרכז תמיכה מיקרוסופט 50 וו | עריכה מקצועית, לשונית ועיצוב: שרה עמיהוד תרגוס: אס.אר.סי. בע'ימ עיצוב עטיפה: סטודיו מצגר תודה לכל הקוראים ששלחו את הערותיהם שמות מסחריים שמות המוצריס והשירותיס המוזכריס בספר הינס שמות מסחרייס רשומיס של החברות שלהם. הוצאת =( והוצאת הוד-עמי עשו כמיטב יכולתן למסור מידע אודות השמות המסחריים המוזכריס בספר זה ולציין את שמות החברות, המוצרים והשירותים. שמות מסחרייס רשומיס (17806₪08165 60ז1601516) המוזכריס בספר צוינו בהתאמה. 6 ]150 ,211166) ,פעשססחו// הינם מוצרים רשומים של חברת )1670501 הודעה ספר זה מיועד לתת מידע אודות מוצרים שונים. נעשו מאמציס רבים לגרום לכך שהספר יהיה שלם ואמין ככל שניתן, אך אין משתמעת מכך אחריות כלשהי. המידע ניתן ''כמות שהוא'' ("5 פ3"). הוצאת 005 והוצאת הוד- עמי אינן אחראיות כלפי יחיד או ארגון עבור כל אובדן או נזק אשר ייגרס, אם ייגרם, מהמידע שבספר זה, או מהתקליטור המצורף. לשם שטף הקריאה כתוב ספר זה בלשון זכר בלבד. ספר זה מיועד לגברים ונשים כאחד ואין בכוונתנו להפלות או לפגוע בציבור המשתמשים/ות. טלפון: 09-9564716 פקס: 09-9571582 דואר אלקטרוני: |60.1.והח00-3ח62ס+חו ם ם ₪ ₪ אתר באינטרנט: |60.1. וחחבּ-ססח.שעצעו//: + 6 53516 [בט5ו/ סדנת לימוד בריאן שילר, ג'ף ספוטס כו וכ 6 23510 |1503/ 8ַחו5 - הסו+ו0ם |3ו60קפ 5 + 8 זס!ופ ההוזם עץֶם השח וחוג .] :זסזו= עס 60ח8ו|סטוק הסטו60 6ַהְבּטַחַח3! חהפוופָחם 6חז ההסזז הסוז5|8חה178 260ההסחזגוה .0 8 וו4 6 ,אסודהח=סקח 60 פטס .9 60 ותִחָהע600 .110 וו\ה-ססר עפ ספתפוופטס חסוו60 86ַ8טחְחבּ! שוסזפ6רו 9 כל הזכויות שמורות 1999 הוצאת הוד-עמי לספרי מחשבים בע''מ ת.ד. 6108 הרצליה 46160 טלפון: 09-9564716 פקס: 09-9571582 דואר אלקטרוני: |ו.1.60הח00-8ח62סחו אין להעתיק או לשדר בכל אמצעי שהוא ספר זה או קטעים ממנו בשום צורה ובשום אמצעי אלקטרוני או מכני, לרבות צילום והקלטה, אמצעי אחסון והפצת מידע, ללא אישור בכתב מאת ההוצאה, אלא לשם ציטוט קטעים קצרים בציון שם המקור. הודפס בישראל 1999 מהדורה שנייה 1/2000 קדס דפוס: טלאור טכנולוגיות דפוס: דפוס איל 0 פזחטות ווה .0+ | וווג-ססה 8ו|2ז6 ,6108 .0.8.ק 0 ,1999 , 53=1! מסת'יב 965-361-186-0 8%פ! תוכן עניינים מקוצר חלק 1: היכרות ראשונית עם 806516 |1506/ פרק 1: להתחיל ב- 83516 |בּטפו\ ב פרק 2: יצירת התוכנית הראשונה ל פרק 3: אבני היסוד של 83516 |בּטפוצ ו פרק 4: שימוש בפקדי ברירת המחדל של 6ו₪35 |בּטפו\ יייייי...... חלק 2: תכנות ב- 6ו805 |0ש5/\ פרק 5: תגובה באמצעות שגרות אירוע 0 פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים 0 פרק 7: שימוש בתיבות דו-שיח לקבלת מידע ל פרק 8: שימוש במשתנים לאחסון מידע 0 פרק 9: יסודות התכנות של 83516 |בּטפו\ 7 פרק 10: שליטה במהלך התוכנית 0 פרק 1.: ניהול הפרויקט: תת-שגרות, פונקציות וריבוי טפסים.... חלק 3: רכיבי תוכנית ב- 80516 |500)/ פרק 12: הפקדים המשותפים של )!ס5ס6:;ו הו פרק 13: עבודה עם מערכי פקדים 0 פרק 14: יצירת פקדי 6%עוש46 ב פרק 15: הרחבת פקדי א6עוש46 0 פרק 16: מחלקות: שימוש חוזר ברכיבים 0 חלק 4: ממשקי 80516 |500ו/ פרק 17: יישומים בעלי ממשק מרובה מסמכים ב פרק 18: תכנון ממשק נכון 0 פרק 19: שימוש במרכיבי התכנון הוויזואלי 0 תוכן עניינים מקוצר 5 חלק 5: נושאים מתקדמים בתכנות פרק 20: גישה ל-1ק של פ5עשסוחו/צ 0 פרק 21: עבודה עם קבצים 07 פרק 22: שימוש ב-015 לשליטה על יישומים אחרים 1 פרק 23: ארגז הכלים של המומחה ה חלק 6: 80516 |0ש15/ ומסדי נתונים פרק 24: יסודות מסד הנתונים 004.0 פרק 25: פקד הנתונים ופקדי איגוד נתונים יאו 007 פרק 26: שימוש באובייקטי גישה לנתונים (0אפ) 7 פרק 27: גישה לאובייקטי נתונים מרוחקים (ספא) ו פרק 28: גישה לאובייקטי נתונים באמצעות פקדי אס6עטוז46 (ססה)... 735 פרק 29: הפקת דוחות 7 חלק 7: 80516 |1500/ והאינטרנט פרק 30: שימוש ב-10%ו856/\ ד פרק 31: מסמכי 466% 2 פרק 32: 83516 ו[בּט5ו/ ושימושים נוספים באינטרנט 040 חלק 8: נספחים נספהח 1: הכרת סביבת הפיתוח ו 002 נספח 2: אריזת היישום הונ 0/0 נספח 3: תקציר פקודות 501 0 נספה 4: דפי שרת פעילים (55ג) 0 בספה-5: התקליטור המצורף ייוו 5 97 אינדקס עברי ב 7 0 אינדקס לועזי ווווו5: 1002 6 סדנת לימוד 6.0 8\ תוכן העניינים תכנות בסיסי ב- 88516 |ה8טפו\ 1 עבודה עס רכיבי 8856 |808ו\ 2 יצירת ממשקי יישוס 2 תכנות מתקדס ב- 88516 |הטפו\ כ טכניקות לתכנות בסיסי נתוניס 2 תכנות מבוסס אינטרנט 3 התייחסויות נוספות 5 0 24-20 תוכניות וקוד מקור בהס נעשה שימוש בספר 0 התקליטור המצורף .כ מוסכמות ואלמנטים מיוחדיס בהס נעשה שימוש בספר וה ל מוסכמות - ו אלמנטיס מיוחדיס מש 0 ב וס זל 0 0 בב לשמב 26 חלק 1: היכרות ראשונית עם 806516 |1506/\ פרק 1: להתחיל ב- 83516 !1.111151656066......./15083.. 39 מהי תוכנית מחשב! 0 תוכניות מחשב ושפות תכנות || || 6 |8פו\ היא שפה חכמה 2 החשיבות הטמונה בעיצוב מוקדס של תוכניתך ל שילוב העיצוב המוקדס בתהליך הפיתות 4 מעט על עיצוב התוכנית - 0 מכאן לב פרק 2: יצירת התוכנית הראשונה .........45..11666666666 יצירת ממשק המשתמש לתוכנית שלך 0 כיצד להתחיל ...1 7 שמירת עבודתך 1 קבלת מידע מהמשתמש .52 הוספת פקד תיבת הטקסט 0 יצירת תוויות עבור פקדי התוכנית 7 הוספת לחצני פקודה ב שינוי מאפייני הטופס 0 שמירת עבודתך - שוב 1 קידוד פעולות התוכנית שלך 6 תגובה לאירועיס || תוכן העניינים | 7 הגדרת שגרות אירוע - ב כתיבת קוד בתוכנית | הרצת התוכנית 0 מכאן 0 טפסים 7 חלקי הטופס 7 מה עושיס טפסים!: .73 השימוש בפקדיס + מהם פקדים! 7 פונקציות הפקדיס 7 חקר המאפיינים ל יסודות המאפיינים 7 מאפיינים נפוצים 7 שימוש במאפייניס לשליטה בגודל אובייקט 77 שימוש במאפיינים לשליטה במיקום אובייקט 1 שינוי המאפייניס במהלך פעולת התוכנית 7 שימוש במאפיינים לשליטה על האינטראקציה עס המשתמש 0 אופן ההפניה לטפסיסם ופקדים בקוד 2 מבט ראשון בשיטות ואירועיס ו[ עבודה עם שיטות 0 תגובה לפעולות באמצעות אירועיס - ו כיצד מאפיינים ושיטות מתקשריס האחד לשני ב מבט חוזר על מאפייני הטופס 881 הצגת טופס || מכאן 0 פרק 4: שימוש בפקדי ברירת המחדל של 36 והטפו\ 0 מבוא לפקדים פנימיים .96 עבודה עס טקסט 7 הצגת טקסט בעזרת הפקד |306 | 9 הזנת טקסט בתיבת טקסט 1 פקדיס לבחירת אפשרויות 10 לחצן הפקודה .1020 תיבות סימון 1 לחצני אפשרויות ...10420 תיבת הרשימה 1 התיבה המשולבת .112220 פקדיס למטרות מיוחדות 1 8 סדנת לימוד 6.0 8\ פסי גלילה 116 פקד שעון עצר 1 מסגרות 0 1 עבודה עס מספר פקדיס בשלב העיצוב 1 בחירת פקדים מרוביס 12 השימוש בחלון המאפייניס 7 סרגל הכלים זסזו0= הזוס 1 תפריט זהחוס- 0 8 5 מש א ב 12 מספר פקדיס במסגרת 129 עבודה עס אוסף הפקדים 129 שינוי כל הפקדיס 1 שינוי פקדיס נבחריס 150.1 מכאן 0 0 1 חלק 2: תכנות ב- 86516 |5800//\ פרק 5: תגובה באמצעות שגרות אירוע.............. 133 אירועים - מבוא 0 טיפול באירועיס בתוכניות 0 קביעה מתי התרחש אירוע 1 סוגי אירועים כ כתיבת שגרות מונחות-אירועיס 1 קריאה לשגרת קוד מתוך התוכנית 0 הבנת סדר האירועים || ו ריבוי אירועיס בפעולה יחידה ָ[/|/|/ 0 מציאת סדר התרחשות האירועים || || מכאן 0 1 פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים הההאההההההההההההההההההההההההההההההההההההה אוו :א 17 יצירת שורת תפריטיס .148 תפריטים נפוצים 147.04 הגדרת המרכיביס העיקרייס 10 תפריטיס בעלי מספר רמות 15 איחוד פריטיס בתפריט (הוספת מפרידים) 1 שינוי התפריט 1560 מקשי גישה ומקשי קיצור להפעלה מהירה של פונקציות 1 כתיבת קוד עבור פריטי התפריט 160 הגדרות נוספות ,161 יצירת תפריטים מקוצריס 1 תוכן העניינים | 9 יצירת התפריט 16 הפעלת תפריט מקוצר 166 שימוש בסרגלי כלים ב- 8856 |1508\ 100 עקרונות סרגל הכליס 1 קביעת התמונות בסרגלי הכליס 167 יצירת סרגל כלים רגיל 1 יצירת הלחצניס עבור סרגל הכליס 1 יצירת סרגל כליס לדוגמה 1 כתיבת קוד ללחצניס 17 יצירת סרגל כליס המכיל קוד .176 מכאן 1 פרק 7: שימוש בתיבות דו-שיח לקבלת מידע ...... 181 יידוע המשתמש לגבי מצב התוכנית ופעולותיה 1 הכרת תיבת ההודעה - א80 655806!] 2 הצגת הודעה ..2 18 ערכים המוחזרים על ידי פונקציית א₪15080 1 הצגת פעולת הפונקציה א₪15080 1 השגת מידע מהמשתמש 1 הגדרת הפונקציה אספפטסחז 1 ערכיםס המוחזרים על ידי פונקציית אספסטסח1 1 שימוש בתיבות דו-שיח נפוצות 1 שימושיס כלליים בפקד 8|08וסחסוחוח 60 19 בחינת ביצועי הפקד פַסוהוסחסוחוח 60 1 תיבות דו-שיח המטפלות בקבציס 1 תיבות הדו-שיח ח006 ו- 45 58/6 19 תיבת הדו-שיח זחס= (גופן) 1 תיבת הדו-שיח זסו|ס6 (צבע) 0 0 ל 2 תיבת הדו-שיח זחוזק (הדפסה) 2 תיבת הדו-שיח כ|48 (עזרה) 2 יצירת תיבות דו-שיח משלך 20 יצירת תיבת דו-שיח מותאמת אישית 2 שימוש בתבניות טופס עבור תיבות דו-שיח אחרות 2 מכאן ל 10 סדנת לימוד 6.0 8\ פרק 8: שימוש במשתנים לאחסון מידע ............ 207 היכרות עס משתניס .. מתן שמות למשתניס 8 סוגי משתניס ב הצהרה על משתנים... הצהרה מפורשת.... הצהרה מרומזת.... מחרוזות בעלות גודל קבוע - 0 מערכי משתניס 0 היכן כדאי לעשות שימ וש במשתניס י'וווווויוויווו'וויוווווויוויווווווווווווווווויייי. משתניס הזמינים מכל מקוס יייויוויווווויויוווווווווויוויווויווווויוייווויוווייי.. שמירת משתנה כמקומי םש מש ושים -506 0-8 55/5/55 ש-ש-ם 5 5/3 ם לסוב ב טיב ו פוש בוב 5 ב כ וכיפ כוכת שימוש במשתניס סטטייס ייוריויויי'וווויוויו'וו'ווווויוווווויווווווויוווויוווווויי5.. שימוש בפקודה שו6ו1קא5 חסטקס ב מה שונה בקבועים .... כיצד להשתמש בקב קבועיסם המסופקיס ועיס ||[ | על ידי 8856 |1508\ 0 יצירת קבועיס משלך - 0 פרק 9: יסודות התכנות של 83516 [1503/........... 223 כתיבת משפטיס .1 השימוש במשפטי הצבה יייווייויייויויייויווווויוווווייוויוויוווווווויווווווווויויייי. שימוש בפעולות מתמטיות - 0 חיבור וחיסור - כפל וחילוק 8 שימוש במעריך - קדימות אופרטורים עבודה עס מחרוזות... שרשור מחרוזות.... קביעת אורך המחרו שינוי גודל האותיות חיפוש מחרוזת 0% זת ב 5-ב 5 ל בש ב כ 0 5 בוב ב כ פיב במחרוות ל חילוצ חלקי מחרוזת --///- ו סילוק רווחיס 6 החלפת תווים במחרוואת 7 עבודה עס תוויס מסוימיס || מחרוזות ומספריםס. עיצוב תוצאות - ו פונקציות עיצוב אחרות 'יוויוויווווויוווווווווווויוויוויווווווווווויוווווווווייייי. השימוש בפונקציה )וס ייייווווו'ווי'וווווווויווויוויוווווווווווווווווווווויי יי תוכן העניינים 11 פרק 10: שליטה במהלך התוכנית.........116666666 27 קבלת החלטות בתוכנית 20:00 שימוש בפקודה 1 258 שימוש בהתניית 8156 2 שימוש בהתניות מרובות םכל וט אש שימוש בפקודה 6856 506|60 2 עבודה עם לולאות 2 לולאות זס 05-40 לולאות סס 7 לולאות מספור .270 ניפוי שגיאות קוד 0 כניסה אל הקוד 2 עבודה בחלון 6018%6חחח1 276 מעקב אחר ערכי משתנים 7 איתור שגיאות 270 שימוש בפקודה חס זסזז= - 0 הוספת תוויות שורות קוד 2 שליטה בשטף התוכנית לאחר שגיאה 27 קביעת סוג השגיאה 2 מכאן א מ פיפ א ו 2 פרק 11: ניהול הפרויקט: תת-שגרות, פונקציות וריבוי טפסים הההההההההההההההההההההההההההאההה,ה),א),:* 21 השימוש בשגרות ובפונקציות 2 עבודה עס שגרות 2 עבודה עם פונקציות 2 קביעת טווח ההכרה של שגרות ופונקציות 2 שימוש חוזר בפונקציות ובשגרות 29 עבודה עס טפסיס מרוביס 2 הוספת טפסים חדשים לתוכנית 2 הוספת מודולי קוד לפרויקט - 0 גישה לטפסים ולמודוליס של פרויקט 9 ניהול רכיביס בפרויקט ...296 טיפול בהפניות תוכנית 2 השליטה בפקדיס 297 הוספת טפסים, מודוליס ומחלקות לפרויקט 2 הסרת קטעים 00 שליטה בהתחלת התוכנית 2 12 סדנת לימוד 6.0 8\ קביעת טופס פתיחה 0 שס שיגרה חו8ּ!\ סט5 50 מ 0 ב םש 20 חלק 3: רכיבי תוכנית ב- 805/6 |1500/ פרק 12: הפקדים המשותפים של +)ספסיסוו!....... 305 מבוא לפקדיס משותפיס 2 פקד 5% ו17806: פקד משותף בסיסי ה[ הגדרת פקד 5% 108061 בעת עיצוב היישוס 2 הגדרת פקד 806115%ו1₪ באמצעות קוד 0 ארגון הנתוניס יגיא ...211.10 שימוש בפקד שו6ו/15 1 1 פקד 6ו/66זודך 2 פקד קובד 0 קבלת קלט מהמשתמש 7[ פקד 18066000 2 פקד חאוסססנ\ 2 עבודה עס תאריכיס .2204 גלישה למספריס 2 דיווח על מצב והתקדמות התוכנית 7 | הוספת שורת מצב לתוכנית :346 שורת התקדמות 7[ שילוב קטעי וידאו באמצעות פקד חסטהוחוחג .252 מכאן 2 פרק 13: עבודה עם מערכי פקדים.........1166166665 359 מבוא למערכי פקדים .300.41 אלמנטיס במערכי פקדיס 0 הבנת היתרונות הטמוניס במערכי פקדיס 2 יצירת מערך פקדיס 1 הוספת מערך פקדים לטופס 2 כתיבת קוד עבור מערך פקדים ...304 הסרת אלמנטיס ממערך פקדיס 7 עבודה עס מערכי פקדים 2 שימוש במערכי פקדים בתוכניות 2 מערכיס מקביליס ב 2 יצירת מערך פריטי תפריטים :358-450 טעינה והסרה בעת ריצה ל יצירת האלמנט הראשון במערך פקדים 0 תוכן העניינים | 13 הוספת פקדים בזמן פעולת התוכנית 7 הסרת פקדים בזמן פעולת התוכנית ב פרק 14: יצירת פקדי עו .......1111111166666..6. 377 מבוא ל-460/6% קב כ םש אש ם כ יט ב 37 הצעדיס בבניית פקדי א460/6 2 אסטרטגיות פיתוח 0 יבירת פקד 6%שו460 .379.25 התחלת פרויקט פקד הדוגמה 4001655 0 הוספת קוד לשינוי גודל הפקד 06 -......381 הוספת מאפיין חדש לפקד 0 בדיקת פקד א6%עו460 ב בדיקה בעזרת קבוצת פרויקט 2 בדיקת הפקד בעזרת זסזס|קאם 6%חזסשח1 0 הידור הפקד 7 יצירת קובץ 06% ב בדיקת הקוד המהודר ,389.4 הפצת הפקד למחשב אחר 3 שיפור פקד 460/6% 1 יצירת הפקד הבסיסי ...3920 שיפור הפקד הבסיסי - 1 בדיקת תיבת הטקסט המגבילה ד[ בחירת סמל עבור ארגז הכלים 2 אשף ממשק פקדי א6%שו60 7 הוספת האשף לסביבת 88516 |1508\ .29800 בחירה ויצירה של מאפייניס 0 מיפוי המאפייניס 0 סיוס כתיבת הקוד 1 אשף דפי המאפיינים 40 יצירת הדפיס כואי 2:5 -ו-.... 405 הוספת מאפיינים לדפים 7 שימוש בדפי המאפיינים ביישומיס ...407.2 יצירה ושרטוט פקד 6%שו460 1 התחלת הפרויקט ...408 יצירת ממשק המשתמש :בלול ג-2:0>-.-....408 יבצירת מאפייני הלחצן 1 יצירת אירועי לחצן ...412.0 יצירת דפי מאפיינים עבור הלחצן 0 בדיקת הלחצן הצבעוני בתוכנית 414 מכאן 0 שש 0 50 0 2 5 64 41 14 סדנת לימוד 6.0 8\ פרק 15: הרחבת פקדי 6%ע:60\.....-..6666666666 417 אובייקט זח6ופזה לשמירה על אחידות 7 יבירת דוגמה לאובייקט זח6וטוחג ה מעקב אחר צבעי האובייקט זחסוטוחג ה[ מאפייני האובייקט +ח6וט4 7 האובייקט זסְ0ח6זא= - ו בניית פקד המחשבון ה יצירת הפקד 0 יצירת הממשק 0 הגדרת המאפיין חס80זסקס 0 תכנות שיטות ואירועיס 0 בדיקת הפקד 0 יצירת דפי מאפייניס 0 יצירת אובייקטיס של דפי מאפייניס ל מיקוס פקדים על דפי המאפייניס ב שגרת האירוע 006080960 506|660 0 שגרת האירוע 6806 0 שגרת האירוע פסְפַחהַח6ץ!ססא ל קישור דף המאפיינים אל הפקד | שימוש בדף המאפייניס ו בחירת מספר פקדיס || טיפול בשגיאות בפקדיס - ו פרק 16: מחלקות: שימוש חוזר ברכיבים............ 435 הבנת מחלקות 7 תכנות מונחה-אובייקטיס 1 מחלקות ב- 8856 |1808\ 0 בניית מודוליס מחלקתיים 10 יצירת מודול מחלקתי חדש 0 הוספת מאפייניס למחלקה 0 הוספת שיטות למחלקה 7 הצהרה ושימוש באובייקטיס 3 הוספת אירועיס משלך 7[ יצירת 11 6%שו460 0 יצירת פרויקט א6שו260 0 עבודה עס מספר פרויקטים 1 קביעת המאפיין הופעה ב מספור (וחטחם) ו יצירת מחלקות המכילות אוספים -- 0 שיטות ומאפייניס סטנדרטייס באוספים ב תוכן העניינים 15 יצירת אוסף חדש לפעולות קבוצתיות 0 שימוש באשף המחלקות ה חלק 4: ממשקי 80516 |1500/ פרק 17: יישומים בעלי ממשק מרובה מסמכים .... 461 מבוא ליישומי זס!ו! 0 תכונות טפסי אב 1 תכונות טפסי הצאצא 6 יצירת תוכנית פשוטה בעלת ממשק 1סוו 7 יצירת טופס אב 64 יצירת טופס צאצא 0-7 הפעלת התוכנית "7 ריבוי מופעיס של טופס 9 הגדרת הטופס הבסיסי 0 יצירת טפסיסם תוך שימוש במשתני אובייקטיס ה מילות המפתת 6 ו-חזס6ע6 1 אתחול מופע של טופס צאצא 7 שימוש בתפריטיס 72 טיפול בטפסי צאצא .17 שימוש בסידור אוטומטי 74 טיפול ברשימת חלונות י[/[/// 0 תוכנית דוגמה - יישום 1פו לניהול קשריס 7 יצירת טופס 1סוז ב יצירת טופס צאצא ללקוח 480 יצירת טופס חיפוש 480 לב התוכנית 8 הרצת התוכנית 8 שיפור היישוס 0 8 יצירת מסגרת בסיסית ליישום סו 8 יצירת תבנית טופס אב זסו₪ 7 טופס הצאצא 1 מכאן שש שש סט הש ופ בוש סש וש של אפ 0 ה 16 סדנת לימוד 6.0 8\ פרק 18: תכנון ממשק נכו|.........111111.55166566666. 493 תכנון טפסים יעיליס ה שמירה על טפסים מסודרים ויפיס 7 שיס לב לטפסי קליטת נתוניס 46 השתמש בפקד הנכון כדי לבצע את המשימה 1 פקדיס של ספקים חיצונייס 1 ריבוי טפסיס 98 הבדלי צורת ממשק במחשבי המשתמשיס 0 עמידה בדרישות הלקות 0 תיבת הרשימה (א8₪0 15%)) 0 תפריטים יעילים .507.51 טיפול במספר מופעים פעילים של היישוס 0 מהירות פעולה מדומה 1 מכאן 1 פרק 19: שימוש במרכיבי התכנון הוויזואלי......... 513 שימוש בגרפיקה 0 פקדי גרפיקה 0 שיטות גרפיקה 0 ב עבודה עס טקסט וגופנים .[[[||| 0 התנהגות תיבת טקסט 0 עבודה עם גופניס וצבעים 0 מכאן 0 חלק 5: נושאים מתקדמים בתכנות פרק 20: גישה ל-1ק של פששסחו)\..........2566 543 הבנת 1קה של פצוססחו/\ 7 1 של פשוסחו\\ ב- 8856 |הטפו\ --- 0 זסאוסו/ [קה ו יצירת פונקציית עטיפה .519.1 יצירת מחלקת עטיפה 7 קריאות 801 שימושיות וט טל םס מ ב מב לשכ מ שש ם למ ב/2 ל 5 קריאות [ק\ 'ימהנות" 0 איתור ושליטה על חלונות אחריס 0 המתנה לסיוס פעולת תוכנית 58 קריאות חוזרות ומחלקות משנה 0 מכאן 565 תוכן העניינים | 17 פרק 21: עבודה עם קבצ'ם ........111111111665566665. 567 פונקציות טיפול בקבציס ב- 8856 |808ו\ 9 פונקציה זוס לאיתור קבצים והצגת רשימות קבציס 568 פונקציות המבצעות פעולות על קבציס 1 שימוש בפונקציה ||506 להפעלת תוכניות נוספות 7 איתור קבציס תוך התייחסות ליישוס שלך ב עבודה עס קבצי טקסט 5/6 קבצי טקסט סדרתייס עס מק 77 קריאה מקובצ טקסט סדרתי 5 כתיבה בקובצ טקסט סדרתי 0 קבציס לגישה אקראית - הגדרת מבני קבציס ל יצירת סוג רשומה ל פתיחת קוב לגישה אקראית 5 הוספת רשומות בעזרת משפט זטק 7 אחזור רשומות בעזרת משפט 066 5 שימוש במשפט 566% לגישה אקראית 5 קבצי זא1 0 הבנת קבצי זא1 ל שימוש בקבצי 1א1 ב- 8856 |הטפו\ 0 מכאן 0 פרק 22: שימוש ב-015 לשליטה על יישומים אחרים..-יי..::::::אאיויי ...1421 [ 50 עבודה עס אובייקטי חזסש\ .0 ספריית האובייקטים של פזס/\ 7 יצירת יישומיס ואובייקטי מסמכים 5 שמירה, פתיחה והדפסה של מסמכים 0 עבודה עס טקסט 597 תכונות שימושיות נוספות 7 6 9 עבודה עס |66א5 .5990 יצירת אובייקטי |66א= מ הצבת ערכיס של תאים וטווחיס ...000 שימוש בפקד המכולה 015 0 יצירת אובייקט מוטבע בזמן העיצוב 0 יצירת אובייקט מוטבע בזמן ריצה 0 יצירת אובייקט מקושר 7 מכאן י....-006 18 סדנת לימוד 6.0 8\ פרק 23: ארגז הכלים של המומחה..--.-..56666666.. 605 שיחה מזוהה 0 5 5 28 0 5 דרישות לשימוש בקובצ לדוגמה 0 טכניקות 88566 |1508/\ בהן נשתמש ל הגדרת פקד התקשורת (|ס חס 5ה0וז63וחטו והס) 0 בדיקת השיחות 0 בניית שומר מסך באמצעות 88516 |הטפו\ 0 הגדרת הטופס הראשי (חזסחחובּו) 7 הוספת אנימציה שו התקשרות עס פווסטחו/\ש\ ל תוכנית ייצוא טבלאות משרת 501 למסד נתוניס של 460655 בניית התוכנית לדוגמה - |[ הבנת התוכנית לדוגמה 0 חלק 6: 6ו805 !1560 ומסדי נתונים פרק 24: יסודות מסד הנתונים..........1111116666666. 5 63 עיצוב מסד נתוניס ל יעדי עיצוב 7 פעולות חשובות בעיצוב מסד נתוניס 7 ארגון המידע || שימוש באינדקסיס 7 שימוש בשאילתות ו יישוס התכנון 0 ז 3 הזכ [הטפו\ ל יצירת קוב\ מסד הנתוניס | הוספת טבלה חדשה 0 שינוי שדות ו הוספת אינדקס לטבלה 1 חזרה לחלון העיצוב של 8856 |1808\ 0 הצגה ושינוי מבני טבלאות 1 שינוי או מחיקת טבלאות 0 העתקת טבלה 1 יצירת מסד נתוניס בעזרת כליס אחריס 7 שימוש ב-66655 0 תוכנות לעיצוב מסדי נתוניס מתוצרת יצרניס אחריס 4 תוכן העניינים 19 פרק 25: פקד הנתונים ופקדי איגוד נתונים......... 657 פקד הנתוניס 0 מהו פקד הנתוניס 5 הוספת פקד נתוניס לטופס .660 שני המאפייניס ההכרחייס 0 היכרות עס פקד איגוד נתוניס ל מה עושיס הפקדים האלה 7 הוספת פקדיס לטפסיס 6 שימוש בפקד איגוד נתוניס להצגת מידע 6 יבירת יישוס פשוט 7 הגדרת הטופס ל 007 ניווט במסד הנתוניס 0 שימוש בקוד בשילוב עס פקד הנתוניס 0 הוספה וגריעת רשומות 0 יצירת טפסיס באופן אוטומטי ב הגדרת 6זה2ו/\ וחזס- הס ...0/2 גישה למקור הנתוניס ל בחירת סוג האיגוד .70 בחירת שדות בעזרת חזה2ו/\ וחזס- הס 6/6 בחירת פקדיס 0 מכאן .ל 080 פרק 26: שימוש באובייקטי גישה לנתונים (2.0) :..:11111111165565565666600600000.. 681 מבוא ל-040 82 הגדרת פרויקט הכולל אובייקטי 0ס 68 פתיחת מסד נתוניס קיים 5 בחירת סוג מערך הרשומות בו תשתמש 86-21 שימוש ב-89|6ד 0 שימוש ב-56%החץכ ב שימוש ב-80500%ח5 0 0 שימוש במערך רשומות מסוג ץוחס-0זהצוזס-] 6 הצבת מידע על המסך ...093 גישה לנתוניס המאוחסניס בשדות מסד הנתוניס 0 הצגת נתוניס ביישוס הדוגמה ו שינוי מיקוס מצביע הרשומות 0 שימוש בשיטת פעסוו 9 שימוש במאפיין %ז8וח0%ס8 ...698 שימוש בשיטה 0חו= 9 הגדרת האינדקס הנוכתי בטבלה 700 שימוש בשיטה 566% 1 20 סדנת לימוד 6.0 8\ המאפייניס ח00ו05ק%ח6766ק ו-חסטו05סק6זט|ס5טה .704.11 שימוש במסננים, אינדקסים ומיוניס 7 הגדרת המאפיין זסטוו= 7 הגדרת המאפיין +וס50 0 יבירת אינדקס חדש .707 תוכניות המשנות רשומות מרובות 0 שימוש בלולאות 7 שימוש במשפטי 501 ה[ הבנת פקודות תכנות נוספות ו ל הוספת רשומות 1 עריכת רשומות 1 עדכון רשומות 7 גריעת רשומות 1 מבוא לעיבוד טרנזקציות 1 מכאן | פרק 27: גישה לאובייקטי נתונים מרוחקים (00) 7472 תפיסות לגבי גישה למסדי נתוניס 1 עבודה עס 0086 ילוב ייל ...719124 הבנת מנהלי התקן 0086 1 הגדרת מקורות הנתוניס של 0086 720 אובייקטי נתוניס מרוחקיס - 1 השוואה בין ספ ו-0ס 5 לפ שש 7 גישה למסד נתוניס תוך שימוש ב-₪00 7 שימוש בפקד ₪600%608%8 7 השוואה בין ₪06 לפקד הנתוניס 3 הגדרת פקד ₪06 7 מכאן 7 פרק 28: גישה לאובייקטי נתונים באמצעות פקדי 606% (1656666.....)000 73 מבוא ל-400 6 שיטות התקשרות לנתוניס ל התקנה 7 הגדרת מקור נתוניס 7 שימוש בפקד 0808 400 ...729.4 הגדרת פקד 08% ססה 0 חיבור פקד 0808 00ג למקור נתוניס ...701 הצגת נתוניס 7 תוכן העניינים | 21 שינוי מקור הרשומות באמצעות קוד 0 שימוש בפקד חהִ6ַ8ז8כ 7 הזנת נתוניס לרשת 0 הגדרת פקד םס ל פיצול הרשת .7504 התאמת עיצוב הפקד 7 התאמת הרשת על ידי קוד 758.1 שימוש באובייקטי 818 6%ע460 1/7 שימוש ב-400 ליצירת חיבוריס ל 75 עבודה עס מערכי רשומות 58 אובייקט 60300 7 מערכי רשומות מנותקיס || יצירת מערך רשומות מנותק 7 חיבור מחדש של מערך רשומות 768 שימושיס במערכי רשומות מנותקיס 69 מכאן 0 פרק 29: הפקת דוחות :ב 77 יצירת דוח לדוגמה || הגדרת מקור הנתוניס 7 הוספת +₪600 הזכ לפרויקט + הגדרת דוח נתוניס 40 שש 002 77 הצגת הדות 7 העשרת הדוחות 7 שדות דוחות מוגדריס מראש 7 הוספת אלמנטים גרפיים .780 הדפסה וייצוא ל שדות מבוססי פונקציות ל 7 5 |8ל5ץ) 0 יצירת דוח חדש 7[ התאמה אישית של הדות ...789 שימוש בפקד ₪6001%5 |67/5%3 - 1 מכאן ל 22 סדנת לימוד 6.0 8\ חלק 7: 6ו865 |1506/\ והאינטרנט פרק 30: שימוש ב-1111111666666666......./56110% 11 797 מבוא לשפת 0%ו8567/\ ונ שיפוריס ב-60/\ בעזרת 0%ו8567/\ ל 5% בשרת 60/\ 0 %ו56/ בדפדפן ...801 כלים לעבודה עם 8567106 0 סחופַח= 8חה0קח56 8\ 0 יישוס מארח 0 עורך טקסט ו כלי 60)\ מתקדמיס ...806 שפת 85670%/\ 806 עבודה עס משתני אח8וז3/\ בלבד 806 גישה למערכת הקבציס 3-ו וא-י-..-.508 5% ב- זסזס|קאם 6%חזסשח1 10 אירועיס ושגרות 10 טפסיס 0 פקדי א6עו0/ ...815 0% 8פחחק 56 פטססחו\ ל 917 הפעלת 5606 1 שיטות ואובייקטיס שימושייס 910 מכאן .817 פרק 31: מסמכ' 6%ע60( .....75111116551566606660 821 הבנת מסמכי 606% 22 מהו מסמך א6ע6 ל יתרונות השימוש במסמכי ₪60/6% 0 יבירת מסמך ₪60/6% 5 ו 5 0 סש שיש שק מ ב 5 82 פרויקט מסמך א6עו46 6 יבירת ממשק המסמך 2 הוספת קוד למסמך ל ניסוי המסמך 0 הידור המסמך 5 0 שש 5 22 חקירת אובייקט זח6וט06כז56\ ב כ ו 2 2 הבנת האירועיס החשוביס של אובייקט 6חסוחט6ססז56\ "7" "1 יצירה ואחסון מאפייניס של אובייקט זחסוחט6ססז56\ 2 שיטות אובייקט זחסוט6סכז50\ 20 אובייקט אחווזסקץ במסמכיס 7 20 ו\ הסוסהזטו! +הסוהטססכ א6עח6 20 תוכן העניינים | 23 הרצת 0ז8לו/\ חסש8זסו +הסותט6סכ אס6ע60ה 7 הצגת התוצאות 0 יצירת מסמך מורכב 8 פיתוח מסמכים נוספים ו שימוש והצגת טפסים מהמסמך ו מכאן 0 פרק 32: 83516 ובּ150/ ושימושים נוספים באינטרנט ההההחההההההההההההההההההההההההההההה,ה),א,),* 5 הוספת יכולות דפדפן ליישומיס ל לו להקל סציוו-...546-2 יצירת דפדפן בטופס 0 הפעלת הדפדפן מהיישוס ל תכנות דואר אלקטרוני 1 כניסה למערכת דואר אלקטרוני 85 משלוח הודעה 7 גישה לתוכן הודעה 0 פקד 805167 ד 06%ז%6ח1 800 אחזור !ד 0 העברת קבציס 5 מכאן ל ליגל ו-14איגקי ל ...860 חלק 8: נספחים נספח 1: הכרת סביבת הפיתוה..........1111256. 863 הבנת הרכיביס העיקרייס בסביבת הפיתות 6 התחלה 560 אזור העבודה של |1808/ 885|6 0 שורת התפריטים 86 גישה לפונקציות מתוך שורת התפריטיס 0 ארגון פקדי 8356 |הטפו\ כ ל בד הציור של התוכניות אי ...871 שליטה על טפסים ופקדים 0 חלון הפרויקט 7 היכן מתבצעת העבודה 0 התאמת הסביבה בי אבי 877 24 סדנת לימוד 6.0 8\ נספח 2: אריזת הי'שום..........1111111111111654420 879 הידור התוכנית - 0 אופטימיזציה של הקוד 81 הגדרת שם, כותרת וסמל הפרויקט ...882 הכנות ליצירת תוכנית התקנה 5 אריות פרויקט ₪5 50800870 לבייל -ו-44ב....882 יצירת האריזה של יישוס 5א= 568008106 ל סקירה מפורטת של תהליך ההתקנה 90 אריזת רכיבי 6%שו460 0 הורדה מהאינטרנט 9 אפשרויות 560% לי ...895.4 קבציס המיועדים לשימוש באינטרנט 0 מכאן 9 נספח 3: תקציר פקודות .666.5.........501ש1111.11111 899 הגדרת המושג 501 0 כיצד פועלת .501 ...900.0 מרכיבי משפט 501 0 משפט 56|66% ל הגדרת השדות הרצוייס ...903.2 הגדרת מקורות הנתוניס ו הקטעים | |א, ד1%0ד15 ו-צוס₪ ד6א1ד5זס || הגדרת קשרים בין טבלאות -- ל הגדרת קריטריונים לסינון ...914 הגדרת תנאי המיון -- ל פונקציות סיכוס - || | קבוצת רשומות .921 יצירת טבלה 0 שימוש בפרמטריס 2 משפטי פעולה 9 משפט סשדם ושס 2 משפט זַ55₪א1 .926 משפט = דהססט 2 משפטי שפת הגדרת נתוניס 2 הגדרת טבלאות באמצעות משפטי |סס 0 הגדרת אינדקסיס באמצעות משפטי \וסס 0 שימוש ב-501 30 ביצוע שאילתת פעולה ל יצירת אובייקט ]6סץזפט 0 יצירת ס6ַ6פחץכ ו-0%5ח805ח5 ל משפטי 501 בשילוב עס פקד 808 ל תוכן העניינים | 25 יצירת משפטי 501 1 3 ההכ [הטפו\ וי שימוש ב-66655 - ו אופטימיזציית ביצועיס ב-501 שימוש באינדקסיס 0 הידור שאילתות 0 הקפדה על מבנה פשוט ל העברת משפטי 501 למנגנוני מסדי נתוניס אחריס 0 ספריות מדומות 8 יצירת קבצי 4505 1 יבירת קובצ 857 פשוט ו תגי 56% צד השרת 7 דפי פ6)\ פשוטיס אך דינמייס - ה קבציס כלוליס 0 גישה למסדי נתוניס באמצעות דפי שרת פעילים 7 הפעלת שאילתה על מסד נתונים 0 עדכון נתוניס במסד נתוניס אובייקטי 450 0 ניהול אבטחה בעזרת אובייקט חס|5655 ל שליטה בפלט באמצעות אוב ייקט 6500056 - ו אחזור נתוניס באמצעות אובייקט ₪60065% ל אובייקט ]56/6 0 אובייקט חסספסו|קק ו-ה5. א6ע60 ב-55 0 פרויקט יישוס 115 7 יצירת יישוס 115 ל הפעלת יישוס 115 0 מופעי 606|355)\ ד[ הח60166/\ של תבניות ודו וח6016/\ מותאס אישית... 26 סדנת לימוד 6.0 8\ 0 רק 8 = מימד חדש בתצוגה, יס המלח ממעוף הציפוב תיקיה ראשית 50/9376 (רשימה חלקית) + האנק ו 12 907 אינדקס ובש ואו:ו.. 1009 תוכן העניינים | 27 עבודות הייעוצ וההגהה הטכנית של ספר זה בוצעו על ידי שניים מהבולטים באנשי התמיכה בסביבת 1670504 בתקופה זו. השניים מבטאים את המגמות המתגבשות בתעשיית התוכנה המתחדשת ללא הרף. איל גוטליב, הינו מנהל מרכו התמיכה הטלפוני של חברת 1670506 ישראל, והוא אחראי באופן יוס-יומי על מספר רב של אנשי תמיכה מומחיס במוצרי 6-050%ו1]. איל הינו בעל ניסיון רב בסביבת המשתמש והבנת צרכיו, בפיתוח בסביבת המשרד הממוחשב וכן בפתרון סוגיות הקשורות בהתאמת שגרות מערכת ההפעלה, עם דגש על הסביבה העברית. איל שהגיע אל תחוס המחשוב דרך שלל תפקידיס שאינס קשורים כלל לענף, ממצה את היכולות הגלומות במוצרי הפיתוח המוא (סגח) דוגמת 8856 |1508/, מוצריס המאפשרים לכל אדם, הפתוח לקליטת החשיבה התכנותית, לפתח יישומיס מורכבים, תוך שימוש בטכנולוגיות שבקצה הקשת הטכנולוגית, הקפדה על יציבות, קלות פיתוח והתמקדות במרכיביס החשובים. ארז *רון מייצג את המספר הגובר של מוחות צעיריס ומבריקיס בענף המחשבים. צעיריס אלה, למרות גילם, מציגיס יכולות מרשימות בתחוס הטכנולוגיה המתקדמת. == ארז, שהינו מהראשוניסם שבמוסמכי 6 88%6 |ּ50ו\ וו בישראל, מחזיק גם מספר תארי הסמכה נוספים של ו08ח165510סזק 0% במערכות הפעלה, ומשמש כאיש תמיכה בכיר במרכז התמיכה של 6ספסזסווא, וכמפתח פנים-ארגוני. 9 ₪0 5 !6/6 "0+ ז'יוססקט5 ח6וחושיוק |06ו15 ++16050\/ 00 [008ו0)655זק 000 | 000 זי | 8 סדנת לימוד 6.0 8\ פתח דבר שפת הפיתות 88516 |1508, בשונה משפות פיתוח אחרות, מתמקדת במשתמש המפעיל את היישום, בעוד שנקודת המוצא של שפות פיתוח האחרות היא הלוגיקה של התהליך, או יעילות ניהול משאבי המחשב (למשל 6). המשתמש חייב להיות נקודת המוצא, אחרת הוא נשכח בתהליך. נקודת המוצא של 6 |אטפו\ היא: קודס כל נביט מנקודת ראותו, נבין מה הוא רוצה לראות וכיצד היה רוצה להפעיל את התוכנית, אותה אנו מפתחים, ורק אז נוסיף מאחורי הקלעים את הקוד המבצע ואת. סביבת הפיתוח של 8856 |8טפו\ באה לענות גס על צרכיס נוספים של מפתחי תוכנה : פשטות כתיבת קוד - שפת התכנות מבוססת על 8856 הישנה והפשוטה. קלות הפעלה - סרגלי כלים ותפריטים כמו בכל מוצרי 0066 (חזסש\, |60א5 ו-%חוסקזס/שסק). מערכי מידע העומדים לרשות ולעורת המפתח - רק הקש 1" או לח לחיצה ימנית בעכבר. אשפים (05ז28ו/)), תבניות (3065!קוח6ד) ועזריס (5ח001) - קטעי תוכניות מוכנים מראש, לזירוו תהליכי פיתוח. שימוש ברכיבים (שח6חסקוחס6) מוכנים - במיטב הטכנולוגיה העכשווית: קח פקד, שים אותו בתוכנית שלך, וכאילו כתבת את כל קטעי הקוד שמאחוריו. יצירת רכיביסם לשימוש מרובה - צור פקדיס בעצמך, לשימוש תוכניותיך או כתוכנית קטנה לשימוש מפתחיס אחריס. גישה קלה לבסיסי נתוניס - בדיוק במידת המאמצ שברצונך להשקיע. תוכל לפתח תוכנית המציגה מידע השמור בבסיס נתוניס (למשל 4600055), ומאפשרת לך להוסיף מידע, למחוק מידע ולשנות אותו, ללא כתיבת שורת קוד אחת! פיתוח מואץ ליצירת אב-טיפוסים - מינימוס שורות קוד, מקסימום עזריס סביבתייס (אשפים, תבניות, השלמה אוטומטית), מידע מספריות רכיבים 001660 ז5שסז8) ומאגרי עזרה גדוליס, ברוריס ועמוסיס בדוגמאות קוד מוכנות... פתיחות מלאה למערכת ההפעלה - שימוש בשגרות מערכת ההפעלה (15|כ), לפעילויות מורכבות המצויות מחוצ לתחוס הנתמך על ידי השפה הבסיסית. תמיכה מובנית בטכנולוגיות החדשות ביותר - |0סס, תוך שימוש ביכולות השלמה אוטומטית וה-זספאוסזם 66[ט0. פתח דבר | 29 את יתרונות סביבת הפיתוח המתקדמת, מבית 0050%ו6, תוכל למצוא בספר 6 83516 [ה150/ - סדנת לימוד. הספר כולל הנחיות ברורות, המלוות בתמונות מסכיס והרבה קטעי תוכניות, אשר ילוו אותך החל מבניית יישוס פשוט ועד לפיתוח יישומיס מורכביס ומבוססי אינטרנט, תוך שימוש בטכנולוגיות המתקדמות ביותר. כל קורא והידע המוקדס שלו, והספר, בדיוק כמו 88516 |508ו/, ייספק את ההדרכה הרצויה. אך 88566 |1808/ הינה יותר מסתס שפת תכנות וסביבת פיתוח. היא גס הבסיס ל-84/ (שפת הפיתוח המצויה מאחורי מוצרי 066 ומוצריס רביס אחרים). 84\ מאפשרת לך לכתוב קוד ב-6זס/\, למשל, המקבל נתון ממשתמש, ועל פי נתון זה - מפעילה את |66א= ליצירת גרף מנתוניס השמוריס ב-66655, וכל ואת בשורות קוד ספורות (לא יותר מ-10 פקודות), תוך ניצול החיכולות הבנויות בתוך כל אחת ממערכות אלו, כל אחת בתחוס מומחיותה. ובל נשכח את האינטרנט. שס אנו פוגשיס חבר נוסף במשפחת 8856 |508ו/\ ושמו 5% /\. ואס כבר היכרתם את 8560%\ - אתס יכוליס לפתח גס טפסיסם ב-אססטטס ואפילו תנועות מורכבות ב-7.0 ז6צז56 .501 ! מה עוד! + פיתוח דפי |אדחס - יש תבנית מוכנה. + כתיבת פחסטפסו!סק\ 115 - גם לכך יש תבנית. ** %5ח6חסקןוח60 175 ,567/65 015 ,ה חסקו 60 6006 ₪6058016. + ל-8856 |1508\ פתרונות קלים, מהיריס ואחידיס לרוחב כל המערכת. ביצועים ניתן לשפר על ידי שיפוריס בחומרה (מעבד חזק יותר, הוספת ויכרון וכדומה). את נקודת ראותו של המשתמש ניתן לבטא בקלות, בבהירות ובמהירות בעזרת 88516 |1508/, והצעד הראשון מתחיל בעמוד הבא... בהצלחה והנאה, 60 החס 5 זס1 +וסקק5 זסווחסזוק ]116705066 15786 20 סדנת לימוד 6.0 8\ מבוא תכנות בסיסי ב-₪3516 |בּטפו ספר וה כולל אומנס חומר רב בנושאי תכנות מתקדמים ב- 8856 |8ט5ו/, אך בטרס תוכל להתמודד עס נושאים אלה עליך לרכוש תחילה יסודות תכנות מוצקים. חלק 1 - היכרות ראשונית עם 83516 1503/, יעניק לך היכרות ראשונית עם יכולות השפה ועס העבודה בסביבת הפיתוח. פרק 1 - להתחיל ב- 83516 [1503/, מסביר כיצד משמשת 88566 |08פו/\ כלי ליצירת תוכניות מחשב מבוססות פווססחו/ו, ומסייע בתכנון תוכניתך הראשונה. פרק 2 - יצירת התוכנית הראשונה, מלמד אותך, שלב אחר שלב, את מלאכת הבנייה של יישוס המתפקד באופן מלא ב- 88516 |1508/\. פרק 3 - אבני היסוד של 88516 |ב3ּשפו/, עורך עבורך סיור היכרות עס טפסיס ופקדים, הרכיביס הבסיסיים בכל תוכנית אותה תיצור ב- 88516 |1508/\. פרק 4 - שימוש בפקדי ברירת המחדל של 83516 |הטפוצ, יילמד כיצד לעבוד עס קבוצת הפקדיס השימושייס ביותר בעת עיצוב התוכנית ובנייתה. חלק 11 - תכנות ב- 83516 15031/, מכסה את כל היסודות להס אתה זקוק כדי שתוכל להתחיל בהרפתקת התכנות. פרק 5 - תגובה באמצעות שגרות אירוע (706600765ק +חסעם), מתאר בפניך כיצד ניתן להקנות תכונות אינטרקטיביות לתוכנית 8856 |1808/. תלמד כיצד להקנות לתוכניתך יכולת תגובה לצעדיס אפשרייס שוניס של משתמשיה. בפרק 6 - שליטה נוספת למשתמש: תפריטים וסרגלי כלים, ובפרק 7 - שימוש בתיבות דו- שיח לקבלת מידע תלמד כיצד להרחיב את תוכניתך על ידי שימוש בתפריטים, סרגלי כליס ותיבות דו-שיח. באמצעות אלה ניתן ליצור ממשק המוכר למשתמש כתוצאה מעבודה קודמת עס אפליקציות מבוססות פווסטחו/\. שימוש נכון בתפריטים, סרגלי כליס ותיבות דו-שיח מאפשר לך ליצור תוכניות מותאמות לאינטואיציה של המשתמש. במהלך פרקים אלה תבחן גם את מודל האירועים ((006 +חסעם) שהוא כאבן פינה בתכנות בסביבה מבוססת פשספחוצ\. פרק 8 - שימוש במשתנים לאחסון מידע, ופרק 9 - יסודות התכנות של 6 !1509 מובילים אותך לתוך עולס פקודות, מבניס ומשתנים. 8856 |1508/ מבוססת על יסודות מוצקים של שפת 6ו885. 88516 |טפו/\ מועשרת במיגוון תכונות ופונקציות, ומאפשרת לכתוב תוכניות למשימות מכל סוג אפשרי. תלמד ליצור ולהשתמש במשתנים, ולבצע פעולות בשילוב עס מתמטיקה ומחרוזות. פרק 10 - שליטה במהלך התוכנית, מלמדך לשלוט בתוכניתך באמצעות שימוש בהחלטות (05ח0ו665כ) ולולאות, ובאמצעות טיפול נכון בשגיאות. פרק 11 - ניהול הפרויקט: תת-שגרות, פונקציות, וריבוי טפסים, מעמיק את היכרותך עס יסודות התכנות, ומאפשר לך להרחיב את קוד המקור של תוכניתך. מבוא | 31 עבודה עם רכיבי ₪3516 |בּטפו חלק 111 - רכיבי תוכנית ב- 83516 15031/, מרחיב ומעמיק את הידע הבסיסי שרכשת בפרקים קודמים ומציג בפניך רכיבים ממיגוון סוגים, אשר יאפשרו לך לשפר את איכות תוכניותיך. חשוב על רכיביס אלה כאבני בניין בעלות תכונות מתקדמות יותר מאלה הפשוטות, אשר היכרת בפרקים קודמים. %, *% 4 פרק 12 - הפקדים המשותפים של 00%ס5סז6ו1א, מציג פקדיס נוספיס בהס תוכל להשתמש בעת בניית תוכניותיך ב- 8856 |15808/. בפרק 13 - עבודה עם מערכי פקדים, תלמד טכניקות מתקדמות יותר של שימוש בקבוצות משתנים, אשר יסייעו לך לייעל את תוכניותיך. פרק 14 - יצירת פקדי א6עוז46 ופרק 15 - הרחבת פקדי א6עוז6א - יביגו בפניך את פקדי א6%ש860 בצורה מעמיקה. ניתן לעשות שימוש ברכיבים אלה במסגרת תוכניות 8856 |1508/, יישומי אינטרנט, או אפליקציות אחרות בעלות תמיכה ב-60/6%. | בפרקים אלה תלמד כיצד ליצור פקדי 6%ע60 וכיצד להרחיב את תכונותיהס לאחר יצירתם. פרק 16 - מחלקות: שימוש חוזר ברכיבים, מלמד אותך כיצד ליצור מחלקות ולנצל את יתרונות רכיביסם רבי עוצמה אלה, בעיקר בעת עבודה עס מספר רב של תוכניות, המיועדות לביצוע משימות דומות. יצירת ממשקי יישום בחלק /1 - ממשקי 83516 ו3ּ150/, יוצגו בפניך מספר עקרונות אשר יסייעו לך בתכנון ממשקי היישוס שלך. הממשקים הס יחלונות הראווהיי של התוכנית, אשר דרכס מנוהלת האינטרקציה עס המשתמש. + +: %, % . 22 פרק 17 - יישומים בעלי ממשק מרובה מסמכים - ילמדך כיצד לבנות תוכנית העושה שימוש בממשק מרובה מסמכים (%671866-01ח1 %חסוהטסס 6!קשוטוא). תוכנית 1סו מאפשרת למשתמשיה לעבוד בו-ומנית עס מספר חלונות, המופיעיס בשטת חלון ראשי אחד. תוכל להבחין בהבדלים שבין יישומי 1 ליישומיס בעלי ממשקיס המבוססים על מסמכים בודדים (501 - 105671866 +ח6הט6סכ 6ו8ח51). בפרק 18 - תכנון ממשק נכון ובפרק 19 - שימוש במרכיבי התכנון הוויזואלי, תלמד מדוע חשוב לתכנן את תוכניותיך בטרס תיגש לכתיבת הקוד. במסגרת פרקיס אלה יוצגו בפניך צעדים שגויים העלולים לפגוע באיכות הממשק, ותלמד כיצד לחימנע מטעויות פיתוח נפוצות. סדנת לימוד 6.0 8\ תכנות מתקדם ב- 83516 וַבּש15\ חלק / - נושאים מתקדמים בתכנות, כולל כמה וכמה נושאיס החורגים מן החומר שלמדת עד כה, ומתמקד בטכניקות פיתוח ייחודיות. + +: פרק 20 - גישה ל- ₪1 של פעשסחו/ש, מראה לך כיצד ניתן להשתמש בשגרות התכנות המוגדרות מראש, אשר משולבות, בהמוניהן, בממשקי היישומים של 5וססחחו/ו\. תלמד כיצד לנצל לצרכיך את ספריות הקוד העצומות, המשולבות בכל יישוס מבוסס פאוסבחו//. פרק 21 - עבודה עם קבצים, ילמדך כיצד להשתמש בקבצים מסוגים שוניס למטרות אחסון ואחזור מידע. פרק 22 - שימוש ב-015 לשליטה על יישומים אחרים, מתאר כיצד ניתן להשתמש ב-015 על מנת ליצור אינטראקציה בין היישוס שלך ליישומים אחרים, תוך ניצול מקסימאלי של יתרונות 015. פרק 23 - ארגז הכלים של המומחה, מציג בפניך מספר אפליקציות עצמאיות של 6 |8טפו\, המיועדות למיגוון משימות מיוחדות ומעניינות. טכניקות לתכנות בסיסי נתונים חלק נרחב מן התוכניות הקיימות בעולס העסקי בו אנו חיים, הן תוכניות המשלבות עבודה מול בסיסי נתונים. מידת מורכבותן של תוכניות אלו משתנה: יש תוכניות פשוטות, המיועדות לטיפול ברשימות דואר, ולעומתן תוכניות מורכבות המיועדות לטיפול במערכת הזמנות וחיוביס בארגוניס גדוליס. חלק 1/ - 83516 |ב1503/\ ומסדי נתונים, מציג בפניך את תהליך בנייתן של תוכניות בסיסי נתוניס הנותנות מענה למיגוון צרכיס. %, % . פרק 24 - יסודות מסד הנתונים, מתאר כיצד ליצור, לעדכן ולשנות בסיסי נתוניס. פרק 25 - פקד הנתונים ופקדי איגוד נתונים ממשיך איתך צעד נוסף קדימה ומלמדך כיצד ניתן ליצור יישומיס במהירות, על ידי שימוש משולב בפקד הנתוניס והפקדים אשר ניתן לקשר אליו. פרק 26 - שימוש באובייקטי גישה לנתונים (0פ), ופרק 27 - גישה לאובייקטי נתונים מרוחקים (ססא), ילמדו אותך כיצד לרתוס את משאבי הפיתוח רבי העוצמה של 88516 |508ו/, ליצירת אפליקציות בבסיסי נתוניס. פרק 28 - גישה לאובייקטי נתונים באמצעות פקדי 6%ע46 (400) מתאר עבורך את המודל העדכני של 1167050 לעבודה מול בסיסי נתונים. ובסוף, פרק 29 - יצירת דוחות מציג בפניך זוג כלי דיווח צד שלישי: +60 פּטְהס זפ ו- 5זוסק₪6 |67/508, המשמשיםס אותך להצגת מידע שמקורו בבסיסי הנתונים המנוהלים על ידי יישומיך. מבוא | 33 תכנות מבוסס אינטרנט בחלק %11 - 835|6 |בּט5!ו/ והאינטרנט, הנך נהשף לעולס מתפתח של שימוש בווריאציות 8856 |08פו\ לשס בניית אפליקציות מבוססות אינטרנט. % % 0 בפרק 30 - שימוש ב-+85610/ תלמד להכיר את קרוב המשפחה של |8שפו\ 6 פרק 31 - מסמכי 6%ש86₪ מרחיב ומגבש את הידע שצברת בפרקיס קודמים לכדי יכולת פיתוח של רכיבי א6טו6₪, המאפשריס שיתוף בשיטה מתקדמת. פרק 32 - 83516 [1503/ ושימושים נוספים באינטרנט, מלמד כיצד לשלב תכונות אינטרנט ביישוס, כדוגמת יכולות דפדוף בדפי הרשת וניהול דואר אלקטרוני. התייחסויות נוספות בחלק 111\ - נספחים תוכל להסתייע כמדריך מקצועי בעת תכנון ופיתוח יישומיס ב- 8856 |1508/, כמו כן תמצא שס הוראות על אופן השימוש בתקליטור. נספח 1 - הכרת סביבת הפיתוח, לוקח אותך לסיור בממשק המשתמש של |אטפו\ 6. תוכל להיעזר בו כמדריך במהלך היכרותך הראשונית לסביבת הפיתות. נספח 2 - אריזת היישום, מתאר בפניך כיצד להכין את תוכניות 8856 |8טפו\ להפצה. נספח 3 - תקציר פקודות ‏ 5001, מניח בפניך את יסודות שפת .501 (5070600160 6 /וזסט0)), המשמשת לביצוע משימות כגון אחזור מידע בבסיסי נתוניס. תוכל להפיק תועלת מן המידע בנספח במהלך קריאת הפרקים העוסקים בגישה לבסיסי נתוניסם באמצעות תוכניות 88516 |8טפ1\ . נספח 4 - דפי שרת פעילים, מלמד כיצד 106ז856/ מעובד על שרתי אינטרנט, כדי ליצור גמישות במידע המוצג ברשת. נספח 5 - התקליטור המצורף, פרטיס בהמשך. תוכניות וקוד מקור בהם נעשה שימוש בספר כל קטעי הקוד המופיעים בספר זה, ניתניס בתקליטור המצורף. תוכל להשתמש בקטעיס אלה בשלמותם כדי לחסוך מן, ולמנוע טעויות הקלדה במהלך העבודה עס הדוגמאות שבספר. כמו כן, תוכל למצוא את כל התוכניות המופיעות בספר. 4 סדנת לימוד 6.0 8\ התקציטור המצורף .- בתקליטור המצוכף תמצא את תיקיית קבצי הקוד הרלוונטיים לספר גה > תיקיה בשם- 1 הנמצאת תחת התיקיה 800%5.: בנוסף, תמצא- בר קטלוג ואדה של הוד-עמי- ותוכנות תופשיות. להרחבה על תכולת התקליטור ואופן השימוש ברך פנה לנספת-5. מוסכמות ואלמנטים מיוחדים בהם נעשה שימוש בספר זה ספר זה עושה שימוש במספר מוסכמות ואלמנטים מיוחדים, במטרה להדגיש נושאיס מסוימים, ולהקל על הקריאה והשימוש בספר. בטרס תתחיל בקריאה, מומלצ כי תתבונן במוסכמות ואלמנטיס אלה ותאפשר להסם להרחיב את ניסיונך כקורא: מוסכמות הרשימה שלהלן מפרטת את המוסכמות בהן עושה הספר שימוש: * | מילים ומשפטים המדגישים את כוונת המחבר, כמו גם מונחיס חדשים, מופיעים באותיות מודגשות. + קטעי הקוד מופיעיס ברקע אפור. > מקשי הפעלה מסומנים על ידי קו מדגיש, למשל, הביטוי הבא: 5חסוטקס ,5!ססד מלמד כי ניתן להיכנס לתפריט פ|ססד על ידי צירוף המקשיסם ז++/4 ואחר להפעיל את הפקודה פחסשסס על ידי הצירוף 6+0!. + חלקים שונים בקטעי הקוד המובאים בספר, מופיעים מדי פעם בגופן נטוי. אלה הס חלקיס אשר עליך להוסיף לתוכניות קיימות. שיטה זו מאפשרת לך לראות מה עליך להוסיף או לשנות על פי ההקשר. + בשל מגבלות הרוחב של עמודי הספר, נאלצנו במקריס מסוימים, לשבור שורות קוד ארוכות במיוחד למספר חלקים. במקריס אלה, מופיע, בסוף השורה השבורה, סימן ההמשך ( ) של 8856 |1508/. בעת העתקת הקוד למחשב, תוכל להשמיט את סימני ההמשך ולכתוב את הקוד במלואו בשורה בודדת או לחילופין - להעתיקו כפי שהוא מופיע בספר. תוכנת 88516 |8טפו\ תדע לפרש את הקוד בכל אחת מן הצורות שתבחר. מבוא | 35 אלמנטים מיוחדים סוגיס שוניס של מידע מוצגיס בספר באמצעות אלמנטים מיוחדים. להלן הסבריס ודוגמאות אשר יעזרו לך להכיר את האלמנטיס השוניס ומשמעותס. כל פרק מתחיל עם י'מפת דרכים'" או רשימת נושאי משנה. כמו כן, בסוף כל פרק, תמצא סעיף ימכאן והלאה..." בו תמצא סיכוס קצר של הנושאים שנדונו במהלך הפרק וכן הפניות לפרקים אחרים, אשר עוסקיס בנושאיס קשורים, או מרחיבים את הדיון בנושאיס שכבר למדת. ראה הפניות להערות הסימוכין המשולבות בגוף הפרק, והפניות למקומות נוספים המכילים מידע לגבי הנושאים הנלמדים. טיפ: המלצה קצרה ושימושית המתייחסת לפעולות ותהליכים מהירים הנוטים לחמוק מן העין במהלך התכנות. הערה: מידע נוסף אשר עשוי לעזור לך להימנע מבעיות מיותרות, או עצה טובה הקשורה לנושא הנלמד. ם אזהרה: אזהרה בפני בעיות העלולות להיגרם על ידי תהליך מסוים, תוצאות בלתי צפויות וטעויות נפוצות שיש להימנע מהן. . בתקליטור: " הפניות לקבצי הקוד שבתקליטור המצורף. הערות שוליים: הסברים ארוכים יותר אשר אינם חלק מן הזרימה השוטפת של הפרק. קרא את הערות השוליים לצורך העמקת היכרותך עם הנושאים הנלמדים. 66 סדנת לימוד 6.0 8\ חלק 1 היכרות ראשונית עם 6ו₪35 ובּטפו ]וז 6 : 0 5 שו >ן/\ של = פרק 1: להתחיל ב- 83516 ובּ150 פרק 2: יצירת התוכנית הראשונה שלך פרק 3: אבני היסוד של 83516 |בּשפו\ פרק 4: שימוש בפקדי ברירת המחדל של 83516 |ב1503\ 7 1 להתחיל ב- 83516 |בּשט5ו פרק 1: להתחיל ב- 8856 |גטפו\ ‏ 39 כאשר אנשיס פוגשיס אדס המומחה ב- 8856 |8טפו\ הס בדרך כלל מעלים בפניו את השאלות הבאות: + מהל 8856 |1508/\? > האס 8856 |1508/ חיא תוכנית? + מה ניתן לעשות עם 88516 |1508/? > מדוע כדאי לי ללמוד 88516 |1508\ז חבילת 8856 |ה508/\ של חברת 167050 מוגדרת כמערכת פיתוח. באופןו פשטני, מערכת פיתוח זו מיועדת לכתיבת יישומי מחשב מבוססי פווספחו/\. בחבילה נכלליס 6 | ומספר כליםס נוספים המיועדיס לסייע בכתיבת תוכניות. 88516 |1508/\, כשלעצמה, אינה אפליקציה, אלא כלי שבאמצעותו ניתן לפתח אפליקציות. חבילת 8856 |508ו מאפשרת לפתח יישומיס המותאמיסם באופן אישי לדרישות המשתמש ופותרת אותך (או את החברה שלך) מהתלות במוצרי מדף סטנדרטיים. תוכנית מחשב טובה היא זו המגלה גמישות ומתאימה את עצמה לדרישות המשתמש, זאת בניגוד לתוכנית המאלצת את המשתמש להתאים את עצמו למגבלותיה. פרק זה מציג בפניך את משמעות המושג תוכנית מחשב ודן בשפות תכנות ובתרומתן ליצירת תוכניות המותאמות לצרכיך. הפרק מסיים בציון מספר נקודות חשובות אשר עליך להביא בחשבון בעת תכנון וגיבוש תוכנית מחשב. חלק זה כולל גס קישור קצר לפרק 2, יצירת התוכנית הראשונה. מהי תוכנית מחשב? תוכניות המחשב אשר אתה מפתח ב- 8856 |1508/\ מכונות גס יישומים, תוכנות או אפליקציות. תוכניות אלו יכולות לבצע כמעט כל משימה אשר אתה מעלה בדמיונך. יישומי מחשב מתחלקיס בדרך כלל, לשתי קטגוריות עיקריות: מוצרי מדף (ססִסַהּא6בּק), ויישומים מותאמים אישית (500ט6). המונח מוצרי מדף מתייחס לכל אותם יישומיס אשר ניתן לרכוש בחנויות התוכנה, באמצעות משלוח בדואר, ישירות מן היצרן וכיוצא בזה. מוצרי מדף מתוכננים מראש לטיפול במשימות מסוימות. לדוגמה, ניתן לרכוש את התוכנה 6זס)\ 160508 לעריכה ועיבוד תמלילים, את התוכנה אה" חו/\ של %66ה8חץ5 לשליחה וקבלת פקסיס באמצעות המחשב, או את תוכנת ה055860ז1\ של 6166 להגנה על המחשב מפני וירוסיס. לקטגוריה זו משתייכיס גס משחקי המחשב, כדוגמת 5%ץ₪ של 6חטטז006ז8 או זסז3!חו5 0%ו!= של אספססווא. היישומיס שהוזכרו לעיל הינס חלק מזערי מעשרות אלפי מוצרי המדף המיועדים למחשבי 06 מבוססי פושסטחו/ץ. יישומים מותאמים אישית מיועדיסם בדרך כלל לביצוע משימה מיוחדת כלשהי במסגרת ארגון מסוים. לדוגמה, חברה מסוימת הזקוקה לתוכנית מחשב אשר תנהל מערכת הזמנות ותנהל מעקב אחר מוצרים, מרגע כניסתם למלאי ועד שיווקס ללקות. אס לא קיים בשוק מוצר מדף העונה לצרכי החברה, ניתן לפתח יישוס מותאם אישית, 20| סדנת לימוד 6.0 8\ לביצוע המשימה הדרושה. אחד היתרונות ביישוס מותאס אישית במקרה זה, היא שניתן להתאימו באופן שוטף לצרכי החברה המשתנים. זאת להבדיל ממוצרי מדף, אשר בדרך כלל לא ניתן להתאימס או לשנותם על פי צרכיו האישיים של המשתמש. הערה: יש תוכניות מחשב, המהוות שילוב של מוצר מדף ויישום מותאם אישית. יצרני תוכנה שונים פיתחו מוצרי מדף המכילים תכונות אשר המשתמש יכול להתאים לצרכיו. תופעה זו נפוצה בעיקר אצל יצרני תוכנה של שוק אנכי, אשר מוצריהם מיועדים לתחום תעשייתי מסוים. לדוגמה, כשלעצמי, השקעתי מספר שנים בפיתוח תוכנה המיועדת למנהלי תערוכות ומסייעת בארגון שווקי חוצות, ירידי עתיקות, אירועים מסחריים וכיוצא בזה. כל לקוחותיי משתמשים במערכות זהות ביסודן, אשר עברו התאמות ושינויים כדי לענות לצרכיהם האישיים, בהתאם לסיטואציות הארגוניות השונות. סוג נוסף של תוכנות "בנות תערובת" הינם מוצרי מדף בעלי ממשק משתמש גמיש. ממשקים אלה, הניתנים להתאמה אישית על ידי המשתמש, הופכים למעשה, כל מוצר מדף ליישום מותאם אישית! לכל תוכניות המחשב, באשר הן, קייס מכנה משותף בסיסי והוא עובדת היותן כתובות בשפת תכנות אחת או יותר, כדוגמת 88516 |1508/\. תוכניות מחשב ושפות תכנות תוכנית מחשב היא בסופו של דבר סדרת הוראות הגורמות למחשב לבצע משימה מסוימת. שפת מחשב, כדוגמת 8856 |1508/, משמשת לתרגוס הוראות משפת בני האדס לפקודות אותן יכול המחשב להבין ולבצע. אס נביט לרגע ברמה הבסיסית ביותר של המחשב, נמצא כי המעבד, האחראי יותר מכל על ביצועי המחשב, מבין אך ורק הוראות ספרתיות, או ליתר דיוק - פקודות פשוטות ביותר העוסקות בעיקר בהעברות מספרים בין כתובות ויכרון. פקודות פשוטות אלה, אותן מבין המעבד, נקראות שפת מכונה (סחַהַּפַח ! 6חוח86א), כלומר הפקודות הבסיסיות ביותר באמצעותן ניתן לתפעל את מחשב 6ק. מקובל להתייחס לשפת מכונה כשפת רמה נמוכה (8000806 ] |16%6 צוס)), זאת משוס שהיא ממוקמת עמוק למטה, ברמת ההבנה של המעבד. כפי שאתה בודאי מנחש, כתיבת תוכניות בשפת מכונה היא משימה מרתיעה למדי. למזלנו, לא נדרשת בקיאות בשפת המעבד לצורך בניית תוכנית מחשב. כיוס, עומדות לרשותנו מיגוון שפות תכנות, המאפשרות לנו לעבוד ברמות גבוהות יותר ולכתוב תוכניות המורכבות מהוראות מחשב בשפה הדומה מעט לאנגלית. בעת הפעלת התוכנית, ההוראות השונות מתורגמות לסדרת פקודות בשפת מכונה, אותן יכול המעבד להבין ולבצע. בין שפות התכנות שהתפתחו במרוצת השנים, ניתן לציין את ח8שזס] ו-|ספס6, המשמשות בעיקר מפתחים העובדים על מערכות מחשב מרכזיות ולעומתן - 8856, (8568ק, 6 ו- ++6 המשמשות בדרך כלל, לכתיבת תוכניות ברמת המחשב האישי. פרק 1: להתחיל ב- 8856 |הטפ ‏ 41 6 |808ו/\ קיימת בשוק מספר שנים ואפשר לראותה כתולדה של 84516 (67'5חחו₪60 6 חסססט50ח1 6ו|סטוחץ5 6פסמזטק-||א) אשר התפתחה, כפי שמעיד שמה, כשפה המיועדת לתוכניתנים מתחיליס. מפתחיס רביס רכשו את ניסיונס המקצועי הראשון בשפת 84516, בטרס המשיכו לשפות בעלות עצמה רבה יותר. 6 |08פו/, אשר פותחה על ידי 670508 לאחר פיתות פאוסטחו/ו, היא למעשה גירסה ויזגואלית של 84516. מאז שהוצאה לשוק, התפתחה 8856 |508ו/\ במהירות והפכה לכלי פיתוח רב עצמה, והשאירה הרחק מאחור את המוניטין של קודמתה, כשפה המיועדת למתחילים בלבד. אחת התכונות הנחמדות של 88566 |1808\ היא העובדה שניתן לפתח באמצעותה יישומים יציבים במהירות רבה. כפי שתיווכח במהלך לימודיך, 8856 1808 חזקה מאוד בקיצור תהליכי פיתוח, אשר בדרך כלל גוזליס מן המפתת זמן ואנרגיה רביס. תכונה חשובה זו חוסכת ממנו משימות פיתוח אפרוריות ושגרתיות ומפנה את זמנו לשיפור איכותה ורמת ביצועיה של התוכנית. 88516 |1508/ נחשבת לכלי מהיר לפיתות יישומיס, או בשפה מקצועית - ₪0 (|וססד זחסוחקס|6עסכ הסספסו|מקה 0וס3ת). 6 ובּטפוצ היא שפה חכמה הסיבה העיקרית לפופולריות ולעוצמה של 8856 |8טפו/, והה לזו העומדת ביסוד הצלחתה של פשסטחו/צ. חברת ‏ 50סזסוו לקחה טכנולוגיה מורכבת (פיתוח יישומי מחשב) ופישטה אותה באופן משמעותי באמצעות ממשק עבודה גרפי. נניח כי עליך לכתוב תוכנית עבור החברה בה אתה עובד. סביבת פיתות ויזואלית מאפשרת לך לעצב את ממשק המשתמש במהירות רבה תוך ארגון החלונות והאלמנטים השונים על גבי המסך, באופן הדומה לסידור גיליון עיתון. בכלי פיתוח מבוססי טקסט, לעומת זאת, אתה שולט בממשק המשתמש באמצעות תוכנית של פקודות כתובות. ההגיון מלמד כי קל יותר לרכוש יכולת תכנות בשפות הוויזואליות, וכי העבודה בסביבה גרפית חוסכת זמן רב. במקרה זה, נכונה הסיסמה הישנה ייתמונה אחת שווה אלף מילים'י. עס ואת, אל תטעה לחשוב ש- ₪856 |508ו/\ היא רק עוד סוג של ממשק יפה. עקרון יסוד נוסף של 8856 |1508\ היא היכולת להשתמש ברכיבים, או עצמים (0516656) המובנים בה מבפנים. סוג של עצמיס עליהם תלמד בקרוב מאוד, הס הפקדים (0000|5) של 88516 |1508/\. הפקדים המזכירים מאוד רכיבים בלוח המחוונים ברכב, הם אלמנטיס המשמשיס בעת יצירת ממשק המשתמש. ניתן להשתמש בהס להצגת מידע (כפי שעושה מד המהירות), או לביצוע פעולה מסוימת (כפי שעושה המתנע). רביס מהתהליכים המתרחשים ברכב, כגון שילוב בין הצתה-מתנע ומנוע, נסתריס מהעין. הנהג מבחינתו שולט בפעולות הרכב באמצעות לוח המחוונים. באופן דומה, פקדי 8856 |1508/ מאפשריס להוסיף תכונות שונות, מבלי שתצטרך להיות מעורב באופן פעולתן 'ימאחורי הקלעיסיי. לדוגמה, אס ברצונך שתוכניתך תדע לקלוט מידע, כל שעליך לעשות הוא לשב פקד מתאים. זה למעשה היתרון הגדול של שפות תכנות ויזואליות, תוכל להתרכז במשימות התכנות ולא כיצד לגרוס לשפת התכנות לבצע אותן. 212 סדנת לימוד 6.0 8\ החשיבות הטמונה בעיצוב מוקדם של תוכניתך פרופסור שלימד אותי אנגלית בקולגי תיאר בפנינו פעס את סוגי הסופרים השונים: ייסופר מסורתי בדרך כלל כותב את הסיפור שלו במבנה של התחלה - אמצע - סוף. מודרניסט עשוי לשמר את אותו מבנה ופוסט מודרניסט יכלול רק שניים מבין השלושהיי. למרבה הצער, מחברי תוכניות מחשב אינס נהניס מאותה פריבילגיה. הואיל ועבודת התכנות היא מובנית מטבעה, קיימת חשיבות רבה לתכנון מוקדס של התוכנית בטרם ניגשים לכתיבתה בפועל. אמנס, מתכנתים רבים נוטים להתתיל מייד בכתיבת הקוד אך מומלץ בחוס כי תסגל לעצמך הרגל של תכנון מוקדסם, אפילו בתוכניות קטנות ופשוטות. לכל הפחות, שב מול דף נייר ריק, רשוס לעצמך הערות לגבי המשימות שאתה מייעד לתוכנית וצייר סקיצה של ממשק המשתמש. הערה: יש לציין כי האסטרטגיה אשר אנו מציגים בפרק זה, מהווה מערכת כללית של הנחיות ואינה מתיימרת, בשום אופן, להיות הגישה הנכונה היחידה לתכנות. הטכניקה בה תבחר להשתמש בסופו של דבר, עשויה להיות שונה לגמרי. שילוב העיצוב המוקדם בתהליך הפיתוח בעת בניית תוכנית מחשב, חשוב לנקוט בגישה מובנית. צעדיס מסוימים צריכיס להתבצע בסדר קבוע ומוטב שתתרגל, כבר מן ההתחלה, לעבוד בסדר הנכון. אמנס, מפתה מאוד להריצ 28516 |808ו/\ ולגשת מייד למלאכה, אך האמן לנו - השקעת מאמצ קטן בעיצוב מוקדס, תחסוך לך זמן וכאבי ראש רביס בהמשך עבודתך. להלן הצעדים שעליך לבצע במהלך בניית תוכנית מחשב: 1. תכנון משימות התוכנית (כיצד עליה לעבוד). 2 עיצוב ממשק המשתמש (כיצד עליה להיראות). 3 כתיבת הקוד של התוכנית (הוצאה לפועל של צעדים 1 ו-2). 4. בחינת ביצועי התוכנית וניפוי שגיאות (כולל בדיקת ביתא המבוצעת, במידת האפשר, על ידי משתמשים מחוצ לצוות הפיתוח). 5 תיעוד והפצה של התוכנית (שימוש). צעדיס אלה כוללנייס ביותר ואינס משקפיס את התהליך בשלמותו. בעת הצגת תוכנית הדוגמה בפרק הבא, נתאר מספר צעדים נוספים, המיוחדיס לתכנות ב- 88516 |1508/\. שני הצעדיס הראשונים המוצגיס לעיל, משקפים את תהליך הבנייה בפועל של התוכנית. תוכנית הדוגמה המוצגת בפרק 2 מהווה בסיס טוב להדגמת הצעדיס השוניס הכרוכיס בתכנון, בנייה והפעלה של תוכנית 8856 |08פו/\. שני הצעדיס האחרוניס פרק 1: להתחיל ב- 8856 |הטפו\ ‏ 43 (בחינת ביצועיס וניפוי שגיאות, הפצה) מסוקריס רק בשלביס מאוחריס יותר בספר, זאת למרות שאתה לומד כיצד להפעיל את התוכנית כבר במסגרת פרק 2. הערה: בעת פיתוח פרויקט רחב היקף, מומלץ, משיקולי נוחיות, לפרקו למספר חלקים ולטפל בכל חלק בנפרד. ניתן להסתייע בתכונות רבות של 88566 |1808/\ לצורך חלוקת העבודה על פרויקט גדול בין חברי צוות הפיתוח. מעט על עיצוב התוכנית בעת חניכת פרויקט חדש, מפתה מאוד להתחיל מייד בשרבוט הקוד. אחרי הכל, החלקים היצירתיים ביותר בתהליך הפיתוח הס שרטוט הממשק וכתיבת הקוד עבור התוכנית. עס ואת, תוכנית טובה מתחילה בעיצוב מוקדס. כשמדובר בפרויקטים קטנים, אין צורך בתרשים ורימה מפורט, אם כי מצד שני, גם בפרויקטים מסוג וה כדאי שתהיה תוכנית מוקדמת. בתוס תהליך התכנון מומלצ כי יימצאו בידך הפריטיס הבאיס: + רשימה תמציתית של משימות התוכנית. + לוח זמניס להשלמת כל משימה ומשימה. + הבהרה של מידת התלות ההדדית בין חלקי התוכנית השוניס. > רשימת הקריטריונים על פיהס תיבדק התוכנית. לתוכנית בעלת מורכבות דומה לוו המובאת בפרק 2, תהליך העיצוב המוקדם יכול להסתכס ברשימת משימות קצרה שבהן צריכה התוכנית לטפל. אך, כשמדובר בתוכניות מורכבות יותר, תכנון טוב עשוי לכלול - חומר כתוב, גרפים, תרשימי ורימה, מסמך אבני דרך ותוכנית בקרת איכות ותיאוס ציפיות. רמת התיעוד הנדרשת לפרויקט מסויס נתונה לשיקול דעתך ושל לקוחותיך (המשתמשים שעבורס מיועדת התוכנית). אך, הקפד תמיד להעלות את תכנוניך על הכתב, בצורה בהירה ומדויקת. מכאן... פרק זה פרש בפניך את עקרונות התכנות ב- 8856 |1508/. הפרקיס הבאים ילוו אותך בבניית היישומיס הראשוניס שלך: > פרק 2 - יצירת התוכנית הראשונה, מלווה אותך צעד אחר צעד ומסייע לך בבניית תוכנית 28516 |1508, הראשונה שלך. פרק 3 - אבני היסוד של 6 | 5ו/, מבאר כל אחד מן המרכיביס הבסיסיים היובריס תוכנית 58516 |8טפו/. > פרק 9 - יסודות התכנות של 88516 !1503/, ממשיך שלב אחד קדימה ומעמיק את יכולותיך בבניית יישומי 88516 |1508/. 4 סדנת לימוד 6.0 8\ 2 יצירת התוכנית הראשונה פרק 2: יצירת התוכנית הראשונה | 45 ברוב ספרי התכנות נהוג לתת לקורא להתחיל בבניית יישוס ראשוני, ובסיסי ביותר, בסגנון הדומה ל- *י0!וסש\ ,סו|6יי הקלאסי. בדוגמה פשוטה זו, המשתמש מתבקש להתחיל פעולה כלשהי כגון לחיצה על לחצן או הקשה על מקש, וקבלת הודעה כגון 'יוזס\ ,סווסוזיי, כתגובה. בגירסה מעט מורכבת יותר היישוס מבקש מהמשתמש להזין את שמו ומגיב בהודעה מותאמת אישית כגון ''חחסכ ,סו|6'י. למרות שדוגמאות אלו מספיקות כדי להמחיש שהינך יכול, הלכה למעשה, להשתמש בשפת התכנות כדי ליצור תוכנית, התוצאה המתקבלת אינה שימושית במיוחד. גישתנו בספר וה היא להתחיל בתוכנית דוגמה שלא רק תמחיש את העקרונות של יצירת תוכנית ב- 8856 |1508/, אלא גס תהיה שימושית בעולס האמיתי. בפרק זה נבנה יישוס לחישוב הלוואות שמחשב את התשלומיס התקופתיים הנחוציס לכיסוי ההלוואה, בהתחשב בנתונים כגון תנאי ההלוואה ואחוז הריבית. המשתמשיס שלך יוכלו להזין ולשנות ערכים אלה וערכיס אחרים, לבצע את החישוביס הדרושיס ולקבל את תוצאותיהם. בנוסף לכך, המשתמשים יוכלו לקבל לוח זמניס של התשלומיס למשך כל זמן קיוס ההלוואה. כפי שהינך רואה, הפיסקה הקודמת מתארת מה היישוס יעשה, ואיזו אינפורמציה דרושה לביצוע הפעולה. כמו כן ניתן מידע לגבי הדרך שבה יש לתכנן את הממשק. זה לא היה נורא כל כך, הלא כן! הערה: היישום שניצור פותח מתוך תוכנה שיתופית בשם ז26וצוסוחוה צוז. בעזרת תכנון קפדני, אפשר להשתמש ב- 88566 ו8טפו/\ ליצירת יישומי תוכנה ברמה מסחרית. יצירת ממשק המשתמש לתוכנית שלך ממשק המשתמש (677800זח1 ז56ט) של תוכנה מתייחס לחלק, או חלקים, בתוכנית שהמשתמש רואה, ואיתס הוא מתקשר. כאשר תפתח את ממשק המשתמש של התוכנית, תוכל ללמוד כיצד להשתמש בכלים הרביס המסופקים על ידי התקן 15 (0חסותחסזושח= %הסותקס|6/6כ 6078%60זה1) של ₪856 |הטפו\. כפי שמוסבר בפרק 1, להתחיל ב- 83516 [1503/, התקן 105 של 8856 |1508/ יוצר עבודה קלה בתכנון ממשק המשתמש, אשר הווה פעס משימה קשה ומסובכת במקרה הטוב. לפני שתתחיל, הבט כיצד ייראה התוצר הסופי. תרשיס 2.1 מראה את המסך הראשי במחשב ההלוואות, בעודו בשימוש. 26 סדנת לימוד 6.0 8\ כיצד להתחיל הבה נתחיל ביצירת פרויקט (66[סזק) חדש. 666[סופ הוא בעצס סט קבצים שמכילים מידע אודות הרכיבים שיוצרים את היישום (התוכנית). כדי ליצור תוכנית 6 |פטפו/\, עליך לשנות את הרכיביס השוניס באופן שיתאים ליישוס שלך. כדי להתחיל בבניית תוכנית מחשב ההלוואות, התחל בהרצת 8856 |1508/\. מייד תראה את תיבת הדו-שיח ₪0166% /שפא, כפי שמתואר בתרשים 2.2. במידה ו-88566 |8טפו\ כבר רצה, או אם תיבת הדו-שיח 6[סזק אוסא אינה מופיעה, בחר 116=, ואז 0[66% ששא מתוך שורת התפריט (ראה תרשים 2.3). |<ום)- זס)הּ!טסו3ּ:) חבּס ]| .₪ תרשים 2.1: תוכנית | וקסוק מחשב ההלוואות מציעה למשתמש מיגוון 5 | [4] 4366 ]65ז6)ח| |הגוחחה. אפשרויות | 35 /'] הזז ד | :תעב עווחוס] | וא | ]סע 6)ב|גוס/ה 5 בתקליטור: התוכנית נמצאת בתקליטור ונקראת 68|6ח08 | |<|? ₪ ןז סו םומ - ב = .ו | חספ | 8 [ 6 9 % א ₪ ל 5 23 חסוסבּהווסקה 8/' או 1 אפצוסם | שאם אסששה = 34 בזבקו/\ חס % % % % 5% % % % 9 <א א6%שו 0 הו חסובּ6ו!קקה 115 06פ[סזק 2853 | בזהק/ש פע , ₪ זהפוחטססם זסהַבחבו] תרשים 2: גרסת תיבת ככ 5% 5% הדו-שיח 6[סזק סא המופיעה כש- 8856 |ה508ו\ עולה 6זגווט) 6 ו 313100 105 אוסת5 חס -] פרק 2: יצירת התוכנית הראשונה | 47 |א. ו | ₪ - 6% 1 אפשוז6. א 206% = 33] 0 | ₪5 יי 9 אא 2 חסוסבשו|סקה 115 ל66[סזק 2868 | בזהקו/\ ל = חססבם!פקה 8 זפהַבחבו] קוא % ל % ב % 5 % פְ וי שו 6% יי חסוסבשו!קק ה = 6א= לתפונססם ‏ |ום זהפתחנוססס 5 % =| תרשים 2.3: גירסה זו של תיבת הדו-ש'ח 66[סזק שופ מופיעה כאשר מתחילים פרויקט חדש כאשר 8856 |הטפו\ כבר רצה תיבת הדו-שיח 60[סזק וסא מאפשרת לנו להגיד את סוג הפרויקט אשר ברצוננו ליצור. עבור תוכנית מחשב ההלוואות, בחר באפשרות 5א5 55370376 ולחצ א0. מייד תועבר לסביבת הפיתוח של 88516 |1508/, כפי שמתואר בתרשים 2.4. הערה: עקב תכונות ההתאמה האישית המתקדמות של 8856 |טפוצ, המסך שתקבל עלול להיראות שונה במקצת מאשר המסך שבתרשים 2.4. -] ו =---שורת קפ ואיסטחוע+ 5ח836-1 !סד המזסָמום | ופט חנ הטספ )זט סו סע ₪08 ₪6 הכותרת | לש 8 ו , |= ₪80 ₪ 0 |₪ )₪ - ב -₪| ! | [חזס-]) [חחזט-] - 9041ן0ז .ם (0[0061ז0) 661[סזק ם 0 ו ו (1 הס [חחזסת 5 טופס 1-0 6 00 2-6 חב זסקסה] וס ₪ פד תרשים 2.4: סביבת הפיתוח של 8856 וש5ו/\ היא בד הציור ליצירת היישום שלך. דבר ראשון, שיס לב לשורת הכותרת של 88516 |1508/ - במיוחד למילה ח0ופ6כ. דבר זה אומר שהינך נמצא כרגע במצב עיצוב (1006! ח65\0כ) או 6ו₪ו%חש651ם. אהו השס שניתן לומן בו אתס מעצב את התוכנית. מאוחר יותר, כאשר תריצ את התוכנית, 8856 |808ו\ תעבור למצב ריצה (1006 חטף). 8[ סדנת לימוד 6.0 8\ כפי שהינך רואה, תוכנית 5%5 50800810 חדשה מורכבת מטופס (וחזסת) או חלון אחד. חלון זה יהיה, ברוב המקרים, ממשק המשתמש הראשי של התוכנית שלכם. יישומי 6 |פט5\ מורכבים מאחד או יותר מרכיבים, כגון טפסים (פוחזס=), מודולי קוד ומחלקות, וכן פקדים (600₪0!5) ומרכיבים אחרים. הבט ב- יוזס!טא5 0[66%ז5 (כפי שמתואר בתרשים 2.5). הוא מורכב מרשימה של תוכן הפרויקט הנוכחי. מכיון שרק כעת התחלת פרויקט חדש, הוא מכיל טופס אחד בלבד, אשר נקרא 1חחזס=. טופס זה ממוקסם בתיקיית הטפסים (פוחזסז) של הפרויקט (הנקרא 1 כברירת מחדל). פרויקט יכול להכיל בסופו של דבר מרכיביס רביס, ומטרת סוסא 66[סזק הוא שמירה על הסדר והארגון של הפרויקט שלך. סז - )ספ|סזק (6661[סז) 6661[סזש פחזזס=] 7% -|=] (1 חס 1 וס - ו תרשים 2.5: זפזס|קאם 60[סזק מכיל רשימה של כל מרכיבי הפרויקט שמירת עבודתך בומן כלשהו זה חייב לקרות - המערכת שלך קרסה, הפסקת חשמל, הכלב ניתק את כבל החשמל של המחשב - וכל העבודה נמחקה! כדי לצמצס את הנזק כאשר משהו מסוג וה יקרה (והוא יקרה), עליך להרגיל את עצמך לשמור את עבודתך בדיסק הקשיח מייד כאשר אתה מתחיל פרויקט חדש. לאחר מכן עליך לשמור את עבודתך בכל עת שהיא מתפתחת. עליך לכל הפחות לשמור את עבודתך לפני הרצתה. באופן זה תוכל למנוע את איבוד עבודתך אם התוכנית שכתבת תגרוס למערכת לקרוס (כן, דבר זה יכול לקרות אפילו למפתחיס הטוביסם ביותר). שמירת פרויקטים ב-83516 [150/. תהליך שמירת הפרויקט הינו מורכב מעט יותר מכפי שאתה עלול לצפות. למרות זאת, עס מעט תרגול לא תהיה לך כל בעיה. כדי לשמור פרויקט, עליך לשמור כל אחד מהמרכיביםס של הפרויקט בקובצ נפרד (יש לשמור כל טופס, מודול וכיוצא בזה). לאחר שמירת כל המרכיביםס יש לשמור את הפרויקט עצמו בקוב\ פרויקט. קובצ הפרויקט הוא למעשה הרשימה והמיקוס של כל המרכיבים המהוויס פרויקט זה. טיפ: רצוי ליצור תיקיה נפרדת בדיסק לכל פרויקט שהינך עובד עליו. דבר זה מקל על שמירת הסדר בפרויקט, על ידי שמירת כל הקבצים השייכים לפרויקט באותו מקום. באותו אופן תוכל לשמור לאותה תיקיה כל סוג של קובץ שאינו של 8856 |אטפוצ, אך קשור בפרויקט, קבצי תיעוד, גליונות אלקטרוניים, קבצי גרפיקה וכדומה. פרק 2: יצירת התוכנית הראשונה | 49 כדי לשמור פרויקט, בחר ₪1!6, 0[6זש 6צ58, מתוך התפריט של 88566 |הטפוש, או לחילופין לחצ על לחצן שמירת הפרויקט בסרגל הכלים. בפעס הראשונה שתשמור את הפרויקט (או לחילופין בכל הוספת מרכיב חדש אליו), תעבר דרך אחת או יותר מתיבות הדו-שיח של פקודת 45 586 (ראה תרשיס 2.6), שתופיע עבור כל אחד ממרכיבי הפרויקט, וכן תיבת 45 66[סזק 58/6 עבור קובצ הפרויקט. יהיה עליך להגדיר שס ומיקוס לשמירה עבור כל אחד מהקבצים שמרכיבים את הפרויקט. פקודות שמירה נוספות ישמרו את הקוב פעם נוספת בשמו הקודס. באופן זה ניתן לבצע שמירות מהירות ותכופות על פרויקטים שמוריס על ידי לחיצה על לחצן שמירת הפרויקט. במידה והתווספו מרכיבים נוספיס לפרויקט מאז השמירה האחרונה, תופיע תיבת דו-שיח לשמירה עבור כל מרכיב חדש. הערה: 6 |15084 מכילה אופציה המאפשרת לבדוק האם הפרויקט שמור כהלכה. עליך לבחור פוססד ולאחר מכן פחסוטקס מתוך התפריט הראשי. מתוך תפריט חסשקס יש לבחור בכרטיסיה +חסוהחסזוטח=. במסגרת %5ז513 והבּזףסזק 3 הסהעצ, אפשר להורות ל- 6 |8טפוש לשמור אוטומטית כל שינוי בפרויקט ברגע שמריצים אותו, או לחילופין לתת לך להחליט האם לשמור את השינויים לפני הרצה. |<]? | 5 8וו=] 536 = |₪ [- 8 -] :חן 6 5 | | [+ (חחזו.*) וו הזוס :6 85 586 | סוס תרשים 2.6: תיבת הדו-שיח 45 586 מאפשרת את הגדרת השם והמיקום של הקבצים המרכיבים את הפרויקט שלך טיפ: גד אפשר לשמור מרכיבים בודדים בפרויקט באופן אינדיבידואלי על ידי בחירתם ב- זסזס!קא5 66%[סז₪ ובחירת ₪16 ולאחר מכן (פוחהּח %הסחסקוהס6) 6צ58 מן התפריט הראשי. לחילופין אפשר שמור מרכיב בודד על ידי לחיצה על הלחצן הימני של העכבר על שם המרכיב הרצוי ב- זסזסוקא= 66[סזק, ולאחר מכן בחירת האפשרות פַצה53 (806ח %חה6חסקוח60) מן התפריט המופיע. אפשר לשנות את שם הקובץ על ידי שימוש באפשרות 45 58/6 בכל אחד משתי שיטות אלו. 20 סדנת לימוד 6.0 8\ שמיות הפוויקט מחשב ההלוואות. כעת נשמור פרויקט לדוגמה בשם "מחשב ההלוואות'י. בחר 116=, לאחר מכן 66%[סיוק 53/6, או לחילופין לחצ על לחצן שמירת הפרויקט בסרגל הכלים. בתחילה יהיה עליך לשמור את הטופס היחיד שממנו מורכב הפרויקט (1חזסת). בשלב זה תופיע תיבת הדו-שיח 85 6צ58 אשר בה יוגדר שס ומיקוס הקוב\. %, * תיבת הטקסט פוּחבּא 116= משמשת למתן שס לקובצ אשר בו יישמר מרכיב של הפרויקט. בדוגמה, השס המופיע הוא שס ברירת המחדל של הקוב\ - וחזו.1 חזסם. שנה שס וה לשםסם המתאר בדייקנות רבה יותר את תוכן הקוב\ כגון חו68|018ח108. אין צורך להוסיף את הסיומת וח. לשס הקובצ. הסיומת תתווסף אוטומטית עס שמירת הקוב\. * תיבת הרשימה הנפתחת 18 6שצ58, אשר מופיעה בחלקה העליון של תיבת הדו-שיח, מאפשרת את הגדרת המקוס אשר בו יישמר המרכיב. אם לא נשמר דבר מאז תחילת ההפעלה של 8856 |1508/, תוצג בפנינו תיקיית ברירת המחדל (בדרך כלל התיקיה שבה נמצאת 8856 |508ו/). על ידי שימוש ברשימה הנפתחת מתיבה זו, ניתן לנווט אל התיקיה אשר בה ברצונך לשמור את הקוב>. במידת הצורך ניתן ליצור תיקיה חדשה לפרויקט על ידי לחיצה על לחצן 01061 שסא. ם אזהרה: לעולם אל תשמור את הקבצים של מרכיבי היישום בתיקיה של קבצי התוכנה של 6 |508ו/. רצוי בדרך כלל ליצור ליישום תיקיה משלו. למטרת דוגמה זו, נווט לתיקיית השורש של הדיסק הקשיח. השתמש בלחצן ז0!00= ₪6 076816 על מנת ליצור תיקיה חדשה. שנה את שם התיקיה החדשה מ- ז0!06= שו6 ל- 108068|6. לח לחיצה כפולה על תיקיית 1080086 כדי להפוך אותה לפעילה, ולחצ על 536 כדי להשלים את הפעולה. לאחר שמירת הטופס, תופיע תיבת הדו-שיח 45 66%6[סו₪ 6ע58. בתיבה זו יש להגדיר את שסם ומיקוס קובצ הפרויקט. מיקום ברירת המחדל של הקוב\ אמור להיות המיקוס שבו נשמר קוב הטופס. שנה את שם הקוב\ מ- 0םפ/.1641סזק ל- ז0ז68|60|8 ח08! (הסיומת ק8/. או 6%[סזק 88516 |8טפו\ תתווסף אוטומטית). לחצ על 586 לסיום. עכשיו, לאחר שבנינו את תבנית הבסיס של הפרויקט, הענקנו לו שס ושמרנו אותו, אנו מוכניס להתחיל בפיתוח האמיתי. כמובן שכדי שהתוכנית תוכל לעבד מידע, עליך לתכנן כיצד לקבל מידע וה מהמשתמש. הערה: בהתחשב באופציות שנבחרו כאשר 50/0100 |608\ הותקנה (אם 8856 |1508 שברשותך הותקנה כחלק ממערכת זו), עשויה להופיע תיבת דו-שיח השואלת אם ברצונך להוסיף את הפרויקט ל-66586ז50 - מערכת זו דואגת שקבצי המקור של הפרויקט יהיו מאובטחים ומגובים, ודואגת לארגון גרסאות קבצי מקור. ענה לא על השאלה. פרק 2: יצירת התוכנית הראשונה | 51 קבלת מידע מהמשתמש מרבית תוכנות המחשב הן אינטראקטיביות. תוכנות אלו צריכות לקבל מידע מהמשתמש וכן לספק לו מידע אחר. תוכנית 8856 |%1508 מתקשרת עס המשתמש באמצעות פקדים (600%0!5) אשר ממוקמיס בתוך טופס (או טפסי) התוכנית. פקד הוא מרכיב אשר אנו מציביס על הטופס ואשר מתקשר עס המשתמש או עס התוכנית. רביס מהפקדים ב- 88516 |1508/\ מקבלים מידע מהמשתמש. ממשק המשתמש עבור תוכנית מחשב ההלוואות יהיה אחראי על קבלת קלט, הצגת פלט, והרצת חישובי ההלוואות. אנו נשתמש בשלושה מן הפקדיס הנפוצים ביותר ב- 28516 |1508/. ב פקד תיבת הטקסט (א000א16) המשמש לקבלת מידע טקסטואלי מהמשתמש, וכן להצגת מידע מסויס חזרה למשתמש. 43 פקד התווית (|1886) המשמש להצגת כיתוב המציג מידע למשתמש. תוויות דומות לתיבות טקסט, אך אינס ניתנות לשינוי ועריכה על ידי המשתמש. | פקד לחצן פקודה (חסטזט8 0חהחוהחס6) עליו יכול המשתמש ללחו כדי להפעיל פעולות של התוכנית. חיש כל הפקדיס הללו הינס חלק מסט הפקדיס הבסיסי הנמצא בארגז הכלים של 88516 |1508/\ (ראה 2.7). | ₪ כ שַ 5 ₪ 9 0 3 < < ה 5ן תרשים 2.7: ארגז הכלים של 88516 |1508/\ מכיל את הפקדים הנחוצים לנו לבניית יישומים ₪ / ₪ 0%5₪ 3 | ₪ ₪ ₪ 5 0 ₪ הוספת פקד תיבת הטקסט פקד תיבת הטקסט (אספ 16%) הינו תיבה המציגה ומקבלת טקסט. במידה מסוימת, תיבה זו דומה לתיבת טקסט שנמצאת בטפסי סקרים. התיבה יכולה לקבל קלט (מעט או עיפרון) וכן להציג מידע. פקד תיבת הטקסט הינו דוגמה להתקדמות הרבה שחלה בשפות התכנות. שפות תכנות מוקדמות יותר הצריכו מאמצ רב כדי להחליף מידע עס המשתמש. 8856 |1508\ עובדת בשיתוף עס פאוספחו/\ כדי לטפל בפרטיס שולייס ופשוטיס כגון מיקוס הטקסט על המסך, כיצד המידע יתקבל מהמשתמש וכדומה. 6 |8פו/\ צריכה להתרכז בטקסט המופיע בתוך התיבה. הפקד עצמו מטפל בשאר. 2 סדנת לימוד 6.0 8\ ₪ הוספת פקד לטופס. כדי ש- 8856 |1508\ תוכל להשתמש בפקד, יש להוסיף אותו לטופס. עבור תוכנית מחשב ההלוואות נתחיל בהצבת תיבת טקסט בטופס הראשי: 1 לת על כלי פקד תיבת הטקסט בארגז הכלים. אם אינך בטוח איזה מהכלים הוא כלי תיבת הטקסט, השאר את מצביע העכבר מספר שניות על כל כלי, כדי לקבל תיאור כלי (מודוססד) על כלי גה. 2 הזז את מצביע העכבר לתוך הטופס. שיס לב שהמצביע משנה צורתו לצלב. צורת הצלב מצביעה על כך שאתה עומד לצייר פקד. 33 הזו את המצביע לפינה אחת של האזור אותו ברצונך להגדיר לפקד. 4 לח והחזק לחוץ את לחצן העכבר. 5 גרור את העכבר לפינה הנגדית של הפקד. בעודך גורר את העכבר, שיס לב שתיבת הגדרת גודל מופיעה מהפינה הראשונה של מיקוס הפקד, אל המיקוס הנוכחי של מצביע העכבר. תיבה זו מצביעה היכן ימוקס הפקד (ראה תרשים 2.8). תק \ תרשים 2.8: תיבת תיאור כלי (קודוססד) מופיעה ומראה את מימדי הפקד ב-פואוד (יחידת מידה מיוחדת שתתואר בהמשך הספר) 6 כאשר אתה מרוצה מגודל וצורת הפקד, שחרר את לחצן העכבר. הפקד יצויר על הטופס (ראה תרשים 2.9). טיפ: אפשר להוסיף פקד לטופס על ידי לחיצה כפולה על סמל הפקד בתיבת הכלים. פעולה זו ממקמת את הפקד בגודל ברירת מחדל במרכז הטופס. לאחר מכן אפשר להזיז ולשנות את גודלו לגודל הרצוי בעזרת נקודות האחיזה, כפי שמתואר בקטע הבא, הזזה ושינוי גודל הפקד. פרק 2: יצירת התוכנית הראשונה | 53 תרשים 2.9: תיבת הטקסט המוכנה מופיעה על הטופס. לאחר הופעתה תיבה זו מסומנת כנבחרת (שימו לב לנקודות האחיזה לשינוי הגודל המופיעות מסביב לפקד) הדרך המשמשת להצבת תיבת הטקסט זהה לזו המשמשת להצבת רוב הפקדים בטופס. קביעת מאפייני הפקד. לאחר שהוספנו פקד לטופס, בדרך כלל נרצה לשנות אחד או יותר ממאפייניו. מאפייניס הינס הגדרות ששולטות במראה ובהתנהגות האובייקט. לתיבת הטקסט שהוספנו, נרצה לקבוע את המאפייניס שוחבּא (שס) ו-6%%ד (טקסט). השס (פוח8א) במאפייניס הוא חשוב מאוד. הוא משמש בקוד התוכנית על מנת לזהות את הפקד. מכיון שלתוכנית עלולים להיות פקדים רבים מאותו סוג, אנו יכוליס להשתמש במאפיין השס בכדי לוהות פקד מסוים שעבורו נכתב קטע קוד כלשהו. לכל פקד חייב להיות שם, אשר מיוצג על ידי ערך המאפיין פחגּא שלו. בנוסף לכך, לכל פקד בטופס מסויס חייב להיות שם ייחודי, אלא אס הוא חלק ממערך פקדים (מערכי פקדיס מוסברים לפרטים בפרק 13 עבודה עם מערכי פקדים. לעת עתה עלינו לוודא שכל הפקדים יקבלו שם ייחודי. 6 |808\ מציבה שם ברירת מחדל לכל פקד הממוקם בטופס. מכיון שתיבה זו היא התיבה הראשונה שהצבנו בטופס, שמה יהיה 16%01. תיבות נוספות תיקראנה 02א6%ך, 3 וכדומה. רצוי מאוד לשנות את שסם ברירת המחדל לשם בעל יותר משמעות. הנח לדוגמה, שיש לך שלוש תיבות טקסט בטופס, שמשמשות לקבלת פרטיס מהמשתמש: שס משפחה, שס פרטי וכתובת. אס תשנה את שמות ברירת המחדל של 61א6ד, 6002 1, 3 לשם בעל משמעות, כמו שוחה |00, 6ההפח-0אט, 6800655)ט, יהיה קל הרבה יותר לוכור עבור מה משמשת כל תיבה בזמן מאוחר יותר. טיפ: שים לב ששמות הפקדים שהוצעו כאן מתחילים בקידומת 6ט. זהו נוהג נפוץ להתחיל שם פקד בקידומת בעלת שלוש אותיות המתארת את סוג הפקד. כך, בעת איתור באגים, ברור מייד ש-6וַח 6 מתייחס לפקד תיבת טקסט שמכיל מידע על שם משפחה. קידומות נפוצות אחרות הם ופ! לתוויות ו- 6 לפקד לחצן פקודה. 4 סדנת לימוד 6.0 8\ כדי לשנות את השס של תיבת הטקסט הראשונה שהצבנו על הטופס, עליך לוודא שהפקד הוא נבחר. הפקד הנבחר הוא הפקד אשר את המאפיינים שלו ניתן לשנות בחלון המאפיינים. כפי שנראה בהמשך ניתן לבחור מספר פקדים יחדיו. ניתן לדעת אס פקד הוא הפקד הנבחר על ידי כך שמופיעים מסביבו סדרת נקודות אחיזה לשינוי גודלו. שס הפקד הנבחר מופיע בתיבת האובייקט של חלון המאפיינים. תיבה זו הינה רשימה נפתחת המופיעה מתחת לכותרת חלון המאפיינים. אם הפקד הרצוי אינו נבחר, עליך פשוט ללחוצ עליו בכדי לבחור אותו. עכשיו כאשר בחרת את הפקד, הבט בחלון המאפיינים. העמודה השמאלית בחלון המאפיינים הנה רשימת מאפייניסם התקפים לגבי האובייקט הנבחר בזמן התכנון. הערך הנוכתי של כל מאפיין מופיע בצד הימני של חלון המאפיינים. חפש את המאפיין 86 בעמודה השמאלית, בתחילת הרשימה (מכיון שמאפיין השס הוא חשוב כל כך, הוא מופיע ראשון ברשימה. המאפיינים האחרים מסודרים בסדר אלפביתי. יש אפשרות לראות את סדר המאפיינים לפי קטגוריה על ידי בחירת הכרטיסיה %4. לת על המאפיין סח והפוך אותו למאפיין הנוכחי (שיס לב ששס המאפיין מודגש). שיס לב לשס ברירת המחדל - 8%011ד המופיע בצד הימני של המאפיין. בשלב זה, כל מה שעליך לעשות הוא להקליד שס חדש עבור המאפיין סח או לערוך אותו. שנה את שס מאפיין חח בפקד תיבת הטקסט על ידי הקלדת שם בעלת משמעות - הבה נשתמש בשס |קוסחוזק))ט. לאחר ההקלדה הקש זפטחם. תרשיס 0 מראה את חלון המאפיינים לאחר שינוי זה. המאפיין %6% בפקד תיבת הטקסט מייצג את הטקסט המוצג בתוך התיבה כאשר היא תופיע על המסך. כאשר המשתמש מקליד טקסט בתוך התיבה, 8856 |58ו\ משנה את ערך המאפיין 6% כך שיתאים לערך שבתיבה. כברירת מחדל, תיבת טקסט חדשה מכילה את שמה. בתיבת הטקסט החדשה שיצרת מופיע השם 6%01ד במאפיין %6% שלו (וכור ש-6%)1ד היה שס ברירת המחדל של הפקד כאשר יצרת אותו). במקרה שלנו אין אנו רוציס דבר בתוך התיבה כאשר היא תופיע על המסך. לשם כך עליך לבחור את מאפיין זא בחלון המאפיינים. בחר את הערך הנוכחי (16%1) ומחק אותו. ₪ 80%)אפדך קוחו ק] | | סטב חק - קוחוזקאם ץור 1605 - ם פב-1 7206 6חָחו5 או - 1 0 סז (שחסו]) |הטחב!! - 0 שטזד ]85 5805 561] | = 000000 א חסוז03ו|3 565% > 5זשש חס 43ו|ב/י זפתלסחצש 5/56%5חזנססת .005 051 חסוחאו [סחס6 56 חס תרשים 2.10: השתמש בחלון המאפיינים כדי לשנות את ערכי הפקדים פרק 2: יצירת התוכנית הראשונה | 55 הוספת שאר תיבות הטקסט. כעת, כאשר הוספת תיבת טקסט אחת לטופס, לא צריכה להיות בעיה להוסיף את השאר. הוסף שלוש תיבות טקסט נוספות לטופס. קרא להן האס וז 007 ו-%חה6וח/ץהק))ט. בנוסף לכך מחק את תוכן המאפיין 6%ז שלהן. לכשתסיים, הטופס שלך אמור להיראות דומה לטופס בתרשים 2.11. אס הטופס שלך לא נראה בדיוק כמו הטופס בתרשים 2.11, אל תדאג. אחד הדבריס הנחמדיס בסביבת תכנון ויזואלית, הוא היכולת לשנות את מראה האובייקטיס בקלות רבה. תרשים 2.11: יש ארבע תיבות טקסט בממשק המשתמש של מחשב ההלוואות טיפ: כדי לצייר מספר פקדים בעת ובעונה אחת, הקש ₪ בזמן שאתה בוחר כלי פקד מתוך תיבת הכלים. כלי זה ימשיך להיות הכלי הנבחר גם לאחר שסיימת לצייר את הפקד. תוכל להמשיך לצייר פקדים זהים מבלי שתצטרך לבחור את הכלי מחדש ברגע שסיימת לצייר, בחר את כלי הסמן של ארגז הכלים כדי לחזור למצב הרגיל. הזזה ושינוי גודל הפקדים. אם אינך מרוצה מהמיקוס שבו ממוקם הפקד, השתמש בעכבר כדי לגרור אותו למיקוס החדש. שים לב שאם אתה עוצר במהלך הגרירה למספר שניות, המיקוס היחסי של הפקד יופיע כתיאור כלי (טודוססז). אס ברצונך לשנות את גודל הפקד, עליך לבחור אותו - דבר שיגרוס לנקודות האחיזה להופיע מסביב לו. לאחר הופעת הנקודות אפשר לגרור אותן בעזרת העכבר בכדי לשנות את גודל הפקד. הנקודות בקצה העליון והתחתון של הפקד שולטות בגובה שלו. הנקודות בקצה ימני והשמאלי שולטות ברוחב שלו. הנקודות שבקצוות משנות גס את הגובה וגם את הרוחב בעת ובעונה אחת. שים לב כיצד תיבת שינוי הגודל מופיעה בעוד אתה משנה את גודל הפקד, זאת כדי להמחיש את גודלו הסופי. עכשיו כאשר יצרת את תיבות הטקסט המשמשות לקלט מהמשתמש, עליך לסמנן בתוויות כדי שהמשתמש יידע מה להקליד בכל תיבה. כדי לפנות מקוס לתוויות, הזז את תיבות הטקסט לצד ימין. תוכל לגרור כל תיבה בנפרד, אך הדרך המהירה יותר היא לגרור את כולן בבת אחת. כדי לבחור את כל קבוצת התיבות, כל שעליך לעשות 566 סדנת לימוד 6.0 8\ הוא לבחור תיבה אחת, להקיש > ולהשאיר אותו לחוץ, ולבחור את כל שאר התיבות. שים לב שכל התיבות שבחרת באופן זה מקבלות נקודות אחיזה משלהן. לאחר שבחרת את כולן, גרור אחת מהן. בעוד אתה גורר, כל הקבוצה נגררת בו-זמנית. גרור את התיבות לצד ימין של הטופס. לכשתסיים, הטופס שלך אמור להיראות דומה לתרשיס 12. תרשים 2.12: בחירת מספר פקדים בו-זמנית מאפשרת את הזזתם ביחד כקבוצה טיפ: במקום לבחור קבוצה על ידי לחיצה על |6 תוך כדי בחירת הפקדים, אפשר לסמן את כל הקבוצה על ידי ציור מלבן מסביבם. לחץ והחזק את הלחצן השמאלי של העכבר לחוץ באזור ריק בטופס. שים לב שנמתח מלבן בעוד אתה מזיז את העכבר. צייר תיבה מסביב לכל הפקדים שברצונך לבחור. יצירת תוויות עבור פקדי התוכנית מובן מאליו שהמשתמש חייב לדעת איזה ערכים עליו להקליד בכל אחת מתיבות הטקסט. הדרך הקלה ביותר לבצע זאת היא להוסיף פקדי תווית ליד כל אחת מתיבות הטקסט. התווית תשמש ככותרת עבור תיבת הטקסט, ותכיל תיאור קצר של סוג המידע שיש להקליד לתוכה. למרות שעבור המשתמש יש הבדל גדול בין תיבות טקסט ותוויות, הן למעשה דומות מאוד מבחינת המפתח. שני סוגי הפקדים יכולים להכיל אותו סוג טקסט, רק שתווית אינה ניתנת לעריכה על ידי המשתמש. למרות זאת, על ידי שינוי מאפייניס שוניס של פקד התווית, מראה הטקסט שבתוכה יכול להשתנות בדרכים רבות. תרשים 2.13 ממחיש סוגי מראות שוניס של פקד התווית. פרק 2: יצירת התוכנית הראשונה | 57 |<11)- | הדגחת פקד תבנית.₪ : 1 = 06156זסם] : : סטוה 6 תרשים 2.13: תוויות יכולות לקבל גדלים שונים וצורות הצגה רבות ושונות 3 אם נמשיך את ההשוואה עס טופס סקרים, אזי פקדי תוויות הס המקבילה למיליס המודפסות על הטופס כדי לתאר את תיבות הטקסט הריקות. ההבדל המרכזי בין תווית ותיבת טקסט הוא שתווית מכילה טקסט שהמשתמש אינו יכול לשנות. הטקסט הנכלל בפקד תווית נשמר במאפיין ח00ק63 (בניגוד לתיבת טקסט, שס נשמר מידע זה במאפיין 16%). כדי להוסיף תווית לטופס, בצע את הפעולות הבאות 1 בחר את כלי פקד התווית מתוך ארגז הכלים. 2 צייר את פקד התווית משמאל לתיבת הטקסט הראשונה. 3 שנה את המאפיין חגא של התווית ל- |קוסחוזקוט! בחלון המאפייניס. 4 שנה את המאפיין ח68000 ל- :|הקוסחוזס. 5 שנה את המאפיין זחסוחחףו|ה ל- ץ0פט2 אַחִ8ָומ-1, על ידי שימוש בח\ המופיע ליד הגדרות המאפיין (ראה תרשיסם 2.14). פעולה וו מיישרת את הכיתוב לימין, ליד תיבת הטקסט התואמת. 1-6 סחסא - 0 :|הקוסחוזק. (6חסו) הנחב - 0 סד תרשים 2.14: לחיצה על החץ הנפתח במאפיין זַחסוהחפו|ה ]ח6הוחטווה, 0 מאפשר בחירה מתוך רשימת אפשרויות קיימות 3 זט , הססטטםחסק 0 זס 60680 8 סדנת לימוד 6.0 8\ בשלב זה הינך אמור לראות את כיצד פקד התווית עוזר למשתמש להבין מה להקליד בתיבת הטקסט הראשונה. צור עוד שלושה פקדי תווית, אחד עבור כל תיבת טקסט שנותרה. השתמש בערכים המומלציס בטבלה ‏ 2.1 עבור מאפייני 6חהא ו-ח00ק68 (אל תשכח לשנות גם את המאפיין +חסוחחףו|1). לכשתסיים, הטופס שלך אמור להיראות דומה לתרשיס 2.15. טבלה 2.1: מאפייני 6ח8\ ו-ח63000 עבור פקדי התווית של תוכנית מחשב ההלוואות | מאפתפחטא | 000 מאפקמסטאלם 7000 תרשים 2.15: תוויות התוכנית מציגות למשתמש מה להקליד בתיבות הטקסט הוספת לחצני פקודה עד כה, יישוס הדוגמה שלך מכיל תיבות טקסט לקבלת קלט מהמשתמש, וסדרת תוויות המתארות תיבות אלו. עליך ליצור דרך שבה המשתמש יוכל להתחיל פעולות - לשס כך נועד פקד לחצן פקודה (חסשטם סח וס6). המשתמש יכול ללחוץ על לחצן זה כדי לגרוס למשהו לקרות. תוכל להוסיף לחצן פקודה לטופס באותו אופן שבו הוספת כל פקד אחר - על ידי שימוש בעכבר כדי לצייר אותו. לחצני פקודה, בדומה לתוויות, הינס בעלי מאפיין ח00ק68 המאפשר לקבוע איוה טקסט יופיע בתוך הלחצן, כך שהמשתמש יידע למה הוא משמש. כדי להשלים את ממשק המשתמש של תוכנית מחשב ההלוואות, הוסף שני לחצני פקודה בתחתית הטופס. שנה את מאפייני 6וח8א ו-ח68000 על פי טבלה 2.2. תרשים 6 מראה כיצד הממשק השלם אמור להיראות. פרק 2: יצירת התוכנית הראשונה | 59 טבלה 2.2: מאפייני פחפּא ו-ח00ק69 עבור לחצני הפקודה של תוכנית מחשב ההלוואות 6-ו ץק 68!60|866 תרשים 2.16: לאחר הוספת לחצני הפקודה, סיימנו את ממשק המשתמש של התוכנית שינוי מאפייני הטופס הינך יכול לשנות את מאפייני הטופס באותו האופן שבו אתה מגדיר את המראה והתנהגות הפקד. בדיוק כמו בפקדים, לטפסיםס יש מאפיין 6וחגא. שס ברירת המחדל עבור הטופס הראשון בפרויקט הינו 1חזס". טפסיס נוספים יקבלו שמות עוקבים כגון 2חזס=, 3זס, 4חזס= וכדומה. כמו בפקדים, כדאי מאוד לתת לטופס שם כעל משמעות. השתמש בחלון המאפיינים כדי לשנות את המאפיין 6וחּא עבור הטופס היחיד של פרויקט מחשב ההלוואות, ל-חוגּ!חז]. כדי לשנות את רוחב הטופס, בצע את הפעולות הבאות : 1 לת על אזור ריק בטופס כדי לבטל בחירת פקד שאולי נבחר. הפעולה מהווה למעשה בחירה של הטופס. שיס לב ששם הטופס מופיע בחלון המאפייניסם בתיבת האובייקטים. 2 עכשיו כשהטופס נבחר, המאפיינים המוצגיס בחלון המאפיינים, מהוויס למעשה את מאפייני הטופס. גלול את חלון המאפיינים עד אשר תמצאו את המאפיין ה0%ו\\, לקראת סוף הרשימה, ושיס לב לערך המופיע בו. 3 שנה את רוחב הטופס על ידי לחיצה עס העכבר על נקודת האחיזה הימנית וגרירתה (אס שינית את ההגדרות כך ש- 8856 |8טפו\ תרוצ במצב 521 - הסבר בהמשך הספר - עליך רק לגרור את קצה החלון כדי לשנות את גודלו). 0( סדנת לימוד 6.0 8\ 4 כדי לשנות את המאפיין חססו/\ חזרה לערכו המקורי, בחר את הערך החדש שמופיע בחלון המאפייניס ושנה אותו לערך הקודם. ברגע שתקיש זסזחם, הטופס ישנה את גודלו בחזרה לגודל המקורי. שמירת עבודתך - שוב... לאחר שסיימת לבנות את ממשק המשתמש לתוכנית מחשב ההלוואות, יהיה זה זמן מצוין לשמור שוב את עבודתך. מכיון שכבר שמרת את הפרויקט, שמירה חוזרת היא פעולה פשוטה ביותר - ומומלצת ביותר. למעשה עדיף לשמור את העבודה במספר שלביס במשך תהליך הפיתוח. לעולס אין לדעת מתי תתעוררנה בעיות. שמירה מהירה לוקחת מספר שניות בלבד, ועשויה לחסוך עבודה רבה. כדי לשמור שוב את הפרויקט, יש לבחור 6!ו= ואז 10166 586 מהתפריט הראשי. או לחילופין יש ללחו על לחצן שמירת הפרויקט מתוך סרגל הכלים. מכיון שכבר אמרת ל- 8856 |1808/\ היכן לשמור את הקבצים המהווים את הפרויקט, הס יישמרו אוטומטית באותו מקוס, ובאותו שסם קובא. במידה והתווספו רכיבים חדשים (טפסים, מודולים וכדומה) מאז השמירה האחרונה, יהיה עליך להגדיר את שס הקובצ החדש וכן את המיקוס בו יש לשמור אותו. קידוד פעולות התוכנית שלך כפי שהוזכר קודס לכן, ממשק המשתמש של תוכנית מחשב ההלוואות כבר מוכן. למרות זאת, התוכנית עדיין אינה עושה דבר בשלב זה. כדי להפוך את התוכנית לפונקציונלית, יהיה עליך להוסיף לה קוד. המונח קוד, כפי שהוא מופיע בספר, מתייחס לשורה אחת או יותר של פקודות תכנות, הכתובות בשפת תכנות כלשהי (28510 |1508\ במקרה שלנו). תגובה לאירועים 6 |8שפו/\ היא תוכנה מונחית אובייקטים (%60ח6ו00[60-07), ומונעת אירועים (חשטוזס-+ח6עם). משמעותו של דבר זה היא שממשק המשתמש של התוכנית מורכב מאובייקטים (פקדים, טפסים וכיוצא בזה). יש ייללמדיי את התוכנית איזו פעולה לבצע כאשר אירועיס קוריס לאובייקטים אלה. אירוע הוא בדרך כלל פעולה אשר המשתמש יום. יש ללמוד לצפות אילו אירועיס עשויים (ואמורים) להשפיע על האובייקטים בתוכנית, ולכתוב את הקוד המתאיס לטיפול באירועיס אלה. לדוגמה, במקרה של לחצן הפקודה %אם, הקוד צריך להגיב לאירוע לחיצה - 616%, על הלחצן, ביציאה מן התוכנית. קטע קוד זה צריך להיות מופעל בכל פעם שאירוע 01666 של הלחצן זואם מופעל. כדי לגרוס לתוכנית להגיב לאירועיס עליך להציב קוד עס שגרות אירועים (ח6ש₪ 65 .:. שגרת אירוע היא קטע קוד שמבוצע ברגע שאירוע מסויסם מתרחש לאובייקט מסויס. פרק 2: יצירת התוכנית הראשונה | 61 כדי להגיב למקרה שבו המשתמש ילח על לחצן זואם, עליך להוסיף קטע קוד לשגרת האירוע 01166 של הלחצן. הבה נמחיש זאת על ידי כתיבת קוד עבור שגרת האירוע 61666 של לחצן זוא= של תוכנית מחשב ההלוואות. לחץ לחיצה כפולה על הלחצן 5% שהצבת על הטופס של יישוס הדוגמה. פעולה זו תפתח חלון חדש הנקרא חלון הקוד (ראה תרשים 2.17). אפשר לפתוח חלון קוד נפרד עבור כל טופס (או כל מודול אחר) שמופיע בפרויקט. בחלון אה ממקמיס את הקוד שמתייחס לטופס ולאובייקטיס שבו. שיס לב שחלון הקוד מכיל תבנית, או מעטפת, של תת-שיגרה, ואשר מתחילה במילים 505 6פצוזש ומסתיימת במילים מט5 6חם. תת-שיגרה (6זט0סססזק פט5) או בפשטות שיגרה, הוא רצף קוד בעל שס ואשר מבוצע כיחידה אחת. |<1ם)- | [ זא 2 | - ו | - חח ] ()א6110 ס1אמבעס מגום פסהטבטק | | כעגום הבמס שם תת-השיגרה תרשים 2.17: חלון הקוד הוא תוכנת עריכה רבת תכונות שמתקשרת לאובייקטים שבתוכנית החלק המופיע אחרי המילים 500 שפצוזש מציין את שס תת-השיגרה. תת-שיגרה זו נקראת 616% 8א0₪וח6, שס אשר נקבע מראש ובא לציין את שגרת האירוע >6וו0 עבור הפקד הנקרא +/א05ח6. 6ו885 |אטפו\ תבצע כל קטע קוד הממוקס בתוך תת-שיגרה זו, כל פעם שאירוע 61166 מתרחש על לחצן פעולה זה. הערה: רוב הפקדים יכולים להגיב למספר אירועים שונים. לכל סוג פקד יש אירוע ברירת מחדל. אירוע זה הינו האירוע הנפוץ ביותר לסוג זה של פקד. לדוגמה, אירוע 616% הוא האירוע הנפוץ ביותר לפקד לחצן פעולה. אירוע ברירת המחדל הוא האירוע שנפתח בחלון הקוד כאשר לוחצים לחיצה כפולה על פקד חדש. 2 סדנת לימוד 6.0 8\ כדי לגרום לתוכנית להפסיק ברגע שהמשתמש לוחץ על הלחצן %ם, כל שעליך להוסיף היא שורת קוד בודדת לשיגרה בין ()א6ו61 %ו6₪0₪% 5 6זפטוזק לבין פט5 0חם. הסמן אמור להיות ממוקם בין פקודות אלו. הקש 8גד כדי ליצור כניסה לשורת הקוד (כדאי להתחיל את הקוד מעט קדימה כדי לשפר את קריאותו) והקלד את המילה 0חם. הקש זפזחם כדי להוסיף שורת רווח (אין צורך לעשות זאת אך הדבר משפר את קריאות הקוד). לאחר שתסיים, הקוד השלם אמור להיראות כך: ()66ו01 א0₪ח6 ס5 סזבּעוזוק 0 50 0ח= ברכותינו! כתבת כרגע את הקוד הראשון שלך ב- 8856 |808ו/. הגדרת שגרות אירוע הבט בשתי תיבות הרשימה הנפתחת שנמצאות בקצהו העליון של חלון הקוד, כפי שמוצג בתרשיס 2.18. תיבת האובייקט (התיבה השמאלית) נותנת את רשימת כל האובייקטים שמוקמו בטופס הנוכחי, וכן את הטופס עצמו. תיבת השיגרה (מצד ימין) נותנת את רשימת כל האירועים שתקפים לגבי סוג האובייקט שנמצא כרגע בחלון האובייקט. בעזרת שתי תיבות הרשימה הנפתחת האלו ניתן לנווט לכל מקוסם בחלון הקוד. חשוב על קוד עבור טופס מסויס כעל קוב טקסט ארוך. חלון הקוד הוא כלי ניווט שעוזר לנו להציג במהירות כל שילוב בין אובייקט לאירוע. <1ם) - | [ ו 2 תיבת השגרות 5 ו] |+ אפח] = תיבת ()01108 סבאפבעס מעוה שסהטבעתע האובייקטים המע מגום המע תרשים 2.18: שגרת האירוע 0166 של הלחצן ₪1 תגרום לתוכנית להפסיק חלון הקוד יופיע אוטומטית ברגע שתלח לחיצה כפולה על פקד כלשהו בעת התכנון. החלון ייפתח באירוע ברירת המחדל עבור הפקד שנבחר, אלא אם כן יש אירוע אחר המופיע כבר בקוד הפקד. במקרה זה האירוע המופיע בקוד יוצג למקרה שנצטרך לערוך את הקוד. תוכל כמובן, להשתמש בתיבות האובייקט והשיגרה בכל עת כדי למצוא במהירות כל אובייקט או אירוע מבוקש. ק 2: 'צי ותוכנית הראשונה פרק 2: יצירת התוכנית הראשונה | 63 טיפ: בנוסף ללחיצה כפולה על הפקד, אפשר לפתוח את חלון הקוד בהקשת 77, לחיצה על לחצן 60066 ששו/, או על ידי בחירת שסו/ ואז 6066. כעת כאשר הקוד ללחצן %א₪ מוכן, כל מה שנשאר הוא לקדד את לחצן 68|60|806 %חסוחעְהק. לחצן זה נועד לחשב את התשלוס החודשי לכיסוי ההלוואה, בהתחשב בנתוניס שהוכנסו על ידי המשתמש. קוד גה ייכתב כשגרת אירוע 616% עבור לחצן הפקודה 67068!60|8%6. ניתן להציג את שגרת האירוע 016% של הלחצן 6₪068|60|8%6 על ידי הבאת עיצוב הטופס לקדמת המסך ולחיצה כפולה על 6068|60/8%6. לעומת זאת, מכיון שחלון הקוד פתוח ממילא, יהיה זה יעיל יותר לבחור את 6068|6018%6 מתוך תיבת הגלילה הנפתחת של האובייקט. דבר וה מציג את השיגרה 6% 068|6|806ח6 בחלון הקוד. כתיבת קוד בתוכנית השיגרה אשר מחשבת את חישובי ההלוואות תהיה מסובכת יותר משגרת היציאה מהתוכנית. מובן שהקוד שמבצע את החישובים יהיה מורכב יותר מאשר הצהרת 0ח5 פשוטה. בנוסף, שיגרה וו תצריך עבודה נוספת, מכיון שנשתמש בה במשתניס. משתנה (ס!פפוזה/\) הינו מאגר מידע זמני. במקריס רביםס התוכנית שתבנו תצטרך לוכור מידע כמו תוצאות חישובים, שס המשתמש, סיכומי הזמנות ועוד, במהלך ריצתה. חשוב על משתניס כלוח שהתוכנית יכולה להשתמש בו כדי לזכור מידע. התוכנית, במסגרת קוויס מנחיס מסוימים, יכולה לרשוס מידע בלוח לשנותו ואף למחוק אותו לחלוטין. ראה: היכרות עם משתנים בפרק 8. הצהרה על משתנים. החלק הראשון של שגרת החישוב ישמש להגדרת המשתניס שאותם נצטרך. דבר זה אומר שנאמר ל- 8856 |1508\ את שמות המשתניםס שישמשו את הפונקציה, וכן נגדיר איזה סוג מידע יכיל כל משתנה. למרות ש- 8856 |1508/ לא מחייבת הגדרת משתנים (כברירת מחדל), רצוי לעשות את בכל מקרה. טיפ: הגדר תמיד את המשתנים שלך! ודא שהאופציה 30!6וו%8 6זושף₪6 הסוז3ז₪66|!3 בתפריט 10015, 5חססקס בכרטיסיה זס%ו4ש, מסומנת כפעילה. דבר זה גורם ל- 8856 |150/ לדווח על שגיאות אם אתה מנסה להריץ תוכנית שמשתמשת במשתנה שלא הוגדר (לדוגמה אם טעית באיות שם המשתנה). השיגרה 68!60/8%6 משתמשת בארבעה משתנים. משתנה אחד עבור כל ערך של כלל ההלוואה, אחוז הריבית, תנאי ההלוואה, והחישוב החודשי. ודא שהסמן נמצא בשורה הריקה שבין ()6|66 67068|60/8%6 505 6ספטוזק לבין טט5 6חם. הקש ספד כדי ליצור כניסה לשורת הקוד, והקלד את שורת הקוד הבאה: ץשח6זזטש 45 |הקוסחוזק6 וחוס 64 סדנת לימוד 6.0 8\ שיס לב שכאשר מקישים על ז0ח= לאחר כתיבת הקוד, הסמן לא חוזר לקצה השמאלי של חלון הקוד אלא נשאר בכניסה שהגדרת בעזרת 13. אפשר להגדיל את הכניסה על ידי לחיצה על ט8ד, ולהקטין אותה על ידי 886650866. כפי שתראה מהקוד, הפורמט הכללי להגדרת משתנה היא המילה חופ, אחריה שס המשתנה, המילה 45 וסוג המשתנה. כמו באובייקטים, יש ליצור סטנדרט לשמות. לכל אורך הספר, תראה סטנדרט נפוץ מאוד לסימון משתניס אשר משתמש באות הראשונה של שם המשתנה כקידומת המגדירה את סוגו. שארית השם הוא תיאור מטרת המשתנה. לדוגמה, המשתנה |710008ק6, הוא מסוג שסח6זוטס ומכיל את סך כל ההלוואה. חלק מסוגי המשתניס והקידומות שלהם מוצגיס בטבלה 2.3. טבלה 2.3: קידומות המשמשות למתן שם למשתנים על פי הסטנדרט הנפוץ קידומת סוג המשתנה מספר שלם (ז%606ח1 מספר שלם ארוך (ז0606ח1 פַחס 1 נקודה צפה עם דיוק יחיד (+חוסק חח 8סו= חסו5ו60זס-6ו0חו5 4 ₪ | נקודה צפה עם דיוק כפול (זחוסם חַחטהּס!= חסו665זס-6|טטסס) 6 מטבע (ש6ח6זזוט6) | 8 בלאנ(אמת/שקר) (60600 הוסף את שורת הקוד הזואת להצהרה הבאה: 6חו5 45 %4806ח וחוס מספר משתנים יכוליס להיות מוגדרים על ידי אותה שורת קוד. אס תעשה כך, יש לרשוס בנפרד את כל סוגי המשתנים : ץח 5 636% ,156007 5 הזוס דח וחוס אזהרה: טעות נפוצה למתחילים היא להגדיר מספר משתנים בהצהרה כמו 15 ?2 ,ץ ,א חזוס זחז. עליך לזכור שיש להגדיר לכל משתנה את הסוג שלו באופן מפורש. במקרה הנזכר רק 2 יוגדר כמשתנה מסוג ז600שח1 ו-א ו-ץ יוגדרו כמשתנים מסוג זחוזה\. סוג זה של משתנה הוא סוג מיוחד אשר יוסבר בהמשך הספר. הכתיבה הנכונה לקטע מסוג חייבת להיות כתיבת ז1606ח1 45 אחרי כל אחד משמות המשתנים. פרק 2: יצירת התוכנית הראשונה | 65 קוד השיגרה. קוד השיגרה עצמו הוא החלק שלמעשה מבצע את העבודה. בתוכנית מחשב ההלוואות שלנו, חלק וה של השיגרה יהיה אחראי על אחזור ערכי הקלט משלוש תיבות הטקסט הראשונות, חישוב התשלוס החודשי, והצגתו בתיבת הטקסט הרביעית. הקלד שתי שורות אלו לחלון הקוד (לאחר הגדרת המשתנים): |קוסחוזק6 6!טהזה/ 6+ חו |הקוסחוזס 6+ 6זסז5' (0א6 ד |8קוסחן 0 )|8/\ = |הקוסחוזק6 השורה הראשונה היא הערה שנועדה להסביר מה מתרחש בקטע זה. הערה מסומנת בגרש (') בהתחלת השורה, בדרך כלל. ברגע ש- 8856 |808 נתקלת בגרש, היא מתעלמת משאר השורה. 8856 |1508/ עוברת לשורה הבאה להמשך הפעולות. השורה השנייה בקוד מאחזרת את המידע שהמשתמש הכניס בתיבת הטקסט |8קוסחוזק)אט, ומאחסנת את הערך שלו במשתנה |8קוסחוזק6. פעולה וו מבוצעת בעזרת הצהרת השמה, בדומה לאלגברה, כאשר המשתנה מופיע בצד שמאל של סימן שווה והערך מופיע בצד ימין. הפונקציה ()|\ משמשת להמרת כל מה שמופיע בסוגרייסם של הפונקציה לערך מספרי עבור החישוביס. הערך הממשי של תיבת הטקסט מאוחזר על ידי גישה למאפיין זא6ד (מתייחסים למאפייניס של אובייקט בתוך הקוד על ידי שימוש בפורמט שזסקסזק.660[טס. חשוב על 6א6ד.|אקוסחוזקט כעל הערך הנוכחי של המאפיין של |ףקוסחוזק)ט (זכור שהמאפיין 6%ד של תיבת הטקסט מכיל את הערך הנוכחי שלו על המסך). טיפ: בעודך מקליד את שאר הקוד, שים לב להערות הנוספות המופיעות בגוף הקוד. להזכירך, הערה היא שורת קוד שאינה מבוצעת. היא נועדה להסביר את משמעות הקוד עצמו. ההערות הינן סוג של תיעוד העוזר למפתח להבין בקלות את משמעותו של קטע הקוד שהוא צריך לערוך. זהו רעיון טוב מאוד, ברוב המקרים, להוסיף הערות רבות לקוד. אתה עלול לחשוב שתזכור מדוע פתרת בעיה בדרך כלשהי, אך כשתביט בקוד שכתבת לפני שנה (או מישהו אחר), ההערות תהפוכנה את הקוד למובן הרבה יותר. הקלד בחלון הקוד את שארית הקוד כפי שמוצג ברשימה 2.1. ההערות אמורות לעזור לך להבין כיצד קוד זה עובד. תרשים 2.19 מראה את תת-השיגרה השלמה כפי שהיא מופיעה בחלון הקוד. 6 סדנת לימוד 6.0 8\ תוכנית 2.1: חישוב התשלום החודשי 6% |008ו066 1655 0ף 86% 65%6זססחו +זס/חס6' 5 06600685 12.75 .6.ן ' 0 / (א6 ך.0010+0806)) |3\ = סזפטחה ץורזהסרח 60 806 60765%חו |הטחחה אסעהסס' (ז68ץ 3 חו ח)הסרח) 12 עט פחוסוצוס צם ' 2 / 11007906 = שפח 5 חס + זססוהח 60 5זפסץ 01 זססותווח 6עחסס6' (ז68ץ 3 5הזחסרח) 12 עס פחוץוסטוטוח ץט ' 2 * (0א6 ד. וז [0) |8/\ = וחזס דח .)חסרהץהכ ץ|רזהסרח 6 ץ₪150!3 30 366|טס|ה6' .6 6סס! חח 01501860 6 65ארח הסחסחו זההזס-] סח ' ((החזס [ח- */ (07800ח11 + 1) - 1) / שוהשח11) * |הקוסחוזק6 = +הסחחיהק6 (" שאו" ,661 )הר זס=] = 66 .)תסו ץיהכ)אט הרצת התוכנית בטוח שהינך משתוקק כבר לראות את התוכנית שלך בפעולה! למרות ואת, לפני הרצתה, ודא כי שמרת את עבודתך. כדי להריץ את התוכנית, עליך להפעיל את פקודת ההרצה של 8856 |%1508 באחת משיטות אלו: + לת על לחצן +51 בסרגל הכלים. + בחר חטא, +5%31 מתוך התפריט. > הקש 55. [<זר . | (2066] הוהאחז! - 6041ןסזכו ו [= ו |[ 1 ] () 01168 1886גוס004081 מגופ סספטנבטק עַטמשעעגוס 25 81ע1סמנעפס מגע 16 ג שסהתפמ1+ עצע עסמסעעגוס 25 סמ06ע8ק0 ,5062סמ1 25 תעפדת בע 1 תס 16מ18עפט 6ג5 מ1 81ע1סמ1עע פס שעססם (סאשך.81ע1טמ5901אפ)1בע = 81ע1סמ1עפס 5מ816טנגו6 8501881 155 סס 5 5-5 0 / (8א6ך.שספת צט ₪ 2 / שספעססת .סט אסס עפמוגו ( (מעפדמ- * (856ת6מ1+ + ("68א1" ,5מ06ע0298) ספנעס? = 1686 ממ6מעהפסאס מגוט 8מם לו 1 | 5ן=| תרשים 2.19: הכנסת הקוד לחישוב התשלום החודשי משלימה את שגרת האירוע 616% עבור 67068!60!306 בביצוע פקודת ההפעלה 0ז508), 8856 |1508\ מבצעת קומפילציה על התוכנית שלך כדי לחפש שגיאות. אס לא נמצאו כאלו, התוכנית מתחילה להתבצע, ותקבל את הטופס פרק 2: יצירת התוכנית הראשונה | 67 הראשי. שיסם לב שההודעה בשורת הכותרת של 8856 |ה50ו\ השתנתה ממצב עיצוב למצב הרצה (₪006 חטא), דבר המראה שהתוכנית אכן רצה. מכיון שהאפליקציה שבנית היא מונחית עצמיס ומונעת על ידי אירועים, היא מחכה שאתה (המשתמש) תיצור אירוע כגון הקלדה בתיבת טקסט או לחיצה על לחצן. בדוק את התוכנית בעזרת הקלדת ערכיס לסך כל ההלוואה (וףקוסחוזק), תנאי (חחזסז), ואחוז הריבית (₪816 16165%ח1). השתמש בערכים אלה לבדיקה הראשונה: 11000 |הקוסחוזק 1-5 6 765%ס+ח1 20 והז ד לאחר הכנסת הערכים, לח על לחצן +הסוחעה8ק 68|60!806. התשלוס החודשי המופיע אמור להיות 1099.72 (ראה תרשים 2.20) הערה: מכיון שהתוכנית שבנינו היא דוגמה לטכניקות תכנות בסיסיות, ממשק המשתמש שלה הוא פשוט ביותר. מאמץ מועט מאוד נעשה כדי להפוך את התוכנית לחסינה בפני שגיאות. יש להכניס מספרים ללא פסיקים או סימן דולר כדי שהחישובים יעבדו כראוי. לאחר שנפתח את יכולת התכנות לאורך הספר, תלמד כיצד להתגבר על מגבלות מסוג זה. 1 = [חזס] .₪ 10 | |הקוסחוזק 5] [8] סוה ]5פזפזח| |הגוחם ₪] 15 9) חזזם ד 2 19 ] | !הפותעבק עוהוחוס ו תרשים 2.20: תוכנית מחשב ההלוואות פועלת כעת לחלוטין ויכולה לחשב תשלומי הלוואות. בדוק את התוכנית עס צירופים שוניס של מספרים. אחר, סייס את התוכנית בעזרת לחיצה על לחצן הסיוס (0חם) בסרגל הכליםס של 88566 |1508/. פעולה זו תחזיר אותך לסביבת הפיתותח. 08| סדנת לימוד 6.0 8\ בתקליטור: תוכנית מחשב ההלוואות המלאה נמצאת בתקליטור, בתיקיה .0065\59221/608002\| 6 מכאן... תוכנית מחשב ההלוואות איפשרה לנו לצלול לתוך כתיבת תוכנית 8856 |טפו\ מאפס. בפרק זה למדת לבצע את הפעולות הבאות: + להפעיל את 88516 |1508/\. * להתתיל פרויקט חדש. + להוסיף פקדים לטופס. > לשנות את המאפיינים של האובייקטים בפרויקט. > כתיבת קוד בכדי להפיח בתוכנית חיים. האמן או לא, אך פעולות אלו מהוות את גרעין התכנות ב- 8356 [808ו/. אומנס ראית דוגמאות פשוטות של כל אחד מן הצעדיס האלה, אך רוב התכנות מהווה חזרה על צעדיס אלה פעמיס רבות עד לקבלת התוצאה הרצויה. כשנתחיל לעבוד על יישומיס מסובכיס יותר, תראה דרכיס רבות לתרגול ולתיזוק יסודות אלה של תכנות ב- 88566 |1508/. פנה לפרקיס אלה כדי לקבל מידע רלוונטי נוסף: + כדי לראות כיצד להשתמש במרכיבי היסוד של 8856 |1508/, כדי ליצור יישומיס משלך ראה פרק 3 אבני היסוד של 83516 |בּטפו/. + כדי ללמוד אודות הפקדים השונים הזמינים לנו לשס בניית תכניות, ראה פרק 4 שימוש בפקדי ברירת המחדל של 83516 [1503/. > כדי ללמוד עוד על כתיבת קוד ב- 8856 |1508/\, כדי לתקשר עם משתמשי התוכנית שלך, ראה פרק 5 תגובה באמצעות שגרות אירוע. פרק 2: יצירת התוכנית הראשונה | 69 3 אבני היסוד של ₪3516 |בּשטפו פרק 3: אבני היסוד של 88956 טפוש 71 כבר למדנו שאובייקטים, למשל טפסים ופקדים, הס מרכיביס של 8856 |%1508\ אשר אתס מתקשר המשתמש. באופן כללי האובייקטיס שהמשתמש רואה ומשתמש בהס נקראיס המרכיבים הוויזואליים (פטחפחסקו 60 והּ50ו/) של התוכנית, לעומת מרכיבי הקוד (₪ח6חסקוח60 0006) של התוכנית שמתייחסיס לקוד התוכנית שהמפתח יצר. בפרק זה נבחן כמה מהיסודות הנחוצים לבניית המרכיבים הוויזואלייס של התוכנית. נלמד כיצד להגדיר את צורת ההופעה והתנהגות אובייקט על ידי שינוי המאפיינים (65וזו6קסזק), השיטות (005ח6%!!) והאירועים (טחסצם) שלו. הידיעה כיצד לנהל את מרכיבי האובייקטיס הללו, תציב אותך על המסלול הנכון בדרך ליצירת ממשקי משתמש מקצועייםס בעצמך. הערה: המונח אובייקט (6%(פ0) בפרק זה מתייחס לאובייקטים ויזואליים כגון טפסים ופקדים. בפרקים הבאים נדון בפירוט רב יותר באובייקטים אלה, וכן באובייקטים אחרים ובדרך שבה הם מתייחסים לקוד של 88516 |1508/. טפסים רוב הדוגמאות, בהן נתקלת עד כה, עשו שימוש באובייקט הטופס. הטופס, ובאנגלית - וחזסז, מהווה מעין ''מחסן'' עבור כל שאר הפקדים, כגון - פקד |1896 (תווית), פקד א80)א6ד (תיבת טקסט) ופקד 1066 (דמות), היוצרים את ממשק המשתמש שלך. מרבית התוכניות שתבנה תכלולנה מספר טפסים. הערה: באפשרותך אף ליצור תוכנית 8856 |הּ150\ אשר אינה מכילה טפסים כלל! דוגמה טובה לכך היא תוכנית שורת-פקודה המעבדת קבצים ואינה זקוקה לממשק משתמש. חלקי הטופס כאשר הינך מתחיל לעבוד על פרויקט חדש מסוג 5אם 0870ח558, 88516 |508ו\ טוענת עבורך פרויקט ברירת מחדל המכיל, במצב רגיל, טופס סטנדרטי יחיד המכונה 1חזס= (ראה תרשיסם 3.1). מאחר וזה המוצא של תהליך יצירת ממשק המשתמש לתוכניתך, מומלצ כי תשקיע מעט זמן בלימוד חלקיו השוניס של הטופס. כפי שאתה יכול לראות בתרשיס 3.1, טופס 8856 |15088\ מכיל את כל האלמנטיס שאתה עשוי לצפות להם בתוכנית פוסוחו/\. הוא מכיל שורת כותרת, תפריט בקרה, ואוסף לחצני הגדל/שחזר, מזער ולחצן סגירה. שים לב כי בומן בניית התוכנית מרבית מרכיבי הטופס זמינים, ואת למרות שעל פי הגדרת המאפייניס של חלקם (לדוגמה לחצן הסגירה), הס אינס זמיניס בזמן פעולת התוכנית. 12 סדנת לימוד 6.0 8\ לחצן סגור [חוזס-]) [חוזס] - 1וספןסז] .₪ ם לחצן הגדל לחצן מזער שורת הכותרת רשת הנקודות תרשים 3.1: טופס ריק הוא נקודת המוצא לבניית ממשק המשתמש תכונה נוספת המאפיינת את זמן התכנון היא רשת הנקודות המאפשרת הצבת פקדיס באופן מדויק בומן תכנוו ממשק המשתמש. אתה יכול לשלוט בהתנהגות רשת התכנון דרך תיבת הדו-שיח פחסופקס, אליה ניתן להיכנס על ידי בחירת פ|ססד ואז פחסוזקס, מתוך התפריט הראשי. תיבה זו מאפשרת לשנות את גודל הרשת או אף לבטל אותה כליל. כמו כן, ניתן לבחור ביישור אוטומטי של הפקדים על פי קווי הרשת. כאשר אפשרות זו מופעלת (כברירת מחדל), הפינה השמאלית-עליונה של כל פקד מיושרת ביחס לנקודת הרשת הקרובה ביותר. אופציית ברירת מחדל זו מאפשרת סידור קל ונוח של הפקדיס על גבי הטופס. אנו אף מעדיפים לצופף את קווי הרשת על גבי הטופס, דבר המאפשר יישור מדויק יותר של הפקדיס. מה עושים טפסים? כפי שהוכרתי קודם לכן, טפסים מייצגים את ממשק המשתמש בתוכנית שלך. טפסים הס למעשה חלק התוכנית עמו מתקשר המשתמש. כל הפקדים שעימס עובדים המשתמשים, כמו פקד א80!א6ד (תיבת טקסט), פקד חסאטם 6ח8 60 (לחצן פקודה) וכיוצא בוּה, ממוקמים על גבי אחד או יותר מהטפסים. בנוסף לתפקידס כמחסן לפקדים, מהווים הטפסים מעין יישוטרי תנועה'' המפקחיס על האובייקטיס השוניס המרכיבים את הממשק. בהמשך תוכל לראות דוגמאות רבות לשימוש בקוד המגיב לאירועיס המתייחסיס לאובייקטים השונים. כל אחד מקטעי הקוד בתוכנית, המתייחס לאובייקטיס הממוקמיס על גבי טופס מסוים, מאוחסן (ונערך) כחלק מהטופס עצמו. במילים אחרות, הטופס מכיל לא רק את האובייקטיס שהמשתמש יכול לראות, אלא גס את קטעי הקוד שהמשתמש אינו יכול לראות. פרק 3: אבני היסוד של 88956 |פטפוצ - 73 השימוש בפקדים למרות שטפסיס הס חלק חשוב בתוכנית שלך, אין להם ערך רב ללא הפקדיס המצורפים אליהס. פקדי 88566 |1508/\ מאפשריס לך לבצע מיגווו רחב של משימות, כגון עריכת טקסט, הצגת תמונות ותקשורת עס בסיסי נתונים. השימוש הליברלי בפקדים היה ונשאר הצד החזק של 8856 |808וש. מהם פקדים? הפקדים (5|סשחס6) של 8856 |508ו/ הס אובייקטיס המיועדיס לביצוע משימה כלשחי. לפקדים יש מאפיינים, אירועיסם ושיטות המשויכיס אליהס, בדומה לטופס עצמו. לדוגמה, באמצעות מאפייני פקד א80;אפד (תיבת טקסט), נקבע את גודל תיבת הטקסט, את סוג הגופן בו יופיע הטקסט בתיבה, את צבע הטקסט, הרקע שלו ועוד. 6 |808ו/\ הינה שפה גמישה המאפשרת למפתח לשלב בתוכנית גם פקדים שאינס בהכרח מבית היוצר של חברת 050%י6סו1\. לאור גמישותה של 8856 |1508/ והמיגוון העצוס של פקדי יצד שלישייי בשוק, קייס סיכוי רב שתוכל לאתר פקד עבור כל משימה בה תתפוץ, החל מאיחזור מידע והפקת דוחות מותאמיס אישית, וכלה בפקדיס המתמחים בעיבוד גרפי עבור משחקים, וכל דבר אחר שעולה על הדעת. השימוש בפקדיס לביצוע משימות קיים מאז תחילת ימי 8856 |508ו/, אך היכולת ליצור ולשלב משלך שולבה לראשונה בגירסה 5. כעת 8856 |508ו\ מאפשרת לבנות פקדי 6%ע60 עבור תוכניותיך או עבור כל תוכנית אחרת התומכת בתקן ₪60/6%. פונקציות הפקדים אפשר לחשוב על פקד כעל תוכנית ועירה המבצעת משימות ייחודיות. הפקד א80;א6ז, לדוגמה, מציג טקסט בגודל ובגופן על פי הערכיס שהכנסנו למאפייניו. בנוסף, מכיל, אותו פקד, קוד פנימי המאפשר לו לקלוט ולעבד לחיצות מקשיס באופן שבו הוא יודע, לדוגמה, שלחיצה על מקש 886650806 משמעותה כי עליו למחוק את האות -₪ האחרונה שהוקשה. אס התנסית בכתיבת תוכניות בשפות תכנות אחרות, א | ובעיקר בשפות הפועלות בסביבת הפיתוח של 05כ, אתה בוודאי יודע ₪ \ שלעיתיס קרובות יש לכתוב קטע קוד גדול למדי רק כדי לקלוט ולעבד = ךן לחיצות מקשיס של המשתמש, ובכך לאפשר לו להזין נתוניס לתוכנית. ב- = 885|6 |1508/, לעומת זאת, כל שעליך לעשות הוא למקס את הפקד על גבי - הטופס וכל היתר כבר ייעשה עבורך. במיליסם אחרות, פקד הוא אובייקט 3 58 מוגדר מראש המבצע עבורך פעולות מיוחדות. ₪ 7% גירסה 6 של 8856 |1508\ מצוידת במערכת פקדיס סטנדרטיים, אותה ניתן 2 למצוא גס בשאר המהדורות, אשר מאפשרת לך לטפל בסוגיסם רביס של (/ משימות תכנות. פקדים אלה מופיעים בארגז הכלים (אס8!|ססז) המוצג ₪ בתרשים 3.2. מטרת כל פקד בארגז הכלים ואופן השימוש בו מתואריס ₪ בפרק 4 שימוש בפקדי ברירת המחדל של 83516 [ב150/. תרשים 3.2: ארגז הכלים של 28516 |508ו/\ מכיל אוסף פקדים סטנדרטי 74 סדנת לימוד 6.0 8\ הערה: הפקדים הסטנדרטים המופיעים בארגז הכלים, כפי שמוצג בתרשים 3.2, אינם הפקדים היחידים המצורפים ל- 8856 |1508/. כדי להוסיף פקדים נוספים כגון פקד שש66זד או פקד 1₪886115%%, יש להשתמש בתיבת הדו-שיח של הרכיבים המופיעה ב- 6%5חסק וח 60 תחת 66%[סיזוק מהתפריט הראשי. ראה: פקד ש6ו/6סיוד (מבנה עץ) בפרק 12 הפקדים המשותפים של 0501%ז6וו. חקר המאפיינים בפרק 2 יצירת התוכנית הראשונה, למדת כיצד לשנות את מאפייני הפקדים כדי לשנות את צורת הופעתס בעת הפעלת התוכנית. חשוב על המאפיינים כעל תואר שס (40[66106) המתאר תכונה ספציפית של אותו אובייקט. ניתן להתאיס בקלות את צורת הופעת האובייקט לזו בה אנו מעונייניס, על ידי שינוי ערך מאפיין אחד או יותר. יסודות המאפיינים כאשר הינך מסתכל על טופס כלשהו, אתה רואה למעשה חלון מלבני, כמו וה המופיע בתרשיס 3.3. צורת הופעתו של חלון הטופס נקבע על ידי אוסף מאפיינים. לדוגמה, מיקוס הטופס על גבי המסך נקבע באמצעות המאפייניס 164 ו-קסד, גודל הטופס באמצעות המאפיינים חזסו/\ ו-00%ו₪6 שלו, והכותרת באמצעות המאפיין חס₪ק68 (כותרת). ניתן אף לקבוע מהס לחצני הבקרה שיופיעו (אס בכלל) בשורת הכותרת של הטופס, זאת על ידי שינוי ההגדרות של מספר מאפיינים במקביל. תרשים 3.3: מראה הטופס נקבע על ידי מאפייניו בעת שמירת הטופס כחלק מפרויקט, 8856 |1508/ יוצרת קובצ טקסט בעל סיומת אח=. קובצ זה מכיל בתוכו אינפורמציה על הטופס, הכוללת את מאפייני הטופס, האובייקטיס הכלוליס בו ומאפייניהס, וכן את כל קטעי קוד שנוצר עבור טופס זה. תרשיס 3.4 מציג חלק מקוב> |\8=. שנוצר עבור הטופס המופיע בתרשים 3.3. פרק 3: אבני היסוד של 8856 |פטפו\ - 75 8 א510חט 1חיוס] היוס].08 ה8671 "[חוס]" | = ה%10ק3 1 = 8 1% = 8 0119 = 5 011 - 205 "[חוס]" | = 16| -4-]!3--% = 8 5 = 3191 % פשסשחה1ש' ‏ 3 | = ה7051%10ק5%3750 6010 ה%60ט08ַהבּהה08.60 ה671ם "חיוס] ה0106" - = ח%10ק3 5 = וו 108 = 5% 8 - בד 2008 = שפד 155 = 1 4חם קסז[ם1 [08.|388 ה8671 %ח0] טָ5יוסקס-וקה8601 "+5801 5305 5|]" | = סבו 7 תרשים 3.4: קובץ אא;. של טופס מכיל מידע על המאפיינים שמגדירים אותו ואת האובייקטים הכלולים בו מ אזהרה: עבור טפסים מסוימים, 8856 |150/ יוצרת בנוסף גם קובץ בעל סיומת א8=. בקובץ נשמרים אלמנטים גרפיים ובינאריים שלא ניתן לאחסן בקובץ טקסט רגיל. אם ברצונך להעתיק טופס מתיקיה אחת לאחרת, חשוב מאוד להעתיק גם את קובץ א8=. הקשור אליו. מאפיינים נפוצים לא לכל האובייקטים ב- 8856 |1508/ יש אוסף מאפייניס אהה. עם זאת, יש מספר מאפייניס שכיחים המופיעיס באובייקטיס רביס. ברשימה שלהלן מופיעים חלק מן המאפייניס השכיחיס והחשובים ביותר: + 6חפא + א06ח1 66| * ססד > ₪600 > סטו + 80|60ח= + 6סו9ו\ 76 סדנת לימוד 6.0 8\ שימוש במאפיינים לשליטה בגודל אובייקט גודל אובייקט ב- 8856 |8טפו\ נקבע על ידי מאפייני זחו6 ו-חססו)\ שלו. כפי שכבר ראית, ניתן לשנות את גודל האובייקט על ידי סימון וגרירת נקודות האחיזה שלו בזמן עיצוב, או על ידי שינוי ערכי המאפייניס 361806 ו-חזסו/\ בזמן התכנון או בוּמן פעולת התוכנית. שינוי גודל האובייקט בזמן עיצוב, גורס גם לשינוי ערכי 690% ו-חזסו/\ בחלון המאפיינים, כפי שגילית ה מכבר בפרק 2. ניתן להשתמש בקוד כדי לגרוס לשינוי בגודל האובייקט במהלך פעולת התוכנית. במקריס מסוימים, לדוגמה כשמדובר בטופס, יכול המשתמש עצמו לשנות את גודל האובייקט, ואת על ידי גרירת אחת הפינות שלו. בסעיף שינוי מאפיינים בזמן פעולת התוכנית תוכל לראות דוגמה לעקרון וּה. תרשיס 3.5 ממחיש כיצד באים לידי ביטוי מאפייני הגודל 38100 ו-חז0ו/\ של הטופס. גודל אנכי, נקבע על ידי המאפיין ו גודל אופקי, נקבע על ידי המאפיין הז0ו/\ תרשים 3.5: גודלו של טופס נקבע בהתאם למאפיינים 690% ו-חזו/\ שימוש במאפיינים לשליטה במיקום אובייקט בנוסף לשליטה בגודל האובייקט, אתה יכול לשלוט גס במיקומו, ואת בעזרת המאפיינים סד ו-16% (ראה תרשיס 3.6). המאפיין 168 מייצג את המרחק שבין צידו השמאלי של האובייקט לצידו השמאלי של האובייקט המכיל אותו. המאפיין קסד מייצג את המרחק שבין קצהו העליון של האובייקט לקצהו העליון של האובייקט המכיל אותו. כשמדובר בטופס עצמו, ה''אובייקט המכיליי הוא המסך כולו. אם תצייר פקד על גבי הטופס, הטופס הוא האובייקט המכיל של הפקד. ראוי לציין כי יש מספר פקדים, כמו לדוגמה אספשזנססוק (תמונה) ו-86ז= (מסגרת), המסוגליס להכיל פקדים אחרים. פרק 3: אבני היסוד של 88956 |פטפוצ - 77 [חזזם] .₪ מרחק אנכי נמדד על ידי המאפיין מרחק אופקי נמדד על ידי המאפיין 166 תרשים 3.6: מיקום הפקד א80זא16 נמדד ביחס לטופס המכיל אותו הערה: המאפיינים קסד ו-16% מסוגלים להכיל גם ערכים שליליים. לדוגמה, שיבוץ הערך 0. במאפיין 188 של פקד |1886, יגרום למיקום הפקד כך שהקצה השמאלי שלו יימצא כ-2.5 ס"מ משמאל לאובייקט המכיל אותו. לפיכך לא נוכל לראותו (במלואו או בחלקו). שלא כרוב הטפסיס שמיקומם נמדד ביחס לפינת השמאלית-עליונה של המסך, מיקוס טופס שהוא חלק מממשק מרובה מסמכים (כ] - %07806ח1 זחסותטססכ 6וסטוטוז) נמדד ביחס לפינה השמאלית-עליונה של אזור הלקוח בטופס האב (ראה תרשים 3.7). טופס אב ויו | טופס בן תרשים 3.7: טופס הצאצא בממשק 1כ) ממוקם ביחס לטופס האב שלו 8 סדנת לימוד 6.0 8\ שינוי המאפיינים במהלך פעולת התוכנית כפי שכבר צוין, ניתן לשנות את מאפייני האובייקטים בזמן ריצת התוכנית, אם על ידי פעולות המשתמש או על ידי פקודות המשולבות בקוד. בשלב זה נוכל לבחון את העניין באמצעות תרגיל פשוט: נבנה פרויקט פשוט אשר יציג בפני המשתמש טופס רגיל. המשתמש יוכל לשנות את גודלו ומיקומו של הטופס על ידי גרירת אחד מקצותיו באמצעות העכבר. כמו כן נמקס על גבי הטופס שני לחצני פקודה ונכתוב פקודות קוד אשר תגרומנה להרחבת הטופס בעת לחיצה על הלחצן הראשון, ושינוי מיקומו כלפי מטה בעת לחיצה על הלחצן השני. בנוסף לכך, נמקס על גבי הטופס גסם ארבעה פקדי ו1806 אשר יציגו את ערכי המאפיינים הששו/\ (רוחב), 690% (גובה), קסד (מרחק למעלה) ו-16% (מרחק שמאלה). יצירת תוכנית המשנה את גודל ומיקום הטופס התייחסות למאפייני האובייקטים, במסגרת קוד התוכנית, נעשית בשיטה המכונה זיהוי על פי נקודות (חסטפזסא זסכ). לדוגמה, המאפיין ח00ק68 של פקד |1806 כלשהו הממוקס בטופס מסויסם ונקרא 800:655!|ט!, | ייכתב בקוד בצורה הבאה: ח0ק655.608ו00הוסו. אס אינך זוכר כיצד למקם אובייקטים על גבי הטופס או כיצד לשנות את מאפייניהם, כדאי שתערוך חורה קצרה על פרק 2. בתרשים 3.8 מופיע טופס הדוגמה כפי שהוא אמור להיראות בסוף התהליך. ייתכן ותרצה להיעזר בתרשים זה במהלך בניית הפרויקט שלך. ראה: יצירת ממשק המשתמש לתוכנית בפרק 2 יצירת התוכנית הראשונה. |< |ם) =. [חוזס ] .% תרשים 3.8: פרויקט דוגמה זה מדגים את השימוש בקוד לשינוי מאפייני טופס שונים ; בתקליטור: הפרויקט מצורף בתקליטור ונקרא כסזפוחזסם. פרק 3: אבני היסוד של 88956 |פטפוצ - 79 כדי לבנות גירסה משלך לפרויקט זה, בצע את הפעולות הבאות : 1 2 .10 0 צור פרויקט חדש מסוג 55 08170ח500. הוסף ארבעה פקדי |1886 לטופס. סדר אותםס בטור בצדו השמאלי של הטופס. פקדיס אלה ישמשו להצגת מידע במסגרת התוכנית. בפקדי |1896 המשמשים אך ורק להצגת טקסט, אין צורך, בדרך כלל, לשנות את ערך המאפיין 6וחפּאז, שכן ממילא לא תהיה התייחסות אליו במסגרת הקוד. שנה את מאפיין חסו0ק68 של ארבעת הפקדים ל: קסד ,166 ,חססוצ\ ,%ח4ו₪38 (בהתאם). הוסף ארבעה פקדי |1806 נוספים, מימין לטור הקודם. שנה את מאפיין סח שלהס ל-ססדום! ,6 ₪ופ! ,הססושצופ! ,%חפופחוט! (בהתאס). השאר את מאפיין חסוק68 שלהם ריק (עליך למחוק את הערך המשוב\ כברירת מחדל ב-חס0800). הוסף פקד חסט8 0ח8 60 (לתחצן פקודה) בחלק התחתון של הטופס. שנה את המאפיין 6וחהּא ל-ח06ו//60 ואת מאפיין הסוזק68 ל- וחזס= הססו\ש. סמן את הטופס ושנה את המאפיין חזטו\\ ל-4000 =>קוששד (ראה סעיף מידות ב-₪3516 |הטפוצ להגדרת המושג פטוצוד). עבור לחלון הקוד על ידי לחיצה כפולה על לחצן הפקודה. כעת הסמן אמור להיות ממוקס בשגרת המשנה 6166 ח06ו//ח6. הקש טאב והקלד: 100 + 008ו/.1זס = הזסו%\.1וחזס=. שורת קוד זו גורמת לערך של המאפיין חזסו\\ של 1וחזס= לגדול ב-100 פקושוד בכל פעס שלחצן הפקודה נלת\. פתח את תיבת האובייקט של חלון הקוד ובחר וחזס"]. פתח את תיבת האירועיס של חלון הקוד ובחר ₪6526. פעולה זו יוצרת את המעטפת של שגרת האירוע 6 וחוחזס=. האירוע 865/26 מתרחש בכל פעם שרוחב או אורך הטופס משניס את גודלס, אם על ידי המשתמש ואם על ידי קוד התוכנית. הוסף את שורות הקוד הבאות לשגרת האירוע ₪65226 וחזסת : וס ו/\. 1 רחזס=] = הססכ3ס. הססו\ופו 1 הס = הססכ63.הסוסרוופו + וס = חה6.0300 ]וטו סקס .1 וח זס=] = הסק63.ססדופו אס אתה מעוניין, תוכל לשמור את הטופס והפרויקט, אולס אין הדבר הכרתי. סדנת לימוד 6.0 8\ טיפ: 6 |508/\ מצוידת בכלי שימושי לעזרה בכתיבת מאפיינים הנקרא 1155 סטג 5 וחסוי. כאשר הינך מקליד שם אובייקט מסוים ואחריו נקודה, 8856 |8טפו\ מנסה לעזור לך בהשלמת הקוד החסר על ידי הצגת רשימת מאפיינים המתאימים לסוג האובייקט אותו הקלדת (בנוסף לאלמנטים נוספים, כגון שיטות ואירועים, המתאימים גם הם לאובייקט זה). שים לב כי הקלדת התווים הראשונים מתוך שמו של המאפיין המבוקש גורמת להדגשתו ברשימת המאפיינים. לחיצה בשלב זה על רווח, נקודה, הקשת זסשח= או זסזח +61 תגרום להוספת המאפיין הרצוי לשורת הקוד. מידות ב - 23516 |הט8ו\ מרחקים ב- 88516 |808ו/\ נמדדים לפי ברירת המחדל בטוויפים (פקושד). זו יחידת מידה עצמאית השווה ל- 1/20 מנקודת מדפסת. לכן יש 1440 טוויפים באינץ'. הגודל הפיסי האמיתי שלה משתנה בהתאם לרזולוציית המסך. ניתן להחליף את יחידות המידה המשמשות למיקום ומדידת אובייקטים ביחס לאובייקט המכיל אותם על ידי שינוי הערך במאפיין 568|6\006 של האובייקט המכיל. אך לא ניתן לשנות את יחידות המידה של המסך. לכן המאפיינים !161 ,קסד ,חזו/\ ,01ו₪8 של טופס תמיד יימדדו בטוויפים. בדיקת התוכנית שזה עתה יצרת הפעל את התוכנית שזה עתה יצרת. שנה את גודל הטופס על ידי גרירת קצותיו. שיס לב כיצד פקדי !1826 מציגיס את השינויים החליס באורכו ורוחבו של הטופס. פעולה זו מראה כיצד מאפייני אובייקט יכוליסם להשתנות בעקבות פעולות המשתמש בזמן פעולת התוכנית. עתה, לחצ על לחצן הפקודה שעל הטופס כדי לגרוס להרחבת הטופס. שים לב לשינוי המיידי בתווית הרוחב ולהופעת ערכו החדש של המאפיין חזסו/ו. דוגמה זו ממחישה שינוי מאפייניס באמצעות פקודות תכנות (למרות שהמשתמש גרס לשינוי הרוחב, השינוי אירע למעשה בעקבות ביצוע שורת קוד). לבסוף, נסה להזיז את הטופס (על ידי גרירת שורת הכותרת שלו). על ידי כך אתה (כמשתמש) משנה את ערכי המשתניס ססד ו-16%6. דוגמה זו בעייתית מעט מכיון שהתוויות הרלבנטיות אינן מתעדכנות בערכיס החדשים של המאפיינים ססד ו-16%. הדבר קורה מכיון שהקוד אשר מטפל בעדכון פקדי !1886 נמצא בשגרת האירוע 26ו₪65. מכיון שלא שינינו את גודל הטופס אלא רק הזזנו אותו, העדכון לא התבצע. למרבה הצער אין אירוע, בדומה ל-₪656, המתרחש בעת הזות הטופס. בעיה זו ניתנת כמובן לפתרון, אך הפתרון נמצא מעבר להיקף החומר המכוסה על ידי פרק זה. בינתייס אפשר לעדכן את הערך ייידנית'י על ידי שינוי גודל הטופס מייד לאחר הזותו, פעולה המאפשרת לך לראות את הערכיס החדשים של ססד ו-16%. פרק 3: אבני היסוד של 88956 |פטפו - 81 שימוש במאפיינים לשליטה על האינטראקציה עם המשתמש גם אם בנית אפליקציה המכילה טפסים ופקדים רבים, סביר להניח כי לא תרצה לאפשר למשתמש גישה בו-זמנית לכולס. אם, לדוגמה, ברצונך לבנות יישוס המאפשר למשתמש להקליד דוח הוצאות, תרצה שיישוס זה יכיל לחצן המאפשר למשתמש לשלוח את הדוח המוכן להדפסה, אך לא תרצה לאפשר למשתמש לגשת ללחצן וה בטרסם יהיו כל הדוחות מוכנים ומאוזנים. שני המאפיינים, 06ו5ו/ (גלוי) ו-60וסהח= (מופעל), יעורו לך לשלוט על האינטרקציה עס המשתמש. באמצעות המאפיין וש אנו קובעיס האס אובייקט מסויס יופיע על גבי המסך או לא. באמצעות המאפיין 0ַ6|פַ8ח= אנו קובעיס האם תתאפשר למשתמש הגישה לאובייקט מסוים או לא. שני המאפיינים יכולים להכיל אחד משני ערכים: 6טזד או 6 כאשר המאפיין 6טופו/\ נמצא במצב 8156], האובייקט לא יופיע על המסך והמשתמש אף לא יידע על קיומו. כאשר המאפיין 80!60ח= נמצא ב-8!56=, האובייקט יופיע על המסך (במידה המאפיין 6|טופו/\ נמצא ב-6טזז), אך במצב מנוטרל, כך שלא ניתן יהיה להשתמש בו. אובייקט מנוטרל מופיע על המסך בגוון אפור או במעומעם, כדי שהמשתמש יידע שהוא שסם אך אינו ניתן לשימוש. דוגמה טובה לאובייקטים ומיניס ובלתי זמיניס חליפות, ניתן למצוא בממשק האשפים (28705/)) במספר תוכנות פווססחו/\. האשפיס מפרידים משימה מסוימת למספר שלבים הגיוניים. המעבר בין שלבי האשף מתבצע בעזרת שלושה לחצני ניווט (בדרך כלל 286%, ₪66 ו-חפוחות). זמינות לחצני הניווט משתנה בהתאס לשלב אליו הגיע המשתמש, כפי שמתואר בתרשים 3.9. זה 2ו/\ החותפו!סט] פע םפצצ פח1 חס 185 זטוס' חפוופטק בזבקוו ו 7 טזה2ו/א\ ופוסו פפ/א\ ]וס8סזסו4! סז פחזססוס/אר זסחוס חב ,65ו] ]זסקקוופ ,65חַ3ק פש/צל זגוסע מפוופגוק גוסע פכ|סן 6 03 זפשזס5 0 /\ 6 7 .זס/ז50 ס6/א\ 8 חס ₪65 וה6וחסס ספ 86 חב6 | זס ,[384/]) אזסאווסה 63זב |בסס| זגוסע חס ספובססו .(57]] זסטואיסזק 6סועז56 זפחזפוח| זגוסע עם ספחובּ)הובוז +זסקקוו 5‏ חב פ6// זגו וגוססב הסו!הוזס/חו 6605 בזבקואו סח ,הסוזהחזס]תו פוה 3/6 + הסט גוסע ]| זסעז50 ספ / זגוסע סחה ,5פוו 5 זם זסזהזופומוחחם3 ח516ע5 זגוסע 1סב)חסס .461 >סווס ,הבכ סש זגוסע במוחפוופגוק חוסם סד | סופ | 06 תרשים 3.9: כיון שהמשתמש באשף זה נמצא בשלב 1, מאפיין 6₪מח= של הלחצן 886% נמצא במצב 8!56=, ולכן הלחצן מופיע באפור 2 סדנת לימוד 6.0 8\ טיפ: שיטה אחת בה אתה יכול להיעזר, אם ברצונך לבנות ממשק אשף ב- 88566 |1508/, היא לצייר את הפקדים עבור כל שלב בתוך מסגרת. הפקד חפ (מסגרת) של 8856 |הטפו משמש כ"מחסן" לפקדים אחרים. לפיכך, כל שינוי במאפיין פ)פופו\ שלו משפיע גם על מצב הופעתם של הפקדים המאוחסנים בו. אופן ההפניה לטפסים ופקדים בקוד מרכיב מרכזי נוסף בכל אובייקט 8856 |508ו\ הוא המאפיין 6וח8\. מאפיין סוחהַּא מגדיר ערך מזהה ייחודי שעל פיו תוכל לפנות לאובייקט זה בקוד. לכל טופס, או פקד חייב להיות שם ייחודי. הערה: לכל טופס בפרויקט חייב להיות שם ייחודי. לעומת זאת שמות פקדים חייבים להיות ייחודיים רק עבור הטופס שבו הם נמצאים. לדוגמה, יכול להיות לך פקד בשם 1 בכל אחד מהטפסים שבפרויקט שלך, אך לא יכולים להיות לך שני טפסים שייקראו 1חזסת. ברגע שאובייקט נוצר, 8856 |508ו/ נותנת לו שס ברירת מחדל. לדוגמה, 1חזס" הוא השס שניתן לטופס הראשון שתיצור בפרויקט שלך. למרות זאת, הדבר הראשון שעליך לעשות לאחר יצירת אובייקט חדש הוא שינוי שמו לשס בעל משמעות. אנו, לדוגמה, משתמשים לעיתיס קרובות בשם חו8ּ1וח עבור טופס הממשק הראשי בפרויקט. כפי שמוזכר בפרק 2, שמירה על סטנדרט אחיד במתן שמות לטפסיסם ואובייקטיס אחריס הוא הרגל טוב למפתח (סטנדרט זה נקרא גס קוד הונגרי). נהוגג להשתמש בקיצור בן שלוש אותיות קטנות של שס הפקד כדי שניתן יהיה לזהות את סוג האובייקט בקלות. יתרת השס מתארת את מטרת האובייקט. בשס חופּ\!\חז), שהוזכר קודס לכן, מרמזת הקידומת 11 כי האובייקט הוא טופס, בעוד הסיומת חוג!\ מעידה על כך שמדובר בטופס הראשי בתוכנית. בטבלה 3.1 תוכל למצוא המלצות עבור שמות אובייקטים רבים ב- 8856 |1508 (טפסיס ופקדים). זכור כי השמות שאתה מעניק לאובייקטים משמשים גם במסגרת הקוד, כך שרצוי, למען הנוחות, להעניק שמות בעלי אורך סביר. כדי לשנות את המאפיין 6וחגּ של אובייקט כלשהו, היכנס לחלון המאפייניס (באחת משלוש הדרכיס הבאות: לחצ על לחצן 65ו6קסזק, בחר עוסוצ, שספחו)\ 65זסקסזס או הקש 54 מתוך החלון הראשי), ובחר את המאפיין שחגּא\. הקש ערך חדש למאפיין. תרשים 3.10 מראה את מאפיין סחהּא בחלון המאפיינים. הערה: ב- 88516 |1508/, חלון המאפיינים מוצג על המסך כברירת מחדל, כך שאין צורך לפתוח אותו במיוחד, אלא אם כן סגרת אותו. פרק 3: אבני היסוד של 88956 |פטפו\ - 83 טבלה 3.1: אובייקטים ב- 8856 |1508/ והקידומות שלהם סוג האובייקט סוג האובייקט קידומת א80א6066 (תיבת סימון) ז||5070 |)חספוזסר! (פס גלילה 0 0 0000 (תיבה משולבת טס לצ קודה | שת |₪0ח60 8% (פקד מידע) 80% 115% (תיבת רשימה) אס סטוחס6 סחטססט פאה (תיבה טח6ו₪ (תפריט) טחוח משולבת מקושרת מידע וח 60 015 (מאחסן 015) 9 0 0 ש יב ס ב הק + ב ד 60 חס 8ז08 (רשת מקושרת 580% | 6ח800 0868 (תיבת רשימה מקושרת מידע חסט8 חסטקס (לחצן אפשרות) ס כד 5 80% 115% ץז6600זום (תיבת רשימה [ 80% 6זנטסוק (תיבת תמונה) לספריה 1150008 6טוזם (תיבת רשימה לכונן עס כֶח5 115008 6ו= (תיבת רשימה לקובץ) +| | אסם)אד (תיבת טקסט) 6 ש ₪ ם ן 4 סדנת לימוד 6.0 8\ וי יי | | רק 1וזזס= סב-1 6 0 ךר 6 -2 1וחזס= שד שד חק צ600 - 13 - 0 1 סוד א = ח זב ק5חבּזד - 1 (6רח3\) 0ל 6006 חן 560 פהחבּח שחל פחזונספת 80[ חב ]הו תרשים 3.10: המאפיין סוְחבּ\] ממוקם בקצה העליון של הרשימה האלפביתית וכמו כן מופיע כמאפיין הראשון בכרטיסיה 68%60011260 תחת הקטגוריה 56ו61. מבט ראשון בשיטות ואירועים פרק וה התרכז, עד כה, במאפיינים וכיצד הם משמשים לשליטה בצורת הופעתם של האובייקטיס. בנוסף למאפיינים, אובייקט יכול להכיל גם שיטות (0005ח60!), המגדירות את המשימות שהאובייקט יכול לבצע. המשימות יכולות להיות פשוטות, כגון הזות אובייקט למיקוס שונה, או מסובכות יותר כגון עדכון מידע בבסיס נתונים. עבודה עם שיטות שיטה היא למעשה פונקציית תוכנית הבנויה בתוך האובייקט ומבצעת עבורו פעולה מסוימת. באמצעות השיטה המוטבעת בו, יודע האובייקט כיצד לבצע את המשימה. אין בצורך בהוספת הוראה נוספת כלשהי. בטפסים לדוגמה, מוטבעת שיטה, הנקראת והסז-סהוזק, ‏ אשר גורמת להדפסת הטופס כפי שהוא נראה על המסך. המשפט החזס-טחהוזק. 1 וחזס= יגרוס ל- 88516 |1508/\ להדפיס עותק של 1וחזס". למעשה, כל הפרטים הקטנים של השיטה וחזס=חוזק כבר מוטבעיס בתוך אובייקט הטופס, לפיכך, המפתח עצמו אינו צריך לדאוג להס. כפי שכבר ודאי ניחשת, הפניה לשיטות, כמו למאפיינים, נעשית בשיטת הזיחוי על פי נקודות. 8856 |508ו\ משתמשת בתכונת 5ז6טוח6!א 115% סטטה, שצוינה קודס לכן, כדי להציג את רשימת כל השיטות, המאפיינים והאירועיס בכל פעס שתקליד שם אובייקט ואחריו נקודה. פרק 3: אבני היסוד של 88956 |פטפו\ - 85 אומנם, אובייקטיס שוניס יכוליס להכיל שיטות שונות, אך רביסם מהס גס חולקיס במשותף את השיטות שלהלן: + 86זם. שיטה המטפלת בפעולות בהן המשתמש גורר ומשחרר אובייקטים בתוך שטח האובייקט המכיל אותם. + 6ש0. שיטה המשנה מיקוס אובייקט. + 56%50005. שיטה המעבירה את המיקוד אל הפקד הנבחר. + ז20700. שיטה הקובעת האס אובייקט יופיע לפני או מאחורי אובייקטיס אחריס בשטח האובייקט המכיל אותסם. הערה: המערכת מתמקדת בפקד האחרון שהיה בשימוש ומתייחסת אליו כפקד הנוכחי. ניתן להתמקד בפקד אחד בלבד בכל רגע נתון. ניתן לזהות פקד הנמצא במיקוד על ידי סימן העריכה (בפקדי א680א6ד) או המלבן המקווקו מסביב לפקד (בפקדי - א86680ח6, הסט הסטק0 ו- הסט 0ח8וח וח 60) תגובה לפעולות באמצעות אירועים בנוסף לביצוע משימות, האובייקטיס בתוכניתך יכוליס להגיב לפעולות, בין אס נוצרו על ידי המשתמש או נוצרו חיצונית. התגובה לפעולות נעשית על ידי שימוש באירועיס. כאשר המשתמש לוח, לדוגמה, על לחצן פקודה, הלחיצה יוצרת אירוע מסוג >סוו6. חלק מההגדרות של כל אובייקט הוא אוסף האירועים אשר ניתן לייחס לו ופעולת המשתמש שגורמת להתרחשותם. דוגמה לפעולת משתמש, הגורמת להתרחשות אירוע, היא לחיצה על לחצן פקודה, בחירת פרט כלשהו מתיבת רשימה או שינוי התוכן בתיבת טקסט. אירועיס מתרחשיס גם כאשר המשתמש יוצא מטופס או עובר לטופס אחר. כאשר אובייקט יוצר אירוע כלשהו, הוא מבצע שגרת אירוע (6זו660סזק זחשעם) עבור האירוע שהתרחש. בכדי שהתוכנית תוכל להגיב לאירועים, עליך להציב קטע קוד בשגרת האירוע הרלוונטית. לדוגמה, בתוכנית ההלוואות, שבנינו בפרק 2, הצבנו קוד בשגרת האירוע ₪6|6% של לחצן הפקודה. פרק 5 תגובה באמצעות שגרות אירוע, עוסק בפרטיס הקטניס של תכנות אירועיס. בפרק וה תלמד כיצד לכתוב קוד לטיפול באירועים וכיצד אירועים רביס מתייחסיס אחד לשני. 6 סדנת לימוד 6.0 8\ כיצד מאפיינים ושיטות מתקשרים האחד לשני כעת, אתה כבר יודע שלאובייקטים יש מאפייניס שקובעים את צורת הופעתם, שיטות המאפשרות להסם לבצע משימות ואירועיס המגיבים לפעולות המשתמש. אתה עלול לחשוב שכל הדבריס הללו קורים ללא קשר האחד לשני, אך וה לא תמיד נכון. לפעמיס המאפיינים והשיטות של אובייקט מתקשרים אחד לשני. משמעות הדבר היא שכאשר אתה מפעיל שיטה של אובייקט או משנה את תכונותיו בעזרת קוד, אתה עושה זאת כתגובה לאירוע כלשהו. הערה: שינויים מסוימים במאפיינים עלולים לגרום להפעלת אירועים. לדוגמה, שינוי מאפייני 610% ו-חזסו/\ בטופס מפעיל את האירוע ₪65/26. ביטוי לעצמאותס של שיטות ומאפיינים המיוחסים לאובייקטיס ניתן לראות בעת שימוש בשיטה 6שטסוא תוך שינוי ערכי הערכיס ססד ו- 16%. אתה יכול לגרוס לאובייקט לשנות מיקוס או על ידי שימוש בשיטה 6טסא או על ידי שינוי ערכי קסד ו-16 לערכיס חדשים. שני קטעי הקוד הבאיס גורמיס למעשה לביצוע פעולה דומה של הזות המיקוס של א%80א6ד ב-100 טוויפיס שמאלה ו-200 טוויפים מלמעלה: 5 5 0חו560 ץכ אספ 6% סטסו - 1 דאם5561 מסססי 0 = 6% |.6חחבּ\\)אס 0 = כ ד.6חחבּ\)])א> 0 6עסרח 66 חהופגו אס 6% 6ר% סטסו!] - 2 ד₪₪ 556 =סססי 0 ,100 6עס\].6חחבּ)])א> כדי לראות דוגמה להבדל בין שימוש במאפיינים לבין שימוש בשיטות, הוסף קוד להזות לחצן הפקודה בפרויקט הקודס. פתח את הפרויקט ובצע את הפעולות הבאות : 1. פתח את חלון הקוד באירוע 616% ח0\/106ח6. 2 הוסף את שורות הקוד הבאות לסוף שגרת האירוע: 0 = 6 |. ח106/\וסרח6 6/6 - 6100%ו56816. 1 וס = קסד ה106/\וסרת6 3 הפעל את התוכנית ושנה את גודל הטופס. הקוד ממקס מחדש את לחצן הפקודה באזור תחתית הטופס בעודך משנה את גודלו. הלחצן יהיה תמיד במרחק 100 טוויפיס משמאל לטופס. 4 עצור את התוכנית והחלף את שני המשפטיס שהוספת בשורת הקוד הבאה: 6/6 - 00%ו76ו56316. 1 רתס ,100 6עסוו. ה106/\וסרת6 5 הרא את התוכנית שוב. שים לב שהקוד שונה אך התוצאה זהה. לא משנה אס תשתמש ב-ססד ו-16% או ב-6שסוא, הפקד עצמו יטפל בשינוי המיקוס עבורך. פרק 3: אבני היסוד של 8856 |פטפו\ - 87 אס תקליד את קטעי הקוד הללו, תבחין בוודאי שלשיטה 6שס₪א יש עוד שני ארגומנטיס. ארגומנטיס אופציונליס אלה יכוליס לשנות את גודל האובייקט. השימוש בשיטה ואת משיג את אותה תוצאה כמו שינוי המאפיינים ססד ו-16% לערכים חדשים. באופן דומה, לשיטות שסח5 ו-4106 של טופס יש תוצאה זהה לשימוש במאפיין 6םו18/. כאשר נפעיל את השיטה 06ו, האפקט יהיה זהה לשינוי ערך המאפיין 1510!6/\ ל-8|56= (דבר שיגרוס, כמובן, להעלמת הטופס מהמסך). באופן דומה, השיטה ששסח5 משיגה את אותה תוצאה כמו שינוי ערך המאפיין 151066 ל-6טזד. מבט חוזר על מאפייני הטופס בדומה למרבית האובייקטים של 8856 |8טפו, גס לטפסים יש סדרת מאפיינים השולטיס בצורת הופעתס והתנהגותס. בסעיף הקודס, חקירת המאפיינים, למדת אודות חלק מהמאפיינים התקפים לגבי הטופס. בסעיף וּה, תערוך היכרות עס מספר מאפייני טופס מרכזיים, ובנוסף תלמד כיצד מאפייניס אלה ניתנים לשליטה בזמן תכנון והפעלת התוכנית. טבלה 3.2 מפרטת כמה מהמאפיינים המרכזיים של טפסים, ומספקת הסבר קצר על כל אחד מהס. בנוסף לכך, הטבלה מגדירה האס הערך של המאפיין ניתן לשינוי בומן ריצת התוכנית. טבלה 3.2: מאפייני טופס מרכזיים שם המאפיין תיאור ניתן לשינוי בהרצה 6 | קובע את סוג המסגרת של הטופס א070|80ח60 | קובע האם תיבת הבקרה (המכילה את תפריטי ההזזה והסגירה) תיראה בזמן הפעלת התוכנית קובע את סוג הגופן שבו יוצג טקסט בטופס כ חססן | קובע מה יהיה הסמל שיוצג בשורת הכותרת של כ הטופס כאשר הטופס ממוזער הסוא | קובע האם הטופס הוא צאצא של אפליקציית 1סוו חסססטפחווא | קובע האם הלחצן מזער (6קוחחוחוו\) יופיע בטופס ל בזמן פעולתו חסטופסקק[(\זו5:3 | קובע את מיקומו הראשוני של הטופס כאשר הוא ל מוצג לראשונה 6סססחוצ\ | קובע האם הטופס ייראה מוגדל, ממוזער או רגיל כ 08 סדנת לימוד 6.0 8\ חסאטפאבּו\ | קובע האם הלחצן הגדל (6לחחואפ\!) יופיע בטופס לא בזמן פעולתו כעת תוכל להביט ביתר פירוט על חלק מהמאפיינים הללו. המאפיין 6/ש8070615, מכיל שש הגדרות אפשריות השולטות בצורת הופעתה של מסגרת הטופס (ראה טבלה 3.3). באמצעות הגדרות אלו ניתן לשלוט באפשרויות ההגדלה או ההקטנה של הטופס על ידי גרירת גבולותיו, ואף לשלוט בגובה שורת הכותרת (ראה תרשים 3.11). טבלה 3.3: הגדרות המאפיין 807061506 הגדרה תוצאה לא מוצגת מסגרת לטופס. כמו כן לא מוצגים שורת הכותרת ולחצני הבקרה 6חו5 60או= - 1 | מוצגת מסגרת בעלת שורה אחת. שורת הכותרת ולחצני הבקרה מופיעים. המשתמש אינו יכול לשנות את גודל הטופס 6 - 2 | המסגרת נראית כניתנת לשינוי, שורת הכותרת ולחצני הבקרה מופיעים. המשתמש יכול לשנות את גודל הטופס על ידי גרירת אחד מגבולותיו 09 סס6או- - 3 | לטופס יש מסגרת קבועה. שורת הכותרת ולחצני הבקרה נראים. לחצני הגדל ומזער אינם מופיעים. אי אפשר לשנות את גודלו 0 - 4 | לטופס יש מסגרת של שורה אחת ומציג רק את שורת הכותרת צוסחו/ץ!ססד | ולחצן הסגירה. שורת הכותרת מופיעה בגופן מוקטן 6 - 5 | כמו שססחוש\|ססד 60או=, מלבד מסגרת שאפשר לשינוי צוססחו/\!ססד הערה: העמדת המאפיין 80106756 על ערך אשר אינו מאפשר שינוי בגודל הטופס, איננה משפיעה במהלך העיצוב. הטופס ייראה בלתי ניתן לשינוי רק בזמן פעולת התוכנית. הגדרת ברירת המחדל במאפיין 80706156 נותנת מסגרת המאפשרת למשתמשים לשנות את גודלו בזמן פעולת התוכנית. תוכל למצוא סוג טופס זה באפליקציות 5וס0חו/\ טיפוסיות רבות. לעומת זאת, תוכל לשנות את המאפיין כך שהטופס ייראה כמו כל סוג חלון שאפשר לראות בתוכנית, כגון ארגזי כלים, תיבות דו-שיח, ואפשר אפילו להוריד את המסגרת לגמרי. חלק מההגדרות שבטבלה 3.3 גורמות לתיבת הבקרה וללחצנים סגור, הגדל ומזער להופיע בשורת הכותרת של הטופס. הגדרה זו היא ברירת מחדל. עס זאת, בכל סגנון שתבחר, תוכל עדיין לקבוע באופן יחידני האם לחצנים אלו יופיעו או לא. המאפייניס 60000|!808, הססטפאהוא, הסאטפחווא מכיליס כל אחד ערך פטזד או 3156" בעזרתס ניתן לקבוע האס האלמנט יופיע על המסך. ערך ברירת המחדל בכל אחד מהמאפייניס מכוון ל-6טוז. אס תשנה את הערך ל-8|56", האלמנט לא יופיע בטופס שלך. תכונות אלה ניתנות לשינוי רק בזמן עיצוב. פרק 3: אבני היסוד של 88956 |פטפו\ - 89 | החש : תרשים 3.11: על ידי שינוי המאפיין 801061506 תוכל לתת לטופס סגנונות הופעה רבים המאפיין זחס] מאפשר לך לקבוע את הגופן הבסיסי של הטופס ואת תכונותיו. המאפיין ישפיע על כל טקסט המופיע ישירות על גבי הטופס. ₪0 הערה: המאפיין חס של טופס הוא למעשה אובייקט בפני עצמו עם מאפיינים משלו. לדוגמה, כדי לשנות את גודל הגופן יש לכתוב 10 = 526.)חס=.1חזזס=] בחלון הקוד (או בחלון המיידי, לצורך העניין). פעולה זו תשנה את גודלו של הגופן ל-10 נקודות. בנוסף לכך, שינוי המאפיין חס" קובע את הגופן שישמש בכל הפקדים שיתווספו לטופס. 0 סדנת לימוד 6.0 8\ מאפיין נוסף, הראוי לציון מיוחד, הוא חסטופססקטטופו5. כפי שאתה בוודאי מנחש, מאפיין וה שולט במיקוס הטופס על המסך בעת הופעתו לראשונה. למאפיין הסו5סק 53 ארבעה מצבים אפשריים, המופיעים בטבלה 3.4. טבלה 3.4: הגדרות המאפיין חסוזו5ספקטז5:87 הגדרה תוצאה |הטחבּו\ - 0 | המיקום הראשוני נקבע בהתאם לערכי המאפיינים ססד ו-6 | זהץ0זח66 - 1 | הטופס מופיע במרכז שולחן העבודה, אלא אם כן הוא צאצא של טופס זסוא. במקרה כזה הטופס ממוקם במרכז טופס האב ח%50766ח6 - 2 | הטופס מופיע במרכז שולחן העבודה 5וססחו\\ - 3 | הטופס ממוקם על ידי פשספחו/\ בהתבסס על המיקום ומספר )63 | החלונות האחרים הפתוחים באותו זמן בעזרת המאפיין חסטופסקקטז509 ניתן לגרוס לטופס להופיע במרכו המסך בעת הופעתו הראשונה, עס זאת, אין זו תכונה ייעקשנית'י, כלומר לא ניתן לשמור את הטופס במרכז במידה והמשתמש החליט לשנות את מיקומו או גודלו. הצגת טופס אס אתה כותב תוכנית עס טופס אחד בלבד, אין צורך לדאוג להצגת הטופס או להסתרתו. תהליך גה מבוצע אוטומטית עבורך ברגע שהתוכנית מתחילה או מפסיקה. טופס יחיד וה נקרא אובייקט ההפעלה 001600 ₪00ז9ו5) או טופס ההפעלה. כאשר אתה מפעיל את התוכנית, 8856 |הטפוצ\ טוענת את טופס ההפעלה לזיכרון ומציגה אותו. כל עוד טופס וה טעון בזיכרון, התוכנית תמשיך לפעול ולהגיב לאירועיס. התוכנית תפסיק רק כאשר תלת על לחצן הסגירה (או תפעיל את הפקודה חם). הערה: את טופס ההפעלה אפשר לבחור מתיבת הדו-שיח של מאפייני הפרויקט. בנוסף לכך אפשר לגרום לתוכנית להתחיל מתת-השיגרה חוג8! בקוד במקום להתחיל בטופס. לעומת זאת, אס בתוכנית יש מספר טפסים, כמו במרבית התוכניות, עליך להבין כיצד לנהל אותס. מצבו של טופס נקבע ב- 8856 |1508/ על ידי המשפטים 1080 ו-6פסוחש וכן על ידי השיטות צוסח5 ו-4106]. המשפט 1080 טוען את הטופס לזיכרון אך לא מציג אותו. שורת הקוד הבאה מראה כיצד להשתמש במשפט: חסטהסו!ק בוח 080 1 פרק 3: אבני היסוד של 8856 |פטפו/ - 91 על ידי שימוש במשפט זה, אתה טועןו את הקובצ לזיכרון במפורש. לעומת זאת, אס תפנה לכל אחד מהאובייקטיס שבו - פקדים, שיטות או מאפיינים שלו, הטופס יוטען באופן אוטומטי לזיכרון. בגלל שטעינת הטופס היא אוטומטית, השימוש במשפט 1080 אינו ממש נחוצ. למרות ואת, חשוב להיות מודעיס לזמן טעינת הטופס מכיון שכאשר הטופס מוטען הוא מפעיל את הקוד שמופיע תחת האירוע 1080 וחזס". בכדי להציג כל טופס אחר מלבד טופס ההפעלה, עליך להשתמש בשיטה צוסח5. השיטה אוסח5 עובדת ללא קשר אס הטופס הוטען לזיכרון קודס לכן או לא. במידה והטופס לא הוטען, אסח5 מטעינה את הטופס לזיכרון ומייד מציגה אותו. יש להשתמש בשיטה צוסח5 באופן הבא: צוסח5. חסוט הסוכ קוחו השיטה שוסח5 מכילה גם ארגומנט אשר קובע האס הטופס יוצג במצב מודאלי (|03סו!) או לא מודאלל (1006!655/). אס הטופס מוצג במצב מודאלי, השליטה בתוכנית לא חוזרת לשיגרה שהפעילה את השיטה אוסח5 עד שהטופס המודאלי נסגר. חשוב על מצב זה כעל השהיית קוד התוכנית כל עוד הטופס המודאלי מוצג. דוגמה לטופס מודאלי הוא מסך הכיבוי של 95 פושספחו//. אין אפשרות להעביר את המוקד לאף מסך אחר כל עוד מסך הכיבוי מוצג. אס הטופס מוצג במצב לא מודאלי, המשתמשים בתוכנית יוכלו לעבור כרצונס בין הטופס הנוכחי לבין טפסיס אחריס בתוכנית. המשפט שהוצג קודס לכן הציג טופס במצב לא מודאלי. כדי לפתוח אותו במצב מודאלי, צריך פשוט לשנות את ארגומנט השיטה שוסח5 ל-|ססו\טע, כפי שמתואר לעיל: ]טע שוסח5. חסטהסו!כ קבוח הערה: מצב מודאלי משמש לרוב כאשר תרצה שהמשתמש יסיים את הפעולות על הטופס לפני שיעבור לכל חלק אחר בתוכנית. אם מופיעה, לדוגמה, הודעת שגיאה קריטית, אתה בוודאי לא תרצה שהמשתמש יתעלם ממנה ויעבור לטופס אחר. לאחר שהטופס מוצג, יש שתי שיטות תכנות להיפטר ממנו. השיטה ₪106 מסירה את הטופס מהמסך אך לא מהזיכרון. השתמש ב-₪106 כשאתה רוצה להעלים את הטופס באופן זמני אך עדיין צריך את האינפורמציה שבתוכו: 6 חס הסוו קבוח .36 50 0 א6. הסוס הסו!סק הרת = 6רחה 565 בדוגמה זו, שורת הקוד השנייה יכולה לגשת למידע שבפקד ב-חס8סו!סקהחחז!, למרות שטופס וה לא נראה על המסך. השיטה ₪106 משאירה את הטופס בציכרון. 22 סדנת לימוד 6.0 8\ אם סיימת עס טופס ועס המידע הכלול בו, אפשר להסיר אותו גם מהמסך וגס מהזיכרון על ידי שימוש במשפט ססוח(\. המשפט 80ס!ח₪ משתמש באותו תחביר כמו המשפט 1080, כמוצג לעיל: סו 9סו|סק הוח הסוח \ טיפ: = - אם אתה משתמש בפקודה סַבּסוח מתוך הטופס אותו אתה מתכוון להסיר, אפשר להשתמש במילת המפתח 18 כדי להגדיר את הטופס. שימוש בגישה זו ימנע טעויות אם תשנה את שם הטופס מאוחר יותר. במקרה כזה המשפט ייראה כך: 6 הסוח \ שיפור הביצועים בתוכנית על ידי שימוש ב-30ס.1 מכיון שהשיטה שוסח5 טוענת טופס אוטומטית לזיכרון, אינך צריך בדרך כלל להשתמש במשפט 1080 בתוכנית כלל. למרות זאת, טפסים מסוימים, המכילים מספר פקדים רב, עלולים להיטען באיטיות רבה. דרך אחת להתגבר על תופעה זו היא לטעון את הטופס לזיכרון על ידי שימוש במשפט 10806 ברגע שהתוכנית מופעלת. כל הפעלה של שיטת 8 או שוסח5 לטופס תגיב באופן מהיר יותר ברגע שהטופס כבר נמצא בזיכרון. אם תבחר להשתמש בטריק זה, היזהר משני דברים: ראשית, אל תשכח לבצע סהסוחש על הטופס לאחר שתסיים להשתמש בו או בסוף התוכנית. שנית, הייה מודע לאפשרות של מגבלות זיכרון. אם תטעין מספר רב מדי של טפסים לזיכרון בבת אחת, אתה עלול להרגיש בירידה תלולה בביצועי התוכנית. טעינת טפסים לזיכרון אמנם מגדילה את כמות הזמן העובר עד לטעינת התוכנית לזיכרון, אך מצד שני חוסכת זמן בכל פעם שברצונך להציג טפסים. אם אתה מציג טופס מסוים פעם אחת בלבד בתוכנית, אין שום חיסכון בהטענה מוקדמת שלו. לעומת זאת, אם טופס מופיע מספר פעמים, הטענתו המוקדמת תחסוך זמן, בדרך כלל. בנוסף, עליך להיות מודע לכך שהמשתמשים בדרך כלל סבלניים יותר לזמן הטעינה הראשוני של התוכנית (במיוחד אם הם עסוקים בהתבוננות במסך הפתיחה), מאשר כשהם מנסים לבצע פעולה. פרק 3: אבני היסוד של 8856 |פטפו - 93 מכאן... פרק זה הציג בפניך את עולמס של הטפסיס והפקדיס. התחלת לראות כיצד להשתמש בטפסים ופקדים כאבני הבניין של ממשק המשתמש. למדת כיצד לנהל את צורת הופעתס של טפסיסם ופקדים וכיצד לשנות את מאפייניהס הן בומן התכנון והן בומן ההרצה. המושגים הבסיסיים שנדונו כאן ילוו אותך גס בפרקיס הבאים, אשר יכללו הסברים על רביס מהפקדים בהס תוכל להסתייע בעת בניית אפליקציות ב- 88586 |508ו/. > למד עוד על פקדים סטנדרטיים על ידי קריאת פרק 4 שימוש בפקדי ברירת המחדל של 83516 |3שפו/. << פרק 5 תגובה באמצעות שגרות אירוע, יעמיק את היכרותך עס שגרות אירוע. + תוכל לגלות עוד אודות 8856 |הט5ו\ בפרק 8 שימוש במשתנים לאחסון מידע, ופרק 11 ניהול הפרויקט: תת- שגרות, פונקציות וריבוי טפסים. 94 סדנת לימוד 6.0 8\ שימוש בפקדי ברירת המחדל של 83516 |בּש8ו\ בפרק זה? מבוא לפקדים פנימיים עבודה עם טקסט פקדים לבחירת אפשרויות פקדים למטרות מיוחדות עבודה עם פקדים מרובים בשלב העיצוב עבודה עם אוסף הפקדים פרק 4: שימוש בפקדי ברירת המחדל של 8856 |08פו\ - 95 בשלב וה אמור הקורא לדעת מהו פקד וכיצד משתמשים בפקדים בתוכניות 6 |8טפו\. דרך טובה ללמוד יותר על 8856 |1508/ היא לחקור כל אחד מהפקדיס הזמינים. פקדים נדונים כמעט בכל פרק בספר זה. שלושת הפרקים הבאיס מתמקדיס בנושא השימוש בפקדיס מסוימים. מבוא לפקדים פנימיים 6 |8טפו מגיעה עם פקדים המאפשרים ביצוע סוגיס רביס של משימות תכנות. כמה מפקדים אלה מופיעים אוטומטית בארגו הכליס כאשר 6 5088 נפתחת. פקדיםס תקנייסם אלה נקראים פקדים פנימיים (0710510ח1). פקדיס אלה, המוצגיס בתרשיס 4.1, כולליס כמה פקדיס מאוד כלליים, שסביר כי ישמשו כל מפתח 8856 |1508/. אלה מרוכזיסם בטבלה 1. = | | ₪ א || 2 | || 6 ש 58 3 4 - אא ₪ ₪ ₪5 םש ₪ ₪ תרשים 4.1: ארגז הכלים מציג כלים המייצגים את הפקדים המובנים בשפת 6 |08פו/\ הערה: הפקדים המופיעים בתרשים 4.1 ומתוארים בטבלה 4.1 אינם היחידים הנכללים ב- 8856 |8טו/). להוספת פקדים אחרים, כגון פקד 0ס|וסחסווהס6 050%6 סו או 60 050%ז6וו לארגז הכלים, יש להשתמש בתיבת הדו-ש'ח %5חהסחהסקוחס6 על ידי בחירת 0[66%זק, 5זח6חסקוח60, או ללחוץ לחיצה ימנית באזור ריק של ארגז הכלים, ולבחור מהתפריט 5+חפחסטוח 60. רביס מהפקדים הרשומים בטבלה 4.1 יידונו בקטעים הבאים. פקדים אחרים מתואריס בפרקיס העוסקים בנושא תואס למטרותיהסם. הפקדים המתואריסם בפרקיס אחריס הם: + פקדי אס8סזט6וק, 0806ח1, 806ח5, 6ח11, נדוניס בפרק 19 שימוש במרכיבי התכנון הוויזואלי. + הפקד 0808 מטופל בפרק 25 פקד הנתונים ופקדי איגוד נתונים. > הפקד 015 נדון בפרק 22 שימוש ב-015 לשליטה על יישומים אחרים. 66 סדנת לימוד 6.0 8\ טבלה 4.1: פקדים הנכללים בארגז הכלים של 8856 |1508\ תמנה | | שמתפקד | | | שמש 0000 ב 68608 מציג גרפיקה. משמש גם | מציג גרפיקה. משמש גם להכלת פקדים אחרים = פקדים אחרים (-- ו ₪ | 9 מאפשר התחלת פעולה בלחיצה על | מאפשר התחלת פעולה בלחיצה עללהצן = | משור- ב ₪ | הסאפסאס מאפשר בחירת אפשרות אחת מקבוצת מאפשר בחירת אפשרות אחת מקבוצת פריטים = = 6 זפוחוד | מאפשר לתוכנית לבצע פעולות על בסיס מתוזמן ₪ אסם 15%] פטוזם | מאפשר בחירת כונן דיסקים ₪ 5% וס | מאפשר בחירת ספריה או תיקיה = מאפשר בחירת |מאפשרבחירת ספרה או תיקיה 7 או תיקיה ד אסם 1156 6 | מאפשר בחירת קובץ דומה ל-א680זו6וק. משתמש בפחות משאבי מחשב, תומך בפחות מאפיינים, אירועים ושיטות |₪0ח60 ₪868 | מספק ממשק בין התוכנית למקור נתונים | 8 חסוחוחס6 | שימוש בתיבות דו שיח תקניות של פאוספחווש, לשליפת מידע כגון שמות קובץ, גופנים וצבעים פרק 4: שימוש בפקדי ברירת המחדל של 8856 |הטפו\ - 97 עבודה עם טקסט בפרק 2 יצירת התוכנית הראשונה, הוצגה בניית תוכנית פשוטה, העושה שימוש בפקדיס 800%:א16, |1886. מומלצ לקורא, אם לא עבר על פרק זה, לעשות ואת לפני שימשיך. הדוגמאות לימדו שפקדי תיבת הטקסט והתווית מיועדיס לעבודה עס טקסט. המונח טקסט 0א16) אינו מתייחס כאן רק לפסקאות או משפטים כמו אלה המטופלים במעבד תמלילים. בטיפול בטקסט בתוכנית, דרושה לעיתיםס גס הצגה או שליפה של מילה בודדת, מספר, או אפילו תאריך. הקורא יכול להבחין גם בהבדל העיקרי שבין תיבת טקסט לתווית: תיבת הטקסט יכולה גס להציג וגס לקלוט קלט טקסט (בזמן ריצה), בעוד שפקד התווית מיועד רק להצגתו. תרשים 4.2 מראה דוגמאות שונות לשימוש בפקדי אסם)א6ד ופקדי |1806. וו - אזורחיוג |- 3 מדנה ‏ |+* ושראלן שם פרש - איל שם משפחה ‏ גוטליך ]| תפקיד | קלדן 77 ]] העוות לא יכול לקום בבוקר תרשים 4.2: פקדי |1886 מזהים את מטרות חלקי הטופס, בעוד תיבות טקסט מאפשרות הזנת נתונים או מציגות מידע הצגת טקסט בעזרת הפקד |ַפטב3ּ] מטרת פקד |1806 היא להציג טקסט. לעיתיס קרובות מאוד הוא משמש להצגת פריטים בטופס למשתמשים. הדרך הפשוטה ביותר להשתמש בפקד התווית היא להציב אותו לאחר שדה קלט, ולקבוע את המאפיין חס680₪0 שלו. ביחס לתרשיס 4.2, יש לשיס לב שפקדי |18868 משמשים להודעה למשתמש איזה סוג של מידע יש להכניס לתיבות הטקסט. למרות שהפקד |1886 אינו מאפשר הזנה ישירה של טקסט, הוא כולל אירועיס ומאפייניס המאפשריס למפתח לתפעל את הטקסט ישירות מהקוד. כדי לנסות זאת, בנה פרויקט 5א%= תקני חדש והצב בטופס פקד |1806. הצב את הקוד הבא באירוע >סווס: ()60ו61 30611 | סט5 סזבּעווק חוד 8 " :5! סוח סד" = 611סב | 50 0ח= 08 סדנת לימוד 6.0 8\ הרצ את התוכנית. בכל פעס שתלתצ על התווית בעזרת העכבר, תציג התווית את השעה. בנוסף, שיס לב שבקוד לעיל לא הוזכר בפירוש המאפיין חסטס8ס, מכיון שזה מאפיין המחדל של הפקד |1806. כזכור, משתמשים בסימון הנקודה לציון המאפיין של אובייקט, כמו בשורת הקוד הבאה: וד .8 " 15 סח שד" = הסק1.03וסטהּ | אולם, פקד |1806 אינו מוגבל להצגת כמויות קטנות של טקסט בלבד. למעשה ניתן להשתמש בפקד |1886 להצגת מספר שורות או אפילו פסקאות מידע. אס רוציס להציג כמות מידע גדולה בפקד זה, יש להקדיש תשומת לב מיוחדת למאפיין 526ססט. המאפיין 4505126 אם ידוע איזה טקסט עומד להיות מוצג, ניתן לקבוע את גודל התווית שתתאיס לקליטת הטקסט. אולס, אס יוצגו בתווית טקסטים שוניס (למשל ביישומי בסיס נתוניס), כדאי לאפשר להתאיס את התווית לתכולתה בזמן נתון. המאפיין 05126 קובע אס גודל הפקד יותאם אוטומטית לטקסט המוצג. כאשר 805256 הוא במצב 6, (מצב המחדל), גודל התווית נשאר קבוע, בלי קשר לכיתוב המוצג. אס הכיתוב ארוך מדי לתווית, חלק ממנו לא ייראה, מכיון שאין הוא גולש לשורה הבאה. טיפ: בקביעת המאפיין חס₪ק69, ניתן לאלץ שורה חדשה על ידי הכללת שילוב של פעולת החזרת הגררה והזנת שורה. הטכניקה, כמו המינוח, היא שריד מתקופת מכונות הכתיבה הידניות. כשהמשתמש היה מגיע לקצה השורה, היה עליו לקדם את הדף ידנית שורה אחת (הזנת שורה), ולהחזיר את הגררה לתחילת השורה (החזרת גררה). 6 |8פו/\ מאפשרת להכניס שילוב החזרת גררה/הזנת שורה על ידי הכללת תווי 45611 מספר 13 ו-10, במקום שבו אמורה להיפתח שורה חדשה. 8856 |8טפו\ מספקת קבוע מוגדר מראש 1!זסטץ, לעזרה במקרים אלה: "שחו | 6ח5660" 8 1 טע 8 "סח | זו" = הסק68. 1וסטהּ | השליטה בהופעת הטקסט מאפיין ח680₪00 מכיל טקסט אמור להצגה, מאפייניסם אחריס מפקחיס על הופעת הטקסט. 26ו40%05 תואר בפיסקה הקודמת. מאפייניס נוספיס מתואריס להלן: + 6חסוחחףו|ה - מבקר את יישור הטקסט (שמאלי, ימני או ממורכז). ** 66ח8זה6מקה - גורס לטקסט להיראות שטות או תלת-מימדי. + 80700150/|6 - קובע אם לפקד |1806 יש גבול. > >חסת - הופך את הטקסט למודגש, בעל קו תחתי או נטוי, או משנה את הגופן. + | זס|600ז0= ו-זס|60א886 - קובעים את צבע הטקסט וצבע הרקע. + 6וחסוח6ח!/256\ - קובע אס התו 8 במאפיין 63000 מטופל כמציין קוד גישה. פרק 4: שימוש בפקדי ברירת המחדל של 8856 |פטפו\ - 99 הערה: בקביעת 06150/66זס0 כ- 6פַחו5 ₪60 נראה פקד התווית כתיבת טקסט בלתי ניתנת לעריכה. להדגשת טקסט בתווית ובפקדים אחרים, ניתן לקבוע מאפייניס אלה כך שיאפשרו כל מספר של אפקטים חזותיים. התוצאה של קביעת אחדים ממאפיינים אלה מוצגת בתרשיס 4.3. (אוםן-. | ו .זט סח 85 88| פד אפשרויות -- מאפייני יישור | ו | -(3-0) זסטזסם פוטחופ טפא=] = אפשרויות שונות למראה וסגנונות (81!)) זההזסם 8|חום ספאו"| +-- גבול מרכוז שורות מרובות בוסוזוטוחתז 5החווחסס אסםואם ד החד 58 פחו|! = .0118 86חו! וי תרשים 4.3: המאפיינים )הסוחחף!ה, 66ח8זה68סקה וכן 5/!6ז06זסם יכולים לשנות את צורת פקד |1806 הערה: המאפיין +חפוחתףו| משפיע על הופעת הטקסט גם כאשר התווית מציגה אותו ביותר משורה אחת. הפקד מיישר כל שורה לפי קביעת :חסוחחפו|8. (ראה תרשים 4.3). הזנת טקסט בתיבת טקסט מכיון שחלק גדול מפעולת התוכנית כולל שליפה, עיבוד והצגה של טקסט, ניתן להניח שסוס העבודה העיקרי של תוכנית רבות הוא הפקד א680ד. תּיבת הטקסט מאפשרת הצגת טקסט. אך בנוסף היא מאפשרת למשתמשי התוכנית גישה נוחה להכנסת טקסט ולעריכתו, ולתוכנית היא מאפשרת לשלוף את המידע שהוזן. הטיפול ביותר משורת טקסט אחת ברוב המקריס משמשת תיבת הטקסט לטיפול בקטע מידע אחד, למשל שם או כתובת. אך תיבת הטקסט יכולה לטפל גם באלפי תווי טקסט. תכולת פקד א80)אפד מאוחסנת במאפיין א6ד שלו - המאפיין העיקרי שאיתו 'ימשוחחת'י התוכנה. ניתן גס להגביל את מספר התווים שמשתמש יכול להזיןו על ידי המאפיין ה0ח6 |אפו!. ברירת המחדל לתיבת טקסט היא קליטת שורת טקסט אחת. כמות מידע זו מספיקה ברוב המקרים, אך לעיתים נדרשת התיבה לטפל בכמות טקסט גדולה יותר. שני מאפיינים שימושיים במקרה של טיפול בכמויות טקסט גדולות בתיבת טקסט הם: שחו |טוט ו-זהפ!|סזס50. 0 סדנת לימוד 6.0 8\ המאפיין 6חו וטוט קובע אס המידע בתיבת הטקסט מוצג בשורה בודדת, או גולש ונגלל לשורות אחדות. אס מאפיין 6חו וטוטוא נקבע ל-6טזד, המידע מוצג בכמה שורות וגלישת מיליסם מטופלת באופן אוטומטי. המשתמש יכול להקיש אפזאם כדי לאלצ שורה חדשה. המאפיין ז0||!83ז56 קובע אס פסי גלילה יוצגו בתיבת הטקסט, ואס כן - מאיזה טיפוס יהיו (6חסא, |פזחסקזסרו, |68זס/\ או ו80%). פסי הגלילה שימושיים במקריס בהס מאוחסן במאפיין 66%ך יותר טקסט מהתואס את תיבת הטקסט. המאפיין ז0|!89ז56 משפיע על תיבת הטקסט רק אס המאפיין שחו !וטוא נקבע כ-פטזד. תרשים 4.4 מראה את השפעת מאפייני שחו ושוטו\ וכן זפם!וסזס5. (אוםו תיבת טקסט פיסקה ראשונה ארוכה יותר מרוחב בעלת שורה 0 . ייסקה שניה מקה שלישית אחת שורות רבות פיסקה ראשונה פיקה עה 77 7 ₪ *-- פס גלילה אופקי פיסקה שלישית = רבות פיסקה ראשונה ארוכה יותר מרוחב הפקד - כ"ח קרדעוניה פס גלילה אנכי תיבת טקסט ₪ פיסקה שלישית מרובת שורות פימקה עניה שני פסי גלילה פיסקה שלישית תרשים 4.4: ניתן להשתמש בתיבת טקסט להזנת שורות בודדות או פסקאות שלמות טיפ: כאשר משתמש עובר לתיבת טקסט בהקשה על מקש הטאב או בלחיצת העכבר בתוכה, פעולה המוכרת כקבלת מיקוד (פ5ש06=), מקובל שהטקסט נבחר (או מואר). למרות שפעולה זו אינה מתבצעת אוטומטית, אפשר לעשות זאת בקלות יחסית. הוסף את שורות הקוד הבאות בשגרת האירוע של תיבת הטקסט, תוך החלפת 61א6ד בשם תיבת הטקסט שלך: 0 = 56|5084. 1)אך (0א6 ד. 61 7)ח1.6 = ה0%ח6 |561. 1)אד אימות קלט בקליטת טקסט חופשי ממשתמשים, יש לעיתים קרובות צורך באימות כלשהו של הנתוניס לפני שממשיכים. למשל, במקרה תיבת טקסט המקבלת מידע שהוא מספר טלפון, ניתן להשתמש בקוד לבדיקת אורך מספר הטלפון או אפילו לוודא שהמשתמש הזיו בכלל מידע. מאפיין חדש בגרסת 6 8856 |1508/ הוא אירוע תיבת הטקסט 0866ו|8/\. שגרת אירוע זו יכולה לכלול קוד המאמת את המידע בפקד הקשור אליו. הוא מופעל על ידי פקד אחר, שהמאפיין ח680565\8|1080₪0 שלו נקבע כ-6טזד. למשל, שורת הקוד הבאה מציגה תיבת הודעה אס תיבת הטקסט איננה מכילה נתונים נומריים : "הווח 8 ז6+ח6 6856!ק" אס 50 הסח ד 0א6 ד)6ה6רהט15 %6סא )1 פרק 4: שימוש בפקדי ברירת המחדל של ₪856 ו|הטפוש | 101 | | לניסוי האירוע בנה פרויקט 5א5 תקני חדש. מקס בטופס לחצן פקודה ותיבת טקסט, והוו את שורת הקוד לעיל באירוע 0806ו|8\ של תיבת הטקסט. בהקשת טאב לצורך יציאה מתיבת הטקסט, תוצג ההודעה, אלא אס כן הוזן לתיבה מספר. קביעת המאפיין ח0800ו|68565\3 כ-8|56= תפסיק את אירוע האימות. פקדים לבחירת אפשרויות בקטע הקודם למדת איך לקלוט מידע ממשתמשים דרך תיבת הטקסט. גישה זו מתאימה למקריס רביס של איסוף מידע. אולס מה קורה אס דרושה רק פיסת מידע קטנה, כגון ייהיש בבעלותך מכונית!יי או ימה מצבך המשפחתי!יי במקרים כאלה עומדות לרשות המשתמש רק שתיים או לכל היותר מספר קבוע של תשובות אפשריות. אס למשל התוכנית בנויה לקלוט רק את המילים כן ולא, תיווצר בעיה אס משתמש מקליד 'יאולייי, או טועה בהקלדה. ניתן למנוע את הבעיה ולהפוך את התוכנית נוחה יותר לשימוש, אס משתמשיס בפקדיס להצגה וקליטה של אפשרות בחירה. בקטעיס הבאיס ייבחנו פקדיס אחדיס המאפשריס ברירה בין אפשרויות. ניתן להציע ברירה כואת בשימוש בתיבות סימון, לחצני אפשרויות, רשימות ותיבות משולבות : + תיבת סימון (80% 6066%) - מפעילה או מפסיקה אפשרות אחת או יותר. + לחצן אפשרויות (חסם6ט8 חסזקס) - בוחר אפשרות אחת מתוך רשימה. + תיבת רשימה (א80 115%) - מציגה רשימת פריטים המוגדרים על ידי המשתמש. > תיבה משולבת (א80 סטוח60) - תיבת טקסט עס רשימה נפתחת. לחצן הפקודה הפקד ח8060 30 וח 60 הוא בעל חשיבות כמעט בכל יישוס. הוא מאפשר בדרך כלל אתחול פעולות בלחיצה על לחצן. ניתן להתקין פקד ח₪0ט08ח3ח 60 על ידי הצבת הלחצן על הטופס וקביעת המאפיין ח00ק68 שלו בתור הטקסט שאותו מבקשים להציג על פני הלחצן. להפעלת הלחצן יש להציב רק קוד בשגרת האירוע >6ו01 שלו. כמו בכל שגרת אירוע, יכול קוד ה לכלול כל מספר של משפטי תכנות תקפים של 8856 |1808/. למרות שמשתמשיסם מעדיפים לעיתיס קרובות ללחוץ על לחצני פקודה באמצעות העכבר, ישנס המעדיפים גישה לפקודה מן המקלדת. זהו לעיתים קרובות המצב בתוכניות עתירות הזנת נתוניס. כדי לספק משתמשיס אלה, ניתן לגרוס לתוכנית להפעיל אירוע של לחצן פקודה בלחיצה על מקשים מסוימיס במקלדת. עושים ואת על ידי הקצאת מקש גישה ללחצן הפקודה. כשהוגדר מקש גישה, ניתן להפעיל בהקשה עליו, תוך החזקת מקש 416, את האירוע 66% של הפקד הסוח ס6. הקצאת מקש גישה מתבצעת בקביעת מאפיין ח68000 של הפקד חסאטם0חה ו 60. יש להציב את התו 8 לפני אות המקש הנבחר. למשל, כדי לאפשר למשתמש להדפיס בהקשת 6+)/, קובעים את מאפיין ח63000 כ-זחוזק8. התו 6 אינו מופיע על הלחצן, אך אות מקש הגישה מודגשת בקו תחתון. על לחצן הפקודה יופיע הכיתוב זחוזס. 2 סדנת לימוד 6.0 8\ הערה: אם דרוש מסיבה כלשהי להציג בכיתוב לחצן הפקודה את התו 8, פשוט הצב אותו פעמיים במאפיין ח0זק68. למשל: זוא₪ 88 58/6 יוצר את הכיתוב זוא= 8 586. ניתן ליעד לחצן פקודה אחד על כל טופס כלחצן מחדל (חסשטם 690|6כ). לחיצה על ץח כשפקד כלשהו נמצא במיקוד (למעט לחצן פקודה אחר או תיבת טקסט שבה האפיון 6|סטוטא הוא 6טזד), תגרוס להפעלת לחצן המחדל. פעולה וו מפעילה את האירוע 616% של לחצן המחדל, בדיוק כאילו לחצ המשתמש על לחצן המחדל. לקביעת לחצן כלחצן מחדל יש לקבוע את המאפיין %|6080כ שלו כ-6טזד. רק לחצן אחד בטופס יכול להיות לחצן מחדל. ניתן גם לייעד לחצן אחד כלחצן ביטול (חסששטם |66ח68), הדומה ללחצן המחדל, אך פועל עס מקש 556. להסבת לחצן פקודה ללחצן ביטול, קבע את המאפיין |6ח68 שלו כ-6טזד. כמו לגבי לחצן המחדל, רק לחצן אחד בטופס יכול להיות לחצן ביטול. עס קביעת ערך המאפיין 6/801כ או |69ח68 של לחצן אחד כ-6טזד, מוסב מאפיין וה בלחצניס האחריס ל-856=. תיבות סימון פקד תיבת הסימון (א0ם 0066%) של 88516 |508ו\ משמש לקבלת תשובת יכן'י או יילא מהמשתמש. פקד זה פועל כמפסק חשמלי. או שהוא מופעל, או שהוא מושבת. אין מצבי בינייס. כשתיבת סימון מופעלת, מוצג הסימן * בתיבה. הסימן מצייו שהתשובה לשאלה הקשורה לתיבת הסימון היא ייכןיי. כשהתיבה ריקה ואין בה סימון, התשובה היא יילא'י. לתיבת הסימון מצב אפשרי נוסף, מצב אפור, המוצג כסימן * על רקע אפור. מצב גה מצביע בדרך כלל על ביצוע בחירה חלקית (נבחרו רק כמה מתוך תת-אפשרויות הבחירה, לא כולן). המשתמש יכול לבטל את הבחירה החלקית, ואז נמחק הסימון האפור. אם הוא בוחר בתיבה מחדש, כל אפשרויותיה נבחרות. תרשיס 5 מציג את שלושת המצביס האפשרייס של תיבת הסימון. הערה: סימן * או תבנית התיבה הריקה אופייניים לצורה התקנית של תיבת הסימון. אם קובעים את ערך המאפיין 56 כ- |₪39וחק9ז6 - 1, משמשות תמונות לסמן תיבת סימון מלאה או ריקה. תיבות סימון גרפיות מודגמות גם הן בתרשים 4.5. תרשיס 4.5 מדגים, בנוסף לתיבות הסימון התקניות, גס תיבות סימון גרפיות. שני מאפיינים, 6זוש6ק ו-6זנססוק חהאוסס, קובעיס את התמונות המוצגות בתיבות הגרפיות. פרק 4: שימוש בפקדי ברירת המחדל של ₪856 ו|צטפוצ | 103 ו ו אמ וחספז טחואסותפ-הס] ‏ ]| =----- מסומנת (חס) ומוחפקעצו -] *-- לא מסומנת (08) | ה קו!זסטוחטוח פוט 7 אפורה 6 קגוסז ב תסיט קוחכ תרשים 4.5: תיבת הסימון יכולה לציין "כן" או "לא" כתגובה לשאלה תמונה (0%) לחצני אפשרויות לחצני אפשרויות (חסטטם חסטקס), הנקראיס גס לחצני רדיו (חסשטם ס0ו580), דומיס ללחצנים במכשיד רדיו של מכונית: הס קיימיס בקבוצות, וניתן יילבחוריי רק אחד מהם בכל זמן נתון. הס שימושיים להצגת רשימה אפשרויות קבועה, מהן ניתן לבחור בו-ומנית רק אפשרות אחת. לבדיקת הנושא חצב אוו כמה לחצני אפשרויות על טופס. בתחילה יש לכל לחצן ערך 8|56]. אס משניס ערך של אחד מהלחצניס ל-6טזד, ולאחר מכן משניס ערך של לחצן אחר ל-6טזד, הלחצן הקודס שהיה 6טזד עו אבסו "6 יהפוך אוטומטית ל-8156=, כמודגס בתרשים 4.6. הזו 7+ תרשים 4.6: לחצני אפשרויות יכולים לשמש להצגת רשימה קבועה של אפשרויות בחירה בקוד ניתן להשתמש בלחצני אפשרויות באחת משתי דרכים : + > השתמש באירוע 0166 אס בכוונתך לבצע פעולה כשהמשתמש בוחר באפשרות. שיטה זו שימושית כשמשתמשים בלחצני פיקוד הנמצאיס במערך פקדים, כמודגס בדוגמה הבאת: (060061ח1 5 א06ח616%)1 חַ6//85קס פטס סספעווק 106% 60856 50!6066 0 856 "|הוחזס\] :56!6660 טס" אס 50 1 356 "טכ עש168] :56160000 טוסץ" א80 50 2 6856 "735 300 2015 :56!60060 טס" אס ₪50 סח 50 0חם 4 סדנת לימוד 6.0 8\ %, % . אל תכתוב שוס קוד באירוע לחצני האפשרות. במקוס ואת עשה שימוש בשורת 1 לבדיקת מצבם, כמודגס להלן: ( )6110 05%1\\/450רח6 5010 בטוק הסח ד סט ד = שעפסוזקס ]1 5 ץש הסוסס 6 35 !ה ותזסצזס + 0ח= 50 0ח= השיטה השנייה שימושית אס אינך מעונייו שמשהו יקרה מייד לאחר שהמשתמש בחר באפשרות. האס ניתן לבחור יותר מלחצן אפשרויות אחד בטופס: התשובה חיובית, אך מחייבת חלוקת לחצני האפשרויות ‏ |5%!= לקבוצות, תוך שימוש בפקד המשמש כמכולה ו (60הו%9ה0ס6). | השימוש במכולות, כמו למשל פקד ב המסגרת (סח8זה), שיידוו בהמשך הפרק, מאפשר ריכוו לחצני האפשרויות בקבוצות, כמודגם בתרשים 4.7. תרשים 4.7: ליצירת מספר קבוצות של לחצני אפשרויות, יש להציבן במכולה, כגון מסגרת או תיבת תמונה 8 300 סק 7+ 1/0 () עז כ |הוחזס] 17 סיה 5 עהזסחה= 66 תיבת הרשימה תיבת רשימה (א0סם 115%) משמשת להצגת רשימת אפשרויות. תרשיס 4.8 מציג רשימה פשוטה, המשמשת לבחירת מדינה, לצורך הדפסה בתווית כתובת. הרשימה מציגה את כל המרכיבים של תיבת הסימון. חלקי המפתח של תיבת סימון הם : %, % 4 רשימת פריטים. רשימת הפריטיס מתוכה אמור המשתמש לבחור. פריטיס אלה נוספיס לרשימה בסביבת התכנון, או על ידי התוכנית תוך כדי הרצתה. פריט נבחר. הפריט שנבחר על ידי המשתמש. בהתאס לסוג הרשימה המוצג, מסומן הפריט הנבחר בהארה או על ידי סימן * בתיבת הסימון ליד הפריט. פס גלילה. חלק זה מציין שברשימה כלולים פריטיס נוספיס שמחוסר מקוס אינס מוצגיס, ומספקת למשתמש אמצעי נוח להצגת פריטים נוספים אלה. פרק 4: שימוש בפקדי ברירת המחדל של ₪856 וצטפוצ | 105 ו ו תרשים 4.8: תיבת רשימה פשוטה מכילה סדרת אפשרויות שמהן יכול המשתמש לבחור את הרצויה לו מבחינת המשתמש, השימוש בתיבת רשימה דומה לבחירת ערוציס בטלוויזיה בכבליס. חברת הכבליס מחליטה אילו ערוציס לכלול ברשימת הערוציס לבחירה. הלקותח יכול לבחור כל ערוץ הנכלל ברשימה, אך איננו יכול להוסיף אליה, אס אין הוא מרוצה מהאפשרויות שהועמדו לרשותו. בתיבת הרשימה נקבעת על ידי המפתח רשימת האפשרויות לבחירה. המשתמשים יכולים לבחור רק מתוך אותס פריטים שהמפתח העמיד לרשותס. כשמציירים לראשונה תיבת רשימה על טופס, מוצגיס רק גבולות התיבה והטקסט 1 (שם התיבה). אין בתיבה פס גלילה וכמובן ששוס רשימה אינה מופיעה שס. פס גלילה אנכי נוסף אוטומטית לתיבת הרשימה, כשמוזנות אליה יותר אפשרויות משניתן להציג בה-בעת. יש לשיס לב שהתיבה אינה כוללת פס גלילה אופקי, גם אס הפריטיס ברשימה ארוכים מרוחב התיבה. חשוב לוודא כי רוחבה מתאיס להצגת כל הרישומים. שימוש בסיסי בתיבת הרשימה הדרך הפשוטה לשלוט באפשרויות הזמינות בתיבת הרשימה, היא להשתמש בשיטה הח6ז00\ להוסיף לה פריטים. נדרש רק לציין את הטקסט שמבקשים לכלול בתיבה. כדי לנסות זאת, פתח פרויקט 5%5 תקני חדש. צייר בטופס תיבת רשימה, והוסף את שורות הקוד הבאות לאירוע 1080 של הטופס: ()080. 1 חזזס-] 50 סזבּעוזוק זז 5 ו הזוס 0 סד 1 = | זס= | 8 " החססו 15 פוח ד" הח00106ג. 561 | | 61 50 0ח= הערה: למרות שדוגמה זו משתמשת בקוד להוספת פריטים, ניתן בשלב התכנון גם ליצור תיבה על ידי הדפסת הטקסט האמור להופיע בתיבת הרשימה, במאפיין 5% שלה. כל שורה במאפיין מתייחסת לאפשרות בחירה המוצגת למשתמש. לאחר הוספת פריט לרשימה יש להקיש ז8זח6₪1+5 למעבר לשורה הבאה ברשימה. הרצ את הפרויקט, ואו תראה שורות טקסט מופיעות בתיבת הרשימה. למחיקת כל הפריטים מתיבת רשימה, השתמש בשיטת ז69ו0, כמו בדוגמה הבאה: 6 סדנת לימוד 6.0 8\ זו 561 | הפריטיס בתיבת הרשימה מאוחסנים במערך הניתן לגישה דרך המאפיין 1186 מערך הרשימה מתחיל באינדקס אפס, ולכן ניתן להשתמש בשורה הבאה לצורך הכנסת הפריט הראשון ברשימה: (150 151.1 | +חוזק ניתן לבחון שורה וו על ידי הכנסת תוכנית הדוגמה למצב עצירה (הקש 87686+!6), והונת שורת זחוז? בחלון המופיע מייד לאחר מכן. עוד שני מאפייניס קריטייס לשימוש בתיבת הרשימה הס: 115950000 המייצג את מספר הפריטיס ברשימה, ו-א06ח11501, מייצג את הפריט הנבחר. ם אזהרה: כשמשתמשים ב-0חַט15%00! בלולאה כדי לבדוק תוכן מספר לא ידוע של פריטים, חשוב לזכור שהמערך 115% מתחיל באפס, ולכן הקוד צריך להיראות כדלהלן: 1 - +חטס50 10501.1 סד 0= | זס= (50)1 151.1 | 6655סזק' | +68 הערה: אם שום פריט לא נבחר, ערך א06ח11501 הוא 1 -. להדגמת מאפיין א11501806 בפעולה, עצור את תוכנית הדוגמה והוסף את הקוד הבא לאירוע 0|16% של תיבת הרשימה: (15010068 1. 1501 15%)1 .15% 1 אס 150 הרצ שוב את התוכנית, וכשאתה לוחי על פריט, הוא מוצג בתיבת ההודעה. דרך אחרת לשליפת ערכו של פריט נבחר על ידי המשתמש מתיבת רשימה, היא בדיקת המאפיין )א6ד של התיבה. מאפיין וה מכיל את הפריט מכל שורה ממוקדת בתיבת הרשימה. במקרה של תיבת רשימה פשוטה מחזיר המאפיין )א6ד את השורה שעליה לחץ המשתמש. במקרה ששוס שורה לא נבחרה, מחזיר המאפיין מחרוזת ריקה ( "). להסרת פריט מתיבת הרשימה השתמש בשיטת ‏ 616₪עטסוח6ח, בציון אינדקס המערך של הפריט המוסר. להדגמה הוסף את שורת הקוד הבאה לאירוע חושסס/6א בתיבת הרשימה : (ז%606ח1 45 51% ,106067 5 0006ץ6א )הצוסכ ץ66 11561 פטס סספעווק הסח ד 1- <> 1501006% 501.1 | 0חג 6|606כץ6אפע = 660006 זז א |. 1541 | 106 /סרח6. 561 | + 0ח= פרק 4: שימוש בפקדי ברירת המחדל של ₪856 ו|הטפוצ | 107 ו | ספ 0חם הר את התוכנית עס השינוייס החדשים ותוכל לסלק פריט מהרשימה על ידי בחירתו והקשה על המקש 6!606. שימוש במערך הרשימה שיטת 001667 והשימוש בה להוספת פריט לרשימה כבר נדונו בפרק זה. ניתן גם להשתמש בפרמטר הרשות א06ח1 בצירוף עס שיטת 400106₪. הפרמטר מציין את המקוס במערך הרשימה, שבו אמור הפריט הנוסף להופיע. מציינים את ערך האינדקס של הפריט במערך, שלפניו מבקשיס שהערך החדש יופיע. למשל, אס ברשימה חמישה פריטים, ורוציס שהפריט החדש יופיע לפני הפריט השלישי, משתמשים בקוד הבא : 2 ,"007/66" רח00106. 11501 מיון פריטים בקטע הקודס הודגמה הוספה ומחיקה של פריטים מרשימה. בנוסף הודגמה הוספת פריט במיקוס מוגדר על ידי קביעת האינדקס. אך מה עם מיון הפריטים לפי אלף-ביתז למזלנו ווהי משימה פשוטה. למיון הרשימה יש לקבוע את המאפיין 50160 כ-6טזד. לאחר מכן יופיעו הפריטיס ברשימה בסדר האלף-בית, בלי תלות בסדר הזרמתס. האינדקסיס של הפריטים מותאמים עס הזנתם, כדי להבטיח הופעתס בסדר המבוקש. הערה: זכור, בסידור לפי האלף בית מופיע המספר 2 אחרי 11. כושר מיון מובנה וה הוא מאפיין נאה של תיבת הרשימה, באפשרו מיון נתוניס מהיר. אולסם, דרוש לציין את המאפיין 5060 בעת התכנות. אס דרוש לאפשר למשתמשיםס להפעיל או להפסיק את המיון בעת הרצת התוכנית, ניתן להשתמש בשני פקדים של תיבת הרשימה, ולהשתמש במאפיין 6)טופו/\, כך שרק אחד מהם יוצג בו-זמנית. הערה: המאפיין 501160 לא ניתן לשינוי בזמן ריצת התוכנית, ניתן רק לראותו. כלומר הוא במצב ץ/ח₪6800 בזמן ריצה. קביעת ההופעה של תיבת רשימה בנוסף לתיבת הרשימה הייפשוטהיי (תרשים 4.8), קיימיס סגנונות הצגה נוספים. ניתן לגרוס לתיבה להיראות כסדרת תיבות סימון, או להכליל בה כמה טורי פריטיס. בחירת סוג הרשימה מתאפשרת על ידי קביעת המאפיין 6ש5. שני המצבים של המאפיין הס 55800870 - 0, א0פ60666 - 1, כמודגם בתרשים 4.9. המאפיין ניתן לשינוי 8 סדנת לימוד 6.0 8\ גס תוך כדי ריצת התוכנית, על ידי קביעת ערכו כאחד משני הקבועיס הפנימיים 500530 ופצ או 0% א66ה6א5600ו ופצ בהתאמה. 1 חתפו 15 פוחך 2 חתפו 15 פוחחך 2 חתפו 15 פוחד = 3 הפו ו פוחד 3 תפז ו פוחוד ך = 4 סו פו פד 4 סוה ₪ שד | 5 חתפו 15 פוחחך 0 5 הסנו ו פוחך 5 חא ₪ וחד 7 השא 5 פווזך 5 החשזו 15 פודך 8 תסו פו פוחך 7 התסו 5ו פוחך 3 חתפו 15 פוחך 8 חש ו פוחד ךר 0 חתפו 5ו פוחך 3 החש פו פוחדך [= ופחד רה תרשים 4.9: תיבות רשימה בסגנון תיבות סימון מספקות למשתמש דרך אינטואיטיבית לבחירת יותר מפריט אחד דרך נוספת לשינוי מראה הרשימה היא בשימוש במאפיין פחחחטוס6. ערך המחדל של המאפיין הוא 0. ערך ה מציג את תיבת הרשימה התקנית שנדונה לפני כן. קביעת הערך ל-1 גורמת להצגת הרשימה בצורת עמודה אחת בכל ומן נתון, אך עס גלילת טוריסם אופקית, לא אנכית. קביעת הערך למספר גדול מ-1 גורמת להצגת הרשימה בו-1מנית של מספר עמודות השווה לערך האינדקס (לדוגמה, הערך 2 יגרוס להצגת שתי עמודות). כשהרשימה מוצגת במספר עמודות, הגלילה היא אופקית. ניתן להשתמש במאפיין פחוחטוס6 גס בעיצוב הרשימה התקני וגס בעיצוב בצורת תיבת הסימון. תרשים 4.10 מציג רשימה חד ורב-טורית. הרשימות פועלות באותה דרך, בלי תלות במספר העמודות. (אובן- 5 החפ ו פוו 1 = 45 החפנו פו פוחך 6 חפנו ו פו 1 | 47 התש פו פוח 1 = 38 התש 8 פוה ד 2 סו פו וחד 7 וחסוו ₪5 וחד 48 וחסוו 5 וד 39 וחסוו 5 וחד 3 וחסוו ₪ פוחך 8 וחסזו ו וח 1 43 וחסוו פו פוח 40 ותפוו ו פוה ד 4 זז ₪ פמחד 7 3 וחתפו ופוח | 50 תפז ו פווך = 41 החפ ו פוח ד 7 0 חש ₪ 18 51 הפו ₪ 1 42 וחשה | אמ ד כ חפ 5 פד ] 1 חפ 5 ות 1 = 52 הזש 5 שוח 1 = 43 חתפא ו פוח ד 5 חזפזו ו פוחד | | 2 הפו 5ו פוח 1 53 תפשו פו ור 1 = 44 החש 15 פוה ד 7 החשזו ו פוחד ךר 3 ותפטו פו וח = 54 תפז ו פוו 1 = 45 החפ ו פוה ד 8 תסו פו פוחך 9 תסו ו פוך ₪ \->=] [= 10תסה ₪ שמזן תרשים 4.10: ניתן גם ליצור רשימות עם יותר מעמודה אחת פרק 4: שימוש בפקדי ברירת המחדל של 88566 |שפ/ - 109 עבודה עם בחירות מרובות לעיתים יש לאפשר למשתמשיסם לבחור יותר מפריט אחד מתוך רשימה. תיבת הרשימה תומכת באפשרות כזאת עס המאפיין ₪56!66%וטו. | למאפיין וה שלושה מצביםס אפשרייס : 6חסא - 0, 6קחו5 - 1, וכן 6000066 - 2. %, * מצב המחדל 6חסא - 0, פירושו שבחירה מרובה אינה מותרת, ותיבת הרשימה יכולה לקבל רק ערך אחד בו-ומנית. שני המצביס האחרים מאפשרים בחירה מרובה. ההבדל ביניהס הוא בדרך שהס מאפשריס למשתמש לבצע את הבחירה. במצב 5106 - 1 יכול המשתמש ללחוצ על פריט בעזרת העכבר כדי לבחור בו, או ללחוץ על פריט נבחר כדי לבטל את הבחירה. בשימוש במקלדת הוא :כול להשתמש במקשים כדי להזיז את הסמן להזות המיקוד (הגבול המקווקו) לפריט מסויס, ואז להקיש על מקש הרווח לביצוע הבחירה או לביטולה. > המצב השני של 8חו₪560וט1, מצב 0060060 - 2, מורכב יותר. במצב זה יכול המשתמש להשתמש בטכניקות התקניות של פוספחוש\ לבחירה מהירה של פריטים מרובים. ניתן לבחור טווח פריטיס בלחיצה על הפריט הראשון בטווח ואז תוך החזקת מקש א501 ללחו על הפריט האחרון בטווח. כל הפריטים בין הראשון לאחרון נבחרים. כדי להוסיף או להוריד פריט בודד מהרשימה, על המשתמש ללחו על הפריט, תוך החזקת מקש |6. קבלת הבחירה מתיבת רשימה מרובת אפשרויות שונה במקצת מאשר בבחירת פריט אחד. מכיון שמאפיין א06ח11501 פועל רק על בחירת פריט בודד, לא ניתן להשתמש בו. במקוס ואת, יש לבחון כל פריט ברשימה, לבדיקה אס נבחר. האינדיקציה אס פריט נבחר ניתנת במאפיין תיבת הרשימה 56!6060. כמו המאפיין 8% שהוזכר קודס, 566060 הוא מערך, שיש בו אלמנט לכל פריט ברשימה. ערך המאפיין 56|66060 לכל פריט הוא או 6טזד (הפריט נבחר), או 89/56 (הפריט לא נבחר). בנוסף יש צורך לדעת כמה פריטים ברשימה, כך שיהיה אפשר לכוון את הלולאה לבדיקת כל אפשרויות הבחירה. המידע הזה נכלל במאפיין 4ט115660. הקוד הבא מדפיס בטופס שם של כל פריט נבחר מהרשימה : +הטס-5%! |.פסוטז= = וחססווחווח 1 - הטורח 60 0 = 1 זס= (150)1 5.1זוטז=] +חוזק. 1 התזס-] השח (56!66060)1.וטי= ]1 1 אסא 0 סדנת לימוד 6.0 8\ שמירת הנתונים האחרים ברשימה ננייח שמבקשיס להציג למשתמשים רשימה של שמות הפריטיס שבה יש משמעות, כגון רשימת שמות, אך נדרש שהרשימה תזכור מספר הקשור לכל שם. המאפיין 8הסוח6ז1 של תיבת הרשימה הוא בבסיסו מערך של מספרים שלמיס ארוכים, מספר אחד לכל פריט שנכלל בתיבת הרשימה. 1600868 זוכר את המספר הקשור לפריט המסוים, בלא קשר למיקומו בתיבה. וה קורה גס אס המאפיין 50760 של התיבה הוא 6טזד, שפירושו כי הפריטים אינס רשומיס בהכרח בתיבה לפי סדר הוגרמתם אליה. למשל, האלמנט של מערך 16080 הקשור בפריט הראשון בתיבת הרשימה 0561, ניתן לגישה כ-(08%8)0 1660 11501. הגישה לאלמנט המערך של הפריט התורן הנבחר היא דרך (א06ח1501 561.1 !)2868 ח166. 11551 (יש לזכור כי המאפיין א1150006 מדווח איזה פריט הוא הנבחר התורן). כשלתיבת הרשימה נוספים פריטים, נוצר במערך 8ּזסוח1)6 אלמנט הקשור אליו. הזנת הערך המתאיס למקוס המתאיס במערך 168% היא כמובן תפקידו של מזין הפריטיס. אס כך איך תדע התוכנית באיזה מיקוס בתיבת הרשימה הושס הפריט!? 6 |56\ הופכת ואת למשימה פשוטה. מאפיין א06ח1ש₪6 מאחסן את מספר האינדקס של הפריט האחרון שנקלט ברשימה. הקוד הבא מוסיף לקוח חדש לתיבת רשימה ממוינת ואז מוסיף את מספר חשבון הלקוח לאלמנט המתאיס של המערך הקשור בו 308כוחס)1 : "סחו( ,85 הסח ד" ח075.001166ר50500! 1 = (א106/ש6\]. זר 5001500 )2 10 5 זר 0ש156.05 עכשיו יכולה התוכנית לאפשר למשתמש לבחור מתוך תיבת רשימה המכילה אלמנטיס שיש להסם מובן (שמות), אך העיבוד ברקע יכול להתבצע עס המספר הקשור אליו, מה שמקל על פעולת המחשב. גישה זו מודגמת בשגרת האירוע 616% של תיבת הרשימה: ()66ו01. 500056000015! 50 סזהּעוזוק (5010068! |. 50015005 )2 10 5 זר 0ש5605! = ז55וח דט! וחוס (150050 ד0!)חו 0/6060 !\)סס ] |ו68 50 0חם הערה: 060 | הינה פונקציה שמשתמשת במספר החשבון של הלקוח. פרק 4: שימוש בפקדי ברירת המחדל של ₪856 |הטפוצ - 111 | ו התיבה המשולבת פקד נוסף המאפשר הצגת רשימות למשתמשיס הוא תיבה משולבת (א80 סטוחסס). השימוש בתיבה המשולבת אפשרי בשלוש צורות: % + תיבה משולבת נפתחת (אסם ססו 60 האוסס ססזס). מציגה למשתמש תיבת טקסט משולבת ברשימה נפתחת (ראה תרשים 4.11). המשתמש יכול לבחור פריט מהרשימה הנפתחת, או להקליד חדש פריט בתחוס תיבת הטקסט. > תיבה משולבת פשוטה (א80 סטוח60 6מחו5). מציגה תיבת טקסט ורשימה שאינה נפתחת (ראה תרשיסם 4.12). כמו בתיבה המשולבת הנפתחת, יכול המשתמש לבחור פריט מהרשימה, או להוסיף פריט חדש בתיבת הטקסט. + רשימה נפתחת 1150 חאוסם ססזס). מציגה תיבת רשימה נפתחת. המשתמש יכול לבחור פריט מהרשימה הנפתחת, אך אינו יכול להוסיף פריט שאיננו ברשימה. ה ה -- 0 ספ חזס-) מעשסטקטזם- הקלד פריט חדש לחץ כאן כדי לפתוח את הרשימה 1 וחפזו פו פוה ך 2 הז ו וחד ב ו 5 חחסטו פו פוה 5 חפוו פו פוה ך 7 תסו 18 פוחך 8 ח6שו 15 סוחד תרשים 4.11: בתיבה המשולבת הנפתחת ניתן לבחור פריט מהרשימה הנפתחת, או להוסיף פריט חליפי על ידי הקלדה בתיבת הטקסט מ תמממרהן - א םספוחס-) 6|קוחו5 : הקלד פריט > | 1 תפז ו פוחך 2 חפזו 8 פוחד בחר מהרשימה תרשים 4.12: התיבה המשולבת הפשוטה פועלת כמו התיבה המשולבת הנפתחת, פרט לכך שהרשימה מוצגת באופן קבוע 2 סדנת לימוד 6.0 8\ |אוםן 18% ] האוסטקסזם | לחץ פה כדי לפתוח את הרשימה 1 חחפוו ו פוחך 2 החסוו ו פוזך 3 תסו ו פוחד 4 חתפו פו פוח ד | > 5 וחפוו ו פוחך ₪ החפ 15 פוחך 7 החסטו ו פוחך 8 תסו ו פוחך בחר מהרשימה תרשים 4.13: ברשימה הנפתחת אין אפשרות להקליד פריט חליפי הערה: סוג חדש של תיבה משולבת, 000 1088660, נוסף בגירסה 6. פקד זה נדון בפרק 2 הפקדים המשותפים של 6:050%:₪/. לתיבה המשולבת יש הרבה מן המשותף עם תיבת הרשימה. שתיהן משתמשות בשיטות 400166 ח61:6עסוח6ה, ז6!68, לשינוי תוכן הרשימה. בשתיהן ניתן להציג רשימה ממוינת או בלתי ממוינת. שתיהן תומכות במערך 16600806 ובמאפיין א6סח1או6)א. ישנס אולס דבריס מסוימיס שתיבה אחת מסוגלת לבצע והשנייה לא. התיבה המשולבת איננה תומכת בבחירת פריטיס מרובים. יתרונה העיקרי של התיבה המשולבת הוא במתן אפשרות למשתמש להזין אפשרויות בחירה שלא נכללו מראש ברשימה. השיטה דומה לשימוש בפתק בחירות, שניתן לבחור בו במועמד מתוך רשימה, ואפשר גס להוסיף בו שס של מועמד נוסף, שלא נכלל בה. הערה: הרשימה הנפתחת איננה מאפשרת הוספת פריטים לרשימה על ידי המשתמש. יתרונה על תיבת רשימה פשוטה הוא בכך שהיא תופסת פחות מקום. הקטעיס הבאיס מסביריס כיצד להשתמש בצורות השונות של התיבה המשולבת. הרשימה הנפתחת נדונה ראשונה, כי היא הפשוטה מכל סגנונות התיבה המשולבת. פרק 4: שימוש בפקדי ברירת המחדל של ₪856 ו|הטפוצ\ - 113 | ו יצירת רשימה נפתחת רשימה נפתחת 1150 חאוסם ססזס) פועלת כמו תיבת רשימה. ההבדל העיקרי הוא, שרשימה נפתחת תופסת פחות מקום בטופס. כשמשתמש רוצה לבחור פריט מהרשימה, הוא לוחץ על הח למטה הממוקם בימין התיבה, כדי לפתוח את הרשימה. לאחר הפתיחה ניתן לבחור פריט בלחיצה עליו. לאחר הבחירה נסגרת הרשימה כמו תריס נגלל של חלון, והפריט הנבחר מופיע בתיבה. המפתח יוצר רשימה נפתחת על ידי ציור תיבה משולבת על הטופס וקביעת המאפיין 6 לערך 115% חאוססקסזס - 2. ניתן אז להוסיף פריטיס לרשימה תוך שימוש במאפיין %, כפי שהדבר נעשה בתיבת רשימה. יש לזכור כי משתמשים אינס יכוליס לבחור פריטים שאינס כלוליס ברשימה כשעובדים עם סגנון זה. קביעת הבחירה ההתחלתית בתלות ביישוס הנבחר, ייתכן שהמפתח ירצה לקבוע את הפריט ההתחלתי בתיבה המשולבת. ניקח לדוגמה תוכנית המבקשת לדעת את אזרחות המשתמש. התוכנית כוללת רשימת אפשרויות לבחירה, אך מעונייניס להציג כבתחירה ראשונה את האפשרות ייאזרח ארצות הבריתיי, כי זו צפויה להיות בחירתס של רוב המשתמשיס. קביעת הערך ההתחלתי נעשית בשימוש במאפיין א06ח11501. לדוגמה, אס יאזרת ארצות הברית'"" הוא הפריט הרביעי ברשימה, ניתן להשתמש בקוד הבא לגרוס לו להיבחר מראש (זכור כי א06ח115061 מתחיל את הספירה מאפס): 3 = א5006 001.1 חס משפט זה גורם לפריט הרביעי ברשימה להיות מוצג כשהתיבה המשולבת מופיעה לראשונה (זכור: האינדקסיס של הרשימה מתתילים ב-0). ניתן לקבוע את הבחירה הראשונית בכל שלושת סוגי התיבות המשולבות. ניתן גס לקבוע את הבתירה הראשונית של התיבה המשולבת על ידי קביעת המאפיין 6%ז לערך הרצוי. אס הבחירה ההתחלתית אינה נקבעת דרך קביעת האינדקס, מוצג הטקסט הנכלל במאפיין 6% . אזהרה: הערך ההתחלתי של המאפיין 6% הוא שם התיבה המשולבת. אם אינך רוצה ששם זה יופיע בהתחלה בתיבה המשולבת, עליך לקבוע את אחד המאפיינים א51006! בקוד או למחוק את תכולת המאפיין 16% של הפקד. 4 סדנת לימוד 6.0 8\ עבודה עם אפשרויות בחירה שאינן ברשימה הרשימה הנפתחת שימושית להצגת אפשרויות אחדות בשטח מצומצסם. אולס, כוחה האמיתי של התיבה המשולבת הוא במתן אפשרות למשתמשיס לבחור באפשרויות שאינן נכללות ברשימה. אפשרות זו קיימת גס בשני הסוגיס השוניס של התיבות המשולבות - הפשוטה והנפתחת. שני הסגנונות מספקיס רשימת פריטים ממנה ניתן לבחור, ושתיהן מאפשרות הזנת ערכים אחרים. ההבדל בין שני הסגנונות הוא בדרך הגישה לפריטים הנכלליס כבר ברשימה. ניתן ליצור תיבה משולבת פשוטה (א80 סטוח 600 6ומהחו5) על ידי הצבת הפקד על הטופס וקביעת המאפיין 6ש5 לערך ספוח60 6!סחו5 - 1. בתיבות משולבות פשוטות יכול המשתמש לגשת לפריטי הרשימה בעזרת העכבר או מקשי החיציס. אס המשתמש איננו מוצא את מבוקשו ברשימה, הוא יכול להזין אפשרויות נוספות. תיבה משולבת נפתחת (א80 6000 חשוסס ססזס) פועלת כשילוב של רשימה נפתחת ותיבה משולבת פשוטה. בחירת פריט מהרשימה נעשית כמו ברשימה הנפתחת, אך ניתן להוסיף ערכיס שאינס ברשימה. יוצריסם תיבה משולבת נפתחת על ידי קביעת ערך המאפיין 566 לערך סטוח60 חשוססססזם - 0. התיבה המשולבת הנפתחת היא ברירת המחדל של המאפיין 5!6. באשר לתיבה המשולבת הפשוטה ולתיבה המשולבת הנפתחת, ניתן להשתמש בהן במאפיין 115% להוספת פריטיםס לרשימת האפשרויות לבחירה. ניתן גם, כשהתוכנית רצה, לשנות את הרשימה בכל הסגנונות של התיבה המשולבת. כמו לגבי פקד תיבת הרשימה, השינוי נעשה בשימוש בשיטות הח00106ה, הח616עסוח6א, זהסו|6. פקדים למטרות מיוחדות הקבוצה האחרונה של הפקדים הפנימיים נקראת פקדים למטרות מיוחדות, מכיון שאין הס מתאימיס להשתלבות בשוס קבוצת פקדים אחרת. בהמשך תגלה בוודאי שיש להס שימוש רב. להלן סוגי הפקדים שיידונו בקטע זה: + פקדי פס גלילה (ז5670|!88). <* | פקדי שעון עצר (זסחוד). > פקדי מסגרת (סוחפּזת). פרק 4: שימוש בפקדי ברירת המחדל של ₪856 ו|הטפוצ - 115 | ו פסי גלילה מי שהשתמש במערכת ההפעלה פצוססחו/\ כבר מכיר את פסי הגלילה. פסי הגלילה מספקיס אמצעי גרפי לבקרת המיקוס בתוך מסמך, או לכיווןו עוצמת הקול של כרטיס הקול במחשב. פסי גלילה פועליס כמו וסתי עוצמת הקול במערכות סטריאו בעולס האמיתי, הניתניס לכיוון לכל נקודה בין ערכי מקסימום ומינימוס מסוימים. מנקודת מבטו של המפתח פקדי 05 הגלילה של 8856 |1508 מחזיריס ערך מספרי. המתכנן אחראי להשתמש כראוי בערכיס אלה ביישוס. 6 |ו/\ מספקת שני סוגים של פס גלילה להזנת ערכיס נומריים: פס גלילה אופקי ((זחס2וזסוז) ופסי גלילה אנכי (|8768/). שני פקדים אלה מוצגיס בתרשים 4.14. ההתייחסות לפס הגלילה האופקי והאנכי היא ז0|!89ז56 ו-ז9פ!|0ז56/\ בהתאמה. תרשים 4.14: הפקדים ז0|!88ז56/ |-ז0|!83ז₪56 יכולים לשמש להזנת נתונים והצגתם בדרך גרפית ההבדל היחידי בין שני הפקדים הוא בכיוון הפס על הטופס. הקטע הבא דן בפקד ז||70ז56, אך הוא מתאים גם לפקד זפ0|!8ז56/. קביעת פס הגלילה כדי להשתמש בפס גלילה, משתמשים במאפיינים לקביעת הטווח ואחזרת הערך. שלושת המאפייניס החשובים, הזמיניס לשימוש בעת התכנות ובעת ההרצה, הם: + שטן8/ - שולף או קובע את הערך המספרי הנוכחי. > חוא - שולט על ערך המינימוס של המאפיין סטופ/. + א8 - שולט על ערך המקסימוס של המאפיין סטן8/. כדי להשתמש במאפייניס אלה, יש ראשית לקבוע את המאפיינים חוןא ו-א8 לערכיס המייצגיס את הטווח המבוקש, ואז לגשת למאפיין סטו\, למציאת ערכו. טווח אופייני הוא מ-0 עד 100, כשהמשתמשים מכניסים מספרים כאחוצים. 6 סדנת לימוד 6.0 8\ הערה: פס הגלילה יכול לקבל מספרים שלמים בתחום שבין 32,768- ל-32,767. אולם, הערכים התקפים של המאפיין 6טו3\ תלויים בערכי המאפיינים חוו\ ו-אאויז. יש לזכור זאת בעת קביעת ערכי פס גלילה מתוך קוד, מכיון שערך מחוץ לטווח גורם לשגיאה האירוע 608096 של פס גלילה מופעל כשהמאפיין 6ט|8/\ משתנה. כדי לנסות פס גלילה פתח בפרויקט 55 תקני. מקס פס גלילה ותיבת טקסט על הטופס. אחר כך הזן את הקוד הבא באירוע 1080 חזסת ובאירוע 96ח8ח6 זפפ!||סז56ה. ()1.080 הזוס 50 סזבּעווק 8% = חו. 1567011 ח6ו0ו//\16.568|6] = אה\\. 15670111 5 0חם (060ח8ח6 45670!!1] סטש 6ספעווק סט|8/\. 0|1ז150] = 1.].6%)אד 5 0חם הרצ את התוכנית וקבע לפס הגלילה ערכים שוניס על ידי גרירה, לחיצה ושימוש במקשי החיצים, פוחסו וכן 6חם. מיקוס תיבת הגלילה בטופס אמור להשתנות, בהתאסם לערכיס הנוכחייס של פס הגלילה. בקרת גודל שינוי הערך מי שהשתמש בפסי גלילה במעבד תמלילים או בתוכנית אחרת, יודע שלחיצה על אחד החיציס המופיעים בשני צידי הפס, יוצרת הזוה קטנה בכיוון החצ הלחוץ, ולחיצה בין הת ותיבת הגררה גורמת להזוה גדולה יותר. פקדי פס הגלילה עובדים באותו אופן, וניתן לקבוע בכמה מספריס ישתנה המיקוס בכל סוג לחיצה. המספריס שהוזנו בפס הגלילה נכללים במאפיין 6ט|8\. מאפיין זה משתנה בכל לחיצה על פס הגלילה וגרירת תיבת הגררה, כמצוין בתרשיס 4.15. 5 .- לחץ על החץ ליצירת תזוזה קטנה ו ו ו ו לחץ בין החץ לתיבת הגררה ליצירת תזוזה גדולה יותר גרור את תיבת הגררה כדי לקבוע + וחד ערך מדויק תרשים 4.15: לחיצה על חלקים שונים של פס הגלילה משנה את ערכו במידה שונה פרק 4: שימוש בפקדי ברירת המחדל של ₪856 ו|הטפוצ | 117 | ו המידה שבה גדל או קטן 6טו3\ כאשר לוחציס על הח, נשלטת על ידי המאפיין 6ח08|ח5, אלא אס כן חרג מהגבולות שנקבעו על ידי המאפיין חוו או אפּ8ו. 506 מאפשר שליטה עדינה ביותר על המספריס המוזנים. ערך המחדל שלו הוא 1, המתאיס בדרך כלל לשימוש לרוב המטרות. בלחיצה בין החץ לתיבת הגררה, יכול המאפיין 6טו3\ להשתנות בכמות שונה מן השינוי בזמן הלתחיצה על החצ. כמות השינוי במצב זה נקבעת על ידי המאפיין 6חפח6פָז !. ערך המחדל של 06ח8706078! הוא 1. הערך שבו משתמשיס למעשה תלוי ביישוס. למשל, הערך 10 הוא מספר טוב לעבודה באחוזיס. טיפ: כלל טוב הוא לקבוע את המאפ''ין 1870600806 בגבולות חמישה עד עשרה אחוזים מהטווח הכולל (לדוגמה, ערך 50 לטווח של 0 עד 1000). | ום|= 2 !סז 5חוז] .םי תרשים 4.16: שיתוף בין תוויות או תיבות טקסט לבין פסי גלילה, מציג למשתמשים את הטווח ואת הערך הנוכחי החלק הבעייתי הוא לדעת היכן במדויק למקס את שורות הקוד. כדי להראות את הערכיסם בכל רגע, דרוש למעשה למקס את המשפטים בשלושה אירועים: * 080]| חזס] - משתמשים באירוע וה להצגת הערך ההתחלתי של פס הגלילה, לאחר קביעת הטווח. **‏ סִחַח8ח6 - אירוע זה מופעל עס הלחיצה על לחצן העכבר בטווח שבין החיצים ותיבת הגררה. האירוע 608096 מופעל גם בכל פעס שלוחצים על אחד החיצים או על פס הגלילה. + ||5₪0 - אירוע וה פועל במשך גרירת תיבת הגררה של פס הגלילה. אירוע וה מאפשר להציג את הערך או לפעול כל עוד המאפיין 6ט!3\ עובר שינוי, אך לפני הפעלת האירוע ספַחַ608. כדי לנסות את דוגמת אלף-בית שמופיעה בתרשים 4.16, צור פרויקט 5א5 תקני. מקס פס גלילה ותווית על הטופס. אחר כך הזן את הקוד המופיע בתוכנית 4.1. 8 סדנת לימוד 6.0 8\ תוכנית 4.1: ק8/. 510 | 56801 - השימוש בפס גלילה ()080 1 הזוס סנ5 סזפּעוזוק 5 הוח 60 65וזו6קסזק חווי] הסח ,אה 66% ' ("56)"2 = א8\. 0|!1ז150] ("ה")56 = חוו. 156701!1] סטןפע |החוחו 06 שְהוספוס' (6ט!3/\. 0||1ז150])זח6 = הסק68. 1!סטב | 50 0חם (060ח8ח6 45670!!1) סטש 6ספעווק (6טו3/\. 0(|1ז150])זח6 .8 " זס+ ה56876" = חהסק68. 1!סטב | ח56876 00 6חל הזס1וסכ ץ||36008 60 ששח 6006 56חד ' 50 0חם ()!ו0ז56 0|!1ז150 סג5 סזבּעוזוק (6טו3/\. 15070|1)זח6 .6 " 56|666 0+ 616856" = הסוק1.603וסטבּ | 50 0חם הרצ את התוכנית. שיס לב לשינוי הטקסט בתווית בזמן שאתה מתפעל את פס הגלילה. בהכנסת קוד לאירועיס המתאימים, ניתן, כמו בדוגמה שבתוכנית 4.1, להציג בכל רגע את ערכו המדויק של פס הגלילה, אך לנקוט בפעולה רק כאשר יידרש. פקד שעון עצר ממראה הסמל ניתן לנחש, שפקד שעון העצר פועל כשעון עצר או כשעון מעורר. קיימיס שלושה הבדלים עיקריים בין קוצב ּמן בעולס האמיתי לזה של 8856 |1808\: + במקוס להשמיע קול או ביפ, מבצע הפקד זפוחוד קוד (המופיע באירוע זפוחוד שלו) כשהושלס מרווח הזמן. + הפקד זסחוד מבצע ספירה לאחור שוב ושוב, כל הזמן שהמאפיין הח הוא במצב סטזד. + הפקד זסוחוד מתוכנן לעבודה עס פרקי ומן קצרים מאוד. קביעת הזמן הארוכה ביותר האפשרית בו היא מעט יותר מדקה. כוונון שעון העצר כדי לקבוע פקד שעון עצר, דרוש ראשית למקס אותו על הטופס, כמודגס בתרשיס 7. פקד שעון העצר מופיע תמיד כסמל בשלב התכנון, אך איננו מוצג כלל בזמן ריצת התוכנית. כדי שהפקד יפעל, יש ראשית צורך למקם קוד באירוע ופוחוד, ואו לקבוע את המאפיינים הבאים, בזמן התכנות או הריצה: > קביעת המאפיין |\זססח1. + קביעת המאפיין 8|60ח= כ-6טזד. פרק 4: שימוש בפקדי ברירת המחדל של ₪856 וצטפוצ - 119 | ו תרשים 4.17: פקד שעון העצר מופיע כסמל, ללא תלות באיזה גודל שורטט המאפיין 89!60ח5 פועל כמפסק המפעיל או מפסיק את שעון העצר. אם פקד שעון העצר מופעל, הקוד המצוין באירוע זפוחוד מופעל בתוס מרווח הזמן המצוין במאפיין |%6708ח1. ניתן לקבוע למאפיין |6\3סח1 כל ערך שבין אפס ל-65,535. קביעת |8צזסזחז כאפס מנטרלת את פקד שעון העצר. לגבי כל ערך אחר בטווח, המאפיין זסוחוד מציין את הזמן באלפיות שנייה בין ההפעלות של האירוע זפוחוד. במיליסם אחרות: אס רוציס שתעבורנה עשר שניות, יש לקבוע את הערך ל-10,000. הערה: אם המאפיין חַ6פַהח5 נקבע 6טזד בעת התכנות, שעון העצר מתחיל בספירה לאחור מייד עם טעינת הטופס המכיל אותו. מכיון שהערך המקסימלי של |8זסזח1 שווה בערך דקה, כיצד ניתן לקבוע פרקי ומן ארוכיס יותרז ניתן לקבוע באירוע זסוחוד קוד המשתמש בומן המערכת כדי לקבוע אם פרק הזמן כבר חלף, כמודגם בתוכנית 4.2. הקוד בתוכנית גורס להדפסת הזמן בחלון אחת לחמש דקות. תוכנית 4.2: קפ/.א=חםואזד - השימוש בפקד שעון העצר למרווחי זמן ארוכים זוסו|קאם הסטקס 6 5 סו 0060 וחוס ()080. 1 חזזס-] 50 סזפּעוזוק זסוחוז 6+ קט 66% ' 0 = |/ז0לח1. 1זסחחוך סד = 66!טְהח=. 1 ]סרוד 5 ווח 5 / 6/6 חהוחז6רח0ס5 00 60 %חהעט 6/\ ' (שס\א ,5 ,"ח")00 הכ = סו א 50 0ח= 0 סדנת לימוד 6.0 8\ ()זרח ד 1 זסוחו ד סנ5 סזבּעוזוק סו ך)א001\6 .8 ":זחסעם )אסו]" = הסוססףּס. 1וססב! צוסא\ .8 ":6וחו ד +חסזט6" = חס2.630וסטבּ! חס ד שוחו וא6\וס =< אוסא 1 6 = 60|טהחם. 1וסוחוך 6חו 014607 20806 הס 6זסח +חפצ\ טוסץ +החצו סכ ' אוס\ .8 " 3% +ח6/6 סוד" זחוזק. פטוטסס (אוס\! ,5 ,"ח")8600 = סו 60 סד = 60|סהח=. 1זסוחודך + 0ח= 50 6ח= הקוד בתוכנית 4.2 איננו משתמש בפקד זפוחוד לביצוע אירוע. הוא משתמש בו כדי לבדוק את התאריך והשעה במערכת, לראות אס עליו לבצע אירוע. המפתח לתוכנית זו הוא הפונקציה חְַ0ְח6ז8ס, המשמשת לחישוב השעה הצפויה בעוד חמש דקות. הערה: חלופה לפקד זפוחוד, המבוססת על קוד בלבד, היא הפונקציה זפוחוד, המחזירה את מספר השניות שעברו מחצות הלילה. ניתן לחסר את ערך הפונקציה המוחזר הנוכחי מהערך המאוחסן, כדי למצוא את מספר השניות שעברו, כמו בדוגמה הבאה: 6 45 05031ח5 וחוס וד = 505096 (ח3600 6וח50 וחזסדוס0) ' ".5600005 ".8 (05631ח5 - וסוחו ד)610% ,8 " 85/\ שחו 80560!ם" לחוזק. פטפטס יצירת אנימציה פשוטה להדגמת קלות השימוש בפקד זסוחוד, להלן הוראות ליצירת אנימציה פשוטה: 1 פתת פרויקט 5אם תקני חדש ב- 8856 |1508/. 2 מקם פקד זסחוד ופקד תמונה על הטופס. 3 מחלון ₪65ז6קסזק של פקד התמונה, בשורת המאפיין 6וטש6ופ, בחר בלתצן הבנייה המזוהה לפי שלוש הנקודות (515סוו!5) שעליו. 4 כשמופיעה תיבת הדו-שית שזשסוק 1080, בחר קובצ תמונה מהתיקיה ח65\160!חק 8ז)\88516 |08פו/\. לדוגמה בחר את הקוב 40503.160= מהתיקיה 56וו. פקד התמונה אמור להכיל עכשיו תמונה כלשהי. פרק 4: שימוש בפקדי ברירת המחדל של ₪856 |הטפו/ - 121 | ו 5 הזן את הקוד הבא באירוע זסוחוד, באירוע 1080 וחזסז ובקטע ההצהרות : 5 06ח חא חחוס 1 5 06ה8ח6ץ וס ()080 1 חזזס- סנ5 סזפּעוזוק 0 = 86ח8ח6א 0 = 86ח8ח6ץ סט5 0ח= ()זסוחו ד 1 זסוחו ד סנ5 סזפּעוזוק 6 חא + 6% 18061.1 = 6% 106.1 6 + קס 18061.7 = קס ד.8061ח1 11 * 68006א = 86ח8ח60א הסח ד 00ו\16.568|6] < 6% 13061.1 זז 1 * 6חַחה8ח6א = סִחַחַה8ח6א הפחד 0 > 68 13061.1 זז 11 * 608006 = 86ח8ח0ץ הסח ד ז00ו₪6.568|676 < קס ד.3061חז זז 1- * 06ח8ח6/ץ = 6חַחה8ח0ץ הסחחד 0 > ק0סד.3061חז1 זז 50 0ח= 6. | פתח את חלון 665קסזק של פקד זסחווד. 7 קבע למאפיין |6\8זח1 את הערך 200 ולמאפיין 66מ8חם את הערך פטזד. כשתריץ את תוכנית, אמורה התמונה לנוע על פני הטופס, ולשנות כיוון בכל פעס שהיא יינתקלת'י בגבולותיו. מסגרות הפקד 6ח8זז הוא מיוחד, מכיון שהוא פקד מסוג הנקרא מכולה (6חו%9חס6). מכולות הן פקדיס שבהם ניתן למקס פקדיס אחרים, בדומה למסגרת תמונה אמיתית הסוגרת על (מכילה) תמונת האמן. כשמסתירים (בשימוש במאפיין 0!6ופו/), או משניס מיקוס פקד מכולה בטופס, הפקדים שהוא מכיל מושפעים גם הם. תכונה ו שימושית ביצירת יידפיםיי רבים של פקדים על טופס יחיד. הערה: פקדי מכולה יוצרים קשר חזותי שונה בין הטופס והפקדים הנכללים בו. אירועי הקוד וטווח המשתנים בטופס אינם מושפעים. כמו לגבי כל הפקדיס האחרים, הצעד הראשון בקביעת פקד מסגרת, הוא לצייר אותו בגודל המבוקש. אחר יש לקבוע למאפיין 6ח8א\ שם ייחודי. בשלב זה ניתן לקבוע מאפייניסם אחדיס השולטים על הופעת המסגרת. השפעתס מודגמת בתרשים 4.18: * | 68000 - כשמוזן ערך למאפיין וה, הטקסט המוזן מופיע בפינת המסגרת הימנית העליונה. כיתוב זה יכול לשמש לזיהוי תוכן המסגרת, או לספק מידע תיאורי. אס מעונייניס במסגרת רציפה ללא כיתוב, יש למחוק את הכיתוב במאפיין חסו680%. 2 סדנת לימוד 6.0 8\ * 06ח68]8סק1 - מאפיין וה קובע אם הגבול מוצג כקו יחיד בצבע אחיד, מה שנותן לפקד הופעה שטוחה, או שמשתמשים בקווים ליצירת אפקט תלת-מימדי למסגרת. 807067506 - מאפיין וה קובע אס יוצג גבול מסביב למסגרת. אס המאפיין 6 נקבע כ-6חסא\ (משתמשים בערך 0), שום גבול אינו מוצג. גס הכיתוב אינו מוצג, כי גס הוא מהווה חלק מהגבול. ה ה 2 %-------- עם ערך במאפיין חס69 ללא ערך במאפיין חסו%ק68 ומראה תלת-מימדי גבול שטוח --- ללא גבול תרשים 4.18: השליטה בהופעת המסגרת מושגת בעזרת המאפיינים 6חְהַזה6ססה, 6 וסט, ו-הסקה6 טיפ: 0 אם אין רוצים שהמסגרת תיגע בטקסט הכיתוב, מוסיפים רווח לפניו ואחריו. טיפ: לפ אם רוצים שהמסגרת תופיע ללא קו גבול, משאירים, בשלב התכנות, את הגבול על הטופס, ובשלב טעינת הטופס קובעים למאפיין 800856 את הערך 0. הצגת הגבול בשלב התכנות, מקלה על שמירת גבולות המסגרת. עבודה עם פקדים במסגרת לאחר ציור הפקד 86ז=, אפשר להתחיל למקס בו פקדים אחרים. ניתן למקס במסגרת (או בכל פקד מכולה אחר) כל פקד שמעוניינים בו. ניתן גס להציב מכולה בתוך מכולה. להצבת פקדיס במסגרת, פשוט מציירים אותס ישירות בתוכה, בדומה לציור פקדיס בטופס. (אס מוסיפים בלחיצה כפולה כלי מתיבת הכלים, חשוב שהמסגרת תיבחר לפני הוספת הפקד). לאחר מכן מצייריס פקדים בתוך המסגרת ממש פרק 4: שימוש בפקדי ברירת המחדל של 88566 |ש\ - 123 כפי שהדבר נעשה בטופס. חשוב לוודא שבתחילת הציור ממוקס הסמן בתוך המסגרת, אחרת לא ייכלל בה הפקד. תרשים 4.19 מראה פקדי טופס כוח אדס אחדיס מצויריס במסגרת. | וםן=. | [8זת6, 5 1 : חב א וזו : 36 1391 ו :שו . . . :0 . תרשים 4.19: לפני שמתחילים לשרטט פקד, יש לוודא שהסמן ממוקם בתוך המסגרת להלן שתי נקודות המתייחסות לפקדים ומסגרות : + ראשית, אם על טופס מופיעים כבר פקדים, הס אינם נכללים במסגרת גם אס המסגרת מצוירת עליהס. + שנית, כשמזיוים פקד במסגרת, לא ניתן להעביר פקד בגרירה ושחרור אל תוך מסגרת או החוצה ממנה. ניתן לגרור פקד ולשיס אותו על המסגרת כך שייראה שהפקד כלול במסגרת, אך זה איננו המצב. הדרך היחידה להעביר פקד מחלקי טופס אחרים אל תוך מסגרת היא בגזירה ובהדבקה. גזור את הפקד מהטופס, בחר במסגרת, ואו הדבק את הפקד במסגרת. (ניתן גס להעתיק פקד מחלק אחר של הטופס, ואז להדביקו במסגרת). תחילה מוצב הפקד בפינת המסגרת השמאלית העליונה, אך לאחר מכן ניתן לגרור אותו ולשחררו במקוס אחר בתוך המסגרת. ניתן להשתמש בטכניקה זו גס להזות פקדיס מחוץ למסגרת. ברור שניתן להזיזּ כמה פקדים באותו זמן. טיפ: אם רוצים לוודא שהפקד כלול במסגרת, יש להזיז את המסגרת. אם הפקד זז עם המסגרת, הוא כלול בתוכה. אם אינו זז, ניתן לגזור ולהדביק אותו בתוך המסגרת. 4 סדנת לימוד 6.0 8\ עבודה עם מספר פקדים בשלב העיצוב עד עכשיו ראינו כיצד ניתן להוסיף פקדיס לטפסים ואיך לקבוע את מאפייני פקד אחד ברגע נתון. אולס, לעיתיס יש צורך לעבוד עס מספר פקדיס בו-זמנית. למשל, נניח שקיימת קבוצה של פקדי |1806, והחלטת לשנות את הגופן שלהם, אך אינך רוצה לבחור ולשנות כל פקד תווית לחוד. למרבה המצל ניתן לפעול על כל הפקדיס כקבוצה. בחירת פקדים מרובים הצעד הראשון בעבודה עס מספר פקדיס הוא בחירת כל הפקדיס שרוציס להזיזס או לשנותס. ניתן לבחור קבוצת פקדיםס בלתחיצת עכבר על הטופס ובגרירתו. מסגרת מקווקוות מופיעה על הטופס, כמודגס בתרשים 4.20. השתמש במסגרת זו כדי לכלול בה את כל הפקדיס שאתה בוחר בהם. - ז ז ז ז [ [ ו [ [ תרשים 4.20: בשימוש בעכבר ניתן בקלות *: לבחור יותר מפקד אחד כשמשוחרר לחצן העכבר, נבחרו כל הפקדיס הנמצאים בתוך התיבה. פקד נבחר מאופיין בתוספת נקודות אחיזה לשינוי גודל בכל פינה ובמרכז כל צלע שלו, כפי שניתן לראות בתרשים 4.21. - תרשים 4.21: נקודות אחיזה לשינוי גודל מציינות בחירת פקד אחד או יותר פרק 4: שימוש בפקדי ברירת המחדל של 88566 |508\ - 125 הערה: ניתן לבחור מספר פקדים גם על ידי החזקת מקש !601 תוך כדי לחיצה על כל אחד מהם. אם דרוש לבחור קבוצת פקדים הנכללים בתוך מסגרת או תיבת תמונה, חייבים לפעול בשיטת |6₪ ולחיצה, כי טכניקת התיבה המקווקוות אינה פועלת במקרים אלה. ניתן להוסיף או להוריד פקדיס מקבוצה בלחיצה על הפקד תוך החזקת המקש או50 או [ס. ניתן להפעיל שיטה זו גס אס הבחירה הראשונית נעשתה בגרירה על ידי עכבר, כך שניתן לעדן את הבחירה ולהגיע בדיוק לאותס פקדיס איתם מתכווניס לעבוד. לאחר בחירת קבוצת הפקדים, ניתן להניע את הקבוצה כיחידה אחת, בלחיצה על אחד הפקדים מהקבוצה, וגרירת הקבוצה כולה. הפקדים שומרים תוך כדי ההזזה על מיקומם היחסי בתוך הקבוצה. ניתן גם לבצע פעולות עריכה, כמו מחיקה, גזירה, העתקה והדבקה, על הקבוצה כגוף אחד. השימוש בחלון המאפיינים בנוסף לאפשרות להזיז, לגזור, להעתיק, להדביק ולמחוק קבוצת פקדים, ניתן גס לעבוד עס מאפייניהם כקבוצה. למשל, אס רוציס לשנות את הגופן של קבוצת פקדי |1]806, בוחריסם פשוט את קבוצת הפקדים, וניגשיס למאפיין זחס= בחלון 65וז6ססזס. כשמשניס את המאפיין, מושפעיםס כל הפקדים שנבחרו. טכניקה זו שימושית כשרוציס לשנות מספר פקדים בבת אחת. למרות שברור ששיטה זו עובדת עס קבוצת פקדיס מאותו סוג (למשל קבוצת תוויות או קבוצת תיבות טקסט), נשאלת השאלה מה קורה כשהקבוצה כוללת פקדיס מסוגיס שונים. במקרה זה מציגה 8856 |%108 את המאפיינים המשותפים לכל הפקדיס בקבוצה. בדרך כלל נכלליס שס המאפיינים קסד, 160%, %ח0ו₪6, הססו/ע, זחס=, זסוס66זס=, 86, 80!66חם. רק המאפייניס המשותפים לכל הפקדים ניתניסם לעריכה. אולס, יכולת זו שימושית אם רוצים ליישר קבוצת פקדים לשמאל הטופס או בראשו. לשם כך יש פשוט לבחור את הקבוצה, ולקבוע את המאפיין 16 (או קסד) שלה. תרשיס 4.22 מראה קבוצה נבחרת של פקדים שונים ואת החלון 0067065זק המכיל את המאפייניס המשותפים. [ 08 | טחמ 1-30 שוחה זםסקקה | או 500 שטיוד ח0ו5%51050ספנו=| וחמו - 0 "ד "חן ה בהי זחס"ן ור 0 סטאפטחססוסן 0 6 - 0 = ז6וחוסקס9פנוסוין פחסא - 0 = 6מסויקסזסם וסן 6 | 55)סדותטהן פד מסטפסב זן שטוזד שוסופוון 0 סזופשחד5זח!אן 14 חזטואון תרשים 4.22: ניתן לשנות כקבוצה מאפיינים המשותפים לפקדים שונים בד או 06005 086 סנה 5 5]5675חזנזסה, .5)חפ/ס 18:60חפ0591-0 ס6 חסק5סז חמ 6 סדנת לימוד 6.0 8\ סרגל הכלים ז0זו0= וחיוס-] עריכת מאפיינים משותפים אינה הדרך היחידה לעבודה עס קבוצת פקדים. ניתן גס לעבוד עס סרגל הכליס 5400 וחיזס" (ראה תרשים 4.23). ניגשים אליו על ידי בחירת צוסו/\, 5ז8פ|סס ד, זסטו0= וחזס=. טבלה 4.2 מציגה ומסבירה את לחצני סרגל הכלים : ₪3 זסזוט = וחזס- = - = | ג" 4" תרשים 4.23: זסזו0ם חזזס= הופך יישור פקדים וקביעת גודלם לפעולה פשוטה טבלה 4.2: לחצני סרגל הכלים זבּפו|ססד +חסזה סל פַחוזפ | מעביר את הפקד הנבחר לתצוגה לפני הפקדים האחרים בטופס 6% 0+ 560 | מעביר את הפקד הנבחר אל מאחורי הפקדים האחרים בטופס קרוב לוודאי שיוסתר על ידם 6 5876 366 | משנה ומתאים גודל קבוצת פקדים ו0חס6 106% | מונע הזזת פקדים או שינוי גודלם על ידי העכבר (ניתן עדיין 65 | לשנות את הפקדים דרך חלון 65ז6ססזק בשימוש בסרגל הכליס זטו0ם וחזס= ניתן לטפל במיקוס ובגודל קבוצת פקדים. לחצן חטָוו מאפשר יישור קבוצת פקדים לפי ימין, שמאל, בראש הטופס או בתחתיתו. למרות שיישור לשמאל או למעלה מתבצע ישירות על ידי קביעת המאפיין 16% והמאפיין קסד, אין אפשרות לבצע ישירות יישור לימין או לתחתית. הלחצן חפו|א מאפשר גס מרכוז אנכי או אופקי של הפקדים. לא ניתן לבצע שינוי וה ישירות דרך המאפייניס. לבחירת סוג היישור המבוקש, לוחצים על לחצן הת לימין הלחצן חפו|ג. פעולה זו גורמת להצגת תפריט, ממנו ניתן לבחור את היישור המבוקש. ניתן גם ליישר את הפקדיס הנבחריס לפי הרשת. יישור לפי שיטה זו גורס לפינה השמאלית העליונה של כל פקד לזוז ולהיצמד לנקודת הרשת הקרובה אליו. משימה אחרת שדרשה עבודה רבה בגרסאות מוקדמות של 8856 |1508\ היא מרכוז פקדיס על טופס. גסם משימה זו הופכת לפשוטה בשימוש בסרגל הכלים זסטו0ם חחזסם. ליד הלחצן ח8ו|8 מופיע לחצן ז%6ח66. לחצן ה מאפשר למרכז את הפקדים אופקית או אנכית בטופס. הקבוצה ממורכות כולה כאילו היתה פקד אחד בטופס, ומיקומו היחסי של כל פקד בקבוצה נשאר ללא שינוי. כמו ביישור, גס במרכוז בוחריס את האופציה הרצויה מתוך תפריט המשנה המופיע עס הלחיצה על התא שליד הלחצן ז%6ח66. פרק 4: שימוש בפקדי ברירת המחדל של 88566 |ש\ - 127 הלחצן 5126 5806 10866 מאפשר להשוות גובה ו/או רוחב של כל הפקדיס בקבוצה. למרות שניתן לבצע זאת על ידי קביעת המאפיינים המתאימים, זסטוס0ם חזזס" מפשט את הפעולה. תרשים 4.24 מראה קבוצת פקדים המוגדלים באופן שווה וממורכזיס אופקית. תרשים 4.24: סרגל הכלים זסזו0ם וחזס] מקל על מרכוז פקדים ושינוי גודלם טיפ: אם לחצת על הלחצן הלא נכון בסרגל כלים זסזו0ם וחזס", ניתן לבטל את השינוי בלחיצה על הלחצן סח בסרגל הכלים הסטנדרטי, או בהקשת 2+!שס. תפריט זבּוחיוס=] תפריט *הוחזס" של 8856 |1508/\ שימושי גס הוא בעבודה עס פקדים. תפריט זה מכיל, בנוסף לכל האפשרויות הכלולות בסרגל הכלים זסטו0ם וחזס=, שלוש אפשרויות נוספות לעבודה עס פקדיס מרוביס: 8חו5086 |חס2וזסה, 50860 668 ,/‏ 70 0 526. (ראה תרשים 4.25). , חטוום ל 526 5306 6₪5בן] 6 60 6קו5 :1 * בַחו5080 |הפחסקוזוסרן + הַחו5030 |63זס/י + החזס= חו זה , זזס 8 תרשים 4.25: תפריט זהוחזס מציע כלים לכוונון עדין של פקדים 0 האופציה חַחו5080 |9זחס2זסו מאפשרת השוואת המרווחים בין הפקדים. השוואת מרווחיס מעניקה מראה נקי לקבוצות פקדים כגון לחצני פקודה. אס הפקדים נראיס קרובים מידי, ניתן לרווח אותם. המרווח גדל בנקודת רשת אחת. ניתן גם להקטין את המרווח או לסלקו לגמרי. ניתן לבצע את אותה פעולה גם בכיוון אנכי, על ידי בחירת 50860 |68ז\. תרשיס 4.26 מציג מראה 'לפנייי וייאחרייי של קבוצת לחצני פקודה. המראה ''אחרייי מציג אפקט של קביעת מרווחים שווים בין הלחצנים. 8 סדנת לימוד 6.0 8\ לפני 2 אחרי תרשים 4.26: מרווחים אופקיים שווים מעניקים הופעה מסודרת לקבוצת לחצנים הפריט האחרון בתפריט זאחזס"] הוא 078 60 5126. בחירת אפשרות זו קובעת את המאפייניס 600% ו-610 של כל פקד נבחר, כך שיותאמו בדיוק למרווחי הרשת. מספר פקדים במסגרת כעת נלמד איך לבחור מספר פקדים מטופס, איך לפעול עם מאפייניהס המשותפים, או כיצד לטפל במשימות של יישור פקדיס וקביעת גודלס. באותה גישה ניתן לטפל גס בפקדיס בתוך מסגרת. ההבדל היחיד הוא בדרך שבה נבחרים הפקדים. כדי לבחור פקדים דרוש ראשית ללחוץ על הטופס כדי לבטל כל בחירה קודמת. לאחר מכן גורריס את העכבר מסביב לפקדים שבמסגרת, תוך החזקת מקש |שס. פעולה זו גורמת לבחירת קבוצת הפקדים. ניתן עדייו לבחור או לבטל בחירת פקדיס אחרים על ידי לחיצה על הפקד תוך החזקת מקש |שס. הערה: כשבוחרים קבוצת פקדים, כולם חייבים להיות או בתוך מכולה או מחוץ לה. כמו כן, בחירת פקדים איננה יכולה לגשר בין מכולות. לאחר בחירת מספר פקדים, ניתן לעבוד עס מאפייניהס המשותפים, או להשתמש בפקודות תפריט )8חוזסז לשס קביעת מיקוס הפקדים וגודלם. ם אזהרה: הפריט ז00ח66 בפקודה וחזס"] של התפריט זאחזס] ממרכזת את הפקדים בטופס ולא במסגרת. התוצאה המתקבלת עלולה להיות שונה מן המבוקש. עבודה עם אוסף הפקדים עד עכשיו נדון הטיפול באוסף פקדיס בסביבת תכנות. אך מה המצב בזמן הרצת התוכנית! כפי שכבר נאמר, ניתן לשנות לכל פקד את שס הפקד, שמות מאפייניס וערכם. אך האס חייביס לקבוע ערך כל פקד בקבוצה בנפרד! לא! כל טופס כולל אוסף (חס60|!6600) הנקרא אוסף פקדים (פ!|סשחס6). אוסף זה מזהה כל פקד על הטופס. בשימוש באוסף זה ובצורה מיוחדת של לולאת זס=, ניתן לשנות מאפיין מסויס של כל פקד בטופס. פרק 4: שימוש בפקדי ברירת המחדל של ₪856 |הטפו\ | 129 | ו שינוי כל הפקדים כדוגמה לשינוי פקדיס נניח שרוציס לאפשר למשתמש לבחור את הגופן שבו ישתמשו כל הפקדיםס בטופס. הניסיון לקבוע כל טופס דרך קוד עלול להיות מסובך. אולס, בשימוש בלולאת 5860 זס" ניתן לשנות גופן של כל פקד בטופס בעזרת שלוש שורות קוד בלבד: 1.5 וס 1 [סישחס6 ה686 זס- "03 צ\6\] 65חוד" = %חס=ח.!0חס6 |סח0ס6 )16% ש אזהרה: קוד זה יפעל רק אם כל הפקדים בטופס תומכים במאפיין וחס". לכמה פקדים, למשל הפקד זפוחוד, לא קיים מאפיין כזה. שינוי פקדים נבחרים מה קורה כשרוצים לקבוע מאפיינים שאינס נתמכים על ידי כל פקדי הטופס? נניח למשל שרוציס לשנות צבע טקסט של הפקדים. ללחצן הפקודה אין מאפיין זס|660זס=, למרות שבסוגי פקדיס אחריס הוא קיים. במקרים כאלה משתמשיס משפט קוד אחר: משפט )60מץד. משפט זה מאפשר לקבוע מה סוגו של כל אובייקט. באופן כזה ניתן לבנות שיגרה המשנה את המאפיין זס|600זס] של כל הפקדים שאינס לחצני פקודה : 5 .וס הז [ס0חס6 ₪86 זס= הסח ד החור 60 15 [סישחס6 ]60קץד סא 1 = = זס|660זסת.!ס0חס6 + 0חם 000 %א6)] מכאן... פרק זה הציג בפני הקורא את עולס הטפסים והפקדים. נלמד בו כיצד לשלוט בהופעת הטפסים והפקדים דרך המאפיינים שלהם, וכיצד להשתמש בשיטות לביצוע משימות. כמו כן הודגמו דרכי העבודה עס מספר פקדיס בסביבת תכנות ובתוכניות. מידע נוסף בנושאיס שנדונו בפרק ניתן למצוא במקומות הבאיס: <* ללימוד על פקדים נוספים, ראה פרק 6 שליטה נוספת למשתמש: תפריטים וסרגלי כלים, וכן פרק 12 הפקדים המשותפים של 6)ספסיסווז. > ללימוד על השימוש בפקדים במערך, ראה פרק 13 עבודה עם מערכי פקדים. > כדי לגלות איך לסדר פקדים באופן נעים לעין, וכן ללימוד על כמה פקדים הקשוריס לגרפיקה, ראה פרק 19 שימוש במרכיבי התכנון הוויזואלי. 0 סדנת לימוד 6.0 8\ חלק 2 תכנות ב- 83516 |בּט5ו1 ]וז 6 פרק 5: תגובה באמצעות שגרות אירוע פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים 4 % פרק 7: שימוש בתיבות דו-שיח לקבלת מידע .% + פרק 8: שימוש במשתנים לאחסון מידע 0 פרק 9: יסודות התכנות ב- 83516 ובּ150 % % .; > פרק 10: שליטה במהלך התוכנית % +< פרק 1: ניהול הפרויקט: תת-שגרות, פונקציות וריבוי מסמכים 11 5 תגובה באמצעות שגרות אירוע פרק 5: תגובה באמצעות שגרות אירוע | 133 עם הופעת מערכות הפעלה גרפיות מונחות-אובייקטים כגון פווססחוו\ ודומיה, השתנתה לחלוטין הדרך שבה המשתמשים תיקשרו עם תוכניות. עברו הימיס אשר בהס רצו תוכניות טקסטואליות מתחילתן ועד סופן כמעט ללא התערבות המשתמש. בעזרת פאוספחו/ו, יש לנו המפתחיס שליטה רחבה בפונקציות שאותן התוכנית אמורה למלא וכן הסדר שבו הפונקציות תתבצענה. אולס, למרות העובדה שתפיסה זו הפכה את התוכניות לקלות יותר למשתמש, צורת הכתיבה והפיתוח שלהן הפכה לקשה יותר. למפתח אין כיוס שליטה מלאה על מהלך התוכנית. מפתחיס בסביבה הפועלת על אירועים חייבים להכין את התוכנית למספר רב של פעולות אשר המשתמש אמור לבצע ובמקריס רביס יש צורך להגן על המשתמש מעצמו. יישומיס המבוססים על פשספחו\\ הינס, מאובייקט היותס פעילים בסביבת פאוסבחווצ, מבוססי אירועים. פירושו של דבר הוא שמהלך ריצת התוכנית מבוסס על האירועיס (פסחסעם) שקוריס בזמן ביצועה. כמו שנראה, רוב האירועים הנזכריס הינס תוצאה ישירה של פעולות המבוצעות על ידי המשתמש. אולסם, חלק מן האירועיס יבוצעו על ידי אובייקטיס אחרים כגון התוכנית עצמה. הערה: למרות שתוכניות מבוססות-אירועים היו קיימות עוד לפני הופעת פווסטחו/\ בשוק (תוכניות מקינטוש ואפילו כמה תוכניות 05כ), הופעת פשססחו)\ גרמה לסוג זה של תוכניות להיות שכיחות כיום. אירועים - מבוא צורת החשיבה של תוכניות מבוססות-אירועיס עלולה להיות חדשה לך, אולס הרעיון של תגובה לפי אירוע מסויס אמור להיות מוכר. רוב העולס יכול להיות מוגדר כפועל לפי אירועים. ניקח את הטלוויזיה כדוגמה. אנו יכוליסם לשנות את הערוצ מתי שנרצה, ובשימוש בשלטים הקיימיס כיוס ניתן גס לעבור לערוצ מסויס במקוס לעבור דרך סידרה של ערוצים כדי להגיע לערוצ המבוקש. בנוסף, ניתן לשנות את עוצמת השמע של הטלוויויה מתי שנרצה לעוצמה הרצויה לנו. נוכל גס להשתיק את השמע לגמרי על ידי לחיצה על לחצן ההשתקה. צורה זו של שליטה על איך ומתי דבריס יתרחשו מהווה דוגמה טובה לצורת תכנות מונחה-אירועים. אנו (משתמשי הטלוויזיה) יוצריס אירוע (על ידי לחיצה על לחצן) אשר גורס לטלוויוּיה לבצע פעולה המתאימה לאירוע שהתרחש. אנו שולטים גס בתזמון האירועיס. תוכניות המבוססות על פוססחוצ\ עובדות בצורה דומה. ב-6זס/\, למשל, ניתן לשנות את סוג הכתב או הסגנון של פיסקה מסוימת. ניתן גם לסמן מקטע מסוים ולגרור אותו למקוס אחר. כל אחת מפעולות אלו אפשרית תודות ליכולת התוכנה (טזסו\) להגיב בהתאם לאירועים המתרחשים כתוצאה מפעולות המשתמש. בומן כתיבת תוכניות המבוססות על פטוסשחו/\, נרצה לבנות אותן בהתאס למשימות אותן אמורות התוכניות לבצע. לכן, אנו צריכיסם לספק למשתמשים לחצנים או תפריטים אשר יאפשרו להס לבצע את המשימות הדרושות. תרשים 5.1 מציג דוגמה לממשק המיועד לתוכנית המבוססת על אירועים. 4 סדנת לימוד 6.0 8\ <ום)=. ה0ז563 1660160 .₪ אפשר לסגור את פחסופם 6 הטופס בלחיצה אחת סזח! הסו1ם וחזס!ח! 115 זפוחם ,פזסספז 8 זסז 50 סיד סז 50 אסווס טחם 35]פו1 858ה+1ס פזסוח זס חס אפשר לנווט את ב --| וחב א מבנה התפריט לבחור בפעולה 0 ]| 55% מסוימת | וו סקוו | וב | 590 תרשים 5.1: ממשק משתמש גרפי עובד יפה עם תכנות מונחה-אירועים בתקליטור: * הדוגמה נמצאת בתקליטור ונקראת ה6ז508 866070. יתרון נוסף של תוכניות המבוססות על אירועיס הוא שניתן להשתמש באירועיסם כדי לספק תגובה מיידית למשתמש. לדוגמה, ניתן לתכנת אירוע אשר יגרום לתוכנית לבדוק מידע אשר הוזן על ידי המשתמש ברגע שבו המשתמש סיים להצין אותו. במידה ויש בעיה עם המידע אשר הוזן על ידי המשתמש, הוא יקבל על כך התראה מיידית ותינתן לו האפשרות לתקן אותו. צורה זו של תגובה מטופלת באמצעות צורת תכנות כגון או המופיעה בתוכנית 5.1 אשר מוודאת שהמשתמש הזין את המידע המבוקש. אפשר להזין מידע לתיבת טקסט אפשר ללחוץ על לחצן פקודה כדי לבצע פעולה תוכנית 5.1: קם/.חס/עם - תוכנית הבודקת את שם המשפחה. ()056-0005.] סרח8\ז35 |זאט סנו5 סספעווק הסח "" = (6א6 ד.סרחהּ\ז35 זאטס )רוד + ".6החהּח 35%! זטסץ ז%ח6 6פטרח טסצ" = 5650 "סחוחזוה/\" , הסוטהרח3 !סא טפט ,550 אס00פ!ו 53.5 זא + 0חם טט5 0חם פרק 5: תגובה באמצעות שגרות אירוע | 135 טיפול באירועים בתוכניות בתוכנית טיפוסית יכוליס לקרות הרבה אירועיס המתרחשים כתוצאה מפעולות המשתמש. אירועיס הקשוריס לתוכנית יכוליס להתרחש כתוצאה מפעולות כגון לחיצת המשתמש על לחצן העכבר, הקשה על מקש במקלדת, הוות העכבר, שינוי הערך המופיע במאפיין הפקד, או מעבר לחלון אחר בתוכנית. התוכנית עצמה יכולה לגרוס לאירועיס להתרחש. אירועיס הקשורים למערכת ההפעלה יכולים גסם הס להתרחש כתוצאה מפונקציות של המערכת כגון השעון, או אפילו על ידי גורמיס חיצוניים כמו קבלת דואר אלקטרוני. מאות, אס לא אלפי, אירועיס יכוליס להתרחש בכל תוכנית נתונה. מבנה התוכנית צריך להיות כזה שיוכל לבודד את האירועיס הקשוריס לפעולת התוכנית. 8856 |1508/\ מקלה על המלאכה הזאת. קביעה מתי התרחש אירוע כאשר פווס0חו/\ מזאהה פעולה אשר התבצעה על ידי המשתמש והמכוונת לתוכנית שלנו, מערכת ההפעלה שולחת לתוכנית שלנו הודעה. מנגנון הריצה של 8856 |1508\ המוטמע בתוכנית, מעבד את ההודעה ואם יש צורך, גורס לאירוע המתאיס להתרחש. אס כתבנו שיגרה המטפלת בסוג האירוע האמור, מנגנון 8856 |1508/\. יפעיל את השיגרה האמורה. כל אובייקט בתוכנית המבוססת על 8856 |1508/\ יכול להפעיל קבוצה מסוימת של אירועיס לפי סוג האובייקט (חלון טקסט, טופס, לחצן, וכדומה). אולס, המפתת לטיפול נכון באירועים הינו לדעת בצורה מדויקת איוה שילוב של אובייקטיס ואירועיס נחוץ לתוכנית שלנו, וכן לכתוב את התוכנית לטיפול בשילוביס אלה. ניתן לעשות ואת על ידי יצירת שגרת אירוע (6זט60ססזק %השעם) בחלון הקוד (6006 אוס0חו/\). לדוגמה, אס נרצה לכתוב תוכנית אשר תתבצע כאשר לחצן בשס %וא665 נלחץ, נכתוב את שגרת האירוע א6116% ללחצן 1%א65וח6. ניתן לערוך את השיגרה על ידי פתיחת חלון קוד בטופס המכיל את 1%א665. |< ום]- [068:)] [חוזם] - 1ו66ןם:כן א | - 1% | - ו ()א6116 16אמבעס מגום שסהט1בעק המנעסם 25 585 מבכע "?שעסם5 וסץ שעג" = 3856 קוד עבור שגרת אירוע משמך כסצמט = (סתאתבשצמט ,5356) אספטסבח +1 הבמס 5 במם תרשים 5.2: 8856 |508ו\ תגיב לאירוע, רק אם נכתב עבורו קוד 6 סדנת לימוד 6.0 8\ בחלק יצירת התוכנית הראשונה מפרק 2, השתמשנו בתבניות מסוג חווססקסזס בראש חלון הקוד כדי לבחור בשגרת האירוע המבוקשת. האובייקט נבחר בחלק השמאלי העליון של החלון (אסם 0916%). שגרת האירוע הרצויה נבחרת בתיבה הימנית עליונה (א80 6ז0ו0660זק). כאשר השילוב בין האובייקט לאירוע מתרחש בזמן ריצת התוכנית ובהנחה שנכתב קטע תוכנית המיועד לטיפול באירוע זה, מנגנון 88586 |8טפו\ יריצ את קטע התוכנית המתאים. אס לא נכתב קטע תוכנית, 8856 1808 תתעלם מהאירוע. תרשים 5.2 מראה דוגמה לשגרת אירוע אשר נכתבה במיוחד לאובייקט מסויס ולאירוע מוגדר. סוגי אירועים ישנס שני סוגיס בסיסיים של אירועיס אשר יכוליס להתרחש בתוכנית המבוססת על 86 |1808: | אירועיס המתרחשים כתוצאה מפעולות המשתמש, ואירועיס המתרחשיס כתוצאה מפונקציה של המערכת. לרוב, נרצה לכתוב קטע קוד המטפל באירועיס אשר המשתמש גורס להם. בצורה זו תהיה למשתמש שליטה על מהלך ריצת התוכנית. ואת אומרת שהמשתמש יכול לבצע פעולה מסוימת כאשר הוא ירצה (בהתחשב במבנה התוכנית), דבר המקנה למשתמש שליטה רבה. הערה: מובן שניתן להגביל את הפעולות שהמשתמש יכול לבצע על ידי הסתרת או חסימת אובייקטים כאשר לא נרצה שלמשתמש תהיה גישה אליהם. הטכניקה תוסבר בפרק 3. ראה: שימוש במאפיינים לשליטה על התקשורת עם המשתמש. אירועים המתרחשים כתוצאה מפעולת המשתמש - אירועיס מסוג זה הינס אלה הקוריס כתוצאה מפעולה שנעשתה על ידי המשתמש. כמו שבוודאי ניחשת, אירועיס אלה כולליס הקשה על מקשי המקלדת ולחיצה על לחצני העכבר, אולס ישנס סוגיס נוספים של אירועים אשר יכוליס להתרחש כתוצאה מפעולת המשתמש בצורה ישירה או עקיפה. לדוגמה, כאשר המשתמש לוחץ על תיבת טקסט כדי לערוך את המידע הנמצא בתיבה, מתרחש אירוע 616% עבור תיבת הטקסט. בנוסף לכך, ישנס עוד סוגי אירועיס המתרחשים כתוצאה מהלחיצה. אחד מהאירועים הללו הינו 606-0005 המתרחש עבור תיבת הטקסט. אירוע וה מתרחש בכל פעס שהסמן נמצא באזור התיבה בין אם נלחץ לחצן העכבר או בשימוש במקש 118. בנוסף, כאשר תיבת הטקסט נמצאת בפוקוס, אובייקט אחר חייב לאבד את הפוקוס. פעולה זו גורמת לאירוע 1050-0605 להתרחש עבור האובייקט השני. אירועים 604:0605 ו-1050-0005 מתרחשים כתוצאה מפעולות המשתמש, בדיוק כמו האירוע 66ו61. כמו שנראה בחלק הבא הבנת סדר האירועים, ישנס מצביס שבהס קורה ריבוי אירועיסם כאשר המשתמש מבצע פעולה בודדת. בנוסף, חשוב להבין את הסדר שבו קורים האירועים. פרק 5: תגובה באמצעות שגרות אירוע | 137 הרשימה הבאה מכילה חלק מהפעולות הראשיות שעל ידן המשתמש יכול לגרוס לאירועים להתקייס בתוכנית : <* | הפעלת התוכנית. > הקשה על מקש. * לחיצה על לחצן העכבר. * הזות העכבר. > סגירת התוכנית. איוועים המתרחשים כתוצאה מפעולת המערכת - למרות העובדה שמסמכים ואובייקטיס מסוגליס לטפל בסוגיס רביס של אירועים, לרבים מהאובייקטיס ישנס אירועים אפשרייס משותפים, כפי שניתן לראות בטבלה 5.1. טבלה 5.1: אירועים אופייניים לאובייקטים רבים | 699 אבמתקטמאנמקה ה 05 | אובייקט נמצא בפוקוס. בוודאי שמת לב שכמה מהאירועים נראיס כאילו הס מתייחסים לאותה פעולה של המשתמש. לדוגמה, האירועים א6|6, חשוסס6פטסוז ו-60פטסו קוריס כאשר המשתמש לוחץ על לחצן העכבר. למראית עין כמה מההבדלים באירועיס הינס מובניס מאליהס, לדוגמה אירוע חשסס6פטסו מתרחש כאשר לותחצים על לחצן העכבר, אכן ישנס הבדליס בין האירועיס. במקרה של לחיצה על לחצן העכבר, אירוע 616% במסגרת 8 סדנת לימוד 6.0 8\ הפקדים א15%00%] ,80% 60666 ,הסט 0חהה 60 או הסט הסקס מתרחש אם נלתצ לחצן כלשהו בעכבר. האירוע אינו מתרחש במקרה שנלח לחצן אחר. האירועיס 56(0טסו ו-חשסס6פטסוא לא רק מתייחסים לכל לחצן עכבר שהוא, אלא שהאירוע מסוגל גם לדווח איזה לחצן נלחצ, כך שהתוכנית תוכל להגיב בהתאס. האירועיס 655זקץ6א ,חצוססץ6א ו-0ק0ץ6א פועלים בצורה דומה. האירוע 66/0655 מדווח איה מקש הוקש בלבד ללא דיווח אס הוקש מקש אחר כגון אוח5 או 61 בזמן ההקשה על המקש המדוות. אס יש צורך במידע האמור, יש להשתמש באירועיס האחריס. כתיבת שגרות מונחות-אירועים ובכן, כיצד נוכל לכתוב את התוכנית בסביבה מונחית אירועים! וכיצד ניתן לנפות את האירועיס שאיננו מעונייניס להתייחס אליהס! התשובה לשתי השאלות והה. כאשר כותבים את התוכנית, אנו כותבים שגרות המופעלות רק בתנאי שהתרתש אירוע מסוים באובייקט המתאים לשיגרה. כאשר אין שיגרה המיועדת לשילוב של אירוע ואובייקט מסוימיס, 8856 |509\ תתעלס מהאירוע. השאלה הבאה היא כיצד לכתוב שיגרה המיועדת לאירוע מסוים: כדי שנוכל לכתוב את התוכנית, יש צורך להגיע לחלון הקוד (עוססחוושו 6006). דבר זה נעשה על ידי לחיצה כפולה על אובייקט בטופס התוכנית (או על הטופס עצמו), על ידי בחירה באפשרות ש6ו% 6006 בחלון הפרויקט, בלחיצה על תפריט שסוצ ובחירה באפשרות 6006, או על ידי הקשה על 7:. כל אחת מהאפשרויות הנזכרות מציגה את חלון הקוד המתאיסם לטופס הנוכחי (ראה תרשים 5.3). |< ום]-. [068:)] [חוזם] - 1ו66ןם:<ן א ו מממ כותרת תת-השיגרה, כוללת ()א6116 ב₪ע3063ע0 כגום שסהט1במק את שם השיגרה מגום המת פקודת סוף השיגרה תרשים 5.3: לחיצה כפולה על טופס או פקד במצב עיצוב מציגה את חלון הקוד, מוכן לשגרת האירוע המתאימה פרק 5: תגובה באמצעות שגרות אירוע | 139 לכתיבת תוכנית דוגמה, בצע את המהלכיס הבאים: 1. הפעל את 83516 |בּטפו/ ובחר פרויקט סטנדרטי מסוג 5אם. 2 לחצ לחיצה כפולה על הטופס כדי לפתוח את חלון הקוד. אס לטופס אין עדיין תוכניות, החלון ייפתח בשיגרה המקושרת לאירוע 1080. 3 בחר באירוע 6ע₪561!10ש10 מתוך תיבת השגרות. הערה: שים לב שכאשר אנו בוחרים באירוע, ‏ 8856 |%1508 בונה את שלד השיגרה המיוחסת לו בצורה אוטומטית. החלקים אשר מופיעים בשיגרה הם שם השיגרה ופקודת טפ ₪0 אשר מצהירה על סוף השיגרה. שס השיגרה המתייחסת לאירוע מסויס מכיל שס אובייקט ושס אירוע. בדוגמה, האובייקט הוא חזס] והאירוע 6שסוזספטסו. שיס לב ששגרת האירוע 6שסו\ספסו₪ז מכילה בנוסף כמה משתנים. לדוגמה, המשתנים א ו-ץ מייצגיס את מיקוס העכבר. כעת תוכל לכתוב פקודות המסוגלות להגיב ככל שנרצה על אירוע שהתרחש. הוסף את השורות הבאות לשגרת האירוע: "(" 8 צ 8 "," 8 א 8 ") סז 5ססהחוסזסס60 שפוסו]" = חססקה6.68וו שגרת האירוע אמורה להיראות כזו: ,510016 5 א ,06067ח1 5 51% ,1006067 5 הסטם )6עסו6פסוי] וחזס= סטש סספטווק (96ַחו5 ₪5 ץצ "(" 8 צ 8 "," 8 % 8 ") זב 5סופחוזסס6 6פטסו]" = חסק6.68וו 5 0ח= הפקודות אשר הוקלדו לשיגרה מציגות את ערכי המשתנים א ו-צ בשורת הכותרת של הטופס על ידי קביעת המאפיין ח00ק63 של הטופס. לח על לחצן ההרצה של 6 |אטפו\ או הקש 5=, והעבר את סמן העכבר מעל לחלון. כותרת החלון אמורה להשתנות כתוצאה מתזוזת העכבר. טיפ: אם נלחץ לחיצה כפולה על אובייקט, חלון הקוד שייפתח יציג את האירוע השכיח ביותר לאותו אובייקט. לדוגמה, אם נלחץ לחיצה כפולה על לחצן פקודה במצב עיצוב, חלון הקוד יציג את שגרת 01666 של הלחצן. 0 סדנת לימוד 6.0 8\ קריאה לשגרת קוד מתוך התוכנית בתהליך למידת שפת התכנות, נצטרך לכתוב ולקרוא לשגרות רבות. שגרות מבוססות אירועיס יוצאות דופן בכך שהן מופעלות על ידי מנגנון 8856 |1503/ בעצמו. בדוגמת 6ס56וס בחלק הקודם, המנגנון הפעיל את הפקודה שכתבת בתגובה לאירוע שהתרחש, אולס כדאי לציין שתוכל להפעיל שגרות מבוססות אירועיס בעצמך, בדיוק כמו כל שיגרה אחרת. תרצה לעשות את כאשר תכתוב תוכנית בתוך שגרת אירוע אשר אמורה להיות מופעלת במקומות נוספים. הבה נדגים. אס חלון הפרויקט הקודס עדיין פתוח, חזור למצב עיצוב והצב לחצן פקודה בטופס. לח לחיצה כפולה על הלחצן ושנה את שגרת האירוע כך שתציג את התאריך והשעה הנוכתיים : ()א6ו6 1 חהררח0ס6 ס)5 סזבּעוזוק צוס\ .8 " 15 סחחוט וח5/506 שחד" א80 150 50 0חם השורה שהוספת קלה להבנה. היא מציגה חלון הודעה כאשר לוחציס על הלחצן 1 60. בנוסף, ניתן להפעיל את השיגרה א0|6 8001 וחס6 מחלקים אחרים של התוכנית, ואפילו מתוך שגרת אירוע אחרת. לחצ לחיצה כפולה על הטופס, ובחר את אירוע 016% מתוך תיבת השגרות. שנה את שגרת 6166 וח זס"] כך שתקרא לשגרת 0166 01ח8חו 60: ()א6ו01. וחזזס=] 50 6זבּעווק 601 50 0ח= הרץ את התוכנית ושיס לב לכך שברגע שתלת) על הטופס, מופיע אותו חלון ההודעה אשר מופיע כאשר תלחצ על לחצן הפקודה. הערה: אם שגרת האירוע שאנו קוראים לה דורשת ערכי משתנים, כמו בדוגמה בשגרת 6סו56טסו, יש לספק אותם כאשר קוראים לשיגרה. בכל מקרה כשלפונקציה מוסיפים סוגריים היא אמורה להחזיר ערך. פרק 5: תגובה באמצעות שגרות אירוע | 141 הבנת סדר האירועים כעת אתה יודע מהס אירועים וכיצד מנגנון 8856 |1508/\ מטפל בהם. ראית כיצד לכתוב פקודות המופעלות כאשר אירוע מתרחש, אבל עליך לצלול קצת יותר פנימה לתוך העולס המופעל על ידי אירועים. כפי שכבר למדת, פעולת משתמש יחידה או אירוע הקשור במערכת, מסוגלים להפעיל סדרת אירועים. דבר זה יכול להועיל מפני שתוכל להשתמש באירועים שוניס אלה כדי לטפל במצבים שונים, כמו במקרי חשססספטסא ו-616%. אולס בנוסף, יש לכך גם צד שלילי. אס תכתוב קוד יחיד למספר אירועיס אפשריים, קוד זה עלול לפעול בצורה שלא תרצה שיפעל. במקרה הגרוע, רצף אירועיס - כל אירוע והשיגרה שלו - עלוליס לגרוס למערכת להיכנס ללולאת תוכנה אינסופית. הצעדיס הבאיס מהוויס נקיטת צעדיםס המיועדיס למנוע בעיות אלה: + ויהוי האפשרות שמספר אירועים יתרחשו. >* ויהוי איוה אירועיס יתרחשו כאשר המשתמש מבצע פעולה מסוימת. + הבנת סדר התרחשות האירועים. + בדיקת הקשר בין אירועים שוניס העלולים לפעול בו ומנית. בחלקים הבאיס נבדוק נושאים שיש לשים אליהס לב בזמן כתיבת שגרות אירוע ב- 88516 |508!/. ריבוי אירועים בפעולה יחידה אחת הבעיות בטיפול בריבוי אירועיס היא שהמשתמש יכול לתקשר עס התוכנית בהרבה צורות. לדוגמה, האם הוא הגיע לתיבת הטקסט בעזרת העכבר או בעזרת מקש 8 לפני התנועה לתיבה, האס היה פוקוס על תיבת טקסט אחרת או על לחצן פקודה! ומה קורה כאשר עובריס מטופס אחד למשנהו! כפי שתראה, ריבוי האפשרויות עלול לגרוס לבלבול. לעומת ואת, החדשות הטובות הן שלא תכתוב קוד לרוב צירופי האירועיס/ אובייקטים. לכן, למרות העובדה שהאירועיס הנוכריס עלוליס לקרות, התוכנית שתכתוב תתעלס מהם ולפיכך הס לא יצרו שוס בעיה. למרות העובדה שאי כתיבת הקוד המיותר הופכת את מלאכת הטיפול בריבוי אירועיס לפשוטה יותר, צריך עדיין לבצע עבודה מסוימת. כדי לטפל במצב זה, הבה ונסתכל על כמה סדרות אירועיס אשר קורות כאשר המשתמש מבצע פעולה. קח בחשבון, לדוגמה, את תיבת הדו-שיח המיועדת לכניסת המשתמש ל-פווספחו)\. אס נתאר לנו שתיבה זו נכתבה ב- 8856 |508/, אזי שבזמן הקלדת שס המשתמש והסיסמה קוריס כמה אירועיס. קודס כל, הבה נבחן הקשת מקש בודדת. לכל תו שנקליד בשס המשתמש מתרחשים שלושה אירועים : חוו\6/00א ,655זקץ6א ו-ק0ץ6א (בסדר זה). כאשר אנו מזיזים את 2 סדנת לימוד 6.0 8\ הסמן משדה שס המשתמש אל שדה הסיסמה, אנו מעביריס את הפוקוס מאובייקט אחד למשנהו, כך שמתרחשים שני אירועים: 1056-0005 עבור האובייקט הנוכחי, ו-0605-00% עבור האובייקט החדש. לבסוף, כאשר לוחציס על לחצן 0%, לחיצת העכבר הפשוטה יוצרת שלושה אירועים: כק56טס1, חצו600פטסו ו-*6ו01. אס נלחצ לחיצה כפולה על אובייקט אחר, כגון הטופס, יווצרו שני אירועיס נוספיס לאחר האירוע 66ו01: 66ו|6!פ ו-קספטסוא נוסף. סך הכל יש כבר חמישה אירועיס הקשוריס למה שנראה כפעולה יחידה של המשתמש. בנוסף, אס לחיצת העכבר גורמת לפוקוס לעבור מאובייקט אחד לשני, מתרחשים גסם אירועיס 5 |(|(-06005-60%, סך הכל שבעה אירועים. העובדה שניתן לבצע פעולות שונות כדי להגיע לאותה מטרה מהווה בעיה נוספת. לדוגמה, בואו נבחן את הלחצן 0% בתיבת זיהוי המשתמש של פווססחו/). האס ידעת שניתן להפעיל אותו על ידי לחיצה על העכבר וגם על ידי מעבר אליו עס מקש טפדך והקשה על מקש הרוותח! השימוש בעכבר לביצוע המשימה מפעיל את שגרות ח\600פטס\!, כ(ו6פטסוא ו-6ו61, בעוד ששימוש במקלדת מפעיל את שגרות חשססץעסא, 5 כוץ6א ולבסוף את שגרת א6ו01. תהליך מבלבל, הלא כן? ואולס, ניתן לדעת איוה אירועיס יקרו בומן ריצת התוכנית ובאיוה סדר הס יקרו. מציאת סדר התרחשות האירועים המפתח להבנת מהות האירועיס הינו הידיעה מתי הס קורים. אס מידע זה מעורפל עדיין, נסה את הדוגמה הבאה. בדוגמה זו, תיצור תוכנית הבודקת אירועיס הקשוריס בטופס ומפעילה את שגרות האירועים המתרחשיס כדי לדעת מה סדר התרחשותם. ניתן גס לצפות בסוג הקוד שתרצה לשלב בכל אחת משגרות האירועים הבאות: יצירת תוכנית דוגמה המטפלת באיוועים הקשורוים לטופס. יש חמישה אירועיס מיוחדיס לכל טופס, ותוכל לשלב קוד תוכנית בשגרות האירועיס של כל אחד מהם: + 1080. מתרחש כאשר הטופס מועלה לציכרון. + 8%6ש8601. מתרחש כאשר הטופס מוצג לראשונה, או כאשר המשתמש חוזר אליו מטופס אחר. + 2686%1/806. מתרחש כאשר המשתמש עובר לטופס אחר או כאשר הטופס נסתר. + 0806!/. מתרחש כאשר הטופס מוסר מהציכרון. + 101₪8]26. מתרחש כאשר נוצר עותק של הטופס. + 67₪1]8806ד. מתרחש כאשר עותק של הטופס נמחק. תוכנית הדוגמה פשוטה מאוד. יש בה שני טפסיס בלבד ללא אובייקטים. כדי ליצור אותה, בצע את הפעולות הבאות: 1 פתח את 83516 וּשפו/ וצור פרויקט רגיל מסוג םאם. 2 לח לחיצה כפולה על 1וחזזס" כדי להציג את חלון הקוד שלו. פרק 5: תגובה באמצעות שגרות אירוע | 143 3 ודא ששגרת 1086 נבחרה בתיבת האירועיס בחלק הימני-עליון של חלון הקוד. 4 הקלד את הפקודה "00607766 +חסשעם 1030 וח'זס-] 6חד" 80% 50וא לתוך שגרת האירוע. השיגרה אמורה להיראות כך: ()080 1 הזוס ס5 סזפּעוזוק "0600 +חשע= 1.080 וחזס=] שד" אס 50 ספ 0חם 5 חזור על שלבים 3 ו-4 כדי להציב פקודות א815480 דומות בשגרות 26ו!₪3וח1 ו-030!ח! 61זהּחווחזזסד. 6. הוסף טופס שני בשס 2וחזס= לפרויקט על ידי בחירת האפשרות 864 מתוך תפריט 6₪ן[סיוץ. כעת, כשהפרויקט מוכן, הקש 55 כדי להריץ אותו. שיס לב ששגרת 6קַו0וח1 מופיעה בהתחלה, ואחריה שגרת 1080. לחץ על לחצן הסגירה של הטופס, וצפה בהפעלת שגרות 46 ו-6זהחווחז ד לפני שהתוכנית מפסיקה לפעול. בדיקת אירועי התוכנית. כעת הרצ את התוכנית מחדש ולח אישור להודעות 26ו|8שוח1 ו-1]080, לאחר שהטופס עולה הקש 6₪1+87686 כדי להשהות את המשך הריצה. הקש 66 כדי להביא את החלון המיידי (601816וחוח1). הצב את הסמן בחלון זה והקלד את השורות הבאות (הקש 8 דא= לאחר כל שורה) תוך שימת לב להודעות המופיעות : 2חוס= 080 1 1חזס= הסוח( 1וזס= 10806 אנו מעליס את 2חזזסז כדי למנוע מהתוכנית להסתייס כאשר מסיריסם את 1חזס". שים לב לכך שאירוע 26ו|108ח1 לא התרחש כאשר 1חזס" עלה בפעס השנייה. כעת הקלד את השורות הבאות: 1חזסת 0פסוח(\ פחורטס\ = 1 וזס= 56% קביעת ערך הטופס ל-פחוחזס\ הינה הרגל טוב. בצורה זו ניתן להבטיח שכל המשאביס אשר הוקצו לטופס שוחררו בצורה נאותה. כעת הקלד את השורה הבאה: 1חזס= 1080 אירוע 8|26וח1 התרחש בשנית מפני שהעותק הקודס של 1חזס" אשר יצרת לפני כן נמחק כאשר קבעת אותו כ-פַחותזסאא. שימוש באירועי טופס. ניתן להשתמש בקוד תוכנית באירועים אלה כדי להגדיר את מאפייני הטופס או אחד מהאובייקטים שלו, הגדרת בסיסי נתונים או מסדי מידע הדרושים לטופס, או הפעלת קוד אחר שתרצה בו. האירועיס 1080 ו-080וח(! מתרחשים כל אחד רק פעס אחת במשך זמן החיים של טופס - כאשר הטופס נטען לזיכרון וכאשר 4 סדנת לימוד 6.0 8\ הוא מוסר ממנו, בסדר זה. מצד שני, האירועים 86צ460 ו-6ְ8ש6860 יכוליס להתרחש פעמיםס רבות. לכן, יש צורך בקביעה והירה של קטעי הקוד בשגרות המתאימות. קטע הקוד הבא מציג כמה דברים פשוטים אך שימושיים שאפשר לעשות עס קוד בשגרת 1080. שימוש נפוץ הוא לאתחל ערכי מאפיינים של אובייקטיס בטופס (או את מאפייני הטופס עצמו). תוכנית 5.2 מדגימה כיצד להגדיר את השדה חס0ק68 של הטופס בעת טעינת הטופס, כדי להציג את שס המשתמש הנוכחי (שאנו מניחים שהוזן לפני כן במקוס אחר בתוכנית ונשמר במשתנה מחרוזת בשס ₪6ח5056788). בנוסף, תראה כיצד להגדיר את שדה 6%ד של תיבת טקסט כך שתכיל את התאריך הנוכחי. תוכנית 5.2: ד080.1% 1656 - שימוש בשגרת 1080 לצורך הגדרת מאפיינים. ()1.080 הזוס 50 סזבּעוזוק 510506 ₪ " זס1 5 6פחסכאם" = ח00ק6.68ו! 6 = 66 ].6ז08ט 50 0חם שימושים נפוציס אחריס בשיגרה 1080 כוללים יצירת חיבורים למידע השמור במאגרי מידע, אתחול משתניסם ומיקום הטופס בצורה יחסית לטפסים אחריס בתוכנה אשר ייפתחו לאחר מכן. שגרת אירוע שימושית נוספת הקשורה לטפסים הינה השיגרה ₪6526. היא מופעלת בומן שגודל הטופס משתנה, בין אם על ידי המשתמש או על ידי התוכנית. האירוע מתרחש גם לאחר אירוע 1080 ולפני אירוע 460866. לרוב משתמשים בשגרת ₪656 כדי לשנות את גודל האובייקטיס בטופס. בצורה זו נוצר למשתמש יותר מקוס לעבוד בו כאשר שטח הטופס גדל ומונע ממידע חיוני לחיעלם מהעין כאשר שטחו קטן. תוכנית 5.3 מראה כיצד גודל רשת הרקע בטופס (0ו61) משתנה, כאשר גודל הטופס משתנה. בנוסף, התוכנית בודקת את המאפייןו ₪86פוססחו/\ של הטופס ואינה מבצעת את הפעולה כאשר הטופס במצב ממוזער. תוכנית 5.3: ₪0526.7%1 - שינוי גודל ומיקום אובייקטים כאשר גודל הטופס משתנה. חח ד 65126 שס!|, 0חג/ |260ורהוחו!]פע <> 5%866/וססחו/\\. 6 + 0 -- 00ו/\16.568!6] = 100/. 050105 0 0 - 00 000650/5.7 - 16.5681676100%] = 161006 505 טס + 0חם הצעד הראשון בקביעת פעולת השיגרה הינו מיפוי סדר התרחשות האירועים בתוכנית. נוכל לכתוב תוכנית פשוטה כדי לתרגל מצביס שבהס מתרחשים אירועים. בתחילה ניצור פרויקט חדש סטנדרטי מסוג 5א5 ונמקס עליו א690א6ד ולחצן. אחר נכניס פקודות מתאימות לשגרות האובייקט והטופס כדי לדעת מתי מתרחש אירוע. הדרך הפשוטה לעשות ואת היא להשתמש בפקודת שחוזק. 0600 אשר גורמת להופעת טקסט בחלון 6018%6ח1. הוסף את פקודת זחוזק. 06000 לשגרות האירוע בתיבת הטקסט. פרק 5: תגובה באמצעות שגרות אירוע | 145 ()06ו|6 661 ד סט5 6אפעווק "זחשעם >6ו61 661 ד" +חוזק. פטוסטס סט5 0חם ()600-0005 601 ך ס5 6אפץווק "חש 0605 0% 61 ד" זחוזק. פטופטס סט5 0חם (10500061 45 |ו50ץ66 )655 46 601 ד סט5 סספעווק "+ח6/= 655 66 1+א6 ד" לחוזק. פטוספטס סט5 0חם בפעמים שתשתמש בשיטת קבלת מידע כזו, יש חשיבות עצומה להבנת סדר התרחשות האירועיס. ברגע שתבין כי פעולה בודדת של משתמש יכולה להוביל להתרחשות מספר אירועים, תוכל להשתמש בידע זה כדי לתכנן את הקוד שתרצה לכתוב לכל שיגרה. לדוגמה, ניתן להשתמש בשיגרה הראשונה המתבצעת בתיבת טקסט, כאשר המשתמש מקליד אות בומן שהתיבה נמצאת בפוקוס, חושססעסא, כדי לדעת אס המשתמש הקיש על מקש |6₪. בדרך זו ניתן לדעת בתוכנית אס התבצעה פעולה מיוחדת כגון פתיחת רשומה חדשה או שמירת מידע הקשור לאתחול התוכנית. בכל אחד מהמקרים, תיאלצ לבדוק את התוכנית בצורה יסודית תוך התחשבות במיגוון רב של מהלכיס אפשרייס באובייקטיס, כדי לוודא שלא יתרחשו מהלכיס לא צפויים אשר יכולים לגרוס לתוצאות לא רצויות. מכאן... פרק וה התמקד הצורה שבה 8856 |1508 מטפלת באירועים. אולס אירועיס הינס שימושיים רק במקריס שבהם משתמשים בטפסים ואובייקטים מפני שאלה אובייקטיס המסוגליס לקלוט התרחשות אירועיס. בנוסף, התרחשות אירועיס עלולה לגרוס לפעולה בתוכנית רק במידה ונכתבה שיגרה המיועדת לטפל באירוע. ניתן לקבל מידע נוסף על הנושאיס הקשורים בפרקיס הבאים: * ראה פרק 3 אבני היסוד של 835|6 |בּט5ו/ לקבלת הנחיות לגבי טפסים, אובייקטיס, מאפיינים, שיטות ואירועים. + למידע נוסף הקשור בשימוש באובייקטים, ראה פרק 4, שימוש בפקדי ברירת המחדל של 83516 |בּפו/. * פרק 6 שליטה נוספת למשתמש: תפויטים וסוגלי כלים מכסה את חלק התפריטים וסרגלי הכלים בתכנות ב- 88516 |1508/. > למידע אודות פקדי הדו-שיח ראה פרק 7 שימוש בתיבות דו- שיח לקבלת מידע. > ראה פרק 11 ניהול הפרויקט: תת-שגרות, פונקציות וריבוי טפסים כדי ללמוד יותר את נושא כתיבת השגרות הפרטיות. =* כדי ללמוד על סוגי האירועיס הרבים הקיימיס באובייקטים המיוחדיס, ראה פרק 12 הפקדים המשותפים של 16ס5סיסווא. 6 סדנת לימוד 6.0 8\ שליטה נוספת למשתמש: תפריטים וסרגלי כלים מה בפרק? יצירת שורת תפריטים יצירת תפריטים מקוצרים (5שח6!/ קט-קסםש) שימוש בסרגלי כלים ב- 83516 ובּ150\ שימוש בפקד סרגל הכלים המשופר ז83|סס6 פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים 17 תוכניות רבות הינן דו-כיווניות, משמע שהן מבצעות פעולות כתגובה לפעולות המשתמש. בפרק 5 תגובה באמצעות שגרות אירוע, למדת כיצד לגרוס לאובייקטיס להגיב לפעולות המשתמש. בפרק זה, נבדוק כיצד לתת למשתמש שליטה רחבה יותר על הנעשה. תלמד כיצד להוסיף מבני תפריטיס לתוכניות, תוך מתן יכולת למשתמש לבצע בחירה מתוך מספר אפשרויות בתוכנית. אחר תלמד כיצד להוסיף סרגלי כלים כדי לאפשר למשתמשים קיצורי דרך לפונקציות שכיחות בתוכנית. יצירת שורת תפריטים אחד הצדדיס החשוביס בעיצוב תוכנית, הוא לאפשר למשתמש גישה קלה ונוחה לפונקציות התוכנית. המשתמשים רגיליס להגיע לרוב הפונקציות בעזרת לחיצה או שתייס על העכבר. בנוסף הס מעונייניס שכל הפונקציות תהיינה ממוקמות בצורה נוחה במקוס אחד. כדי להקל על ביצוע המשימה, 8856 |8טפו\ מאפשרת לנו ליצור מערכת תפריטים בצורה מהירה ופשוטה בעזרת עורך התפריטים. ניתן להשתמש בעורך כדי ליצור שורת תפריטים לכל אחד מטפסי התוכנית וכן לתפריטיס גמישיס אשר מופיעים בהתאס למיקוס הסמן (ראה סעיף יצירת תפריטים מקוצרים בהמשך הפרק). שורת התפריטיס של הטופס הראשי בתוכנית לניהול תערוכה מוצגת בתרשיס 1. תרשים 6.1: מערכת תפריטים מעוצבת בצורה טובה מאפשרת למשתמשים למצוא ולהפעיל את הפונקציות בצורה נוחה הצעד הראשון ביצירת תפריט הוא קביעת הפקודות הנכללות בו וסדר הופעתס. תרשיס 6.2 מציג את מערכת התפריטיס הפנימית של 8856 [1508/. כפי שניתן לראות, הפקודות מסודרות בקבוצות פונקציונליות (קובצ, עריכה, תצוגה וכיוצא בוה). > |8]=. 2 [(וזס) [הוזס - 011ן0ז<ז] - [465%0] 8850 050081 4010506 - 0041ןסז ,ל | |5]=. ופטחו 843-105 1006 חחפזטפום עזפטס הו פטפפם ממחזטת 05 אפע 30 ₪6 1 ה סז ופ 0 סז סקס שק ה ו 5 מ 58% 0160 85... 5+ וז 6 0 5 500 סחפם ו - 50 זחוזק ם] תרשים 6.2: מערכת התפריטים הפנימית של 8856 |508ו\ ו המוצגת כאן כאשר תפריט ₪16 פתוח, מספקת למשתמשים דרך 8 פע ב הםו )10 ססקט 5..\6.. נוחה לבחירת פונקציות התוכנית 0 פלע 506ח1\אשזספה101 זססקט6\.. .> 5 ₪ ]- 0 החלקיס הבאיס מספקים מידע על בנייה ותכנות תפריטים. 8 סדנת לימוד 6.0 8\ תפריטים נפוצים כאשר אנו יוצריס תפריט בתוכנית, אנו צריכים לאחד מרכיבים דומים. למעשה, במידה והדבר אפשרי, נוכל להשתמש בקבוצות המוכרות למשתמש. בדרך זו, יש למשתמש מושג היכן למצוא אפשרויות מסוימות בתפריט, אפילו במידה והוא לא השתמש בתוכנית לפני כן. הרשימה הבאה מתארת מספר תפריטיסם אופיינייס שניתן למצוא אותס בשורות תפריטיס רבות: + +: קובץ 1!6=. תפריט זה מכיל את הפונקציות הקשורות בטיפול בקבציס הנמצאיס בשימוש על ידי התוכנית. חלק מהאפשרויות הנפוצות הן חדש (ששסא), פתיחה (ח6ק0), סגור (0|056), שמור (586), שמירה בשם (45 6א53) והדפסה טחוזק). אס התוכנית עובדת עס קבציס שוניס בצורה רציפה, נוכל להוסיף לתפריט גס רשימה של הקבציס האחרוניס שהתוכנית השתמשה בהס. בסוף תפריט זה נהוג להציב גם את פקודת היציאה 0ואם) מהתוכנית. עריכה %ו56. תפריט העריכה מכיל את הפונקציות הקשורות לעריכת טקסט ושימוש בלות (0זהסססוו6) הפנימי של פאוסבחוש\. חלק מהאפשרויות הנפוצות הן בטל (ספחנו), גזור טט6), העתק (ץ600), הדבק (ס850ק), נקה (6!68), חיפוש (0חו=) והחלפה (₪601306). תצוגה שפו/. ניתן לכלול את התפריט אס יש אפשרות להציג את הטופס בתוכנית במספר צורות. לדוגמה, מעבד תמלילים יכול לכלול אפשרות לתצוגה רגילה בעריכת הטקסט ותצוגה לפי דפיס למיקוס מרכיבי הטופס, וכן מיגוון אפשרויות הגדלה (/200). שימוש נוסף בתפריט תצוגה הוא לאפשר למשתמשים להציג או להחביא טפסים מיוחדיס בתוכנית (כגוו האפשרות א80|ססד בתפריט צוסו/). כליס 10015. בתפריט ניתן למצוא את מכלול פונקציות העזר והפונקציות הכלליות. לדוגמה, ניתן לשלב בתפריט זה בודק שגיאות כתיב, בודק תחביר, או עורך משוואות בתוכנית עיבוד תמליליס. חלון שסחו/\. תפריט וה נכלל בדרך כלל במקריס בהס התוכנית משתמשת בממשק ריבוי טפסים (פןא). תוכניות מסוג 1סוא, כגון מעבד התמלילים בזסוצ, תומכות בעריכה של מספר טפסים באותו מופע של 6זס/\ (כלומר תחת תוכנית 0 אחת). תפריט חלון מאפשר למשתמש לארגן את תצוגת הטפסיס הפתוחים, או להחליף ביניהס בצורה נוחה. עורה !₪46. תפריט העזרה מכיל גישה למערכת העורה של התוכנית. לרוב, תפריט וח מכיל אפשרויות לאינדקס עזרה (תוכן ענייניס), אפשרות חיפוש (כדי לאפשר למשתמש למצוא נושא מסויס בצורה מהירה) ומידע אודות התוכנית (מידע כללי, וכויות יוצרים ושמות כותבי התוכנית). ניתן להשתמש בששת התפריטיס האופייניים הללו כבסיס ליצירת מערכת התפריטים הפרטית שלנו. השתמש באחד או יותר מתוכם במידת הצורך והוסף קבוצות תפריטיס נוספות לפי הדרישה, אולס תכנן היטב את התפריטיס הנוספיס לפני ההוספה. ודא שהמשתמשים יוכלו להגיע בקלות לכל הפונקציות דרך מערכת התפריטיס. פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים | 149 הגדרת המרכיבים העיקריים לאחר שהחלטנו איזה פונקציות לכלול בתפריטיס וכיצד לחלק את הפונקציות הללו לקבוצות, אפשר להתחיל לבנות את התפריט. כדי ליצור תפריט, יש לפתוח תחילה את הטופס שבו רוציס ליצור אותו ואז להפעיל את עורך התפריטים באחת משלוש הדרכים הבאות: לחיצה על לחצן 01זו₪6 טחסוא (עורך התפריטים) בסרגל הכליס, בחירת תפריט 15ססד ואפשרות ז0+ו60 טח16א, או הקשה על 0+5ס. פעולות אלו תגרומנה להופעת עורך התפריטים, כמתואר בתרשים 6.3. 1 אא )ה | 6 מ ] סו | [08 טון=טוחוח ן ו - (שחס]) :םס | :חן [+ 6חסא] - ס] 60086050 0ַ ן 10א6לחס-פ|פו ו וווסטחועצ. -] 6ופופו > ש ה - | בב | 1 |[+ |+ |+ > תרשים 6.3: עורך התפריטים מאפשר דרך קלה ליצור תפריטים לתוכניות פקדי תפריט כל שורת טקסט (אפשרות בתפריט) נקראת פקד תפריט (|סשחס6 טחסוא), בדיוק כשס שלחצן פקודה שאנו מציביס בטופס נקרא פקד לחצן (ו₪0ח60 חסססטם סחהווחס6). אנו נשתמש בעורך התפריטים לצורך יצירת פקדיס בתפריט והגדרת המאפיינים הבאיס לכל פקד: + ח0 6800 (כותרת). והו הטקסט אשר יציג את הפקד בתפריט. ניתן להגדיר מקש קיצור לבחירת הפקד מתוך התפריט, על ידי הוספת הסימן ישי לפני האות שנבחרה להפעלת קיצור הדרך. לדוגמה, אס המאפיין ח00ק68 של פקד מסויםס בתפריט מכיל את המחרוזת ז8זס.8=, לאות 0 יתווסף קו תחתון והמשתמש יוכל לבחור את הפקודה בהקשה על מקש 0 במקלדת, כאשר התפריט פעיל. יש להגדיר מאפיין ח00ק68 עבור כל הפקדיס בתפריט. + סוַתַא. משתמשיס במאפיין זה כדי לוהות את האפשרות בתפריט בקוד התוכנית. יש להגדיר מאפיין חגא עבור כל האפשרויות בתוכנית. בדומה לפקדיס 0 סדנת לימוד 6.0 8\ האחרים, לכל פקד בתפריט חייב להיות שס אשר בעזרתו תוכל התוכנה לזהות אותו. בשונה מפקדים אחרים, 8856 |1508/\ אינה מצמידה לפקדי התוכנית שם באופו אוטומטי ולכן אתה חייב לציין שס עבור כל פקד לפני סגירת עורך התפריטים (ניתן לראות במאפיין חח שס פנימי של הפקד בתוך התוכנית ואילו המאפיין ח63000 הוא שס חיצוני עבור המשתמש). א6ח1. אס הפקד המוגדר הוא חלק ממערך פקדים, מאפיין א06ח1 משמש לצורך זיהוי הפריט בתוך המערך. +6+ז0ח5. בעזרת מאפיין וה ניתן להגדיר צירופים של מקשי קיצור שיאפשרו למשתמש לבחור פקד מסוים בתפריט בעזרת צירוף מקשים, וכך לעקוף את מערכת התפריטים. לדוגמה, תוכניות רבות משתמשות בצירוף +61 כקיצור ומבטלות את הצורך לבחור את האפשרות +חוזש מתוך תפריט 6!ו במערכת התפריטים. 10זא6 ה 16!060. מאפיין וה מגדיר שדה מזאהה המאפשר עבודה מול קובצ עזרה מותאס אישית ומאפשר מתן עזרה רגישת הקשר (ק|6 5605106 60006%0) לתוכניתך. ה0וו600%13+6005א. אס ביישוס שלנו יש אובייקט המקושר למקוס אחר או מוטמע בתוכנית, מאפיין וה קובע אם וכיצד יופיע פקד וה בזמן שהאובייקט פעיל. 6 אם ערך מאפיין מוגדר 6טזד, יופיע סימון (81%ח 66%ח6) משמאל לפקד בתפריט. בדרך זו ניתן לסמן, לדוגמה, כי המשתמש בחר להפעיל אפשרות מסוימת. אס ערך המאפיין הוא 8156=, לא יופיע סימון. 6. ניתן להגדיר מאפיין וה כ-8|56= במידה ואנו מעונייניס לנטרל את פקד התפריט בזמן מסוים. לדוגמה, אם לא מסומן כל טקסט שהוא, אפשר לחסוס את האפשרות ץ600 בתפריט זו0= על ידי קביעת ערך המאפיין כ-856". 6 ופצ קובע האם ניתן יהיה לראות את הפקד בתפריט. אפשר לכלול בתוכנית פקדי תפריט ולגרוס לכך שלא ייראו על המסך במצבים מסוימים. לדוגמה, לא נרצה שהאפשרות שספחו/\ תופיע בתפריט כאשר אין חלונות פתוחים. | סח ו/. מאפיין ה מאפשר הוספת רשימה דינאמית של כל חלונות המשנה הפעילים, לתפריט רמה עליונה ביישוס זסוז. יצירת מערכת פשוטה של תפריטים נדגיסם את תהליך עיצוב התפריטיסם על ידי יצירה של מערכת תפריטים פשוטה. ניצור מבנה תפריט הכולל מספר פריטים סטנדרטיים. ראשית, צור תפריט ₪6 לדוגמה: 1 72 הפעל את 8856 |1508/ והתחל פרויקט רגיל מסוג 5אם. ודא שהטופס שתרצה ליצור בו את התפריט מסומן. הטופס 1חזס= אמור להופיע על המסך כשהוא מסומן. אס לא, בחר אותו. פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים | 151 3 הפעל את עורך התפריטים על ידי לחיצה על 5601 טח86 ,5!ססד או על ידי לחיצה על הלחצן ז0+(₪6 טח6וא בסרגל הכלים. הסמן אמור להופיע במאפיין ח0וזק68. מאפיין זה מכיל את הטקסט המזהה את הפקד בתפריט הנוכתי. 4. הקלד 8=1!6. וזכור כי הסימן יי8י' מציין כי התו הבא (במקרה זה =), ישמש כמקש הגישה לפקד. בזמן ההקשה, שיס לב לכך שהטקסט המוקלד מופיע בתיבה שבתחתית עורך התפריטים בצורה אוטומטית. באזור זה ניתן לראות את התפריט בצורה היררכית. כמו כן, שים לב כי השורה העליונה בתיבה מוארת. 5 עבור למאפיין שוחהּא בעזרת טאב והקלד 6!!ו=טחוח. שני המאפיינים שהגדרת - ה00ק68 ו-6חה\ הס כל שתצטרך להגדיר לעת עתה. ברירות המחדל של המאפייניס האחרים מספיקות לשם דוגמה זו. 6. לח על לחצן %א6א או הקש על ו6זח5 כדי לקבל את המאפייניס שהגדרת לפריט זה. תיבות המאפיינים תנוקנה ותהיינה מוכנות לפריט הבא. שיס לב שהחלק המואר בתיבה בחלק התחתון של העורך עוברת לשורה הבאה (שורה ריקה). 7 חזור על צעדים 4 עד 6 כדי ליצור פריט שני. השתמש ב- ש₪6א8 במאפיין חסו%ק63 ו -ש6א6!ו]טחוח כשס. 8 לח א0 כדי לסגור את עורך התפריטים. לאחר ביצוע הצעדים הנזכרים, אמורה להיות שורת התפריטים בטופס כמו וה שבתרשים 6.4. |<1ם] -. [חזס] .₪ שסא. 6 תרשים 6.4: שורת תפריטים זו, הנראית כאן במצב עיצוב, נוצרה בעזרת עורך התפריטים כמובן, שהתפריט אמור להיראות בצורה שונה, כאשר שפא הינו תפריט משנה של 6. ולא תפריט בפני עצמו. כדי לפתור את הבעיה, תצטרך להתוודע להבדלי הרמות האפשריות בתפריט. הבדליס אלה תכיר בסעיף הבא, תפריטים בעלי מספר רמות. כמו כן, במידה וניסית ללחו על אחד מהפריטיס בסביבת העיצוב, הופיע לפניך חלון הקוד של שיגרה. למעשה, הפעולה שביצעת, דומה ללחיצה כפולה על אובייקט בטופס בומן עיצוב: פתחת את שגרת 616% של הפריט. כאן תוכל לכתוב קוד אשר יתבצע במידה והפריט נבחר בזמן ריצת התוכנית. תוכל ללמוד אודות כתיבת קוד לפריטי תפריטיס מאוחר יותר בפרק זה בחלק כתיבת קוד לפריטי תפריטים. לעת עתה, סגור את חלון הקוד. 2 סדנת לימוד 6.0 8\ תפריטים בעלי מספר רמות התפריטיס האופייניים ביישומיס המבוססים על פוססחו/), מכיליסם מספר רמות של פקודות. הפריטים ברמה הגבוהה ביותר הינס אלה המופיעיס בשורת התפריטיס של התוכנית. בדרך כלל, לחיצה על פריט שכזה פותחת את תפריט המשנה המשויך לפריט הראשי. כל פריט בתפריט המשנה יכול לייצג פונקציה בתוכנית או לגרוס להופעת תפריט משנה נוסף. ב- 88566 |8טפוע, ניתן ליצור עד שש רמות של תפריטים. טיפ: למרות שניתן ליצור עד שש רמות של תפריטים ב- 8856 |808ו/, כדאי בדרך כלל להגביל את התפריטים לשתים עד שלוש רמות. יותר מדי רמות עלולות להקשות על המשתמש לנווט את דרכו בתפריט. בצע את המהלכים הבאים כדי להמשיך בהכנת תפריט ₪116 אשר יצרת קודס לכן ובנוסף צור גס תפריטי 56 ו-5חסוטטס. 1. סמן את 1חזס] ופתח את עורך התפריטים. 2 בתיבה בתחתית עורך התפריטים, בחר את פריט ש6א. 33 והה את ארבעת מקשי החיציס בחלק האמצעי-שמאלי של העורך והקש על התצ הפונה ימינה פעס אחת. פעולה זו מורידה את הפריט רמה אחת למטה. שים לב שתוכן הפריט מוזז פנימה כסימן לכך שהפריט עצמו נמצא ברמה נמוכה יותר. לחיצה על החץ הפונה שמאלה מזיזה את הפריט רמה אחת למעלה. 4. לח על לחצן %א6א כדי להכין את עורך התפריטים לפריט חדש. שים לב לכך שבנוסף לניקוי תיבות המאפיינים, הפריט החדש והריק מוזז באופן אוטומטי לרמה בה מצוי הפריט הקודס. 5. הוסף פריטיס חדשים באותה הרמה, ובהם הערכים הבאים: 36 הסול63 חק 60וו= טחוח הח %חוזקסוו טחוח הווקא 6 וו טחות 6 סדוו טחות סד 56080 6 פריט סד 5606 יהפוך בעצמו להיות תפריט משנה. לאחר יצירתו, הזו את הפריט הריק הבא רמה אחת למטה על ידי לחיצה על הח הפונה ימינה והוספת פריטים חדשים (המוזזים פעמיים) לתפריט: 36 הסו 63 |3]ס 07ח656וו טחרח +60 |וב8₪]3 א 6560 טחוח 6% אה-8 פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים | 153 הערה: כאשר אנו יוצרים תפריטים בעלי מספר רמות כמו באפשרות סד 5600 בתפריט הדוגמה, פ5אוסחו)\ משלבת במקום המתאים בתפריט, סימן דמוי חץ המאפשר למשתמש לדעת שלאפשרות זו מסונף תפריט משנה. .10 .1 .12 .3 לח על החץ הפונה שמאלה פעס אחת כדי להעביר את הפריט הבא בתפריט לרמה גבוהה יותר. הגדר את מאפיין ח00ק63 שלו כ-8א8ם ואת שמו כ-1%א65! טחוח. לחץ על +א6א או הקש 6חם כדי ליצור פריט חדש. לחץ על הח הפונה שמאלה כדי להגדיר את הפריט כתפריט ברמה העליונה (ללא הזוה). הגדר את מאפיין ח0ו630% כ-זו86 ואת שמו כ-א6שטחוח. הזו את הפריט הבא בתפריט כך שהוא יופיע כתת פריט בתפריט 560%. הוסף את הפריטיס הבאיס: סוהבּא הסוז63 ות 8 ץקס 0 טחוח ץע 6 טחוח 6 הוסף תפריט ראשי נוסף בעצמך. הגדר את מאפיין חסוזק63 כ-0005ו7%קן80 ואת שדה השס כ-פחסושקסטחוח. הוסף את הפריטיס הבאיס תחת תפריט פחסוסקס: סוהבּא הסוז 63 %%חסוקסטחוח ץ|ח 6 8 6 סוק הרת 6 עורך התפריטיס אמור להיראות כעת כמו בתרשים 6.5. הקש א0 כדי לסגור את עורך התפריטיס. טיפ: מומלץ לתת לפקדי התפריטים (כלומר הפריטים השונים בתפריט) שמות היררכיים. באופן זה, שמו של כל פקד בתפריט מתחיל בקידומת טחחז ולאחריו מילה המתארת את החלק בתפריט שבו הפריט נמצא. לדוגמה, שם הפריט אשר דרכו מעבירים מידע לפקס הינו א0"8 656007!וחטחח. שמו של הפקד מרמז כי הוא נמצא בתפריט המשנה סד 0ח56 המסונף לתפריט שוו=. 4 סדנת לימוד 6.0 8\ | 6 פס ₪ ] יי | |68ח8 6 6 זטסקן! וטחוח ן בו - (שחסו]) :שםזסת ן :חן [+ 6חסא] - ס 60036050 0ַ | 10א6לחס-פ|פון ו -] 6ופופוי > ש - | תע | ₪6 |+]|+|+|> זחשוקו6 |ו₪13 +חשוקו66 3%-₪ תרשים 6.5: עורך התפריטים מאפשר ליצור מערכת תפריטים היררכית בצורה מהירה הערה: לפעמים קורה ששמו של פריט כלשהו בתפריט מסתיים בשלוש נקודות (...) כמו באפשרויות חסקס ו-חוזק בדוגמה לעיל. סימון זה מרמז שקיים מידע נוסף, כגון שם קובץ ומיקום, הדרוש כדי להשלים את הפקודה המבוקשת. לאחר בחירת הפריט, התוכנית תדרוש את המידע הנוסף באמצעות תיבת דו-שיח שתופיע על המסך. כעת, לאחר שחזרת לסביבת העיצוב של 8856 |הטפו/, תוכל לבחור את תפריט ₪16 בטופס 1וזזס] כדי לראות כיצד הוא נראה. ניתן לאחד את פקודות הטיפול בקבציס שצ6א, ח6ק0 ו-58/6, כקבוצה אחת ואת הפקודות %חוזש ו-סד 0ח56, כקבוצה אחרת. תוכל לבצע ואת, על ידי החלפת מקומות בין האפשרות +חוזש והאפשרות 6צ58, כך שכל הפקודות הקשורות בטיפול בקבציס תהיינה ביחד. תוכל להבליט את האיחוד וההפרדה באמצעות הוספת מפרידים לתפריט. איחוד פריטים בתפריט (הוספת מפרידים) בנוסף לשימוש ברמות שונות לצורך ארגון הפריטיס בתפריט, יש לפעמים צורך בהפרדת פריטים הנמצאיס באותה הרמה. הוספת מפרידים בתפריט שוברת את רצף הפריטיס ויוצרת הפרדה ברורה בין קבוצות פריטיס בעלי מכנה משותף, ללא צורך ביצירת רמות תפריט נוספות. הקש סימן מינוס (-) במאפיין ח00ק68 של הפריט כדי להפוך אותו למפריד ברוחב המלא של התפריט שבו הוא מופיע. וזכור שאנו צריכיס לתת לכל מפריד כזה ערך זיהוי מיוחד במאפיין 6וחאא, בדיוק כמו בכל הפריטיס האחרים. אנחנו משתמשים בדרך כלל במספרים עולים לזיהוי מפרידים בתפריטים - 1חסחקץר טחוח, 2ה6הקץהטחוח וכך הלאה. פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים | 155 ם אזהרה: אין אפשרות להשתמש במפריד ברמת התפריטים העליונה (שורת התפריטים). ניתן לשלב אותם בתפריטי משנה בלבד. אם תנסה להציב מפריד בשורת התפריטים, תופיע על המסך הודעת שגיאה בעת שתנסה לשמור את פעולתך. שינוי התפריט לעיתיס קרובות תרצה לבצע שינוייס במבנה התפריט שיצרת. תוכל בנקל לבצע משימה ואת באמצעות עורך התפריטים. טבלה 6.1 מפרטת חלק מפעולות העריכה השכיחות ואת אופן ביצוען. טבלה 6.1: שינוי התפריט פונקציית העריכה דרך הביצוע הזזת פריט בחר את הפריט ולחץ על אחד מלחצני החיצים כדי להזיז אותו למעלה או למטה. הרמה שבה נמצא הפריט אינה משתנה כאשר מזיזים אותו בתפריט. הוספת פריט בתוך בחר את הפריט האמור להופיע מתחת לפריט החדש הרשימה והקש על 561ח1. פריט ריק אמור להופיע מעליו. בשלב זה תוכל למלא את שדות ח63000 ו-6וח8\ שלו. הפריט החדש יימצא ברמה שבה נמצא הפריט שמתחתיו. הסרת פריט בחר את הפריט והקש על מקש המחיקה (ש06!66). הפריט יימחק מיידית ללא אזהרה. בעורך התפריטים אין אפשרות לבטל פעולה. כאשר מוחקים פריט אין דרך להחזיר אותו. אולם אם כתבת קוד תוכנית המשויך לפריט בתפריט, הקוד יישאר וניתן עדיין לראות אותו בחלון הקוד. הערה: קוד שנכתב עבור כל פקד לא יימחק עם מחיקת הפקד אלא יישאר בצורתו המלאה ויימחק רק על ידי מחיקת הקוד בחלון הקוד. כעת תוכל להשתמש בטכניקות העריכה הללו כדי לאחד פריטים ולהוסיף מפרידיס אשר נזכרו בחלק הקודם. לשס כך, בצע את המהלכיסם הבאים: 1 פתח את עורך התפריטיס לאחר בחירת טופס 1חזס=. 2 לת על הפריט +חזזפ פעס אחת כדי לבחור אותו. 3 לת\ פעמייס על התץ הפונה למטה כדי להזיז את הפריט מעל לפריט סד 5600 (לחץ על הח הפונה למעלה אס יש צורך להזיז פריט מסויס למעלה). 4. כאשר הפריט זחוזק מואר, הקש על מקש 10561 כדי ליצור פריט ריק מעל ו)חווס. 5 בחר את מאפיין ח0וז63 והקלד סימן מינוס (-) בודד. 6 סדנת לימוד 6.0 8\ 6. עבור למאפיין 6וחבּא בעזרת 78 והקלד 1חה6חטץווטחוח. 7 בחר את פריט זואם והקש על 10561 כדי ליצור פריט ריק מעל זואם. 8 הקלד סימן מינוס (-) במאפיין חס0וזק63 של הפריט החדש ו-2חה6חסץ1]טהוה במאפיין השם. 9 לח א0 לסגירת עורך התפריטים. | ----- סאטה) | 0% -] ויוי - | [06ח3 6 2חשתקעווחות ן ו (סחסו]) :שםץסת ן :חן [+ 6חסא] - ס] 60036050 0 ן 10א6לחס-כ|פון ו -] 6ופופוי שן ש ה - - ]חשוקו6 ₪131 %חשוםו60 א3-₪ תרשים 6.6: השימוש ברמות שונות של תפריט מסייע בארגון האפשרויות הקיימות. מקשי גישה ומקשי קיצור להפעלה מהירה של פונקציות ניתן להגיע לפריטיס רביס הנמצאיס בתפריטים של תוכניות פשספחוו\ על ידי שימוש בצירופי מקשים. תוכל באופן ה לאפשר למשתמש להגיע לפריטים בתוכניותיך בצורה קלה ומהירה. קיימות שתי שיטות חלופיות בהן תוכל להשתמש להגשמת המטרה: מקשי גישה ומקשי קיצור. מקשי גישה מקש מעין זה מאפשר למשתמש לנווט במערכת התפריטים על ידי שימוש במקלדת במקוס בעכבר. במידה ומוגדר עבור הפריט מקש גישה, הוא יסומן באמצעות קו תחתון (לדוגמה, האות = ב-₪6). נוכל להגדיר מקש גישה על ידי הצבת סימן 8 לפני האות הרצויה במאפיין ח0ושק68. בתפריט ₪6 לדוגמה, מאפיין ח63000 הוא 8!6. נוכל ליצור מקש גישה לכל פריט בתפריט. פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים | 157 טיפ: המשתמש מצפה שהאות הראשונה בשם הפריט תהווה מקש גישה. לפיכך, מומלץ להשתדל ולהגדיר את מקשי הגישה באופן זה. מצד שני, לא כדאי להשתמש במקש גישה זהה עבור שתי אפשרויות שונות באותו תפריט. לדוגמה, מקש הגישה בתפריט 86חזס" ב- 8856 |508ו\ הינו האות השנייה במילה. זאת כדי למנוע התנגשות עם תפריט ₪6 המופיע גם הוא כאפשרות בשורת התפריטים. תיאורטית, קיימת אפשרות להגדיר מקשי גישה זהים למספר פריטים באותו תפריט. במצב זה, 6 |אט5\ מעבירה את הסמן בין האפשרויות, כלומר עליך לדלג דרך בין הפריטים עבורם מוגדר מקש גישה זהה, עד שתגיע לתפריט המבוקש. כאמור, שיטה זו אינה מומלצת ומפספסת את ייעודה המקורי - להוות קיצור דרך ולחסוך בזמן. בנוסף, משתמשים רבים אינם מודעים ליכולת לדלג בין תפריטים על ידי לחיצה על אותו צירוף המקשים. כאשר אנו מגדיריס מקשי גישה בתפריט, המשתמש יוכל לבחור פריט ברמה הגבוהה (בשורת התפריטים) על ידי החזקת מקש 4/6 והקשה על מקש הגישה השייך לפריט. פעולה זו גורמת לתפריט המשנה השייך לפריט להיפתח ולהראות את הפריטים השייכיס לקבוצה זו. לדוגמה, במקרה שרוצים להגיע לאפשרות ש6א הנמצאת בתפריט ₪16, המשתמש יקיש =+)| ולאחר מכן א. כדי ליצור מערכת יעילה של מקשי גישה, יש צורך בהגדרת מקש נפרד לכל אחד מהתפריטיס הראשיים. לאחר מכן נגדיר מקשיס שונים לכל אחד מהפריטיס בתפריטי המשנה. תיאורטית, ניתן להגיע רק ל-36 צירופים שוניס באותו התפריט (אחד לכל אות באלפבית הלועזי ולכל אחת מעשר הספרות), אולס סביר להניח שייגמר המקוס על המסך לפני שתיגמרנה האפשרויות. מקשי קיצור בנוסף למקשי הגישה, נוכל להגדיר מקשי קיצור לפונקציות היותר שימושיות בתוכנית. מקשי קיצור מספקים גישה ישירה לפונקציות בעזרת מקש בודד (כגון מקש 6% או צירופי מקשים (001+5), ומאפשריס לעקוף לגמרי את מערכת התפריטים. ניתן להשתמש במקשי הקיצור כדי לבצע פעולות בצורה מהירה יותר. כדי להגדיר מקשי קיצור לפונקציה בתפריט, היכנסו לעורך התפריטים, בחרו את הפריט המבוקש ובחרו את המקש הרצוי מרשימת 07660%ח5. המקש יוצמד לפריט ותיאור מקש הקיצור יופיע בתפריט ליד הפריט. להדגמת השימוש, שייך את הצירוף 6₪1+5 לפריט זחוזק בדוגמה שעשינו בדרך הבאה: 1 ודא שבחרת את 1וחזס" ופתח את עורך התפריטים. 2 לח על הפריט פחוזפ כדי לבחור אותו. 33 לת על החץ הפונה מטה (הנמצא ליד רשימת הקיצורים) ובחר ₪+₪1ש6 מתוך הרשימה. 8 סדנת לימוד 6.0 8\ 4 הגדר את הקיצורים הבאיס בעצמך: הפריט קיצור דרך ₪6 ,6 א+6 חססס ,6וו= 0+ 6 ,סו 5+ וי א+6 ץש 010 6+ 6 ו +60 5 לח א0 כדי לסגור את עורך התפריטים. כעת, לאחר שחזרת למצב עיצוב, לחץ על תפריט 1!6= כדי לראות כיצד צירופי המקשים מוצגים. תרשים 6.7 מדגיס את התוצאות. |אוםן- 56 א+ום בו 0+וום | תפקם 5+זום 6 ק+ום זחוזם. 1 סז 5 ואם תרשים 6.7: לחלק מהפריטים שבתפריט ₪6 הוקצו מקשי קיצור ניתן להקצות לכל פריט כל מקש קיצור שהוא, בתנאי שאינו מצוי בשימוש על ידי פריט אחר. עס ואת, מומלצ להשתמש בקיצורים ייסטנדרטיים'י ושכיחיס בהס עושות שימוש תוכניות רבות. בטבלה 6.2 מוצגים חלק ממקשי הקיצור הנפוצים. עמודת התיאור מסבירה, כדוגמה, מה מקשיםס אלה מבצעיסם כאשר משתמשיסם בסביבת 6 | עצמה. טיפ: בדומה למקשי הגישה, יש צורך להגדיר מקש קיצור אשר מתאים לאות הראשונה של שם הפריט. לדוגמה, 6001+5 עבור זחוזק. למשתמש יהיה קל יותר לזכור את הקיצורים בדרך זו. מומלץ להשתמש בקיצורים המתוארים בטבלה 6.2 כדי למנוע בלבול. פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים | 159 טבלה 6.2: שימושים נפוצים בקיצורי דרך לקבלת גישה מהירה לפונקציות בתוכנית ו 000 =+|)6 | פותח את תיבת החיפוש ומאפשר חיפוש מידע כלשהו כגון טקסט). 0 חס ,סו 0+|6 | פותח תיבת דו-שיח המאפשרת לפתוח קובץ קיים. 5 | שומר את הטופס הנוכחי. זחוזק ,שו ק+|6 | פותח את תיבת דו-שיח המאפשרת לבחור פריטים המיועדים להדפסה. כתיבת קוד עבור פריטי התפריט לאחר יצירת מבנה התפריט, יש צורך בכתיבת קוד כדי לגרום לאפשרויות בתפריט לבצע פעולה ממשית. נעשה זאת, כמו בטופס או בפקדיס אחרים, על ידי כתיבת קוד בשיגרה המקושרת לאירוע. לכל אחד מן הפריטיס בתפריט יש שיגרה אחת בלבד: שגרת >6סו!0. שיגרה זו מופעלת כאשר המשתמש לוחי על הפריט, או כאשר המשתמש מסמן את הפריט ומקיש זססחם. לחיצה על הפריט דומה ללחיצה על לחצן פקודה. הערה: שגרת 6166 המקושרת לפריט מופעלת הן כאשר המשתמש מקיש על מקש גישה והן כאשר הוא מקיש על מקש קיצור כדי להפעיל את הפריט. כדי להוסיף קוד לשגרת א6ו01 של הפריט, לח קודס כל על הפריט בטופס. פעולה זו גורמת לפתיחת חלון הקוד ומכינה את שגרת האירוע לפריט הנבחר באותה הצורה שבה היתה נפתחת שגרת 066 של אובייקט אחר אם היינו בוחרים אותו. לאחר מכן, הקלד את הקוד הגורס לפעולת הפריט. 0 סדנת לימוד 6.0 8\ כעת תוכל לשפר את דוגמת התפריט על ידי תכנות פונקציית ₪6, %%₪ בתפריט, כמתואר בשלבים הבאים: 1. בסביבת העיצוב, בחר בתפריט ₪6 של טופס 1וחזס] כדי לפתוח אותו ולאחר מכן בחר %ואם. חלון הקוד ייפתח ויציג את שגרת >6ו01 של פריט זואששווטחוח. 2 הקלד את הקוד הבא לשיגרה: 8חו 50 5 קוחם 57 ,100007 5 סוחס דח וחוס "?ואש 0ף +חפ/ו טסץ 6זט5 טסץ 6זה" = קוחס 51 ("הח8 סז 6|רח58 טח6]" ,סאפ טע ,רחס 51)א0ס8 15 = קוח דחה חח ד 65 פע = קוחם דח +[ 0חם + 0חם 3 סגור את חלון הקוד. שמור את תוכנית הבדיקה והרצ אותה. כאשר תבחר באפשרות זואם בתפריט ש6וו₪ במערכת התפריטים, תוצג תיבת הודעה אשר תשאל אס אתה בטוח שאתה רוצה לסגור את התוכנית. אס תבחר 65+, התוכנית תיסגר. בתקליטור: הקוד שלעיל נמצא בתקליטור בתיקיה וחפזףָסזק 6/וח58 טחסוו. הגדרות נוספות בנוסף למאפייניס הדרושיס ח68000 ו-6וחאא, לכל פריט מספר מאפיינים שניתן להגדיר כדי לשלוט על התנהגות התפריט או כדי לוודא סטטוס של אפשרות מסוימת בתוכנית. המאפייניס השכיחיס ביותר בשימוש הינס 580!6ו/\, 60|טְהחם ו-6060660. המאפיינים 6!טו15/ ו-60!כבּח= מאפייני 6|ו15/\ ו-8060ח₪ של הפריט פועלים בדיוק כמו בכל אובייקט אחר. כאשר מאפיין 151066 מוגדר 6טזד, הפריט מופיע בתפריט. אם המאפיין מוגדר 8!56=, הפריט (וכל תפריט משנה המקושר אליו) מוסתר. בוודאי ראית כבר שימוש במאפיינים אלה במעבד תמלילים בזמן שניתן היה לראות את תפריטי ₪6 ו-קו₪6 בלבד עד שפתחת מסמך חדש. לאחר פתיחת המסמך, התגלו התפריטיס האחרים. שינוי ערך המאפיין 196 מאפשר לשלוט בכמות הפריטים אשר יהיו זמיניס למשתמש בכל זמן נתון בתוכנית. בצורה זו של שליטה ניתן למנוע מהמשתמש גישה לפונקציות בתפריט אשר עלולות לגרום לתקלות במידה ותנאים מסוימים לא מתקיימיס (לא נרצה לאפשר גישה לפונקציות עריכה כאשר אין טופס פתוח). מאפיין 089/60 משמש בצורה דומה למאפיין 6פופוש. השינוי העיקרי הוא שכאשר ערכו 8156=, הפריט יהיה אפור, גלוי, אך לא זמין. לדוגמה, אין לאפשר 605 ו-ץ600 אם לא נבחר קטע, אולס אין מניעה להראות שהפונקציות קיימות (ראה תרשים 6.8). פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים | 161 | [חזזס-]) [חוזס] - 1וספןסז .₪ ם ם > וםן-. פחסווסם. 6 ום 8% ו ו 8 ו 66ב ם תרשים 6.8: פריטי תפריט חסומים עדיין גלויים לעינו של המשתמש, אולם מוצגים באפור על מנת לציין כי הם מנוטרלים זמנית אם כי ניתן להגדיר את המאפיינים 19196 ו-60ו88ח= במצב עיצוב באמצעות עורך התפריטים, נהוג לרוב לשנות את ערכיהסם בומן ריצה בתגובה לשינויים במצב התוכנית. כמו באובייקטיס אחרים, ניתן להגדיר בקוד ערך עבור מאפיין המשויך לפקד תפריט, על ידי ציון המאפיין חא של הפריט, הגדרת שס המאפיין המיועד לשינוי, והערך החדש. בהמשך לדוגמה המתוארת, ניתן לשפר את מערכת התפריטים הפשוטה שלך. כאשר התוכנית מתחילה לפעול, אין טופס פתוח ולכן לא כדאי לאפשר גישה לאפשרויות 0 56006 ,6צ53 ו-+חזזש כמו גסם את תפריט 56 אשר תרצה להציגו רק במצב בו יש טופס פתוח. בצע את הפעולות הבאות כדי לוודא שמערכת התפריטיס תוצג בצורה הנכונה עס הפעלת התוכנית : 1. ודא שטופס 1וזס=פ מסומן. היכנס לעורך התפריטים. 2 לח על הפריט 6צ58 וסמן אותו. 33 הסר את הסימון הנמצא על מאפיין 4. פעולה זו משנה את ערך מאפיין תח ל-8156=. 4. הגדר ערך 8156* גס לפריטיס 60 56046 ו-%חזוק. 5 בחר את תפריט זו6ם. 6.| הסר את הסימון הנמצא על מאפיין 6. פעולה זו מגדירה את ערך המאפיין כ-8!56ת. 7 סגור את עורך התפריטיס. טיפ: שים לב שתפריט 50 נעלם גם מסביבת העיצוב. עדיין תוכל להגיע לשגרת 616% של התפריט על ידי כניסה לחלון הקוד של הטופס ובחירה בתפריט המתאים מתוך תיבת האובייקטים. תוכל גם להשאיר את מאפיין 6|פופו\ במצב 6טזד ולהגדיר אותו כ-8|56] בשגרת 10806 של הטופס. 2 סדנת לימוד 6.0 8\ בצע את הפעולות הבאות כדי לאפשר את החלקים המתאימיס של תפריט 16ו=, וכדי להראות את תפריט זו0ם בזגמן שקייס טופס פתות: 1 .6 בסביבת העיצוב, לחי על תפריט ₪6 ולחץ על הפריט ח6ק0. שגרת ח6026!!₪ הוח תוצג. בתוכנית אמיתית נציב כאן את הקוד המטפל בפתיחת טופס. תוכל להציב שורת הערה המסבירה את מהות הקטע. הקלד את השורות הבאות לתוך שגרת 6% חסקססוו טחות : 6 6065 06 3 סחוחסקס זס1 0006 6 = 60|טְהחם. סעה5ס!וטחוח 6 = 60!סַהחם.0ס ד0ח656!ו=טחוח 6 ך = 60!טְהחם.+חוק סו טחרח סד = 0!6ן15/\.ו6טחוח סגור את עורך התפריטיס. שמור את התוכנית והפעל אותה. שים לב שתפריט ₪016 אינו נראה. כמו כן, שיס לב שכאשר הנך לוחצ על תפריט 6!ו₪, חלק מהפריטיס בתפריט מופיעים באפור. בחר ח6קס0 ,₪16 הפעולה תגרוס לשגרת 616% של פריט ח6ק0 להתבצע. בחר שוב בתפריט 6!ו= ושים לב שכל הפריטים בתפריט ה מאופשרים. כמו כן, שים לב שניתן כעת לראות את תפריט זו0ם. לחץ על לחצן הסיוס בסרגל הכלים כדי לסגור את התוכנית. מאפיין 6166460 מאפיין ה קובע אם יוצג סימון (81%! 66%ח6) משמאל לפריט בתפריט, כמו שניתן לראות בתרשים 6.9. משתמשים בו כדי להציג מצב של אפשרות מסוימת בתוכנית. לדוגמה, אס משתמש בחר להשתמש באפשרות מסוימת, יופיע לידה סימון (+). ניתן לבחור שוב את האפשרות בתפריט כדי להסיר את הסימון ושוב כדי להחצירו. | ום|=. פמסוום | 07 שת שוח ואפ * זט תרשים 6.9: מאפיין 6766660 קובע אם יוצב סימון לשמאל הפריט הקלד את הקוד הבא לתוך שגרת 06% של הפריט 6% זפחסקסטחח בתפריט הדוגמה: 0 5 הטטק טחוח 0%\] = 66%660ה0.0א6 [5הסטק סטחוח פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים | 163 מאחר וערך מאפיין 6086%60 יכול להיות 6טזד או 8|56= בלבד, הקוד שכתבת עושה שימוש יפה בלוגיקת חשיבה בוליאנית בעזרת הפעולה 6סא. הפעולה מייצגת את ההפך של ערך בולאני כלשהו. לדוגמה: הפונקציה 6.0066660א6 זפחסקסטחוח %סא מחזירה את היפוכו של הערך הנוכחי של מאפיין 6066660 בפריט פחסטקסטחוח. התהליך ידוע כהיפוך (פַחו|89ָסד) ערך בולאני. בכל נקודה בתוכנית, מצב מאפיין 6066660 קובע אס המשתמש רוצה שהטופס יהיה מורכב מטקסט בלבד או לא. כמובן שניתן להגדיר את מאפיין 6066660 כבר בסביבת העיצוב אס נרצה שהפריט המדובר יהיה מסומן כאשר התוכנית מתחילה לפעול. . אזהרה: אין אפשרות להגדיר את מאפיין 6060660 של פריט הנמצא ברמה העליונה ביותר (על שורת התפריטים) כ-6טזד. אם תעשה זאת תופיע הודעת שגיאה. מאפיינים אחרים בוודאי שמת לב לשתי אפשרויות נוספות בעורך התפריטים. אפשרויות המגדירות את ערך מאפייני הס0ו05ק6ז60008\ ו-56 !אוססחו/\ של הפריט. חסו05ק806 6900 קובע אס והיכן יוצג הפריט בתוכנית, בעת הצגת תפריט המקושר לאובייקט המוטמע (0600060וח) בטופס (דוגמה, אס קיים מנגנון 6זסש\ פעיל המשמש לעריכת טופס). כאשר הערך של מאפיין ח00ו5סק6800806א הוא 0, התפריט לא יוצג בזּמן שהאובייקט פעיל. כאשר הערך שונה מאפס, הפריט יוצג לשמאל, באמצע או לימין התפריט המקושר לאובייקט (על ידי קביעת הערכיס 1,2,3 בהתאם). מאפיין 156 ושסטחוו\ קובע האס לתפריט הנוכחי תצורף רשימה דינאמית של טפסי משנה פעילים ביישומי 1סוז. כאשר ערך מאפיין ה הוא 6טזד, הפריטים יתווספו אוטומטית לתפריט בעת פתיחת טפסי בן (פוחזסת 6ו1ח6) ויוסרו כאשר הטפסים הללו ייסגרו. תוכל ללמוד יותר על נושא זה בפרק 17 יישומים בעלי ממשק מרובה מסמבים. יצירת תפריטים מקוצרים עד כאן למדת על שורת התפריטים המופיעה בראש החלון. 8856 |1808\ תומכת גס בתפריטים מקוצרים הנקראיס גס תפריטים מוקפצים (פטחסו כט-קסס). הכוונה היא לתפריטיס קטניס המוצגיס במקוס כלשהו בטופס, כתגובה לאירוע בתוכנית. בדרך כלל משתמשיס בתפריטיס מקוצריס כדי לטפל בפעולות או אפשרויות השייכות לאזור מסויס בטופס (ראה תרשים 6.10) - לדוגמה, תפריט מקוצר המופיע בשדה טקסט מאפשר לשנות את הגופן או את מאפייני הגופן בשדה. תוכל למצוא תפריטיס כאלה ברבות מתוכניות 5אוסחו/\ מהדור החדש, כולל 88516 |808ו/ עצמה. בעת הפעלת תפריט מקוצר, בדרך כלל על ידי לחיצה ימנית על אובייקט כלשהו, הוא מופיע על המסך ליד מצביע העכבר. במצב וה, המשתמש בוחר באפשרות מתוך התפריט. לאחר שנבחרה אפשרות, התפריט נעלס מהמסך. 4 סדנת לימוד 6.0 8\ | ום|=. כלים עיצוב הוספה תצוגה עריכה עזרה [תונים ו ] > 6 גזור = ₪ יי העתק 2 | |88 הדבק : 5 ?/ יי ₪ : / 6 עיצוב תאים... |+: | [ 4 : ל ₪ בחירה מרשימהו... תרשים 6.10: התפריט המקוצר, אשר מקושר לרשת, מהווה דרך נוחה להפעלת פונקציות בתוכניות המיוחדות לרשת יצירת התפריט תוכל ליצור תפריט מקוצר בדומה לאופן בו יצרת את התפריט הראשי בתוכנית - בעזרת עורך התפריטים. אולס, עליך לבצע צעד נוסף. התפריט המקוצר אמור להיות חבוי כך שלא יוצג על גבי שורת התפריטים. כדי להחביא את התפריט, עליך לקבוע את ערך המאפיין 6|פופו\ של התפריט, ברמה הגבוהה ביותר, כ-8|56=. הערה: ככלל, תרצה להחביא את פריט התפריט אשר משמש כתפריט מקוצר. אולם, באפשרותך להשתמש בכל אחד מפריטי הרמה העליונה גם כתפריט מקוצר. כלומר, תפריט מסוים יכול להיות גם תפריט מקוצר וגם חלק מהתפריט הראשי של הטופס. כדי להדגיס את התפיסה של תפריט מקוצר, הוסף תפריט פשוט לתפריט הדוגמה: 1 בעזרת עורך התפריטים, הוסף פריט חדש ברמה העליונה בסוף רשימת הפריטיס. קבע את ערך מאפיין חסו%ק63 כ-+הוחזס: ואת שמו כ-+הּוחזזס- טחוח. 2 הגדר את מאפיין 151916/ של פריט ז+הוחזזס= טחוח כ-3!56=. 33 צור את הפריטיס הבאיס תחת תפריט +החזס- : 36 הסוז 63 החסה טחוח 00 88|6 וז סה טחוח 6 6ז הסה טוח זז סח 8 4 סגור את עורך התפריטיס. שיס לב שהתפריט ז8חזס= אינו מופיע בשורת התפריטים. אולס הוא קייס וניתן לערוך אותו בעורך התפריטים. פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים | 165 גס הטכניקה להוספת קוד לשגרת 0166 של פריטיס בתפריט מקוצר שונה מעט. אין אפשרות לבחור בפריט כדי לקרוא לחלון הקוד מפני שהתפריט אינו נראה לעין. אך תוכל לפתוח את חלון הקוד על ידי לחיצה על הלחצן 6006 צופו/ בחלון הפרויקט או לחיצה כפולה על הטופס. אחר תוכל לבחור את הפריט המבוקש בתיבת האובייקטיס הנמצאת משמאל למעלה. בדרך זו, תוכל לכתוב קוד עבור הפריטיס החבוייס. הפעלת תפריט מקוצר כדי להציג תפריט מקוצר על המסך, יש צורך להשתמש בשיטת גוחסוזקקסס. תוכל לעשות ואת על ידי קביעת שסם הטופס שבו התפריט יוצג, שיטת טחסוקטקסק, ושס התפריט המבוקש. למרות שניתן להשתמש בשיטה זו בכל מקוס בתוכנית, משתמשיס בתפריטיס מקוצריסם בעיקר כתגובה ללחיצות על הלחצן החימני של העכבר. כדי להדגים את השימוש בשיטה זו, צור תפריט מקוצר לדוגמה אשר מופעל כאשר המשתמש לוחי לחיצה ימנית על הטופס. אומנס בתוכנית מלאה המטפלת בטקסט, סביר כי המשתמש ילחצ לחיצה ימנית על טקסט נבחר, אך הצעדיס הבאים מדגימיס את הרעיון בכללותו: 1 פתח את חלון הקוד של הטופס על ידי לחיצה כפולה על הטופס. 2 פתח את תיבת האובייקטיס בחלון הקוד ובחר את הפריט 68016 וח'זוס= טחוח. 3 בשגרת א61!6 של פריט 80!6זהּוח'וס"טחוח, הקלד את שורת הקוד הבאה, אשר תגרוס לתיבת הודעה להופיע ולדווח שהשיגרה אמנס הופעלה: "0% 5016 0!|060ס )פטן טסצ" אס 50 4. פתח את תיבת האובייקטים בחלון הקוד ובחר וחיוס=. 5 פתח את תיבת השגרות בחלון הקוד ובחר את שגרת ק6פטסו. 6. הקלד את הקוד הבא לתוך שגרת ק560טס₪ של הטופס: הסח ד הסטם?זהטוחפע = הסחטפ זז רחס חר גוחסוסטססק. 1 הזוס + 0חם 7 שמור את התוכנית והפעל אותה. לחץ לחיצה ימנית על הטופס כדי לפתוח את תפריט +הוח'זס] ובחר באפשרות 80!4. בקטע הקוד שהקלדת זה עתה, השתמשת בשגרת כ [וספטסו\ לביצוע פעולה כאשר נלתצ לחצן בעכבר. השיגרה העבירה משתנה בשס חסאט8 המודיע איזה מלחצני העכבר נלחצ. מפני שרצינו שהתפריט יופיע רק במידה ונלחץ הלחצן הימני של העכבר, בדקנו את ערך משתנה חסטטפ. אס נמצא כי הוא שווה ערך לקבוע חסטטטטחטומפט (קבוע פנימי עבור ערך הלחצן חימני של העכבר), הוצג התפריט המקוצר. 6 סדנת לימוד 6.0 8\ הערה: תוכל ליצור מספר תפריטים מקוצרים ולהציג כל אחד מהם כתגובה ללחיצה על לחצנים שונים בעכבר, או באזורים שונים על גבי המסך. ערכי א ו-* המועברים לשגרת 56\(0טסו! מדווחים על מיקום מצביע העכבר בזמן התרחשות האירוע. שימוש בסרגלי כלים ב- ₪3516 |בּש5ו1 בוודאי שמת לב לכך שבתוכניות רבות המבוססות על פשוסחו/\ ישנס סרגל כליס אחד או שנייס בנוסף למערכת התפריטים. סרגלי כליס אלה מספקיס למשתמש דרך גישה מהירה לרוב הפונקציות השכיחות בתוכנית. מספר תוכניות אף משתמשות בסרגלי כלים לצורך ביצוע פעולות מיוחדות, כגון סרגל ציור הקיים ב- סזסש\ 6070506%ו1א. כאשר סרגלי הכלים הפכו נפוצים, המשתמשיס התרגלו לצפות להם בכל תוכנית. תוכל ליצור סרגל כליס בצורה מהירה ב- 8856 |1508/. למעשה, 6 8856 |הטפו\ מאפשרת שני סוגיס של סרגלי כלים: הסוג הרגיל והסוג המשופר, ז600!83. עקרונות סרגל הכלים למרות ששני סוגיס אלה של סרגלי כליס (הנראיס בתרשיס 6.11) מופיעים למשתמש בצורה שונה, שניהס משמשיס לאותה מטרה: לספק מערכת של לחצניס מאוירים, המאפשרים גישה לפונקציות שכיחות בתוכנית. פקד ז00!83ד מאפשר ליצור שישה סוגים שוניס של לחצניס: > לחצנים מסוג 5חס6טפח5נוש הפועלים כמו לחצני פקודה. > לחצני סימון (5ח0ט0א86ח6) הפועליס במצבי הפעל-הפסק, כמו תיבת סימון. * קבוצות לחצנים (פקטסזף חססשט8) הפועלות כמו לחצני אפשרויות (חסטקס 5חסטטס). > לחצני הפרדה (5ח60טפ ז0ז560678) היוצריס רווחיס בסרגל הכלים. > לחצני מרווח (פ5חסאטס ז0!06 866|ק) היוצרים שטח ריק אשר בו תוכל להציב פקדיס אחרים, כגון (אסט סטו600), על גבי סרגל הכלים. + לחצני תפריטים נפתחיס (5ח600טפ חצוס6-קסזס) מהס נפתחיס תפריטים המציגיס אפשרויות שונות בפני המשתמש. שו התתממממממממממממממורהקזין | אפסה | מן | תרשים 6.11: תפריט מסוג ז3פ!0ס6 הוצג לראשונה בתוכנת זסזס|קאם 66חזפ%ח1 פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים | 167 כדי ליצור סרגל כלים, יש צורך להשתמש בפקדים שוניס: אחד או יותר מפקדי זהםוססד ופקד 5% 18861. פקד 5% 18861 מכיל אוסף ציוריס הניתניס לשימוש על ידי פקדיס אחריס. במקרה זה, פקד זפפ!ססד מציג ציוריס מתוך פקד :108061159 על גבי הלתצנים. פקד 108861155 הינו חלק מתוך קבוצת חהסוח 60 פוסבחו\\ 6705066 0 60000!58. מידע נוסף על הקבוצה ניתן לקבל בפרק 12, הפקדים המשותפים של + ראה: פקד זפו61פַ3ו1₪: פקד משותף בסיסי, פרק 12. כדי ליצור פקד מסוג ז88|ססד על הטופס, יש צורך בהוספתו קודס לכן לארגז הכליס. לחץ לחיצה ימנית באזור ריק של ארגז הכליס ובחר %5ח6חהסקוחפ6 מתוך התפריט שיופיע. כאשר תיבת הדו-שיח של הרכיביס מופיעה, בחר את הקבוצה הראשונה של הפקדיס השכיחיס - 6.0 600015 חסווווח60 5עצססחו/ש 116705086 - כמוצג בתרשיס 2. קבוצת פקדים זו מכילה את פקדי סרגל הכלים הרגילים ואת פקד 8961.5%ח1. 000 נמצא בקבוצה השלישית (6.0 3 - ₪0|5ח60 חסו וח00 פאוססחו/\ 50סזסווא). בחר בקבוצה זו כדי להוסיף את פקד ז600|83 לארגז הכלים. - | 0905 פ630וספת1 | טס | בו 0 |סזשחס=) סזח51/י5 5]ס5סיסווי] 0 ופשח = הַסובום ספב ד :]ספסיסווי] יאוז | = (502) 5.0 5|סזלחס> חסותוחס-) פטשסבחו/א 50]'5סיסוי] 0 05 חס > חסוחהחס> פציסםחו/ 50%טזסוזיז וי 156 -- 6|טטסחח ע'זסַ355 /+151] ס)ח151יז 8 סח /'ז600ס3 = 1151001 ס)ח51וי] | 06 0 /" 6|סח ע'זסח35 = החש 01 ס)חז15י] + ץח 1605 560000 -][ 6.0 015-3 חס חסוחוחס= 5ווסםחו/\ 50% טסוה | | 33206% דיס יז 55 \5 פאז :6 = :חס106800 תרשים 6.12: | פקד 600!887 הוא קבוצה חדשה - חסו 60 פאוס0חו/\ 16705006 0 35 - 0015ח60. בחלקיס הבאיס תגלה כיצד לכלול את שני סוגי סרגלי הכליס בתוכניות שלך. 8 סדנת לימוד 6.0 8\ קביעת התמונות בסרגלי הכלים השלב הראשון ביצירת סרגל כליס כלשהו, כולל הוספת התמונות, אשר תוצגנה על לחצני הסרגל, לפקד 5% ו1806. בצע את הפעולות הבאות: 1 שרטט פקד מסוג 1806118 על הטופס ותן לו שס ייחודי. גודל הפקד 18061156 נקבע על ידי 8856 |1508/, זאת משוס שהוא אינו מופיע בעת פעולת התוכנית. לכן הוא נראה כתווית קטנה בזמן העיצוב, ללא קשר לצורה שבה הוא שורטט. 2 להוספת תמונות מסוג מפחטום לפקד, פתח את תיבת המאפיינים שלו על ידי לחיצה על הלחצן בנייה (...) המופיע בחלון המאפייניס בשורת המאפיין וחס5%ש6, או על ידי לחיצה ימנית על פקד 83961.15%ו1₪ ובחירת %165ז6כסיזופ. מתיבת דו-שיח זו, הנראית בתרשים 6.13, תוכל להוסיף תמונות מתוך קבצים גרפיים (מסוג 05 ו-5קְ8חטום) הנמצאים במחשב. - | 6 והשזוו -] 8 1 6%ח] ו 4 3] :)וס שהַהחז! סו" יסוס .. זגוזסו] +ז50ח! תרשים 6.13: בזמן העיצוב, תוכל להוסיף ציורים לפקד 18061155 על ידי שימוש בכרטיסיית הציורים הנמצאת בתיבת הדו-שיח של המאפיינים 33 כדי להוסיף תמונה לפקד, לח על הלחצן 516016 +1561. פעולה זו תציג בפניך את תיבת הדו-שיח 160076 56166% (בחירת תמונה), אשר ממנה תוכל לבחור תמונת סופ (מפת סיביות) או חסס1 (סמל), על פי רצונך. לאחר בחירת התמונה הרצויה, היא תתווסף לפקד ותוצג באזור התמונות. 4. לאחר הוספת כל התמונות הרצויות, לחצ על לחצן 0% וסגור את תיבת הדו-שיח. הערה: ב- 8856 |1508\ קיימים ציורים רבים המוטמעים בתוכנה. במידה ובחרת להתקין את הציורים הללו, הם יאוחסנו בתיקיה הקרו'ה 6800165 (מיקום התיקיה תלוי באפשרויות ההתקנה שבחרת וכן האם התקנת את 88566 |ה150 לבדה או כחלק מחבילת 5000 |808ו/). לאחר ביצוע הפעולות הנזכרות לעיל, פקד 108061150 שיצרת מוכן לספק ציוריםס לסרגל הכליס שלך. פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים | 169 יצירת סרגל כלים רגיל כדי ליצור פקד ז83!|ססד רגיל, יש צורך להציב אותו קודס לכן על גבי טופס. בצע את הפעולות הבאות כדי לעשות זאת: 1 שרטט את פקד ז98|ססד בטופס. 8856 |508/\ מציבה את הפקד בראש הטופס. אורך הפקד מתאים לאורך הטופס. 2 יישר את סרגל הכלים. ניתן ליישר את הסרגל לכל צד או ליצור סרגל צף: % > כדי להציב את הסרגל בראש הטופס, השאר את ערך מאפיין חפָווג שווה ל- מס דחשו|4פט-1. <* כדי להציב את הסרגל בתחתית הטופס, קבע את ערך מאפיין הווא כ- והס80%% חטו!פע-2. <* | כדי ליישר את הסרגל לימין או שמאל הטופס, קבע את ערך מאפיין חפזוא כ- 616 1ח4ו|הפט-3 או ₪100 תףו!4פט-4 בהתאמה. במקריס אלה מומלצ לקבוע את ערך ח*6ו/ש בצורה ידנית כדי למנוע מהסרגל למלא את שטח הטופס לגמרי. - | שזנססותק | פחסססטם | = 00000 א06.₪] וס [= 7070000 פמסאקסוס0-660|6] =ששס0)אקסוםפ|ם [= ₪6 וח[ = 00000 <ח6)]: ₪06 !880 [= 00 שחא] סה !וס | :וקופ א :0 הס 620 6סהססבז/ ש] | 6קוחס)פםואוסו. שן 7 54028] ו הסטוום שפח <] 5 דוס >] 7 34525] :טסוו [= ---- 0.00006] :וס [= 630-] ו = 000000 חסוסהםוםא6דופו-ם] ובאט ד = 0000000 6פסו-] :6 | ופ | | | 38 תרשים 6.14: תוכל להקצות פקד 6115%פו1₪ לסרגל הכלים שלך בכרטיסיה |8ז8ח06 שבגיליון המאפיינים של הסרגל <+ | כדי ליצור סרגל צף, הגדר את ערך מאפיין 41:90 כ- 6חסאחף:ומפע-0. תוכל לקבוע את מיקומו וגודלו על ידי קביעת ערך מאפייני ה6%ו/ל ,קסד 16160 ו-16100%]. 0 סדנת לימוד 6.0 8\ 3 הצג את מאפייני הפקד על ידי לחיצה ימנית עליו ובחירה באפשרות 65זסקסזם. תרשים 6.14 מציג את הכרטיסיה הראשונה בחלון מאפייני פקד ז83|ססד. 4. | קבע את מאפיין 1₪36115% של הפקד כשם פקד 1346115%ח1 שיצרת קודס כדי לספק סמלים לסרגל הכלים. לחיצה על החץ הנמצא מימין למאפיין 15% 61פַהּוח1 פותחת רשימה של כל פקדי 1₪18861.15% הקיימיס בטופס הנוכתי. מספר מאפייניס בכרטיסיה |8ז6ח66 שבגיליון המאפייניס שולטיס במראה הסרגל ובצורת התנהגותו. מאפייניס אלה מתואריס בטבלה 6.3. טבלה 6.3: מאפייני פקד ז83וססד השולטים במראהו ובצורת התנהגותו שם המאפיין תיאור 06 | קובע האם תיראה מסגרת מסביב לסרגל הכלים או שלא תיראה מסגרת כלל. וס הסשטם | מגדיר את גובה הלחצנים בסרגל (ביחידות מואוד). חזו/\\הסט | קובע את רוחב הלחצנים בסרגל (ביחידות קושד). 6ח0לפ5ט6)ץשסו!\/ | קובע האם תהיה למשתמש אפשרות לשנות את סרגל הכלים על ידי הוספה, הסרה או הזזת לחצנים. 5 סח | קובע האם יוצגו תיאורי כלים בשעה שסמן העכבר מוצב מעל אחד הלחצנים. 6סהּססהּז/\\ | קובע האם סרגל הכלים יכול לגלוש לשורה הבאה במידה ויש יותר מדי לחצנים עבור שורת לחצנים אחת. סו | מגדיר פקד ‏ 1386118 שונה אשר ייספק סמלים עבור לחצנים מסוג חשוססקסזכ ו-66%656/6ח0 כאשר הם מופעלים. ציור חלופי יוצג גם כאשר מצביע העכבר נמצא מעל כל לחצן אם ערך מאפיין 56/6 הינו +8!=זפ+-1. כדי להשתמש במאפיין, ודא שאינדקס הציור המבוקש בפקד 180611585 המוקצה, שווה לאינדקס ברשימת הציורים הראשית. וק | מגדיר פקד 8% 61פָח1 שונה אשר ייספק ציורים ללחצני סרגל הכלים שמאפיין 80!60ח= שלהם מוגדר כ-8156=. כדי להשתמש במאפיין זה, ודא שלציור המבוקש בפקד 1838861156 יש אותו אינדקס שיש לציור ברשימה הראשית. קובע אם יתווסף אפקט תלת-מימדי לסרגל הכלים או אם הוא יופיע בצורה שטוחה. פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים | 171 יצירת הלחצנים עבור סרגל הכלים השלב הבא ביצירת סרגל הכליס יהיה ליצור את הלחצניס אשר יוצבו בסרגל. למשימה זו, עבור לכרטיסיית הלחצנים בגיליון המאפיינים (ראה תרשים 6.15). |א. [ 5% ע!זסקסזק | 6 | 5חסלל 8 | |878ח6 | הסזוום 6/יס0ח6 9 4 ור .ו 5% :900פם 00 ו [= | 6955וקחטופו-ם] 6 0000007 6% ₪ [ז6!סתססב|₪] :חוטועצ =[‏ - 88סםו-0] 6 חן | [2 ו המיה פ | 7 = - | סו וסט ד שה הש = | ד 6 - > פופ חס )הסטום -ן | גת זז פה 1 4 בחסן | חס עסו כ ו | פא מ שאפך ו קן בוטהו קן תרשים 6.15: תוכל להקצות ציורים, מזהים, ואפילו תפריטים ללחצני סרגל הכלים באזור הלחצנים יצירת לחצן רגיל לסרגל הכלים כדי להוסיף לחצן לסרגל, לח על לחצן ה80%%0 +10561. במידה וכבר קיימיס לחצניס אחריס בסרגל, ייווצר לחצן חדש אחרי הלחצן הנוכחי. עבור כל לחצן שתוסיף יש להגדיר מספר מאפיינים : ע6א, 516 ו-806ח1. מאפיין צְ6א קובע שם אשר מזהה את הלחצן מצד התוכנה. תוכל לראות כיצד משתמשיס במאפיין ה בסעיף כתיבת קוד עבור לחצנים אליו תגיע עד מהרה. מאפיין ץ6א חייב להיות ייחודי לכל אחד מהלחצנים. כמו כן, יש להקצות שס אשר הינו בעל משמעות עבורך. בצורה זו, תוכל להיוכר במשמעות הלחצן בצורה נוחה יותר כאשר תכתוב את הקוד. מאפיין 10896 מגדיר את האינדקס עבור התמונה שתופיע על גבי הלחצן. האינדקס מתייחס לאינדקס של התמונה בפקד 10886115%. תוכל להגדיר ערך אפס למאפיין אס אינך מעוניין שתופיע תמונה על גבי הלחצן. תיבה וו תהיה אפורה עד אשר יוגדר זז עבור סרגל הכליסם. מאפיין 6!ץ+5 קובע את סוג הלחצן שברצונך ליצור. טבלה 6.4 מסכמת את הערכיס האפשרייס למאפיין 5|6. כל אחד מסגנונות אלה מוצג בתרשיס 6.16. 2 סדנת לימוד 6.0 8\ טבלה 6.4: ערכי מאפיין 56 הקובעים את צורת ההתנהגות של לחצני סרגל הכלים. ]ו 63 זט - 0 | הלחצן הינו לחצן רגיל. לחצן ז0[60זק 58/6 ב- 88516 |1508/\ א - 1 | הלחצן מציין שאפשרות מסוימת נמצאת לחצן 80!0 ב-0זסו\ במצב פעיל או לא פעיל לפי מצבו. קטסזסחסאטםזט - 2 | הלחצן הוא חלק מקבוצה. רק אחד מתוך | לחצני יישור ב-סזסו\ הקבוצה יכול להיות לחוץ בזמן נתון. זסז מז - 3 | הלחצן משמש כרווח בין לחצנים אחרים. רוחבו שמונה נקודות מסך (פופַאו). זז - 4 | משמש לשמירת מקום בסרגל הכלים תיבת הגופנים לפקדים אחרים כגון תיבה משולבת. ב-0ז0/\ חאוססקסזס זט - 5 | בשימוש עם טחסו!חסאטם כדי ליצור תיבת | לחצן חס 400 רשימה נפתחת בסרגל הכלים ב- 88586 1808 |< |ם)=. 8 [ 5 5 [ וס תרשים 6.16: בתרשים זה מוצגות .9 | | 5 \ = ו דוגמאות שונות לסגנונות לחצנים בסרגל הכלים. שים לב לכך שלחצני ההפרדה והמרווחים אינם לחצנים ממשיים. בנוסף לשלושת המאפייניס העיקרייס אשר דנו בהסם, תוכל לקבוע מספר מאפיינים נוספיס לכל לחצן בסרגל הכליס (ראה טבלה 6.5). טבלה 6.5: מאפיינים המקנים שליטה נוספת בלחצנים (אין חובה לקבוע את ערכם). הטקסט הנמצא במאפיין זה יוצג מתחת לתמונת הלחצן. טקסט המתאר את הלחצן בהפעלת תיבת הדו-שיח 60500026. 6% דקודוססד | טקסט זה יופיע כאשר מצביע העכבר נמצא על הלחצן. טקסט זה יופיע רק בתנאי שערך מאפיין 5קודוססד של סרגל הכלים הינו פטזד. 6 | המאפיין קובע/מחזיר מצב עדכני של הלחצן. ערך 0 מציין שהלחצן אינו לחוץ. ערך 1 מציין שהלחצן לחוץ. בדרך כלל משתמשים בלחצן כדי לקבוע מצב לחצן מסוג 66%50/66ח6 או לחצן בתוך קבוצה. בתוס הגדרת הלחצנים על גבי סרגל הכלים, תוכל לצאת מתיבת הדו-שיח עצוסטסיוק 5 על ידי לחיצה על לחצן 6ס. פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים | 173 טיפ: במידה והציורים הנמצאים על גבי הלחצנים אינם נותנים תיאור מספק לגבי מהות הלחצן, מומלץ להשתמש בתיאורי כלים (5כט!ססד). תיאור כלי היא תיבת טקסט קטנה המכילה תיאור קצר של הלחצן. התיבה מופיעה על המסך כאשר המשתמש משהה לרגע את מצביע העכבר מעל ללחצן. בהתאם למאפייני התוכנית שלך, תוכל להשתמש בטכניקת קודוססד במקום בתיאור על גבי הלחצן עצמו, כדי לחסוך מקום במסך. ללא טקסט כלשהו המשתמש לא יוכל לדעת אילו שימושים ניתן לעשות בלחצן וייאלץ ללחוץ עליו כדי לברר מה תפקידו. ניתן להוסיף תיאורי כלים אשר ייתנו לתוכנית מראה מקצועי. הוספת לחצן מסוג תיבת רשימה נפתחת לסרגל הכלים פריט חדש ב- 6 8856 |808ו\ הוא לחצן בסגנון חאוססקסזסזטט. לחצן וה משלב לחצן רגיל עס תפריט רשימה נפתחת אשר יוצר אפקט הדומה לתיבה משולבת. הדוגמה הבאה מראה כיצד ליצור לחצן כזה ולתכנת את האירועיס הקשורים בו. יצירת סרגל כלים לדוגמה כדי להדגיס את השימוש בסרגלי כלים, חלק זה ידריך אותך ביצירת תוכנית דוגמה המכילה לחצן רגיל ולחצן מסוג חשוספ קסזפ יחד עס לחצן רווח המספק מרווח ביניהם. בצע את הפעולות הבאות : 1 צור פרויקט רגיל מסוג 5אם. הוסף פקד ז83|ססד ופקד 1₪346115% לטופס כמתואר בסעיפיס הקודמיס. 2 קבע את מאפיין סוחבּא של סרגל הכליס כ-סוחפפזטפ. השאר את מאפיין סוחבּא של פקד 15% 113961 כשס ברירת המחדל, 661115%1ַבּ1. 3 בדפי המאפיינים של 306115%1ו1₪ בכרטיסיה 188065, הוסף שני סמלים מתאימיס לפקד 1803461155 (לחץ על לחהצן 6זע:6וק 15675 ועיין בקבצי התמונות). סמלים אלה יהיו, בסופו של דבר, התמונות אשר יוצגו על גבי שני הלחצניס בסרגל הכלים. 4 לחץ לחיצה ימנית על פקד סרגל הכלים ובחר באפשרות 865ז6קסזפ. בדפי המאפיינים של סרגל הכלים, קבע את מאפיין 11461155 של סרגל הכלים כ-306115%1ח1 (שס פקד 15% 108061 שלך). 5 בכרטיסיית הלחצנים, לח על לחצן +ז1₪56. מאפיין 56/6 אמור להיות במצב ברירת המחדל שלו, |הוחזזסא'ופף - 0. קבע את ערך מאפיין צ6א כ-6!ו=עשסא. 6. קבע את ערך 11396 של הלחצן כך שיהיה האינדקס של הסמל המתאיס בפקד הֶז (אשר אמור להיות 1 במידה וביצעת נכון את הצעדיס הקודמים). 7 לת שוב על +18561 כדי להוסיף לחתצן. קבע את 55/16 כ- 562073%07זטז - 3. לחצן ההפרדה ייראה כרווח ריק בין הלחצניס הראשון והשלישי. 4 סדנת לימוד 6.0 8\ 8 לח שוב על לחצן +561ח1 כדי להוסיף לחצן שלישי. קבע את מאפיין 5/6 שלו כ- השססקסזסזט? - 5. קבע את ערך צְ6א שלו כ-+וסק6ז ואת ערך 1396 כאינדקס של הסמל השני בפקד 188461158 (2). קבע את מאפיין חסוזק63 כ-5610₪%א. 9 כדי להוסיף פריטיס נוספים לתפריט המקושר ללחצן זה, לחצ על לחצן +ו1056 חח 800 (הלחצן הנמצא במסגרת בחלק התחתון של החלון). הקלד 585% במאפיין +%א6ד של הפריט. 0. חזור על סעיף 9 כדי להוסיף את חלקי: 65%/\, חז500 ו-%31ח60. 1. לת על לחצן 0 כדי לסגור את דפי המאפיינים. לחצן חאוססקסזס אמור להופיע על גבי סרגל הכליס. כתיבת קוד ללחצנים ראית כיצד להגדיר את סרגל הכלים, אולס עד שתוסיף קוד לשגרות אירועי סרגל הכלים, התוכנית לא תבצע שוס פעולה. ללחצניס בסרגל הכלים אין אירועיס משלהס. במקוס זאת, יש לכתוב קוד פרטי עבור אירועי 800061166 ו-א₪0116ח6 הסט של סרגל הכליס עצמו. אירועיס אלה מעביריס את אינדקס ח0%50ט8 או טחסו\חסםיטם כמשתנה לשגרת האירוע. בקוד שלך תשתמש בערך מאפיין 6 של אובייקט הלחצן כדי לקבוע איזה לחצן נלתא. על ידי השלמת הפעולות בסעיפים הקודמים, יצרת סרגל כלים עס לחצנים יפים שאפשר ללחוצ עליהם, אבל הס אינס עושיס מאומה. יש צורך להוסיף קוד כדי להפוך אותס לשימושיים. כתיבת שגרת אירוע עבור לחצן בסרגל הכליס נעשית בצורה קצת שונה מאשר כתיבת שיגרה ללחצן רגיל. במקוס להשתמש בשגרת אירוע נפרדת עבור כל לחצן ותפריט, הקוד שלך חייב לבדוק את ערכי מאפייני האובייקטיס כדי לקבוע איזה לחצן או תפריט נבחרו. הקלד את הקוד המוצג בתוכנית 6.1 לתוך חלון הקוד של הטופס. תוכנית דוגמה 6.1: ק8/. סואםסאטד - שימוש בקוד לצורך הפעלת סרגל כלים +וסו|קאם חסטקס 508 35 הסוס60חה6זוט56 חחוס (חסאטפ.טו 6060 5 הסטם |3/ץ)אסווחהסאם סוהסכזס סטפ סספעווק (ץ6א. הסט )6856() 6856 50|606 "= |זח/\ם\]" 6856 6 0065 6 שוח 8 676806 %0 6006 ".. .6 צ\6ח 3 0768000" אס 50 "סקא" 6856 חסו60ז 66% 6+ השואו סקס 8 070806 סה |ו68 סח 50 0ח= פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים | 175 (ח6ו חס טם. סו 00601 5 טחשו הסט |3שץ2 )א6ווט חס הסט סותסכזס+ 5 ססהטוזק חסו6 56!66060 ץ|צוסח 606 חחו5 +וסכןסז 3 076866 (0א6 ד חס הס )0856(\ = הסוס6 566 566 = הססכה6.)חסזהּק. הסוא הסטוום +60 66הו ||68 50 0ח= ()+60 36 5 59 5 6 57 וחוכ החד "" = (הסו60ח6ו50)וחוזד זז "5" = הסו60 566% + 0חם הסוח 56 8 " סז סקז 076800" = קוח6 5 "... הסוס " 8 קרח6 51 = קוח6 ]5 6 51 50% 150 ...6 00 פסחו! 6768000 - +הסק6 |6008' 50 0ח= לאחר שהקלדת את הקוד, הפעל את התוכנית ובדוק את התנהגות לחצני סרגל הכלים. השגרות הנקראות הן למעשה שגרת 0166 עבור פריטי התפריט. בעזרת השגרות אשר נקראו, תוכל לכתוב קוד אשר יבצע פעולה פעס אחת ואחר לקרוא לו מהתפריט או מסרגל הכלים. דרך זו מקלה על ניהול הקוד מפני שיש צורך לבצע שינוייס או תיקוניס בחלק אחד בלבד. בנוסף, שיס לב לפקודת 6856 56!605 אשר מופיעה כאן לראשונה ומהווה תחליף נוח למערכת פקודות . תוכל ללמוד על כך יותר בפרקיס הבאיס. ראה: שימוש בפקודה 6358 56166% בפרק 10, שליטה במהלך התוכנית. יצירת סרגל כלים המכיל קוד למרות העובדה שהינך יכול ליצור סרגל כליס בסביבת העיצוב בלבד, תוכל בנוסף לכך ליצור ולשנות סרגל כליס בזמן פעולת התוכנית בעזרת קוד. כדי להשתמש בסרגל הכלים ובפקדיס נפוציס אחריס בצורה טובה, יש צורך להבין את המונח אוסף (ח601!6600). 6 סדנת לימוד 6.0 8\ הבנת המושג אוסף אוסף הוא קבוצת אובייקטים. במקרה של פקד 108961155 תמצא אוסף הנקרא 5 האובייקטיס האגוריס באוסף מיוחד וגה הס הציוריס בפקד 5% 61טח1. על ידי טיפול באוסף 115018065 בתוכנה תוכל להוסיף, להסיר ולשנות ציוריס. חשוב על אוסף כדבר הדומה, אולס לא זהה בדיוק, למערך. תוכל לגשת אליו בדרך שניגשיס למערך, כמו בדוגמת הקוד הבאה אשר הופכת תמונת טופס לציור הראשון האגור בפקד 15% |386ּח1. זו סוק ( 1 )150178065 1. 1561 1806 = שזנססוק. 1 סז 56% שיס לב לכך שהקוד מתייחס לאובייקט מסויס בעזרת האינדקס שלו - במקרה זה, 1. זכור כי אוסף מכיל אובייקטים, בניגוד למערך נתוניס המכיל ערכים. לאובייקטיס אלה יש סט מאפיינים משלהם. לאובייקט באוסף של לחצנים יש מאפיין מיוחד: מאפיין צְ6א. מאפיין ץ6א של אובייקט מסוג לחצן הוא מחרוזת טקסט אשר ניתן להשתמש בה באותה הצורה שבה משתמשים באינדקס : 6ז וק "866 6!ור5 )5073065 151.1 108061 = 6זנססוק. 1 וחזס1 56% בעקרון, מאפיין /6א באובייקט מסוג לחצן נקבע כאשר האובייקט מתווסף לאוסף הלתחצניס באמצעות שיטת ההוספה בפרמטר ע6א של האוסף. יצירת סרגל הכלים כדי ליצור פקד מסוג ז9פ!|ססד בקוד, יש צורך להגדיר פקד 15% 18061 לפני כן (בסביבת העיצוב או בעזרת קוד) ולמלא אותו בציוריס. לאחר מכן תוכל להקצות את פקד לסרגל הכליס בעזרת פקודה שכצו: 1 1 = 5% 061הח1. חוה!זס+ 561 אחר כך, תוכל לעצב את אוסף הלחצניס של סרגל הכלים כדי ליצור לחצניס המיועדיס לסרגל. בדוגמה הבאה, מתווספים לחצן רווח ולחצן רגיל לפקד סרגל הכלים, חוג\זפז: 0 ,07ז560078ז0+ ,"5601" ,1 00ג.פחסחטם. חוהּוזזוס+ 1 0ו680ז0+ ,"6!ו= הססס" ,"הסקס" 2 00 פהסחטם. חופּואזס+ בדוגמה זו, נוספו שני אובייקטים מסוג לחצניס באוסף הלחצנים על ידי שימוש בפקודת 406. שני הפרמטריס הראשוניס מהוויס את האינדקס והמפתת (שְ6א) של הלחצן. שני אלה חייבים להיות ייחודיים. הפרמטר השלישי הוא כותרת הלחצן (ח680₪0). הרביעי (8%00ז6ק56זטץ ו-%וטפ)6סזש) הוא קבוע המייצג את סוג הלחצן. לבסוף, מספר אינדקס מתוך רשימת הציוריס קובע את הציור המשויך ללחצן. פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים | 177 פקודת ₪00 יכולה לתפקד גם כפונקציה. בצורה זו, היא תיצור אובייקט לחצן חדש ותחזיר את המצביע שלו. תוכל לכתוב את הקוד הקודס גס בצורה כזו: הסט 45 חזם וס (0 ,8%07ז5606זס? ,,"5601" ,) 00ה.פ5חסאטם. חופּוזטז = חזס 56% 0וטפ6כזפ? ,,"הסקס" ,) 5.00חסאטם. חוהּויזט+ = חס 56% "6 3 הסקס 0 >6ו|6" = %א6 דכו דוסס ד.חז₪ "ש|ן] השס" = חה63000.ח₪0 1 = 306ח1. חז₪ שיס לב לכך שמאפיין 6%זקוזוססד חייב להתווסף לאובייקט הלחצן מפני שהוא לא נמצא בפרמטרים של פקודת 200. בנוסף, בדוגמה הקודמת, לא הוגדרו מאפייני אינדקס על ידינו ולכן הס הוגדרו בצורה אוטומטית. בעקרון, שיטה זו היא הדרך המועדפת לתכנות מפני שככל שאובייקטים מתווספים ומוסרים מאוסף מסוים, אינדקס האובייקטים האחרים עלול להשתנות. פרמטר עְסא, לעומת זאת, ישויך תמיד לאותו האובייקט. תוכל להשתמש במאפיין שא של הלחצן בתוכנית שלך כדי לקבוע איזה לחצן נלתצ. לדוגמה, הנה קוד המיועד לשגרת 8000166 של סרגל הכלים : (חסאטם. סו |ו61ר 60 5 הסט |8\ץם )אסוושחסאטם 1זהּפוסס ד סט5 6זבּעוזק ץ6א. הסט 6856 -56|60 "חססס" 6856 6זסח 6006 16 הסכס +וספחזי "58/6" 6856 6ז 6006 6| 58/6 +וספחזי "ואס" 6856 החהזססזק 66 0ח6 %0 6006 +וספחזי + וח 50 0ח= הדוגמה, אשר הובאה כאן, עובדת בצורה טובה עבור לחצניס מסוג %|6)80סזפ+. אולס, אס קיימים לחצנים מסוג 69700666 יש לשנות את הקוד כך שיבדוק גם את ערך מאפיין 6ט|8\ כדי לדעת מה מצב הלחצן: "00|0)866" 6856 ח6ח+ 65560זסח(\זס+ = 6טוגּ/\. חסטטם ]1 8 וספ חזטד - "ם[(" 15 חסאטפ' 56 חס 6ו0פ חזטוד - "השוסם" 15 חסאטפ' + 0ח= 8 סדנת לימוד 6.0 8\ במידה ותקבע את ערך מאפיין 60596או₪ של לחצן כ-6טזד, הלחצן יהיה אפור תמידית, ללא קשר לערך מאפיין ס6טופ/. מתן אפשרות למשתמש לעצב את סרגל הכלים אחד הדברים היפים בפקד מסוג ז0!88סד היא היכולת לאפשר למשתמש לעצב את הסרגל על פי בחירתו. כאשר מאפיין 6<ווחסזפו6אוסו|8 נקבע כ-6טזד, יש למשתמש גישה לתיבת הדו-שיח 6₪5%0₪0126 על ידי לחיצה כפולה על הסרגל. תיבה זו, הנראית בתרשים 6.17, מאפשרת למשתמש להוסיף לחצניס לסרגל, להסיר לחצניסם או להזיו אותם למקוס אחר. ו :וגוט סבה תרשים 6.17: מאפיין 26ווחסזספנו6אוסו| מאפשר למשתמש לעצב את סרגל הכלים לפי טעמו, ללא צורך בהוספת קוד נוסף שימוש בפקד מסוג 600/83 פקד 'ז600183, שהוצג קודס לכן בתרשיס 6.11, הינו פקד מיוחד המכיל פקדים אחריס אך נראה כמו סרגל כלים. פקד וה אינו מכיל אובייקטיסם שהס לחצנים מובנים כמו סרגל הכליםס הרגיל, אולס משוס שהוא משמש כמכולה לאובייקטים, ניתן לשמור בו גם אובייקטיס מסוג לחצניס ואף אובייקטיס מסוג סרגלי כליס. פקד ז600!88 מכיל אוסף של קבוצות אובייקטים אשר כל אחד מהסם הוא מכולה קטנה יותר שהמשתמש יכול לשנות בזמן פעולת התוכנית. כדי להדגים כיצד פקד 600/88 מסוגל להכיל פקדים אחרים, הבה נרחיב את הדוגמה מסעיף קודם. בצע את הפעולות הבאות: 1 אם לא עשית זאת לפני כן, הוסף פקד מסוג ז600!83 לארגז הכלים על ידי בחירת 0/0 3 - 600%"05 הסוחוח60 5שס6חו/\ 1100504 מתיבת הדו-שית 5 וה 0 6. 2 שנה את ערך מאפיין ח9וו4 בסרגל הכליס שיצרת לפני כן ל- 6חסאחשו!\פט - 0. גרור אותו לשטח פתוח בטופס וכוון את רוחבו כך שיהיה רחב מספיק כדי להציג את הלחצניס שהוספת לפני כן. 3 לח לחיצה כפולה על סמל 600183 בארגז הכלים כדי להוסיף פקד זַ600!83 לטופס. 4. לח על פקד 600183 כדי לבחור אותו. לחצ על סמל ח80550 הח וח 60 וצייר לחצן פקודה מעל לפקד 600!831. פרק 6: שליטה נוספת למשתמש: תפריטים וסרגלי כלים | 179 .10 .1 צור שגרת 016% פשוטה עבור הלחצן, והוסף שורת קוד כגון: "1 60 6>60ו!6 טסצ" אס 0פ!ו לחצ לחיצה ימנית על סרגל הכליס ובחר באפשרות טס כדי להסיר אותו מהטופס ולהציב אותו בלוח של פושסטחוצ\. לח לחיצה ימנית על פקד 600/83 ובחר באפשרות 6ִ35פ. סרגל הכלים הנמצא בלוח יועבר לתוך מכולת ז600!83. לחצ לחיצה ימנית על שטח ריק בפקד 600183 (אל תלתצ על פקד זבּפ!ססד או על הלחצן). בחר במאפיינים כדי להציג את תיבת הדו-שיח 23965 עזוסקסיוש של הפקד. הכרטיסיה 83065 של 3965 עזזוסקסזופ מכילה מאפייניס עבור כל אחד מחלקי הפקד. חלק 1 אמור להיבחר בתיבת האינדקס בחלק העליון. פתח את רשימת 4 ובחר סוחספזפץ. פעולה זו מורה לפקד ז600!83 להציג את סוחספזט+ במיני-מכולה 1 0ח88. שנה את האינדקס ל-2 כדי לבחור את החלק השני. קבע את מאפיין 6!וח6 שלו כ-01ח3ח וח 60 (הלחצן שהוספת לפני כן). לח על לחצן 0 כדי לסגור את 23465 ץזזסקסזפ. בומן שפקד זַ600!83 עדיין נבחר, עבור לחלון המאפייניס ושנה את מאפיין חףו| שלו ל- קסדחשו|ופט - 1. כאשר סיימת את הצעדים הללו, הפעל את התוכנית וצפה בהתנהגות האובייקטיס הנמצאים בפקד :600|838. תוכל לחקור אותס על ידי הצבת סוגים שונים של אובייקטיס בפקד זה בתוכניות שלך. מכאן... פרק וה הציג בפניך את היתרונות של יצירת תפריטים וסרגלי כלים בתוכניתיך. תקוותנו היא כי ראית כמה פשוט ליצור את הפריטים הללו. בנוסף, נחשפת למספר נושאיס אחרים בפרק זה. כדי לקבל מידע נוסף עליהם, פנה לפרקיס הבאיס: %, *% . למד כיצד להשתמש במסמכים לשם בניית יישומים בפרק 3 אבני היסוד של 6 | 5ו/. למד דרך נוספת ליצירת קשר בין התוכנית למשתמש בפרק 7 שימוש בתיבות דו- שיח לקבלת מידע. למד עוד על שימוש במשתנים לשס אחסון מידע שוטף בתוכניותיך, בפרק 8 שימוש במשתנים לאחסון מידע. 0 סדנת לימוד 6.0 8\ 7 שימוש בתיבות דו-שיח לקבלת מידע פרק 7: שימוש בתיבות דו-שיח לקבלת מידע | 181 תיבת דו- שיח (א80 8ַסו8וכ), היא חלון המשמש להצגת/השגת מידע. השם ייתיבת דו-שיחיי מרמז על כך שמדובר למעשה באמצעי שיחה, או יידיאלוגיי, עס המשתמש. בדרך כלל מוצגת תיבת הדו-שיח בתוכנית באופן מודאלי (שוו003) שבו על המשתמש לסגור אותה (או '*להשתתף בדו-שיתיי) בטרס יוכל להמשיך הלאה, לחלקיס אחרים בתוכנית. בפרק וה תערוך היכרות עס שתייס מתיבות הדו-שיח המובנות ב- 6 |8ש5\: תיבת ההודעה (א80 655806!/) ו- תיבת הקלט (אסם %טסח1). אחר כך תלמד להשתמש בפקד המותאם אישית - 08|וסהסוה60, המאפשר לך לשלב בתוכניתך ארבעה סוגיס נוספיס של תיבות דו-שיח תקניות (ייסטנדרטיות'י). ובסוף, תערוך היכרות ראשונית עס מספר קוויס מנחים, אשר יסייעו לך ביצירת תיבות דו-שיח מבוססות-טופס משלך. יידוע המשתמש לגבי מצב התוכנית ופעולותיה חלק חשוב בכל פרויקט תכנות הוא מסירת מידע למשתמש באשר למידת התקדמותה ומצבה של התוכנית. טפסים ופקדים הס אומנס החלק העיקרי בממשק שלך, אך אינס בהכרח האמצעי הטוב ביותר להצגת מידע המחייב את תשומת ליבו המיידית של המשתמש, כגון - הודעות אזהרה וטעות. תיבת הודעה (א80 6558096!/) היא האמצעי הטוב ביותר להצגת מידע מסוג זה. הכרת תיבת ההודעה - 80% 1655306/] תיבת ההודעה היא טופס פשוט המכיל הודעה ולפחות לחצן פקודה אחד. הלחצן מיועד לאישור ההודעה וסגירתה. הואיל ותיבות הודעה הן חלק אינטגרלי משפת |8טפו\ 6, אינך צריך לדאוג לאופן יצירתן או עיצובן. כדי לראות תיבת הודעה פשוטה, הקלד את שורת הפקודות הבאה בחלון 1600886 של 8856 |508ו\ (לצורך פתיחת החלון בחר שסו/, עשסבחו/\ 6018%6חחחחן) : "!8510 |הטפו/ סעס! 1" אס 150 באמצעות שימוש בפרמטרים אופציונליים, ניתן להוסיף לתיבת ההודעה סמלים ולחצנים שוניס המאפשריס דו-שיח עס המשתמש. שורת הקוד הבאה יוצרת את תיבת הדו-שיח המופיעה בתרשים 7.1: "60| וחזוחס6" , הסוטהרחהוסאש טע + 650 ץפץ ,"? 6000 61606" אס ספ הערה: אתה יכול לנסות את הדוגמה בעצמך. הקלד את שורת הקוד בחלון 866ו60חחח] והקש זסזחם. פעולה זו תגרום להפעלת הפקודות בדומה להפעלתן בזמן ריצה. 12 סדנת לימוד 6.0 8\ תרשים 7.1: תיבת ההודעה מתקשרת עם המשתמש אתה יכול לנצל את תיבת ההודעה לשתי מטרות שונות, בהתאם לצרכיך: התיבה יכולה להוות כלי פשוט להצגת מידע, או לחילופין, פונקציה המאפשרת למשתמש להחליט לגבי סוגיה כלשהי בתוכנית. בכל מקרה, יהא עליך להשתמש, באופן כלשהו, בפונקציה א15980!. הערה: פרק זה אינו מבצע אבחנה טרמינולוגית בין פונקציות (5חס6חט-) להצהרות (05ח66ז5%0), עם זאת, קיים הבדל בין השימוש ב-א15480%! כפונקציה או כהצהרה. על פי ההגדרה, פונקציה משיבה אל התוכנית ערך כלשהו, בעוד שהצהרה לא. גם התחביר המשמש בכתיבת הפרמטרים של פונקציות והצהרות שונה במקצת. פרמטרים של פונקציה יבואו תמיד בתוך סוגריים. לדוגמה - אם אתה מעוניין לצפות בערכים שנקלטו בפונקציית א5080י! הקלד את שורת הקוד הבאה: ("6ז6! הזו ח00" ,הסטהוחהּ !סאפ + ס65 טע ,"? 6600 666!ס") א0ם 150 זחויוק תיבת ההודעה הינה שימושית ביותר, אך יש לה גס מספר מגבלות : > לא ניתן להכניס לתוכה קלט בצורת טקסט. התיבה מוגבלת להצגת מידע וטיפול במספר מסויס של אפשרויות, המתורגמות ללחצני פקודה. + ניתן לשב בתיבה אחד מתוך ארבעה סמליס מוגדריס מראש, ואחת מתוך שש מערכות מוגדרות מראש של לחצני פקודה. אין אפשרות לשלב בתיבה סמליס או לחצני פקודה משלך. * תיבת ההודעה עוצרת את המהלך השוטף של התוכנית וממתינה להתייחסות המשתמש. לפיכך, אין היא יכולה לשמש כלי למעקב שוטף אחר התקדמות התוכנית, שכן כל עוד היא מופיעה על המסך, לא ניתן לבצע את חלקי התוכנית האחרים. פרק 7: שימוש בתיבות דו-שיח לקבלת מידע | 183 הצגת הודעה הדרך הקלה ביותר ליצור תיבת הודעה עבור התוכנית שלך, היא על ידי שימוש בפונקציית א15980] כהצהרה, ולא כפונקציה (כלומר מבלי להחזיר ערכיסם לתוכנית). באופן ה אתה פשוט קובע את נוסח ההודעה אשר אתה מעוניין להציג למשתמש, וקורא לפונקציה א15480 כדי לבצע את מבוקשך. תיבת ההודעה מכילה, במקרה זה, הודעה כלשהי ולחצן 0% בודד, המאפשר למשתמש לאשר את תוכן ההודעה: "!60 15 0חו6655סזכ 66070" אס 50 בעת קביעת נוסח ההודעה, אתה יכול להשתמש בקבוע מחרוזת (0ח508ח60 פַחו5) או במשתנה מחרוזת (80!6וז8/\ פַחו50). קבוע מחרוזת הוא קטע טקסט מוגדר הנתון בין שני סימני גרשיים, כפי שמציגה דוגמת הקוד האחרונה. משתנה מחרוזת מוצג בדוגמה להלן: 590 5 6 דץ5 "סוזס/\\" .8 + הסט 8 ",סוו6ר]" = אאם דעויו5 ד אס 15 שיסם לב לשימוש בקבוע המוגדר מראש - +ה0פץ, המייצג את הצירוף הזז 1600/68771896 6חו!, במטרה לגרוס למלליס 'יסו|6יי ו-ייח!זסצציי להופיע בשורות נפרדות. שילוב זה הוא שווה ערך לשילוב: (13)זח6 8 (10)זחס. תיבת ההודעה, המתקבלת במצב ברירת מחדל, מכילה לחצן 06 בודד ומשתמשת בשס הפרויקט שלך ככותרת (כדי להגדיר שס פרויקט משלך בחר באפשרויות 666[סזפ, 5 תוכל יילאבזריי מעט את התיבה באמצעות שני פרמטריסם אופציונליים : ארגומנט פחסשטפ וארגומנט 06. ארגומנט פחסשטט הוא מספר שלם, באמצעותו ניתן לבטא את הסמל שנבחר עבור תיבת ההודעה, את מערכת לחצני הפקודה ואת הלחצן המשמש כברירת מחדל. ארגומנט ₪06 הוא מחרוזת טקסט המכילה את שורת הכותרת של תיבת ההודעה. להלן פורמט ההגדרה המלא של תיבת ההודעה: ([60)ח00 ,6/00/6 ,] [₪6 ,] [|5חסש0 ,] קוחסזק) אס80 5 אס אתה מעוניין, תוכל לשלב בתיבת ההודעה אחד מבין ארבעה סמלים אפשרייםס. בטבלה 7.1 תמצא סיכוס קצר של ארבעת הסמליס אשר ניתן לשלב בתיבה, לצד מטרת השימוש בהם. 4 סדנת לימוד 6.0 8\ טבלה 7.1: סמלים המעידים על סוג ההודעה המוצגת בתיבת ההודעה שם הסמל שימוש מקובל הודעה חשובה ביותר | מעיד על התרחשותה של שגיאה חמורה. בדרך כלל התוכנית תיסגר לאחר הופעת הודעה מסוג זה. אזהרה מעיד על התרחשותה של שגיאת תוכנית העלולה להוביל לתוצאות בלתי רצויות אם לא תתוקן על ידי המשתמש. שאילתה מורה על כך שהתוכנית זקוקה למידע נוסף מן המשתמש בטרם תוכל להמשיך בעיבוד הנתונים. הודעת מצב יידוע המשתמש לגבי מצב התוכנית. לעיתים קרובות נעשה שימוש בהודעה מסוג זה לציון סוף תהליכים שונים בתוכנית. הגדר ערך עבור ארגומנט פחסטם בפונקציה א5080!, כדי ש- 8856 |8טפו/\ תדע כי אתה מעוניין לשלב סמל בתיבת ההודעה שלך. ניתן לבחור עבור ארגומנט פ5חסטטפ אחד מבין ארבעת הערכיס המובאיס בטבלה שלהלן ולבטאו בפונקציה כמספר או כקבוע. 4 ו אזהרה הודעת מצב | ₪ | הסוסהותזסזח1טע טיפ: 4 הסה ח6|3א= ט/ באופן עקרוני, רצוי יותר להשתמש בקבועים (ולא בערכים מספריים) להגדרת ערכי הארגומנטים. שימוש נכון בקבועים יקל על קריאת תוכניתך ויחסוך ממך כאבי ראש מיותרים במקרה ש- 67050%! תחליט לשלב בגרסאות עתידיות, ערכים מספריים חדשים. כמו כן שימוש בקבועים הופך את הקוד לקריא יותר עבור מפתחים אחרים אם וכאשר יצטרכו לתחזק את הקוד. הערה: הקבועים המופיעים בטבלה אחראים גם על הצליל המופק על ידי פשססחו/\ בעת הופעת ההודעה על המסך. תוכל להגדיר צלילים עבור סוגים שונים של הודעות באמצעות לוח הבקרה של פטוספחו/\. פרק 7: שימוש בתיבות דו-שיח לקבלת מידע | 185 להדגמת אופן השימוש בסמלים וכותרות בתיבת ההודעה שלך, הקלד את שורת הקוד הבאה, הגורמת ליצירת תיבת ההודעה המוצגת בתרשים 7.2: "סרח ח160" , חספ זוסזח1טע ,". חססו חג 5הו%9ח60 אסס 655806 פוח ד" אס 50 6 ור" .מססו ח3 5חוב)חס0 אפ 855306 פוח ד (1\ תרשים 7.2: השתמש בכותרות וסמלים כדי להבליט את מאפייני ההודעה ערכים המוחזרים על ידי פונקציית א80ש5ו/ כפי שכבר למדת, נוח להשתמש בפונקציה א115480 כדי להתריע בפני בעיות שונות או להודיע למשתמש שעליו לבצע מהלך מסוים. אולס, כאשר נדרשת התחלטה מצד המשתמש בעניין כלשהו, עליך להשתמש בערכים המותחזרים על ידי הפונקציה 158808 קיימיס שני הבדלים עיקריים בעת השימוש בפונקציה באופן זה: עליך להתייחס לערך המוחזר, לרוב על ידי הגדרתו כמשתנה, ולתחס את הארגומנטיס של הפונקציה בתוך סוגרייסם. הערך המותחזר מייצג את הלחצן אשר נבחר על ידי המשתמש. שורת הקוד הבאה מדגימה כיצד להגדיר את הערך המוחזר כמשתנה, כדי שניתן יהיה לעשות בו שימוש בהמשך: | ,|66ה03ץ סט ,"הווח סק65ז %סח 5 וססחוזק שח ד") אס 150 = 6|טפסחח ("!זסזח= זס)חוזק" בהמשך התוכנית תוכל לבדוק את הערך שנקלט במשתנה 650|6ח באמצעות משפט )1 למשל, ולהגיב בהתאס לתוצאה שתתקבל. הערה: 6 |8טפו\ מתריעה על כל שימוש ב-א5480! כפונקציה במידה ולא הוקצה משתנה לקליטת הערך החוזר (כלל זה תקף עבור כל פונקציה). 6 סדנת לימוד 6.0 8\ בחירת מערכת לחצני הפקודה בתיבת ההודעה ניתן לשלב אחת משש מערכות הלחצנים הבאות : 1 א0. הצגת לחצן בודד בשס 06. הלחצן משמש פשוט כדי להבטיח שהמשתמש יתייחס להודעה בטרס תמשיך התוכנית בפעולתה. + א0, ]68006. הצגת צמד לחצניס המאפשרים למשתמש לבחור בין אישור ההודעה לביטול המהלך. + %וסכה, ץ₪607, 076ח10. הצגת מערכת של שלושה לתחצניס המשמשת בדרך כלל בהודעת טעות. באפשרות המשתמש לבחור בין ביטול המהלך, התחלתו מחדש או המשך ביצועו תוך התעלמות מן הטעות שנתגלתה בו. 65+, 0א, ]68066. מערכת של שלושה לחצניס המשמשת בדרך כלל בהודעת שאלה. המשתמש יכול להשיב לשאלה בייכןיי או יילאיי, או לחילופין, לבטל את המהלך כולו. + 65ץ, סא. הצגת צמד לחצנים עבור שאלות ייכן-לא'י פשוטות. + ץז800, [68066. הצגת צמד לחצניס המאפשריס למשתמש להתחיל במהלך מחדש או לבטלו. מקובל להשתמש במערכת לחצנים זו כאשר המדפסת אינה מגיבה. במקרה זה, המשתמש יוכל להמשיך במהלך לאחר תיקון התקלה, או לחילופין, לבטל את ההדפסה. כדי לשלב בתיבת ההודעה את מערכת הלחצניס המתאימה, הגדר ערך עבור ארגומנט 5סאטט בפונקציה א15080\. בטבלה 7.2 תוכל למצוא את הערכיס המשויכים לכל אחת ממערכות הלחצניס האפשריות. טבלה 7.2: בחר עבור הארגומנט פחסשטט את אחד הערכים בטבלה כדי לשלב בתיבת ההודעה את מערכת הלחצנים המתאימה 6, |66ח68 00| |68066א0/ |0 ₪שקשאש | 4 | מאסשאטור 8%%---%- הש ראשש הואיל וארגומנט פחסשטפ אחראי הן לסמל והן ללתצני הפקודה של תיבת ההודעה, אתה בוודאי שואל את עצמך האם וכיצד ניתן להגדיר את שני הערכיס במקביל. הגדרתס של קבוע הסמל וקבוע לחצני הפקודה, במקביל, יוצרת ערך מיוחד. פונקציית פרק 7: שימוש בתיבות דו-שיח לקבלת מידע | 187 5808 יודעת לפרק את הערך המיוחד ולחלקו לערכים עצמאיים, המייצגים כל רכיב של תיבת ההודעה בנפרד. שורות הקוד הבאות מראות כיצד ניתן לשלב קבוע סמל וקבוע לחצני פקודה בהודעת אזהרה, המאפשרת למשתמש לבחור אחת מבין שלוש פעולות אפשריות. תוצאת הקוד מופיעה בתרשיס 7.3: 6 סט + הסטהוה=!סאםפע = |סקסח ("חסםסו|כקה ץע" ,וה קסח ," .656 זסח 065 6ון=") אס0 ₪50 = |ה\סמחח הערה: אם אתה מעוניין לשלב בתיבת ההודעה גם לחצן 0ו6, הוסף להגדרת הפונקציה את הקבוע חסשזטםק!6א0םטפופע, אשר מקבל ערך של 16384 עבור כל מערכת לחצנים אליה הוא מצורף. 4 .51 ]סח 4065 שו | 6זסחום! | עזופם 1 תרשים 7.3: ארגומנט פחסשטט אחראי הן לסמל והן ללחצני הפקודה המוצגים על ידי הפונקציה א15480! הגדרת לחצן ברירת מחדל כאשר תיבת ההודעה מכילה יותר מלחצן אחד, באפשרותך להגדיר אחד מן הלחצניס כברירת המחדל. לחצן ברירת המחדל (חסטטם +/6/90כ) הוא זה המצוי במיקוד בעת הצגת התיבה. בדרך כלל, ייבחר לצורך העניין הלחצן אשר קיימת סבירות גבוהה כי בו יבחר המשתמש, לפיכך, כל שעליו לעשות הוא להקיש על מקש זפטחם. לדוגמה, אס יצרת תיבת הודעה אשר באמצעותה מתבקש המשתמש לאשר מחיקת רשומה, מוטב יהיה אם תגדיר, כברירת מחדל, לחצן המונע את מחיקת הרשומה. באופן זה אתה מבטיח כי מחיקת הרשומה תיעשה מתוך בחירה מודעת של המשתמש. כדי להגדיר את לחצן ברירת המחדל, הוסף קבוע נוסף להגדרת הפונקציה א5980!. תוכל לבחור אחד מבין ארבעה ערכי ברירת מחדל אפשריים, המוצגיס בטבלה הבאה: 0 8 סדנת לימוד 6.0 8\ בסיכומו של דבר, ניתן לשלב בתיבת ההודעה שבעה סוגי לחצנים שונים, בכפוף, כמובן, לצירופי הלחצניס האפשריים. כל אחד מן הלחצניס מחזיר ערך מספרי שונה, באמצעותו מזהה התוכנית את הלחצן שנבחר ומגיבה בהתאם (ראה טבלה 7.3): טבלה 7.3: ערכים מוחזרים המהווים אינדיקציה לבחירת המשתמש. | אצ | | | שך | | >בע - | ו 4 ויוי - כאמור, במהלך כתיבת הקוד, רצוי לעשות שימוש בקבועיס ולא בערכיס המספרייס של הלחצניס. כאשר ייוודע לך באיזה לחצן בחר המשתמש, תוכל להשתמש במידע במסגרת התוכנית שלך. יצירת תיבת הודעה מודאלית (א80 1655306/ |בּסו/ז) עתה, נותר לנו לכסות עוד עניין אחד לשס מיצוי הפוטנציאל הטמון בארגומנט פחסשטס של הפונקציה 15080%ז. באמצעות ארגומנט פחסשטפ, הינך יכול להגדיר עבור תיבת ההודעה מודאליות יישום (|1003] חסטפסו|מקה) או מודאליות מערכת (|1003 ח6ז5ץ5). בעת הופעת חלון מודאלי על גבי המסך, לא ניתן להמשיך בתוכנית, אלא לאחר סגירתו. לפיכך, אס תגדיר עבור תיבת ההודעה מודאליות של מערכת, יהיה על המשתמש ללחוצ על התיבה בטרס יוכל לבצע איזושהי פעולה עס המחשב כולו. ברור על כן, שיש להשתמש במודאליות של מערכת בזהירות רבה. במצב ברירת מחדל מוגדרת עבור תיבת ההודעה מודאליות של תוכנית בלבד, כך שאין היא מגבילה את המשך עבודה עם תוכניות אחרות הפועלות אותה שעה על גבי המערכת. הוספת הקבוע |ּססואחסטפסו|ופקהטצ, שהינו בעל ערך 0, לארגומנט פחסאטפ תגרוס לפונקציה א15480 ליצור תיבת הודעה בעלת מודאליות של תוכנית (זהו כאמור גס מצב ברירת המחדל ומתקייס גס ללא הוספת קבוע כלשהו לארגומנט). הוספת הקבוע |1008]וה5%6ץ5פצ, שהינו בעל ערך 4096, תגרוס ליצירת תיבת הודעה בעלת מודאליות של מערכת. פרק 7: שימוש בתיבות דו-שיח לקבלת מידע | 189 הצגת פעולת הפונקציה א15080/ כדי להדגים את החומר הנלמד עד כה בפרק זה, נבנה תוכנית פשוטה המגדירה תיבת הודעה המבקשת מן המשתמש לאשר כי ברצונו לצאת מן התוכנית בה הוא נמצא. בצע את הצעדיס הבאים: 1. הפעל את 83516 וה150/ אס צריך, והתחל פרויקט חדש מסוג 505 513003706. 2 הוסף לחצן פקודה בודד ל -1וחזס=. היכנס לרשימת המאפייניס של הלחצן, הקלד 6% במאפיין 6וחהּא (שם) ו- %אא5 במאפיין חסו+63 (כותרת). 3 כתוב את משפטי הקוד הבאיס לשגרת האירוע ()א6ו!0. 605% : 59 5 56050 וחוס חן 35 פהסטופח וחוס לחז 15 + פסה וחוס "?וא 0ף +חהצ\ טסץ 56 טסץ שזה" = 550 חסו5סט)פע + ס\65ץסע = פחסאופח ("חזהוססזכ ץז" ,5הסאטפח ,5150) א00 150 = 6|טפסחח חש ד 65 טע = )ופטח זו 0חם + 0חם 4. הרצ את התוכנית ולח על לחצן אפ. כעת אתה נשאל האס אתה בטוח שברצונך לצאת מן התוכנית. לח על לחצן סא ושיס לב כי התוכנית אינה נסגרת. השגת מידע מהמשתמש פעמיס רבות במהלך התוכנית קורה שאתה נזקק לפיסות מידע בודדות מן המשתמש, למשל שם, שס קוב או מספר כלשהו למטרות שונות. תיבת ההודעה אומנס נותנת למשתמש לבחור בין אפשרויות שונות, אך אינה מאפשרת לו להקליד טקסט כלשהו בתגובה להודעה. לפיכך, עליך להשתמש באמצעיס אחרים כדי להשיג מידע מסוג זה. 6 |508\ מציעה תיבת דו-שיח המיועדת בדיוק למטרה זאת, זוהי תיבת קלט (אסם זטסח1). תיבת הקלט מורכבת מהודעה, הרומזת למשתמש מהם הנתוניס הדרושים, מתיבת טקסט, לתוכה יכול המשתמש להקליד את הנתוניס ומשני לחצני פקודה - 0% ו-/66ח68, באמצעותס ניתן לאשר או לבטל את המהלך כולו. תרשיס 7.4 מציג דוגמה של תיבת הקלט. 0 סדנת לימוד 6.0 8\ 4 :אוס|סם 6חחבח זגוסץ 6קע) 6356 | 38 ₪0----------- תרשים 7.4: תיבת הקלט מאפשרת למשתמש להכניס פיסת מידע בודדת בתגובה להודעה המוצגת בתיבה הגדרת הפונקציה אספשטקחו1 מבחינה טכנית, הגדרת תיבת הקלט דומה מאוד להגדרת תיבת הודעה עס ערך מוחזר. ניתן להצמיד את הערך המוחזר מתיבת הקלט למשתנה כלשהו כדי לעשות בו שימוש מאוחר יותר בתוכנית, לקבוע את לשון ההודעה שתוצג בתיבה, ולהגדיר כאופציה, את כותרת התיבה ואת לחצן ברירת המחדל. להלן דוגמת קוד המשמש להגדרת הפונקציה אסססטוסח : 0חו5 5 510507836 ,500 35 5150 חחוס ": 060 6וחפּח זטסץ 06 6856!ס" = 550 ("5סרחץ סח" ,"חח 50 זס6חם" ,5150) אסט)טכח1 = 6ח507\8 5 בדוגמה לעיל, המידע המוחזר על ידי פונקציית אספזטקח1 מאוחסן במשתנה 806 \5\0507. הארגומנט הראשון הוא ארגומנט ההודעה טחסוחטטזהּ +קחסזק), המטפל בהודעה שמטרתה להבהיר למשתמש מהו המידע שעליו לספק לתוכנית. בדומה לתיבת ההודעה, גם כאן יכולה ההודעה להכיל עד 1024 תוויס בטרס תיקטע. גלישת שורות מבוצעת באופן אוטומטי, כדי להתאיס את ההודעה לגודל התיבה. בנוסף, אתה יכול להכניס גם כאן את הצירוף חז6₪ז 600\637806? 6חו| ()וזספט), כדי לגרוס להודעה להתפרש על פני מספר שורות או כדי להפריד שורות לצורך הדגשה. הדוגמה ממשיכה בפרמטרים האופציונליים הכוללים את ארגומנט הכותרת (פשוד חסוחטְחָז), המטפל בטקסט המופיע בשורת הכותרת של התיבה וארגומנט ברירת המחדל טחסוטףז +/6/90כ) אשר במידה ונעשה בו שימוש, יגרוס להצגת ערך התחלתי מוגדר בתיבת הטקסט. המשתמש יכול לקבל את הערך, לשנותו או למחוק אותו ולהכניס במקומו ערך חדש לחלוטין. הגדרה מינימאלית של תיבת הקלט מכילה ארגומנט הודעה בלבד, כפי שמוצג להלן: ("? זע של 5'צוסר") אסס6טקח1 = |3/\חז 56 בנוסף לפרמטריםס שבאמצעותם ניתן להגדיר שורת כותרת וערך ברירת מחדל לתיבת הטקסט, קיימים פרמטריס אופציונלייס נוספיס המאפשריסם להגדיר את מיקומה הרצוי של התיבה על המסך, ואת קוב העזרה בו ייעשה שימוש במידת הצורך. הגדרה מלאה של פונקציית אספזטקח1 תוכל למצוא במערכת העצרה של 8856 |ט8פו/\. פרק 7: שימוש בתיבות דו-שיח לקבלת מידע | 191 הערה: תיבת הקלט עושה שימוש בשני לחצנים קבועים - 06 !|68ח68. בשונה מפונקציית א0םףפוז, לא ניתן להחליף לחצנים אלה במערכת לחצנים שונה. ערכים המוחזרים על ידי פונקציית א80+טקחז בעת הופעת תיבת הקלט על המסך, יכול המשתמש להקליד עד 255 תוויס במקוס המיועד לכך, הדומה במאפייניו לתיבת טקסט רגילה. במידה ומספר התוויס עולה על 5, הטקסט נגלל שמאלה, הפוך מכיווו הכתיבה. בתוס ההקלדה, יכול המשתמש לבחור בלחצן 06 או בלחצן |68066. בחירה בלחצן 06 (אישור הפעולה) גורמת לתיבת הקלט להחזיר לתוכנית את מה שנקלט בתיבת הטקסט, הן אס מדובר בערך ברירת המחדל שהוגדר על ידי פונקציית אספוטקח1, והן אס מדובר במידע חדש לגמרי, שהוכנס על ידי המשתמש. בחירה בלחצן |68066 גורמת לתיבת הקלט להחציר לתוכנית מחרוזת ריקה, מבלי להתחשב במידע שנמצא בתיבת הטקסט. כדי שניתן יהיה לעשות שימוש במידע שהוכנס לתיבת הקלט, יש לוודא כי הוא עומד בדרישות התוכנית. תחילה עליך לבדוק האם המשתמש אכן הכניס מידע ובחר בלחצן %. עשה זאת באמצעות הפונקציה ח6], אשר תפקידה לבדוק את אורך המחרוזת המוחזרת. אס אורך המחרוזת הוא אפס, הרי הדבר מעיד כי המשתמש בחר בלחצן ו66ח68, או השאיר את תיבת הטקסט ריקה. אס אורך המחרוזת גדול מאפס, הרי זה סימן שהמשתמש הקליד ערך כלשהו בתיבת הטקסט. כדי לבחון את אופן פעולת הפונקציה ח1!6, הקלד כל אחת משורות הקוד הבאות ב- שוססחו/\ 1601816 ושיס לב לתוצאות השונות שתתקבלנה: ("סוו6") חס | +חוזם (" ") חס | )חוום בנוסף לכך, עליך לוודא כי הערך המוחזר הוא מן הסוג הדרוש. אם אתה מצפה לערך מספרי, כדי להשוותו מאוחר יותר לערך מספרי אחר על ידי משפט 1, עליך להציג הודעת טעות במידה והמשתמש הכניס אותיות. השתמש בפונקציה |3\ כדי לוודא שהערך המוחזר הוא ערך מספרי. הפונקציה |3\ משמשת לבדיקת הערך המספרי של מחרוזת. אס המחרוזת מתחילה במספר, הפונקציה |3\ מחזירה את אותו מספר. בכל מקרה אחר, מחזירה הפונקציה את הערך 0. כדי להבין טוב יותר את הפוטנציאל הטמון בפונקציה |3\, הקלד את שורות הקוד הבאות ב- אוססחו\\ 6ז0!8סוחוח1, וראה מה התוצאות שתתקבלנה: ("סו|46") |8/\ +חוזוס ("ז6עס! זוטסץ 68/6! 60 פ5עְ8צו 50") |3/ 6חוזם ("101 86 1 סחה 100") |3/\ זחווס 12 סדנת לימוד 6.0 8\ הקוד שלהלן מדגים תהליכי עיבוד נוספיס של הערך המוחזר על ידי תיבת הקלט, תוך שימוש בפונקציות |8\ ו-ח6]: 58 5 |3/\נוקח50 וחוס ("306 זטסץ זסשח=") אסט)טסח1 = |6\/8טקח50 החד 0 = (|0\/3טכח501) ח6 ]| + "56|60000 85ע\ 6חָ3 ס)ז" אס 50 6 החד 0 = (|3\טקח50) וב\ זז ".306 0ו|8שח! 3 6060 טס" אס 50 6 "[חחס! פוחל סהועועזט5 זז חס 3 הז הס" אס 50 + 0חם זז סחם שימוש בתיבות דו-שיח נפוצות בסעיפיס הקודמיס למדת מהי תיבת דו-שיח, וערכת היכרות עס צמד תיבות דו-שיח שכיחות. בסעיפיס הבאיס תערוך היכרות עס פקד פס!בּוחסוחוח ס6 של 50%6סהסו1!, באמצעותו תוכל לשלב בתוכניתך תיבות דו-שיח נוספות, שתסייענה למשתמש בהגדרת שמות קבצים, בחירת גופניס וצבעיס ושליטה במדפסת. נוסף על עובדת היותן קלות להגדרה ולשימוש, טמון יתרונן האמיתי של תיבות הדו-שיח בכך שהן מוכרות למשתמש מ-פאוס4חו)\ עצמה. שימושים כלליים בפקד 4ס!3 חסוחוח ס6 פקד 8סווסחסוחוח0ס6 בודד מקנה לך נגישות לתיבות הדו-שיח הנפוצות הבאות: + ח6ק0. מאפשרת למשתמש להצביע על שס ומיקוס הקוב\ לשם פתיחתו. + 25 6ש58. מאפשרת למשתמש להגדיר שס קובצ ומיקוס לשמירת מידע. + %חסת. משמשת להגדרת הגופן הבסיסי ותכונות הגופן. + זס!60. משמשת להגדרת צבע במסגרת התוכנית. המשתמש יכול לבחור צבע מתוך טבלת הצבעיס הבסיסית, או ליצור צבע מותאס אישית. + %חזזש. משמשת לבתחירת מדפסת ולהגדרת חלק מתכונותיה. + ס]86. מעבירה את המשתמש אל מערכת העזרה של פאוססחו/\. על אף שפקד 00!אוסחסוחוחס6 מהווה חלק אינטגרלי מ- 8856 |1508/\, אין הוא מופיע בין הפקדיס שבארגז הכליס במצב ברירת מחדל. כדי שתוכל לעשות שימוש בפקד זה, יהיה עליך תחילה להוסיף אותו לפרויקט שלך (ולארגז הכלים) מתוך תיבת הדו-שיח 5 וח ס6. תוכל לגשת לתיבה זו באמצעות בחירה ב-%5ה6הסקוה60 660%[סות. פרק 7: שימוש בתיבות דו-שיח לקבלת מידע | 193 כעת, היכנס לכרטיסיית 015ז6006, בחר באפשרות פַס!בּו הסוהוחה0ס6 0501%ז6וו/ 0 ]60070 ולחץ על לחצן א0. לאחר הוספת פקד פָס!3ּושחסוחוחס6 לארגז הכלים, תוכל להוסיפו לטופס על ידי סימון וציור, בדומה לשאר הפקדים של 8856 |808ו/. פעולה זו תגרוס להופעת סמל הפקד על גבי הטופס, זאת מאחר והפקד עצמו אינו נראה לעין בעת הפעלת התוכנית. הסעיפיס הבאיס עוסקיס בתיבות הדו-שיח השונות אשר ניתן ליצור באמצעות הפקד ו הסוח וחס6. עבור כל אחת מן התיבות עליך להגדיר חלק מן המאפיינים של הפקד. תוכל לעשות ואת באמצעות חלון 5067865 (מאפייניס) או על ידי שימוש בתיבת הדו-שיח 23465 /זוסטסיופ. תיבת הדו-שיח 28465 שזפקסזק של הפקד מהווה כלי נוח להגדרת התכונות המיוחדות לכל תיבה ותיבה (ראה תרשים 7.5). ניתן לגשת לתיבת דו-שיח זו על ידי כניסה לחלון ₪65זפקסזק של הפקד, ולחיצה כפולה על המאפיין ץזז6קסזק וח5%0ש6, או על ידי לחיצה ימנית על הפקד עצמו ובחירה באפשרות 65 מתוך התפריט שיופיע על המסך. - | שו | = חווט | = חס | ומש | 85 585 ] חפקסי 070-₪] יב ה :6 זטסובום 33| בו )| :סחחב סו 0] ₪לססואאן 77 7700000777 ] - שאו ₪1 :אשבת !סו = --] תסו תרשים 7.5: תיבת הדו-שיח 5 ש/וזסקסזק מאפשרת לך להגדיר את מאפייני תיבות הדו-שיח שלך בקלות רבה | 8[ 0 | ₪ זז חמ -] בחינת ביצועי הפקד פס!בּוסחסווווחס6 בסעיף וה נבחן סגנונות שוניס של תיבות הדו-שיח הנפוצות. בצע את ההכנות הבאות: 1 הפעל את 83516 ו[1503/ אס צריך, והתחל פרויקט חדש מסוג 5א5 553003706. 2 היכנס לשורת התפריטים ובחר 0[66%יז0, %5ח6חסק וה סס. 3 לחצ על תיבת הסימון שליד הפקד 6.0 !סזחס6 פַסובּו חסוחוחה0ס6 +)ספסוסוו, וודא שהופיע הסימן הדרוש בתיבה. 4 לחצ א0 כדי לסגור את תיבת הדו-שלח 5זח6חסקוח ס6. 5 כעת בחר את פקד שַס!13 חסוחוח 60 מארגז הכליס והוסף אותו לטופס 1וחיוס=. 6. הקלד 661165% במאפיין סוחבּא של הפקד. 7 הוסף לחצן פקודה ל-1וחזס". הקלד 6₪6765% במאפיין שוחבּא של הלחצן ו- 09ס!₪13 הסוחוחס6 65%ד במאפיין הסו%כק63 (כותרת). 4 סדנת לימוד 6.0 8\ ההגדרות שיצרת, תשמשנה כמעטפת לבחינת אפשרויות העבודה השונות עס פקד וו 60. כשתתבקש, הכנס את הקוד הדרוש לשגרת האירוע של 65% ד60. תיבות דו-שיח המטפלות בקבצים אחד המטרות העיקריות לשימוש בפקד ַס|אוסחסוחוחס6 היא קליטת שמות קבצים מן המשתמש. ניתן ליצור באמצעות הפקד תיבת דו-שיח לטיפול בקבציס בעלת שני מופעיס אפשרייס: ח06 (פתח קוב\) ו- 45 586 (שמור כ..). מצב ח006 מאפשר למשתמש להגדיר שס קובצ ומיקומו לשס פתיחתו. מצב 45 58/6 מאפשר למשתמש להגדיר שס ומיקוס לשמירת קוב>. תיבות הדו-שיח ח6כ0 ו- 45 536 תיבות הדו-שיח, באמצעותן מבוצעות פעולות ח006 ו- 45 6ש58, והות בצורתן. תרשים 6 מראה את תיבת הדו-שיח ח6ק0. להלן הרכיבים העיקריים : + רשימת כוננים\תיקיות. תיבה משולבת בה מופיע שם התיקיה הנוכחית. אם התיקיה הנוכחית היא תיקיית השורש (), יופיע בתיבה המשולבת שסם הכונן הנוכחי. השתמש בתיבה המשולבת (א80 סטוחס6) ובלחצני הניווט (חסְחּפָוטבּא 5סט8) למעבר בין רמות תיקיה שונות, כמקובל בסייר פוסחו\\. + רשימת בחירת קובץ\תיקיה. תיבת רשימה בה מופיעים הפריטיס הנמצאים רמה אחת מתחת לפריטיס שברשימת הכונניס\תיקיות. כדי לבחור פריט מן הרשימה, לחץ עליו לחיצה כפולה, או סמן אותו והקש זססחם. בחירת תיקיה גורמת לעדכון התצוגה ולהופעת הקבצים ו/או תיקיות המשנה הנכלליס בתיקיה הנבחרת. בחירת קובצ גורמת לסגירת תיבת הדו-שיח ופתיחת הקוב\. + תיבת שם קובץ. תיבת טקסט המאפשרת למשתמש להגדיר באופן ידני שס תיקיה או קובצ. הקלדת שס קוב גורמת לסגירתה של תיבת הדו-שיח. הקלדת נתיב המוביל לתיקיה כלשהי (לדוגמה שזס/ש\9ז6:\8) גורמת להצגת תיקיות המשנה וואו הקבציס של אותה תיקיה ברשימת בחירת קובצ\תיקיה. כמו כן, לחיצה בודדת על קוב כלשהו ברשימת קובצ/תיקיה, גורמת להופעתו בתיבת שס קובצ. % תיבת סוג קוב. תיבת רשימה המאפשרת למשתמש להגדיר את סוג הקבציס שיופיעו ברשימת קובצ/תיקיה. סוג הקוב נקבע על ידי הסיומת המצורפת לשס הקובץ. סוגי הקבציס האפשריים נקבעיס באמצעות המאפיין זסטוו= (מסנן) של הפקד פסוהוסחסוחו 60. + לחצני סרגל כלים ולחצני פקודה. הלחצניס המופיעיםס בפינה הימנית-עליונה של התיבה מאפשריס למשתמש לעלות רמת תיקיה אחת, ליצור תיקיה חדשה או לשנות את מאפייני התצוגה ברשימת קובצ/תיקיה, ממצב רשימה למצב פרטי קוב ולהפך. בעזרת הלחצנים ח6ס0 ו-|68ח68, המופיעים בפינה הימנית-תחתונה, יכול המשתמש להורות לתוכנית לפתוח את הקוב המסומן, או לבטל את המהלך כולו. פרק 7: שימוש בתיבות דו-שיח לקבלת מידע | 195 | 000 שששששששמממדוות] 0 |₪ ₪ [+ וסט עו ב :חן 8/6 5 פזספוסזק 50 ובגופו/\ "| דיווחים וחששברניות [" מכתבי המלצה כ" | 1 | :שבח פוו | ו | - | :6 85 53/6 עוהס-530] 85 השק שן / תרשים 7.6: תיבות הקבצים ח6ק0 |- 5 586 חולקות רכיבים משותפים רבים פתיחה ושמירת קבצים כדי לפתוח קוב קיים השתמש בשיטה ח6ק0ששסח5 של פקד פסופוסוחסו 60 (שיטה זו גורמת להצגת תיבת הדו-שיח שבתרשים 7.6). עליך להגדיר את שס הפקד וו 60 ואת שס השיטה. לשס הדגמה, הקלד את שורות הקוד הבאות לשגרת האירוע 616 65% דסוחס : חסקסעוסח65%.5 דו!60 ".60ח6כס 06 0 " ,8 6הההחסוו-.65% 6017 .8 " 56166060 טס" אסס 150 לאחר ביצוע קוד זה, יכולה התוכנית שלך להשתמש בשם הקוב שנבחר דרך מאפיין וו של פקד 08ו8ו הסוח 60. פתיחה או שמירה של קוב באמצעות פקד פסווסחסו 60 כרוכות למעשה בביצוע פעולות דומות. השיטה המשמשת להפעלת תיבת הדו-שיח 45 58/6 נקראת 58/6אוסח5. קיימיס מספר הבדלים עדיניס בין תיבות הדו-שיח ח006 ו-58/6, למשל בכותרת המופיעות בראש התיבה ועל גבי לחצני הפקודות. כדי לבחון את פעולת השיטה 66ע58או0ח5 של הפקד 8סו8וסחסוחוחס6, החלף את הקוד בשגרת האירוע 6166 6% 6001 בשורות הקוד הבאות. בתקליטור: > ראה תוכנית 7./85ז6ז80ח6 בתקליטור. 65.56 דו60 " .58/60 06 60" ,8 סח3\]ם!ו-.056 60/7 .8 " 56166060 טס" אס0ס 150 הערה: תיבות הדו-שיח ח6ק0 ו- 45 586 אינן באמת פותחות או שומרות קבצים. הן רק מקבלות מן המשתמש מידע באשר לשמם ומיקומם של הקבצים המיועדים לפתיחה או שמירה. תוכניתך היא זו הצריכה לדאוג להשלמת הפעולה. 6 סדנת לימוד 6.0 8\ הגדרת סוגי קבצים באמצעות ז6פ!= (מסנן) בעת השימוש בפקד פָס|הוסחסוחוחס6, ייתכן שתרצה להציג רק קבציס מסוג מסויס בתיבות הדו-שיח. לדוגמה, אס תוכניתך עוסקת בקבצים של תוכנת |₪666 606סזסו!₪, תרצה שבתיבות הדו-שיח יוצגו קבציס בעלי סיומת 15א. ולא קבצים בעלי סיומת זג8. תוכל להגביל (או יילסנן"י) את הקבציס בתיבת הדו-שיח באמצעות רכיב אופציונלי של 6 |8טפו/\ המכונה זספוו= (מסנן). הגדרת המסנן מתבצעת בזמן עיצוב, באמצעות חלון 8165ז6קסזפ (מאפיינים) או באמצעות תיבת הדו-שיח 23465 עזו6קסזפ, ובומן ריצה באמצעות פקודה מיוחדת המשולבת בקוד. הפילטר הינו מחרוזת טקסט הכוללת את סוג הקוב והסיומת שלו. הדבר מחייב פורמט מיוחד כמוצג להלן: "006.* | (806.*) 5)חסוחווססכ 6זס/\" = זססוו=.65% דו601 הסימן האנכי () שמופיע בקוד מכונה ''סימן מקטרת'' (|סטוחץ5 6פוט) ועליו להופיע בהגדרת המסנן. לפני סימן 6קום מופיע תיאור קצר של סוג הקובצ, במקרה זה - 6זס)\ (006.*) +חסוחטססכ. לאחר סימן 6קוק מופיע המסנן הלכה למעשה. המסנן מורכב בדרך כלל מכוכבית (*) ואחריה נקודה (.) וכן סיומת הקבציס שברצונך להציג, לדוגמה: %%* ,0060.* או *.* . כשאתה מגדיר את המסנן באמצעות פקודה בקוד, עליך לתחס אותו בין סימני מרכאות, בדומה לכל מחרוזת אחרת. אין צורך בסימני מרכאות בעת הגדרת המסנן בומן עיצוב, דרך תיבת הדו-שיח 23965 ץזסכסזס. ניתן להגדיר זוגות רביס של ייתיאור | מסנןיי (6טו₪ | ח0ז06560) במאפיין מסנן בודד. יש להפריד כל וג על ידי סימן 6קום, כפי שניתן לראות בדוגמה הבאה: "*.* |65ון= || |06.* | 65|ו= 6%" = זסטון=.65% דו!60 כדי לבחון את פעולת המסנן, החלף את הקוד בשיגרה 666 601656 של פרויקט הדוגמה בשורות הקוד הבאות : "*. * |65ון= || |0.* | (0א6.*) 65!ו= %א6 ד" = זספוו=.65% דו\60 חק /וסח65%.5 דו601 בדוגמה לעיל, המסנן גורס להופעת קבצי טקסט בלבד בתיבת הדו-שיח של פקד ו חסוח וח 60. ניתן להחליף את המסנן המקורי ולבחור מסנן חדש (במקרה זה - ||4 5) מתוך תיבת הרשימה הנפתחת 6קץד (סוג). התאמה אישית של תיבות הדו-שיח על ידי שימוש בדגלונים מאפיין חשוב נוסף של תיבות הדו-שיח הס הדגלונים (895!=). הדגלוניס מוגדריס על ידי שימוש בקבוע או מערכת של קבועים, בדומה לפרמטר 8085005 לדוגמה: ץוהסאספט או סא65%צפצ של הפונקציה א₪5080. רשימה מלאה של קבועיס האפשרייס תוכל למצוא במערכת העזרה של 8856 |808ו/. לדוגמה, אם אינך מעוניין פרק 7: שימוש בתיבות דו-שיח לקבלת מידע | 197 שתיבת הסימון ץוח0 ₪680 85 ח6ק0 תופיע בתוכניתך, תוכל לגרוס להסתרתה על ידי דגלון מיוחד, באופן הבא : ץוח 680 6סוא- 600 = 65%.=|805 דוו60 . "5/שססחו/\\:6" = זוסאח655.1 דו60 06 /וסח650.5 דו601 שיס לב גס לשימוש במאפיין זוסאח1 המאתחל את תיבת הדו-שיח בספריה מסוימת. י אזהרה: דגלונים, מסננים ומאפיינים אחרים המשפיעים על פקד טס|וסחסוחוח60, יש להגדיר לפני הצגתו בתוכנית. תיבת הדו-שיח %חס: (גופן) ניתן להגדיר את פקד 0סו8וסחסוחוחס6 כך שיציג את תיבת הדו-שיח זחס=. הפעולה הינה נוחה וקלה, בדומה לתיבות הקבצים. למעשה, פקד טסוגסחסוחוחס6 אחד, המוצב על גבי הטופס, יכול לשמש לטיפול בקבצים, גופנים, צבעיס ופונקציות מדפסת, זאת, על ידי הגדרת המאפיינים כל פעם מחדש וקריאה לשיטה המתאימה. השלב הראשון ביצירת תיבת הדו-שיח )חס=, הוא מתן ערך למאפיין פ8!=. מאפיין זה, אחראי בין היתר להורות לפקד פַסו8סחסוחוחס6 האס להציג בתיבת הדו-שית - גופני מסך, גופני מדפסת או את שניהס. הקבועיס האפשריים מופיעים בטבלה הבאה : מ אזהרה: אי מתן ערך למאפיין פָ= יגרור הודעת טעות המתריעה על כך שלא הוגדרו גופנים עבור תיבת זחס=. ניתן להגדיר ערך עבור מאפיין ₪38 מסביבת הפיתות, דרך חלון 65וז6קסזס או תיבת 5 שש שזסקסזק, או מתוך הקוד באמצעות פקודת משימה מתאימה. לאחר הגדרת מאפיין פַ9|=, תוכל להשתמש בשיטה +חס= 50 של פקד פסואוסחסוחו 60, כדי לקרוא לתיבת הדו-שיח +חס= מתוך התוכנית. עם סגירתה של תיבת זחס=, יופיעו הגדרות הגופניס שבחר המשתמש, בחלון המאפייניס של הפקד פסו8|סחסוחו ס6. 8 סדנת לימוד 6.0 8\ הצעדיס הבאים מאפשרים לך להתאים את תוכנית הדוגמה שיצרת בשלב מוקדם יותר של פרק זה, לצורך מעקב אחר התהליך תוך כדי התרחשותו: 1 אס התוכנית עדיין פועלת כתוצאה מבדיקות קודמות, עצור אותה. 2 הוסף פקד 18881 ל-1חזס=. הכנס את הערך 1911656 למאפיין סוזוגּא של הפקד ואת הערך +65+ 3 15 פוחד למאפיין חסוזק 63. 3 הכנס את הערך שטיוד למאפיין 0605126 של הפקד. 4. החלף את הקוד בשגרת האירוע 616% של 65% ד0וח6 בשורות הקוד הבאות : 65 - 5 6010-0000 = 658.=|305 דו60 חס 650.50 דו601 שרחה \6חס-].65% 6017 = 6רחהּ\.%חס=.65% דופו 05.6 ]601 = 5126.%חס-.65% דוטו 00 ץ+הס-.65% ד60 = 0|סם.%חס-.65% דוטו 5 הפעל את היישום. בעת לחיצה על לחצן 65% ד6וח6 אמורה להופיע על המסך תיבת הדו-שיח +חס=. שנה את גופן ברירת המחדל לגופן שונה בתכלית, לתצ על לחצן אס ושים לב כי הגופן של 6% דוטפ! השתנה לגופן החדש שבחרת. שני דבריס בקוד לעיל דורשיס התייחסות מיוחדת: ראשית - הדגלון הנוסף, 65, אשר מאפשר למשתמש להגדיר תכונות נוספות של הגופן, כגון - הדגשה, צבע, וקו תחתון. שנית - שיס לב להבדלי תחביר קטניס בין מאפיין זחס] של פקד |806 !1 וביְן מאפיין זחס] של פקד פסופסחסח ו 60. מאפיין חס של פקד |1806 (כמו גם של אובייקטיס אחריס כגון פקד א1680) הוא אובייקט כשלעצמו (אובייקט גופן), ותיבת הדו-שיח - 8|08וסחסוחוחס6 מאחסנת כל תכונה של הגופן (שס, גודל, הדגשה, וכיוצא בוה) תחת מאפיין נפרד. בתיבת הטקסט מוצגיס בנפרד גס המאפייניס הישנים לצורך השוואה, אך מומלצ כי תתעלס מהם. לדוגמה, אס ברצונך להגדיר גופן עבור שתי תיבות טקסט, תוכל להגדיר תיבה אחת ישירות מתוך מאפייני הפקד 8ס!|וסחסוחוחס6 ותיבה שנייה פשוט על ידי השוואתה לתיבה הראשונה: %ס- .86 = %ח0-.0655ו0000 56% בתרשים 7.7 מופיעה תיבת הדו-שיח %חס=", כפי שהיא מוצגת למשתמש. התיבה המסוימת שבתרשים מכילה גופני מסך וגופני מדפסת גס יחד. פרק 7: שימוש בתיבות דו-שיח לקבלת מידע | 199 :6 וס שחס] זהוגוססת > 00060580 41 ו83ם וס ז4 80 יד וחסזבחה. יד מה ד 8306930 |בזה. תד סבו |מחה. ד [= 1% ד בוה תד 5 56 ו -] 6חוזס טר ] :סופ מ | תרשים 7.7: הינך יכול להתאים את תיבת הדו-שיח %חס] כך שתציג גופני מסך, גופני מדפסת או את שניהם גם יחד טבלה 7.4 מציגה את מאפייני הפקד האפשריים אל מול תכונות הגופן הנשלטות באמצעותם. טבלה 7.4: מאפיינים של פקד פסוהוסחסווחס6, המכילים תכונות גופן חס | האם נבחרה הדגשה 6ושחס | האם נבחר מצב הטיה 6חז|ז0ח\ חס | האם נבחר קו תחתון המידע שבטבלה יכול לשמש להגדרת הגופן עבור כל אובייקט בתוכניתך, או אפילו עבור אובייקט זסטחוזק. וזכור להשתמש במערכת העזרה לצורך קבלת רשימה מפורשת של קבועי הדגלוניס האפשרייס. הערה: כדי לראות את רשימת הקבועים בעזרה, חפש מאמר בשם 8ס|וסחסוחוחס6 005 |סהס6. 0 סדנת לימוד 6.0 8\ תיבת הדו-שיח "זס!ס60 (צבע) תיבת הדו-שיח זסוס6 של הפקד פסו8וסחסוחוחס6, מאפשרת למשתמש לבחור צבעי רקע קדמי או אחורי עבור טפסיס ופקדיס (ראה תרשים 7.8). המשתמש יכול לבחור אחד מן הצבעים השגרתיים, או לחילופין - ליצור צבעיס מותאמים אישית. ופ שן מן מו |[ שו ה |אש ₪ ₪ ₪ 7 ]₪ ₪ ₪ ₪77 ש 7 = א :5 סופ ₪ מו חן | ] *ז | ₪ ₪ ₪ ₪ ₪ ₪ ₪ ₪ | << 5ז0!סכ) 00ז5גו0) שחו | עס תרשים 7.8: תיבת הדו-שיח זסוס6 מאפשרת למשתמש לבחור צבע באופן גרפי ומשלבת בתוכנית את הצבע הנבחר כערך הקסה-דצימלי תהליך שיבוצן של הגדרות הצבע בפקד 4ַסו8וסחסוחוח0ס6, דומה בבסיסו לשיבוצן של הגדרות הגופנים: הגדר את מאפיין ₪39 כך שיכיל את הקבוע 8ח60/6000601, והפעל את השיטה זס|60אוסח5 של הפקד. כאשר המשתמש בוחר צבע מתיבת הדו-שיח, ערך הקסה-דצימלי, המייצג את הצבע הנבחר, מאוחסן במאפיין זסוס6 של הפקד. כדי לבחון את פעולתה של תיבת הדו-שיח זסוס6, החלף את הקוד בשגרת האירוע 616% 601656 (בפרויקט הדוגמה) בשורות הקוד הבאות : 606 = 650.=|805 דו!60 זס|ס0\/6ח65%.5 ד601 זס|656.00 ך|60 = זס|60א886. 1 חס כמו בתיבות הדו-שיח האחרות, תוכל לשנות את מאפייני תיבת זסו|ס6 על ידי שימוש במאפיין ₪805. לדוגמה, אם ברצונך לאפשר שימוש בצבעי ברירת מחדל בלבד, השתמש בדגלון ח6ס1!0ט-1ח6ע6זק60|66 אשר גורס לנטרול האפשרות חסזפט6 68606 5 (הגדר צבעים מותאמיס אישית), והופך אותה לבלתי נגישה עבור המשתמש. לצורך קבלת רשימה מפורטת של הדגלונים האפשרייס עבור תיבת. זס|60 והשפעותיהם, פנה אל הנושא (פַסווכ זסוס60) ץשזסקסזם 05| \פסו8ו זסוס6 במערכת העזרה של 88516 |1508/. פרק 7: שימוש בתיבות דו-שיח לקבלת מידע | 201 תיבת הדו-שיח זחווש (הדפסה) תיבת דו-שיח נוספת אשר ניתן להציג באמצעות הפקד פסואוסחסוחוחס6 היא התיבה זחוזק (הדפסה). תיבה וו מופיעה בדרך כלל, בסמוך לביצוע עבודת הדפסה ומאפשרת למשתמש לבחור את המדפסת אשר תבצע את העבודה ואת מאפייני ההדפסה (ראה תרשיס 7.9). תיבת הדו-שיח כוללת בין היתר, אפשרות להגדיר אילו עמודיס יודפסו, בכמה עותקים, וכן אפשרות להדפסת קוב. זסוחו -ן א|3 ב : | בי ווק - 5 56ב | קר 63 ;זסוחוזק ווה 5 3560061 | קר סו הו 5 )390016 ] סו | 5 :וס 0 זספוחגו4] ו 1 :שפד וו ן בי 36 ומוזק 6 ₪ הוושו 7+ 06[ | תרשים 7.9: תיבת הדו-שיח +חוזק היא אמצעי עקבי ונוח למשתמשי התוכנית, להגדרת מאפייני ההדפסה כדי להפעיל את תיבת הדו-שית >חוזק, קרא לשיטה זססחוזקווסח5 של הפקד 58 תסווה ס6. אין צורך להגדיר דגלוניס לפני כן. כאשר תיבת הדו-שיח זחוזש מופיעה על המסך, המשתמש יכול לבחור מדפסת רצויה מתוך רשימת המדפסות (חחגּא), הנמצאת בחלק העליון. ברשימה מוצגות כל המדפסות המותקנות במערכת של המשתמש. מתחת לרשימת המדפסות נמצא שדה המצב (6ח11 518005), המציין את מצבה הנוכתחי של המדפסת (פנויה או תפוסה). אם המשתמש מעוניין לשנות מאפייני מדפסת מסוימת (לדוגמה - גודל הנייר והשוליים), עליו לבחור אותה מתוך רשימת המדפסות וללחוץ על לחצן 65שז6קסזפ (מאפיינים), הצמוד לה. פעולה זו גורמת להופעת גיליון המאפייניס של המדפסת שנבחרה, ראה תרשים 7.10. המאפשר למשתמש לשלוט בכל מאפייני המדפסת, בדומה לאפשרויות השליטה מלוח הבקרה של פצוספחוש\. המידע שנקלט מן המשתמש מוכנס לתוך מאפייניה של תיבת הדו-שיח %חחס. המאפייניס 896קחחסז₪ ו-6חַהקסד מצביעים על העמודיס בהס בחר המשתמש להתתחיל את ההדפסה ולסיימה. מאפיין 65!ק60 מצביע על מספר העותקיםס בהס תתקבל ההדפסה. נתוניס אלה הם מיקדמייס בלבד, תיבת הדו-שיח אינה מבצעת את עבודת ההדפסה באופן אוטומטי. 2 סדנת לימוד 6.0 8\ || / וז 8900 063616 ו | || 0 | ב | 5 פחסוזק0) זסקבי :526 זסקב :6 זסקבק [= זססב3 חובוק עווהו זחוז: -] 2% ₪8 ₪ זט 7+ ₪ 11.0-01870/890 565 ה בשי וי תרשים 7.10: תיבת הדו-שיח 65חזפקסזק, המופיעה על המסך בעת לחיצה על לחצן 5 מאפשרת לך לקבוע את גודל הנייר, רוחב השוליים, ותכונות מדפסת נוספות לבחינת פעולתה של תיבת הדו-שית %חזק, התחלף את הקוד בשגרת האירוע 6% 65% 607 בשורות הקוד הבאות: ןס קש 53וכ כק]|60 = 65%.=|805 דו\60 3 = 655%.600165 דו601 סד = 6906 וסשחוק. 65% דו!60 חק וס ח65%.5 דו60 6/1066 זססחחזק .8 " :15 זס)חזכ 061906 שחד" אס 50 הקוד שבדוגמה עושה שימוש במאפיינים ודגלונים לנטרול האפשרות ₪6 סד שחוזק והגדרת שלושה עותקיס כמצב ברירת מחדל. בנוסף, המאפיין ז|6)80סזססחוזש מצביע על כך שתיבת הדו-שיח תשתמש בהגדרות הפקד לצורך התאמת מאפייני מדפסת ברירת המחדל של המערכת. שימושיס נוספיס שניתן לעשות באמצעות תיבת הדו-שיח שחוזס, תוכל למצוא במערכת העזרה של 8856 |8טפוש. תיבת הדו-שיח !46 (עזרה) אופן שימוש גה בפקד 08ו8וסחסוחוח0ס6 גורס להפעלת מנוע העזרה של פווספחוו\ על ידי קובצ 5א32.5ק |םהא1\\ (אס מותקניס במחשב גרסאות 4 זסזסוקאם 6%חז6זח1 ומעלה, או 8 פוססחו/, שס קובצ מנוע העזרה הוא 6א4.6ה). כדי להשתמש בתיבת סו6ה, עליך לבצע מספר פעולות: הגדר במאפיין 6|ו₪קו6 של הפקד, שס ומיקוס עבור קוב עזרה מתאים בעל סיומת 415. בנוסף, הגדר במאפיין 6חהוו36!060 את סוג העזרה שתוצע למשתמש על ידי מנוע החיפוש. בתוס הגדרת המאפייניס, השתמש בשיטה כ|6ששסח5 להפעלת מערכת העזרה. עתה, יכול המשתמש לנווט במערכת העזרה תוך שימוש בקוב> העזרה של תוכניתך. פרק 7: שימוש בתיבות דו-שיח לקבלת מידע | 203 יצירת תיבות דו-שיח משלך פקד 8ַס|וסחסווז60 מאפשר לשלב בתוכנית מיגוון סוגים של תיבות דו-שיתח. אך קיימות משימות מיוחדות אשר אינן ניתנות לביצוע באמצעות התיבות הרגילות. לדוגמה, אם ברצונך להתאיס כותרות משלך ללחצנים בתיבה, אינך יכול להשתמש בתיבת הודעה רגילה. כמו כן, תיבת הודעה רגילה מכילה לכל היותר שלושה לחצניס (להוציא את לחצן 8|0), עובדה היכולה להוות מגבלה במצביסם מסוימים. חשוב על תיבת הדו-שיח זטסח1. לא ניתן לשלב בה סמלים והיא אינה יכולה לטפל ביותר מפריט קלט אחד. לפיכך, במצביס בהס פקד 8ַסווסחסוחוח0ס6 אינו מתאיס, תוכל להפוך את הטופס הסטנדרטי של 88516 |1508/ לתיבת דו-שיח מותאמת אישית. יצירת תיבת דו-שיח מותאמת אישית כל שעליך לעשות הוא למלא אחר ההנחיות הבאות : 1 היכנס למאפיין 6!/ץ+₪0706175 של הטופס, ובחר באפשרות פַָסוהּוש 606או₪ - 3 (תיבת דו-שיח קבועה). תיבות דו-שיח מתאפיינות בכך שלא ניתן לשנות את גודלן. פעולה זו גורמת גס להסרתסם של הלחצניס הגדל/שחזר והקטן. 2 הסר את הסמל של הטופס על ידי מחיקת הגדרות המאפיין ח160. 3 במאפיין ה00ו805ק5%370 של הטופס בחר באפשרות זוסהש0ז6זה66 - 1, כך שתיבת הדו-שיח תופיע תמיד במרכז היישוס המארת. 4 הוסף פקדים על פי הצורך כדי לקבל את המידע הדרוש מן המשתמש. השתמש בפקדי /1896 ככותרות לתיבות הדו-שיח. 5 השתמש בפקדי שוזהּז= (מסגרת) לתיחוס פקדים אחרים בעת הצורך (כדוגמה, ראה את פקד המסגרת 3768 06ח₪8 זחוזק בתיבת הדו-שית לחוזק). 6. הוסף לחצן א0, לצורך אישור בחירת המשתמש. 7 הוסף לחצן 680661 המאפשר למשתמש לבטל את המהלך. 8 בעת הצגת תיבת הדו-שית, דאג שתופיע באופן מודאלי (אוסח5. 9ס|8וכ וח |003]מצ). הרגש חופשי להסתייע בתיבות הדו-שיח הנפוצות של פשוסחו!/\, או בתיבות מותאמות אישית המופיעות ביישומיס אחרים כדי לשאוב רעיונות, באמצעותס תוכל לעצב תיבות דו-שיח משלך. 4 סדנת לימוד 6.0 8\ שימוש בתבניות טופס עבור תיבות דו-שיח אחרות חברת 1160506 שילבה ב- 8856 |1508\ מספר תבניות טופס (65ז8!וח6 ד וחזסת) המייצגות תיבות דו-שיח מותאמות אישית שיכולות להיות שימושיות עבורך. תוכל להוסיף בקלות לפרויקט שלך את אחת מתבניות הטופס של 88516 |08פו/ על ידי בחירת הסוג המתאים בעת הוספת טופס חדש. להלן פירוט תיבות הדו-שיח האפשריות : + תיבת 84000%. מאפשרת הצגת מידע למשתמש בנוגע לתוכניתך. (תיבה זו מצויה בכל אחת מתוכנות 6-050%וא בתפריט עזרה, אודות). > תיבת ח1 108. מאפשרת למשתמש להכניס סימן מזהה וסיסמה. <* תיבת ₪085ק0. דומה לתיבות הדו-שיח 78065 שהסקסזק ו-פהסטקס של 6 | פוש + תיבת שזד. מאפשרת לשלב פונקציה של ייהעצה היומיתיי בתוכניתך. כדי לשלב בתוכניתך אחת מן התיבות שברשימה, בחר 66%[סזם, וחזוס-] 464 או לחצ על לחצן וחזס] 06. פעולה זו תגרוס להופעתה של תיבת הדו-שיח וחיוס" 06, המוצגת בתרשים 7.11. כעת, בחר אחת מן התבניות המוצעות והתאם אותה לצרכי התוכנית שלך. [<|? חזס-] 0 | בחוזפוא = | וס ₪ ח ₪ 9 ח בסובום זספואוסזם סש/\ = הַסובום זוספם | זט 083 םי קוש . 0,‏ יי יח , 0 ₪300 פחסוסקס ח1 הס 1 0086 שבכ פת* זט קוד ח50'86 ח135ק5 = הָסובום חו בָס1 38 ג ו 6זגוז! 6 הו ססובום 5וח! אוסת5 +'חסם. -] תרשים 7.11: מספר תיבות דו-שיח מוצעות לך בצורה של תבניות טופס פרק 7: שימוש בתיבות דו-שיח לקבלת מידע | 205 מכאן... בפרק וה למדת כיצד השימוש בתיבות דו-שיח יכול לסייע למשתמש בבחירת קבצים, מדפסות, וגופניס עבור התוכנית. כמו כן למדת כיצד מסייעות תיבת ההודעה (א5480ו!) ותיבת הקלט (אספזטסח1) למסירת מידע למשתמש, ולקבלת החלטות ופיסות מידע בודדות. ** בפרק 3 - אבני היסוד של 83516 15031ז/, תוכל למצוא מידע נוסף בנושא עיצוב הטפסים ושילובם בתוכניותיך. > פרק 5 - תגובה באמצעות שגרות אירוע, יעניק לך היכרות עם כתיבת הקוד המאפשר לטפסים להגיב לפעולות המשתמש. * בפרק 9 - יסודות התכנות ב- 83516 וַבּש5ו+, תמצא דיון מעמיק יותר בנושא כתיבת הקוד ב- 88586 |1508/\. 6 סדנת לימוד 6.0 8\ 8 שימוש במשתנים לאחסון מידע פרק 8: שימוש במשתנים לאחסון מידע | 207 כדי שתוכניות 8856 |1508/\ תהיינה שימושיות באמת, עליהן לדעת כיצד לשמור מידע באופן ומני. 8856 |1508/, כמו כל שפת תכנות אחרת, צריכה לזכור מידע במהלך פעולת התוכנית. יכולת זו מתאפשרת על ידי שימוש במשתניס ובקבועים. פרק זה יבחן את סוגי המשתניס והקבועיס הזמיניס למפתחי 88516 |8ט8ו/, ויראה כיבצד השימוש בהס מאפשר את שמירת המידע הנחוא. היכרות עם משתנים באופן פשטני, משתנים נועדו כדי לשמור מידע בויכרון המחשב במהלך פעולת התוכנית. משתנה מוגדר באמצעות שלושה מרכיבים: %, שם המשתנה (אשר מגדיר את מיקומו בויכרון). + סוג המידע הנשמר. %, + המידע עצמו. נניח שהוטלה עליך המשימה הבאה: ייספור את כל המכוניות שבמגרש החניהיי. בומן ספירת המכוניות, אתה שומר מידע בתוך משתנה. מיקוס המשתנה הזה בזיכרון מקביל לפנקס או לראש שלך. סוג המידע שנשמר הוא מספר, והמידע הנשמר הוא מספר המכוניות הנוכחי. כפי שהשס משתנה ‏ 8880|0/) מרמו, המידע שנשמר במשתנה יכול להשתנות (להתחלף) מפעם לפעם. בדוגמה שלנו, כמות המכוניות שאתה סופר גדלה מעת לעת. יש שתי פעולות בסיסיות שניתן לבצע עס כל משתנה: שמירת מידע (כתיבה על הפנקס) והשבת מידע (קריאת הכתוב על הפנקס). מתן שמות למשתנים כל משתנה חייב להיות מזוהה בשם, כדי שניתן יהיה לתת לו ערכים. ייתכן שכבר נתקלת בדוגמאות קודמות בהוראות מעין זו: חן 5 א וחוס דוגמה זו ממחישה את הוראת חחופ קיצור של חסופחסוחופ, המשמשת לצורך הצהרה על משתנים (עיין בסעיף הצהרה על משתנים, המופיע בשלב מאוחר יותר בפרק). בעת הגדרת משתנה, אנו למעשה אומרים ל- 8856 |1508/\: 'ישרייני מקוס בוּיכרון לצורך אחסון מידע משתנה; קראי לו איי. שתי המיליס האחרונות בפקודת וחום אומרות ל- 6 !ופ מה סוג המידע שבכוונתך לשמור, במקרה וה - מספרים שלמים. מידע וה מסייע לתוכנה לדעת מה כמות הזיכרון שיש לשריין עבור המשתנה שהוגדר. קיימת גמישות רבה מאוד בנוגע להקצאת שמות משתניס. שס המשתנה יכול להיות קצר ופשוט, או להיות תיאור מפורט של סוג המידע אותו הוא מכיל. בדוגמה לעיל א הוא אומנס שס משתנה חוקי לגמרי, אך אין הוא מסביר לקורא את משמעות המידע השמור בו. 8 סדנת לימוד 6.0 8\ למרות הגמישות הרבה, קיימים עדיין מספר חוקיס להס עליך לציית בעת מתן שמות למשתנים: + שם המשתנה חייב להתחיל באות. לא במספר או בתו אחר. > שארית השם יכולה לכלול אותיות, מספרים ו/או סימני קו תחתון. מרווחיס, נקודות וסימני פיסוק אחריס אינס מותריס. > השם חייב להיות ייחודי בטוות ההכרה (56006) שבו נמצא המשתנה (טווח ההכרה מתייחס להקשר של המשתנה, כפי שנראה בהמשך). + אורך השס לא יעלה על 255 אותיות. > השם לא יהיה אחת מהמילים השמורות של 8856 |1508/\. מומלצ לתת למשתניס שמות אשר יתארו את תפקידם, ואת כדי להפוך את הקוד נוח יותר לקריאה. מאידך, יש להקפיד על מתן שמות קצריס ככל האפשר, כדי להקל על כתיבת הקוד. מפתחים רביס מצרפיס לשם המשתנה קידומת (או6זק) המצביעה על סוג המידע השמור; קידומות אלו הן, בדרך כלל, וריאציות שונות של שיטת מתן השמות ההונגרית (חסטחסעטח60 פַחווחה ההההפחטה), ומבוססות על אות או שתי אותיות קטנות בתחילת שס המשתנה, ואחריהן אות גדולה. לדוגמה התחילית 5 בשם ו56, מצביעה על כך שמדובר במשתנה המכיל ערך מחרוזת (9חוש5). טבלה 8.1 מציגה מספר קידומות נפוצות בהן מומלצ להשתמש בעת מתן שמות למשתנים. שיטה זו (המתוארת ב- 8856 6006!/וסח 6‏ 670506 במאמר 4, ₪ 0+ 5חה0ושחה6עה60 פחזוהב3ּ 5067/1665 8ה1₪0ט5ח60 0%ס5סיסווא) באה לידי ביטוי ברבות מן הדוגמאות המובאות בספר זה. טבלה 8.1: קידומות לשמות המשתנים 000000000 98| + | שחואצתל | 4 | סששצפא וניבי יי 5 +חוסק חחההסות) 6ַחו5 1-6 ח68|ססם 6 דט שמות משתנים המכילים מספרים שלמים (60675ח1) מתחילים בקידומת ח ולא בקידומת | (אשר נראית הגיונית יותר), ואת משוס שהקידומת 1 שמורה לייצוג אינדקסים. פרק 8: שימוש במשתנים לאחסון מידע | 209 סוגי משתנים עד כה למדת מהו תפקיד המשתנה וכיצד לתת לו שס. אך מה סוג המידע שניתן לשמור במשתנה! התשובה הפשוטה היא כמעט כל דבר. משתנה יכול להכיל מספר; מחרוזת טקסט; או הפניה לאובייקט כמו טופס, פקד, או בסיס נתוניס. פרק וה מתרכז בשימוש במשתניס לצורך אחסון מספרים, מחרוזות וערכיס לוגיים. אופן השימוש במשתנים לייצוג אובייקטים ומסדי נתוניסם מכוסה מאוחר יותר בפרק 16 מחלקות: שימוש חוזר ברכיבים, ופרק 26 שימוש באובייקטי גישה לנתונים (סהפ). לכל סוג משתנה יש דרישות זיכרון משלו, והוא מתוכנן לעבוד ביעילות עס סוגיס שונים של מידע. לפיכך, אין ה אפשרי לאחסן מחרוזת כמו "סו|₪48" בתוך משתנה המוגדר כ-ז%608ח1 (מספר שלם). טבלה 8.2 מציגה חלק מסוגי המשתנים הסטנדרטיים הקיימים ב- 8856 |15808/. בנוסף, מראה הטבלה את טווח הערכיס אשר משתנה יכול להכיל, ואת כמות הציכרון הנדרשת. כאשר הדבר אפשרי, מומלצ להשתמש במשתנים בעלי דרישות ויכרון נמוכות (שבשפה מקצועית נקראים משתנים ייזוליס'י), כדי לחסוך במשאבי מערכת. טבלה 8.2: משתנים מסוגלים לשמור סוגים רבים של מידע | סג המדעהנשמר | צרכתזכהן | שותעומם 05 > ץס6ח6זזוס | מספרים עד 15 ספרות | ₪ 8 4 -/+ משמאל לנקודה ועד 4 ספרות מימין לנקודה 8חו5 | מידע טקסטואלי 6 אחד לכל עד 65,400 תווים למחרוזת תו בגודל קבוע, ועד 2 מיליארד תווים למחרוזת דינמית מידע על תאריך ושעה 0 עד 12/31/9999 0% | התהוות מחלקות; 6 4 אין אובייקטי 015 +חהוזה/\ | כל אחד מסוגי המידע 6ץפ 16 + אין שלעיל 6 לכל תו 0 סדנת לימוד 6.0 8\ בנוסף לסוגי המשתניס שבטבלה, ניתן ליצור גס סוגים המוגדרים על ידי המשתמש (65ק/ד 661060 ז56ט). שורות הקוד הבאות מדגימות שימוש במשתנים מסוג זה: הגדרת סוג משתנה חדש ' +חוסק 6כץד סזבּעוזוק 5 א זז 5 שד 6חם הגדרת משתנה מהסוג החדש ' ()א6ו6 1 חר 60 ס50 סזהּעוזוק +חוסק 5 6הוסקץוז וחוס 3 = א.סחוסקץו] 5 = ץ.זחוססעו! 50 0חם כפי שניתן לראות בדוגמה, הגדרת סוג משתנה חדש מתבצעת באמצעות הפקודה 6סץד. שיס לב כי הגדרת סוג המשתניס חייבת להתבצע באזור ההצהרות הכלליות. במקרה זה הגדרנו מתוך הטופס סוג פרטי הנקרא זחוסק. כדי ליצור משתנה מסוג חדש, עליך להשתמש בפקודה חופם בדומה להצהרה על משתנים מסוגים אחרים. ניתן לגשת לחלקיס במשתנה באמצעות סימן הנקודה (.). כפי שכבר ציינו, קיימיס מספר סוגי משתניס המיועדיס לטיפול במסדי נתוניס בלבד (כגון סוגי המשתניס ספהּפּזַ8, 6 ו-866070566). מידע הקשור לסוגי משתניס אלה מועבר ל- 8856 |508ו\ בעת הוספת הפניה לספריית סוגים (עְזבּזט | 6סץד). ספריית סוגיס היא קוב 511 (ספריית קישור דינמית), או קובצ היוצר בתוכניתך וזמינות למשתניס המטפליס בבסיסי נתונים. דוגמה טובה לשימוש בספריית סוגי משתניס תמצא בפרק 22, שימוש ב-015 לשליטה על יישומים אחרים. ראה: סעיף ספריית האובייקטים של טזוס/ש, בפרק 22. הצהרה על משתנים קודס לכן בסעיף מתן שמות למשתנים, ראית דוגמה לפקודה וחוס, באמצעותה הגדרת את שס וסוג המשתנה שלך. אולס 8856 |1508/\ אינה מחייבת להצהיר במפורש על משתנה טרס השימוש בו. אס המשתנה לא הוגדר בצורה מסודרת, 8856 |1508/ תיצור אותו בעצמה כמשתנה מסוג ברירת המחדל, בדרך כלל +חפוז8\. משתנה המוגדר כך מסוגל להכיל מידע מכל סוג, אך יש לו שני חסרונות: הוא עלול לבובז שטח זיכרון יקר, וייתכן כי לא יתאיס לעבודה עס פונקציות המצפות למשתנה מסוג ספציפי. הצהרת המשתניס מראש לפני שימוש בהס הינה מנהג תכנותי טוב. לכן, כדאי שתבחן את שתי הדרכים להצהרה על משתנים - הצהרות מפורשות טסווקאם) והצהרות מרומזות 0ו6ו1קֶחז1). שיס לב גס למקרה המיוחד של מחרוזות בעלות גודל קבוע. פרק 8: שימוש במשתנים לאחסון מידע | 211 הצהרה מפורשת הצהרה מפורשת (ח800ז66!3כ 6וסווסאם) - מונח זה משמעותו שימוש בפקודות קוד לשס הגדרת שמות וסוגי המשתניס בתוכנית. הפקודות אינן משמשות להצבת ערכיםס במשתנים, אלא רק מגדירות ל- 8856 |%1508\ מה שמות המשתניס שישולבו בתוכנית, ומה סוג הנתונים שיכילו. באפשרותך להשתמש בכל אחד מהמשפטים הבאים כדי להגדיר מפורשת סוג משתנה: [|062/// 5 ] 8062רטש , ]|106/כ/ 5/] המקש וחוס [[062ז8/ 5 ] 62הההחחזהּע , ][6כ/ובּע 5/] סותהחזה/ סזבּעוזוק [[62ק/זה/ 5/] 62הההחזהּע , ][[6כ/סזה/ 5 ] 6הההחזהּע 5%80₪6 [[5/062ז8/ 5/] 62רתהחזופט , ][6/סוה/ 5./] סרההחזהע סוופנוק וחוכ, סזאטוזק ו-סו|פטש הן מילות מפתח ב- 8856 |%15088 אשר מגדירות באיזה אופן תשתמש התוכנית במשתנה המוגדר (בסעיפים הבאים תוכל ללמוד יותר היכן וכיצד לעשות שימוש במילות מפתח אלו). המילים 9708706 ו-62ו9087ש מייצגות את שמות המשתניס אשר אתה מעוניין להגדיר. ניתן להגדיר מספר משתניס בפקודה אחת, כל עוד שמותיהס מופרדים באמצעות פסיקים. כל שס משתנה חייב הגדרה נפרדת לסוג המשתנה, אס לא יוגדר סוג המשתנה עבור כל שס משתנה בנפרד, המשתנה ייחשב כ-%ח8718\. בדוגמה לעיל, מופיעים אומנס שני משתניס בלבד, אך ניתן לציין מספר רב יותר של שמות. למעשה, בשורה אחת של חלון הקוד ניתן להקליד מעל אלף תוויס, אס כי מעשית, מומלא להימנע מכתיבת שורות החורגות מרוחב החלון המוצג על המסך. הקפדה על כתיבת שורות באורך סביר, מקלה על קריאות הקוד שלך וחוסכת פעולות מיותרות כמו גלילת החלון ימינה ושמאלה בזמן קריאתו. שורות הקוד הבאות מדגימות כיצד להשתמש בפקודות לשס הצהרה על משתנים : ז 1 45 |3/\רתטוצ\ח 6ספעווק 3 /\ 35 |3/\סטקח1ש ,06061ח1 35 |3/\שטמח סזהעוזוק 0 35 10|60/67806 56806 50 35 6החה\5זו-5 הזוס הצהרה מרומזת לרוב רצוי להגדיר את המשתנים בעזרת פקודת וחום או אחת מהפקודות האחרות המשמשות לצורך הצהרה מפורשת. אולם, במקריס רביס ניתן גם להגדיר את סוג המשתנה באמצעות הצהרה מרומזת (ח00ו80ז66!9 66ו!פוח1). בהצהרה מסוג זה, יש לסיים את שם המשתנה בתו מיוחד, בעת הצבת ערך בפעם הראשונה. בטבלה הבאה מוצגיס התוויס אותם יש להוסיף לכל אחד מסוגי המשתנים הקיימים. 2 סדנת לימוד 6.0 8\ טבלה 8.3: תווים מיוחדים לסוגי המשתנים סוג המשתנה ו חס | 0! |96 | 6סטסס ב הט ו ב אין יו אין כאשר 8856 |1808/\ נתקלת בפעס הראשונה בתוכנית במשתנה שהוגדר באופן מרומז, היא מקצה לו אוטומטית מקוס בזיכרון. הצהרה מרומזת על המשתניס שמהדוגמה הקודמת נעשית בצורה הבאת: מוגדר בזיכרון כ-ז606שחז ' 0 = %!3/\וחטאזח מוגדר בזיכרון כ-ז606טחז ' 1 = %ו3/\ףָטח מוגדר בזיכרון כ-זְחִאּוזף/ ' 5 = |6\3וקָח1/ מוגדר בזיכרון כ-86חו6 ' 1 = 10|6/067806 מוגדר בזיכרון כ-פַחו5₪ ' | "חסזטה |" = 6%רח50%8ו5 שיס לב כי המשתנה |3/סטקחזט אינו מכיל את תו סוג המשתנה, ולכן 8856 |808ו\ תתייחס אליו כמשתנה מסוג %ח8ז8/. מחרוזות בעלות גודל קבוע רוב המחרוזות בהן נעשה שימוש בתוכניות 8856 |508ו% הן מחרוזות בעלות גודל משתנה (95ח571 חְזַחַח6 | 80|6וזה/). מחרוזות אלו יכולות להכיל כל כמות של טקסט, עד לשני מיליארד תוויס בערך. בוּמן שמידע נשמר בתוך המשתנה, גודלו מותאס כך שיוכל להכיל את המחרוזת. ההצהרות המפורשות והמרומזות עליהן למדת זה עתה, תיצורנה מחרוזות בעלות גודל משתנה, אולס ב- 8856 |1508\ קייס סוג נוסף של מחרוזות : מחרוזות בעלות גודל קבוע (85ח5071 חְזְחַח6. 1 60אות). פרק 8: שימוש במשתנים לאחסון מידע | 213 מחרוזת בעלת גודל קבוע, כפי ששמה מרמז, שומרת על גודלה, ללא תלות במידע המאוחסן בה. אס במחרוזת כזו מוצב ביטוי קצר יותר מאורכה הקבוע, אזי שארית המחרוזת תמולא במרוותחים. אס הביטוי ארוך יותר מהגודל הקבוע, אזי יקוצצו התוויס העודפיס. ניתן להצהיר על מחרוזת בעלת גודל קבוע באמצעות הצהרה מפורשת בלבד: 5 * 8חו5 5 6רתשמשש וחוס שיס לב כי הצהרה זו שונה מעט מן ההצהרה הקודמת של משתנה המחרוות. הצהרת מחרוזת בעלת גודל קבוע מכילה כוכבית (*) המציינת כי מדובר במחרוזת בעלת גודל קבוע. הפרמטר האחרון, (50/6000, מגדיר ל- 8856 |%1508 את גודלה הקבוע של המחרוזת (כלומר מספר התוויס המקסימלי שביכולה להכיל). מחרוזת בעלת אורך קבוע יכולה לשמש למשל לבניית קוב טקסט המופרד באמצעות פסיקים. נניח ש-25 תוויס מהקובצ משמשים לביטוי שמו של אדס. הקוד הבא יקצצ אוטומטית את כל התוויס במחרוזת מעבר לתו 25: 5 * 50100 5 58806 הוחו ".6|טה זע חַחו50 6 זסז פחס! ססף 15 6% פוחד" = 6וח58 הצבת ערך שאורכו קצר מ-25 תוויס ב-5\%86 תגרוס ששאר התוויס במשתנה זה ימולאו ברווחיס. הערה: אחד השימושים הנפוצים של מחרוזות בעלות אורך קבוע הוא בהשבת מידע מפונקציית 8-1 של חלונות, נושא זה נדון בפרק 20 גישה ל- ₪1 של פ/שסטחוצ\. מערכי משתנים המשתנים שנדונו עד כה היו כולס משתניס יחידים. אולם, יש מקריס רביס בהם יעיל יותר לעבוד עס מערכים (פעבזז\). מערך הוא קבוצת משתניס מאותו סוג, המוגדריס תחת שס זהה. בדרך זו קל יותר לעבד קבוצות של שדות מקורבים. לדוגמה, נניח כי אתה נעזר בקבוצת משתניס המנהליס מעקב אחר נפח המכירות בכל אחד מארבעת האזוריס של החברה שלך. אתה יכול להגדיר משתנה מטבע לכל אזור, ועוד משתנה כדי להחזיק את סכוס המכירות בכל האזורים ביחד, כמו בדרך זו: ץ6חה6זוו) 45 650058|652 ,ץ6חה6זווס 5 650058|651 הזוס ץ6חה6זוו) 5 650058|654 ,שץ6חה6זווס 5 650058|653 הזוס ץ6ח6 6 5 069158165 61 חחוס כעת, כדי לחשב את סכום המכירות בכל האזורים, תצטרך להשתמש בקוד הבא : 61 0%9158|65 = 6₪0058|651 + 646058|652 + 60058|653 7- 4 4 סדנת לימוד 6.0 8\ גישה זו אינה מסורבלת במיוחד, אך מה יקרה אם יהיו 20 אזורים, או כמה מאות! קל לראות שעבודה עס מספר גדול של משתניס מקורבים יכולה לגרוס לתסבוכת. ניתן לפשט בקלות דוגמה זו על ידי שימוש במערך. ניצור מערך בשס 6₪6058!65. מערך זה יכול להכיל מספר אלמנטים (מופעי משתניס) הזהה למספר האזוריס שלך. ניתן לכתוב מחדש את הדוגמה כך שתתאים לטיפול ב-20 אזורים : ץ6ח6זוו 5 (20 0+ 1 )656058|65 חחוס ץ6חס 6 5 068158165 61 וחוס 5 זסשהטוס6ח וחוס 1 35 קוח6 51 הוחו 0 = 610%8|58|65 0 סך 1 = זסזחטס6ח זס= (זח60ח)6₪6058|65 + 009|58|65 ]6 = 0%9!58|65 67 זס הסח 6% " = 601005 ||3 ז0? 58!65 !סד" = קוחס 51 ("ץ6ח6זווס" ,8|58!65ז0 1 6)ז8וזס=] .8 קוח ]5 = קוחם 51 "8|/515ח\/ 58!65" ,חסטהוזס+ח1ט/ , כקרח6 57 80 150 שיס לב בדוגמה לשימוש בלולאה (6)000. חלק הקוד שמתחיל בהוראה זס= ומסתייס בהוראה 6% מגדיר קבוצת פקודות בתוכנית שתחזורנה על עצמן מספר פעמים (20 במקרה זה). שימוש בלולאות מקצר את עבודת עיבוד המערכים. ככל שתתקדס בספר זה תיתקל במקריס רביס בהם השימוש במערכים יכול לפשט מאוד את קוד התוכנית שלך. היכן כדאי לעשות שימוש במשתנים בנוסף לסוג הנתוניס הנשמריס במשתנה, קובעת ההצהרה גם את טווח ההכרה (56006) במשתנה. ניתן לדמות את טווח ההכרה במשתנים לאזורי הכיסוי של טלפון סלולרי. בזמן רכישת טלפון סלולרי, ביכולתך לקבוע עבורו כיסוי ארצי או בינלאומי. מידע זה נצרב לתוך המכשיר. אס תצא מטווח הכיסוי שלך, הטלפון לא יעבוד. בצורה דומה, ניתן להצהיר על משתניס כך שיוכלו לפעול בשיגרה אחת בלבד בטופס, בכל השגרות בטופס, או בכל חלקי התוכנית. ברירת המחדל של 8856 |508ו\ מתייחסת למשתניםס שהוגדרו בצורה מרומזת, כמקומייס לשיגרה בה נוצרו. לפיכך, אס אינך משתמש בהצהרה עבור משתנה כלשהו, 6 |1508\ תתייחס אליו בהכרח כאל משתנה מקומי. על כן, כדי ליצור משתנה שהיקפו אינו מקומי, הינך חייב להשתמש באחת מפקודות ההצהרה. הערה: תחום המשתנה נקבע על ידי סוג ההצהרה, וגם על ידי מיקומה. לדוגמה, למילות המפתח החוכ ו-שופצוזק יש משמעויות שונות בחלקים השונים של הקוד בטופס. פרק 8: שימוש במשתנים לאחסון מידע | 215 משתנים הזמינים מכל מקום במרבית התוכניות (אלא אס יש לך טופס אחד בלבד ללא מודולי קוד) תוכל להבחין כי קייסם צורך במשתניס אחדים, אשר ניתן יהיה לגשת אליהם מכל מקוס בתוכנית. משתניס אלה נקראיס משתנים ציבוריים (65|טפוזבּ/\ 6ווטטס). בשפות אחרות, כולל בגרסאות מוקדמות יותר של 8856 |1508/, ייתכן שמשתנים מסוג זה כונו בשס משתנים גלובליים (פ65וטהּוז3ּ/\ |8פסו6). (למעשה גס גירסה 6 של 8856 |פטפו\ מזהה עדייו את מילת המפתח |6!088). משתניס אלה בדרך כלל :כילו מידע כגוןו שס המשתמש, או הפניה למסד נתונים אשר נמצא בשימוש לכל אורך התוכנית. הס יכולים גם לשמש בתור דגליס אשר מייצגיס תנאים מסוימים בתוכנית. כדי ליצור משתנה ציבורי, עליך לשלב את פקודת ההצהרה סוופטש באזור ההצהרות הכלליות במודול (קובצ 845) של התוכנית שלך. השורה הבאה מראה כיצד מצהירה הפקודה סוופטוס על משתנה ציבורי, השומר את שס המשתמש: 508 5 50507836 6ווסנוק מילת המפתח סוופטש הינה בעלת מעמד מיוחד בקוד הטופס או המודול המחלקתי. משתנה המוגדר כ-ווטטפ, פועל ממש כמו אחד ממאפייני הטופס או המחלקה, אשר זמיניס מכל מקוס בתוכנית. 8856 |9טפו\ מתייחסת למשתני סוופטש כשווי מעמד למאפיינים הקבועים של טפסים ופקדים, ולא כמשתנים ציבוריים רגילים. מאפיינים מסוג 6ו|טטש משמשים להעברת מידע בין טפסים וחלקים אחרים בתוך התוכנית. נניח לדוגמה, כי ההצהרה הקודמת ל-500567886 התקיימה בתוך טופס. שורות הקוד הבאות יכולות היו לשמש כדי לשנות ולאחזר את שס המשתמש מהטופס. "םוא" = 6ר567%3ו5. חוףס |רחי |03סו]טע עשסח5. חופס |רחי 36 \5\05671. חוס |רחו 8 " 85 660 סרחבח הד" אס 50 שורת הקוד הראשונה קובעת את תכולת המשתנה הציבורי (וטוענת את חופָס \וחזז אס אין הוא טעון עדיין), ממש כאילו הוא אחד ממאפייני הטופס. שורת הקוד הבאה מציגה את הטופס כמודאל (|003/) (פתיחת הטופס בצורה מודאלית מחייבת את סגירתו לפני שהתוכנית תוכל להמשיך, בדומה לחלון סגירת פאוסבחווו), כך ששורת הקוד השלישית לא מופעלת עד אשר הטופס מוסתר. אס המשתמש משנה את ערך 5586 מתוך הטופס ולאחר מכן מסתיר את הטופס, השורה השלישית של הקוד מציגה תיבת הודעה עס הערך החדש. שמירת משתנה כמקומי במקריס בהס אין צורך לגשת למשתנה מכל מקוס בתוכנית, אין טעס להשתמש במילת המפתח סו|טטש בהצהרה. במקוס זאת, ניתן להשתמש במילות המפתח חופ או 6זט, אשר אומרות ל- 88566 |8טפו\ להגדיר את המשתנה בתחוס השיגרה או הטופס הנוכחי, בהתאמה. בהצהרות מסוג וזה, מיקוס פקודת ההצהרה קובע את טווח ההכרה במשתנה. אס המשתנה מוגדר בחלק ההצהרות הכלליות בטופס או במודול, המשתנה יהיה וּמין לכל שיגרה באותו טופס או מודול. משתנה מסוג וה מכונה משתנה ברמת 6 סדנת לימוד 6.0 8\ הטופס (180!6ז8/\ |6ש6! וחזס) או משתנה ברמת המודול (806ז3/\ |6ע8! 6וטססא). אס המשתנה מוגדר בתוך שיגרה, ניתן יהיה לעשות בו שימוש בתוך שיגרה וו בלבד. משתנה מסוג זה מכונה משתנה מקומי (6|סהוזה /\ |063 )). מדוע כדאי לשמור משתנה בצורה הכי מקומית שאפשר! התשובה מתחלקת לשניים : + הרגל תכנותי טוב. קשה יותר לנפות שגיאות ולתחוק קוד המבוסס על משתנים ציבוריים. לדוגמה, הבט בשני המימושים של השיגרה הפשוטה, 68/6108 : ()68|608 50 ווח * ווח 8 " 15 זסצ\5חה סד" אס ספ 50 0ח= (06061ח1 35 ה06ו/\ח ,1065061 5 הווח )68 68|6 טט5 ווח * ווח .8 " 15 זסצ\5חה סד" אס ספ טט5 0ח= אס משימתך תהיה לנפות שגיאות בשיגרה 68!64768, תיווכח שהדוגמה הראשונה קשה ביותר לניפוי. החישוב מותנה בכך ששני משתנים ציבוריים טַח8ַופחח ו-חז0ו//ח). יהיו מכווניס נכון. בדוגמה השנייה הבעיה אינה כה קשה משוס ש-00%ו6ח ו-הס0ו/\ח מוגדריס כפרמטריס של הפונקציה, כך שהמפתת :כול לקרוא לפונקציה מחלון הפקודות המיידי מבלי להציב לפני כן ערכים במשתניס. כמובן, שכדי לגרום ל-68|6068 להיות מודולרית וניתנת לשימוש חוזר ככל אפשר, עדיף יהיה להפוך אותה לפונקציה. + שימוש במשאבים: הסיבה השנייה לשמירה על מקומיות המשתנים היא עניין של הגיון בריא. כאשר משתנה מוגדר כ-סוופטס, 88516 |1508/\ חייבת להפוך אותו זמין לכל הטפסים והמודולים בתוכנית שלך. היקפו המוגבל של משתנה מקומי מצריך כמות קטנה יותר של משאבים, ובכך מייעל את התוכנית. שימוש במשתנים סטטיים מרבית המשתנים אשר מוגדרים בתוך שיגרה, יינזרקים"י על ידי 8856 |8טפוש עם סייוס השיגרה. אך יש מקרים בהס תהא מעוניין לשמור את ערך המשתנה גס בסיוס פעולת השיגרה. לדוגמה, כאשר יש צורך לקרוא לשיגרה מספר פעמים, וערך משתנה מסוים תלוי, בכל פעס, בערך שניתן לו בפעס הקודמת בה הופעלה השיגרה. דוגמה: יש לך שיגרה המדפיסה את מספר העמוד בראש כל עמוד בדוח. אותה שיגרה צריכה לשמור את מספר העמוד שהודפס בעת הפעולה הקודמת, כדי שתוכל להגדילו בכל פעם במספר אחד. כדי ליצור משתנה אשר שומר את ערכו, יש להשתמש במילת המפתת 50806 בתוך הצהרת המשתנה. מכך מבינה 8856 |1508/ שני דבריס: המשתנה הוא מקומי לאותה שיגרה, וכן יש לשמור את ערך המשתנה כי ייתכן שיהיה בו צורך מאוחר יותר. הנה דוגמה לשילוב מילת המפתח 5906 בהגדרת המשתנה: 5 זסטרגו\\סטהקח 50806 פרק 8: שימוש במשתנים לאחסון מידע | 217 הערה: שימוש במילת המפתח 5006 בראש הפונקציה/השיגרה (כמו ב: פט5 5%8₪6 טט5צץוא), הופכת את המשתנים בשיגרה לסטטיים. השיגרה הבאה מדגימה את העיקרון: (65ד 500 5%806 לחז 5 א וחוס א 8 " = +6₪ו509000 3550076% 61076 א )0 סטו3/\" +חחחק. פטסטס 4 = א א " = 5090660 +ה6רח355/0 3001 א +0 סטו3/\" +חוזק. פטסטס 50 0חם בדוגמה זו, 88516 |1508\ תתייחס למשתנה א בתור משתנה סטטי. בפעס הראשונה שתקרא ל--165, הפלט יהיה 0 ו-1234. בקריאה הבאה יופק הפלט 1234 עבור שני הערכים - לפני ואחרי. שימוש בפקודה זוסו1ןא= הסושק0 מוקדם יותר בסעיף הצהרות משתנים, למדת כי הצהרה על משתנים, טרס השימוש בהס, הינה הרגל תכנותי טוב. ניתן לגרוס ל- 8856 |508!/ ''להכריתיי אותך להצהיר על המשתניס על ידי שינוי אחת מאפשרויות הסביבה שלה. כדי לעשות ואת, היכנס לתיבת הדו-שיח פ5חסשקס, על ידי בחירה ב-1001!5, 5חסשקס. היכנס לכרטיסיית +חסוההסזוטחם ובחר בתיבת הסימון הסוז3ּז266!3 6!טבּוובּ/\ 6זוטף₪6 (ראה תרשים 1). פעולה זו תגרוס ל- 8856 |1508/\ לדרוש הצהרה על כל משתנה טרס השימוש בו. 4 0000 המר | 8 | חפוחסזויתם | בס | ו | זט זו | יד 55 6006 -ן 0% אבלחץ5 סטוה ]1 5 105% סטוה ]1 סח סונו ססנום | ] 5 088 סזנוה ] הסנת סטוה | שן 4 | :זוי סד 5חַחו5050 אוסטחו/ -ן הַח0ו= 78% ספיזוס-החבּ-הַבּזם. 1 סו/\ 6|נוסו] !וט 6 606 ש] 3 500 6ז0פססזם. 1[ סוסו | |08ח תרשים 8.1: האופציה ח800ז66!3כ 880!6/ 6זוט₪60 עוזרת לך להימנע מכתיבה לא נכונה של שמות משתנים בחירה באפשרות זו תגרוס למיקוס הפקודה זו6!|קא= חסקס בחלק ההצהרות הכלליות של כל המודולים והטפסיס החדשים שתוסיף לפרויקט, ראה תרשים 8.2. 8 סדנת לימוד 6.0 8\ | |םן | [ ו - (80/008ז060!3) - (/9 6ח66), % א 4 תרשים 8.2: הפקודה זו60ו|כֶא= חסטק0 מתווספת לתוכניתך כאשר בטופס או במודול מופיעה הפקודה %ו6ו1קא= חסשקס, אך אתה נמנע מלהצהיר על משתנה, בעת הפעלת התוכנית תתקבל על המסך הודעת השגיאה: 06ח 8806 0 (משתנה לא מוגדר). מנפה השגיאות יאיר את המשתנה הפגוס ותהליך ההידור ייעצר. הודעה וו מסייעת לך לאתר טעויות שמקורן בשגיאות כתיב. למשל, בעת הצהרה על משתנה באמצעות ההוראה הבאה: 509 5 סחבּועו5 וחוס אם בהוראה מאוחרת תכתוב לא נכון את שם המשתנה, 8856 |%5088 תגלה את השגיאה עבורך במקוס להמשיך ולגרוס לתוצאות בלתי צפויות. לדוגמה, אס הוראת פוסו|קאם חסטקס מופיעה במודול או בטופס, הפקודה הבאה תגרוס להודעת שגיאה; אחרת התוכנית תמשיך לפעול מבלי להציב את הערך במשתנה הרצוי: "סוזה] החוד" = 6וחו\ץו5 ללא ההוראה 501166 חסטקס, שורת הקוד הקודמת היתה יוצרת משתנה נוסף, במיליס אחרות, היו לך שני משתני מחרוזת : 6וחהאץ5!1 ו-6וחאזץ5%. הערה: אם תבחר את האופציה 668800 6|פאוז\ 6זוטוף6 לאחר שתתחיל ליצור תוכנית, האופציה לא תשפיע על טפסים או מודולים שנוצרו כבר. במקרה זה, תוכל להוסיף את ההוראה זשו|קא= חסטק0ס כשורה הראשונה של הקוד באזור ההצהרות הכלליות בכל אחד מהטפסים או המודולים הקיימים. טיפ: אם הינך משתמש במעט אותיות גדולות בהצהרות המשתנים (והשגרות), כתוב את 7 הקוד באותיות קטנות. 885/60 |8פו/\ תשנה אוטומטית את גודל האותיות בשמות המשתנים כך שהם ייראו כמו בהצהרה שלהם. דרך זו תספק לך התוויה חזותית מיידית לכך שכתבת נכון את שם המשתנה (גודל האותיות ישתנה רק לאחר הקשת זפזח= בסוף השורה). פרק 8: שימוש במשתנים לאחסון מידע | 219 מה שונה בקבועים שימוש במשתנים הינו רק דרך אחת לשמור מידע בזיכרון המחשב. דרך אחרת היא על ידי שימוש בקבועים (₪ח607508). קבועיס מטופליס בדרך מיוחדת. לאחר הגדרתס (אס לא הוגדרו מראש על ידי 8856 |1508/), איו אפשרות לשנות את ערכס במהלך התוכנית. ניסיון לעשות ואת יגרוס להופעת הודעת שגיאה בעת הפעלת התוכנית. נסה לחשוב על קבועיס כעל משתניס אשר לא ניתן לשנות את ערכיהם. כיצד להשתמש בקבועים קבועים משמשיס בדרך כלל להחלפת ערכיםס אשר קשה לזכור או לכתוב, כגון ערך הצבע של שורת הכותרת בחלון. קל יותר לזכור את הקבוע 6081 60/81הפצ מאשר את המספר 2147483646-. ניתן גס להשתמש בקבועים כדי להימנע מכתיבת מחרוזות ארוכות בהן נעשה שימוש במקומות רביס בתוכנית. למשל, ניתן להגדיר קבוע כמו 0 זזסו, אשר יכיל בתוכו את המחרוזות ''0חטס) +סח 85ּ\ו 6| 6065560 סחדיי. לעיתיס קרובות הס משמשים גס כגורמים המיועדים להמרה, כגון 12 אינציים לרגל, או 3.3 רגל למטר. דוגמת הקוד הבאה מראה כיצד משתמשים בקבועים ומשתנים: 605% ]16%075 ] 060% = 3 ("5ז6%0רח חן 0158006 38 זס)ח=" )אסם+טסח1 = 8ז60!ס5וח 60| * 560075וכח = 66%- וח (150-667 )60507 .8 " :5] 166% חן 01558066 סחד" אס 50 שימוש נפוץ נוסף לקבועיס הוא צמצוס שינוייס בקוד, כמו שינוי שס התוכנית, מספר הגירסה וכדומה. ניתן להגדיר קבועיס בהתחלת התוכנית ולהשתמש בהס בתוך התוכנית. כאשר מספר הגירסה משתנה, כל שצריך לעשות הוא לשנות את הצהרת הקבוע (במקוס לשנות את כל החלקים בתוכנית שמשתמשים במספר הגירסה, למשל). הדוגמה הבאה ממחישה טכניקה זו: "6רחה3\] הסספסו!סקג עו" = 6 דפסזק 56ח60 סוופגוק "3.1" = חסופזס/\ףסזק 55ח60 סווסוק שיס לב לשימוש במילת המפתת סו|טטק, אשר גורמת לקבועים אלה להיות זמיניס בכל התוכנית (בהנחה שההצהרה הזו נמצאת בתוך מודול). קבועים המסופקים על ידי ₪356 |בּש5ו\ 6 |אטפו\ מספקת מספר קבועים מובניס עבור פעולות שונות. קבועיס אלה ידועיס גס בתור קבועים פנימיים (0ח5098ח00 6ופחושח1). בין קבועיס אלה מצוייס קבועי הגדרות צבעים, קבועי גישה לנתונים, קבועי קודיס למקלדת, קבועי צורות ועוד. קבועיסם שימושיים במיוחד הס הקבועיס הקשוריס לפרמטרים של פקודות, כמו הקבוע ח6!80800אםפצ אשר נמצא בשימוש בפקודה א5480א, כפי שכבר למדת בפרקיס הקודמיס. 0 סדנת לימוד 6.0 8\ הקבועיס, אשר בהס ניתן להשתמש ברוב הפונקציות, מתוארים בנושאי העזרה של אותן פונקציות. אס ברצונך לדעת ערך של קבוע מסוים, תוכל להשתמש בסורק האובייקטים (זספאוסזם ‏ 60[פ0), ראה תרשים 8.3. ניתן לגשת אליו בעזרת לחיצה על הסמל שלו בסרגל הכלים, על ידי בחירת ש6ז/, ז50ששסז8 09[66% מתוך התפריטים, או פשוט על ידי הקשה על 2=. תוכל להשתמש ברשימה כדי למצוא את הקבוע הרצוי. לאחר בחירתו, יופיעו ערכו ותפקידו באזור הטקסט שבתחתית תיבת הדו-שיח. |אומן. + | י|+ | <65וזפזטו 1 וות> 2 | - ואט וו חחושל 9 6 חס ₪ הטוס 6% וסוס ₪ 2חסנוםזוט3ז ספל ₪9 וו 9% 3חסחטם)וטגזה ספ ₪ 5180001008 קנ 34 סט ₪ ד ₪ ו וד ו הו רזחומ 9 (0זח059100\ ₪ טמ | ]| ]חפנו ₪ וט | המת /ר קציו = ואס טופ | | ד תוס הט שב - (8130) 48 = ה0ו094ם!0א 00510 6 וטע המע 01 זססחוסו 5000 זס1 1ה518חס6 ]ה6חוגופזה חסזושם תרשים 8.3: סורק האובייקטים מראה את הערך והשימוש של רוב הקבועים הפנימיים ב- 28510 |1808/\ יצירת קבועים משלך 6 |8%ש5\ מציעה אומנס קבועיס רביס למיגוון מטרות, אך לעיתיס תצטרך גם להגדיר קבועיס משלך. קבועיס מוגדריס באמצעות הפקודה ‏ 600% המייחסת לקבוע שס וערך, כפי שניתן לראות בתחביר הבא : 8 = [00051000/06 5 ] 60705/00108776 5%ח60 [6ש8טוזק | 6ווסטק] אס הוראה זו נראית לך דומה להצהרה על משתנה, אינך טועה. בדומה להצהרה על משתנה, גס בהצהרה על קבוע יש לספק שס עבור הקבוע, וכאופציה - גםס את סוג המידע אשר הקבוע יכיל. מילת המפתת 600% בתחילת המשפט מיידעת את 6 |808/\ כי מדובר בשורת קוד המגדירה קבוע. מילת מפתח זו מבדילה בין פקודה זו לבין פקודות אחרות, המציבות ערכיס במשתנים. כאשר מגדיריס סוג של קבוע, יש להשתמש באותם סוגיס המשמשים להגדרת משתנים (רשימת הסוגיס נמצאת בטבלה 2). לבסוף, כדי להשלים את הגדרת הקבוע, יש להוסיף את סימן השווה (=) ולאחריו את הערך המוצב בקבוע. אס הינך מגדיר קבוע מחרוזת או קבוע תאריך, וכור לתחס את הערך בין סימני מרכאות (יי) או סולמית (א), בהתאמה. פרק 8: שימוש במשתנים לאחסון מידע | 221 חשוב לדעת גס על טווח ההכרה בקבוע: החוקיס אשר תקפים לגבי קביעת טוות ההכרה במשתנים, אשר נדונו בסעיף היכן כדאי לעשות שימוש במשתנים, תקפיס גס לגבי קבועיס. מכאן... פרק וה ערך סקירה כללית בנושא שימוש במשתנים וקבועים ב- 8856 |1508/\. + בפרק 11 ניהול הפוויקט: תת-שגרות, פונקציות, וריבוי טפסים, תלמד את יסודות כתיבת הקוד המהווה את תמצית היישום ב- 8856 |1508/. לקבלת מידע נוסף על תכנות, פנה לפרקיס הבאים: + עיין בפרק 9 יסודות התכנות של 83516 |1503, כדי להעמיק את היכרותך עם השפה. > עיין בפרק 12 הפקדים המשותפים של 60501%ו1א, כדי ללמוד עוד על האירועיס הרביס והשוניס המיוחסיס לפקדים של 8856 |1508/\. 2 סדנת לימוד 6.0 8\ 9 יסודות התכנות של 6 |ובּופוצ פרק 9: יסודות התכנות של 8856 |השפו\ - 223 למרות החשיבות שבתכנון ממשק המשתמש, כולל טפסים ופקדים, מרבית העבודה המעשית מתבצעת על ידי שימוש בקוד. במונח קוד הכוונה לקטעי תוכנה הכולליס משפטים ופונקציות. כבר ידוע לך שטפסים יכוליס לכלול קוד, וכן הודגם איך ניתן לחדור אל הקוד יימתחת לפני השטחיי של הממשק החזותי של הטופס. לשס תזכורת נסקור את כל חלקי תוכנת 8856 |1508/ שייתכן שהס מכילים קוד: <* טפסים + מודולי קוד > מודולי מחלקה > פקדי משתמש יתרונה הגדול של 88516 |508ו/\ הוא בכך שהשפה שבה נכתב הקוד היא גס בעלת עוצמה רבה וגם פשוטה יחסית לשימוש. היא צאצא ישיר לשפת התכנות הוותיקה 8516. 6 תוכננה כשפה למפתחיס מתחילים, ומכאן שמה, המורכב מראשי התיבות "6006 105006000 6ו|סטוחץ5 6פסכזטם-||ה 5"וסחחופסם" (י'יקוד הדרכה סמלי לכל השימושיס למפתח המתחיליי). פרק זה בוחן אחדים מהמושגיס הבסיסיים בתכנות ב- 8856 |808ו\: כתיבת קוד תוכנה, עבודה עס מידע עיצובי וכדומה. בפרק 10, שליטה במהלך התוכנית, נמשך הדיון בשאלת בקרת התוכנה בעזרת לולאות ומשפטים מותנים. כתיבת משפטים הפרק הקודם שימוש במשתנים לאחסון מידע, לימד מעט על משתניס וקבועיס. הוסבר איזה סוג נתוניס ניתן לאחסן בהם, וכיצד להצהיר עליהם. ווהי רק תחילת העבודה עס מידע בתוכנית. דרוש גס לדעת איך להקצות מידע למשתנים, להפעיל מידע זה ולהשתמש בתוכן המשתניס בקודים אחריס של 8856 |1508/\. לביצוע מטלות אלו משתמשיס במשפטי קוד (6ח5080606). בהפשטה, משפט הוא שורת קוד, הגורמת למחשב לבצע פעולה. להלן דוגמאות אחדות לפעולות הניתנות לביצוע בעזרת משפטים: הקצה ערך למשתנה "חשזטה |" = 5816 קרא לפונקציה מוגדרת מראש "[פַחהוחזסו! 6000" א5080ו ח60עסו השח 1000 < הסוסה 6ודה זז 4 סדנת לימוד 6.0 8\ הסעיפים הבאים דניס במשפטי הצבה בסיסיים ובפעולות ומחרוזות מתמטיות. בהמשך הפרק, בסעיף תוצאות העיצוב תלמד איך לעצב מספרים ומידע אחר המטופל בידי קוד התוכנית. השימוש במשפטי הצבה לאחר הכרזת משתנה, הפעולה הנדרשת ראשונה בדרך כלל, היא אחסון מידע באותו משתנה. זה תפקידו של משפט ההצבה 51806060 +ח6וחת550ה). מבנה משפט ההצבה הוא פשוט: אתה מציין את המשתנה שאת ערכו ברצונך לקבוע, מציב לאחריו סימן שוויון, ולאחריו ביטוי המייצג את הערך האמור להיות מוצב בו. דוגמה למשפט הצבה בסיסי ביותר היא: 5 = א משפט ההצבה אומר ל- 8856 |1508\ להציב את המספר השלס 5 בשטת הזיכרון המיוצג על ידי המשתנה א. ההצבה אינה מוגבלת כמובן למספריס שלמים. הביטוי שאחרי סימן השוויון יכול להיות ערך מילולי, ביטוי או משוואה המורכבת משילוב כלשהו של משתנים וקבועים אחרים, או אפילו פונקציה מתמטית המגדירה ערך. אין הגבלה לדרגת המורכבות של הביטוי. המגבלה היחידה היא, שהביטוי חייב להחזיר ערך מסוג המשתנה אליו הוצב. טבלה 9.1 מדגימה משפטי הצבה אחדים: טבלה 9.1: סוגים של משפטי הצבה ביטוי מתמטי 5 טאה / 0656076 דח = 1/056076 "זסחהל+וס= החוד" .8 " .5זוא" = 5500056086 "הו6א\68 15ח60856%)"6/\ = 6 בא]|103ק568 ייתכן שהבחנת בדמיון שבין ערכיס אלה לערכיס ששימשו לקביעת תכונות הטפסים והפקדים בסעיף אופן ההפנייה לטפסים ופקדים בקוד, שבפרק 3, אבני היסוד של 6 !509ו/. למעשה ערכים אלה זהים. רוב מאפייני הטפסים והפקדים זהות. ניתן לקבוע אותס בשלב התכנון, וגס לשנותס בעת ההרצה, תוך שימוש במשפטי הצבה. מאפייני בקרה משמשים בחלק הימני של המשפט להצבת ערך במשתנה, ובחלק השמאלי לשינוי ערך המאפיין. לדוגמה: נניח שקיימות שלוש תיבות טקסט בטופס: 35006 זט (שס המשפחה), 6וההחספזוט (שס פרטי), שותהח6זסהםאט (שס מלא). כשמשתמש מזין שס פרטי ושס משפחה, כדאי שהשס המלא יוזן אוטומטית. פרק 9: יסודות התכנות של 8856 |508ו%\ | 225 דרך אחת לבצע ואת היא לאחסן כל מידע מתיבת הטקסט במשתנה, כמתואר להלן: 0חו50 5 5-36 חחוס 50 5 סחחהּ\ 51 חזוס 36 \5ן- א = 5-36 6וחהּ\35ּ אס = 6חחבּא 51 ניתן עכשיו לאחסן את צירוף השס הפרטי ושס המשפחה במשתנה אחר, ולהשתמש בו לעדכון 6וח68זחםט (השס המלא) באופן הבא: 509 5 536 חחוס 6חה\85% | ,8 * * ,6 6רחב5זו- = 6רח51\3 6וחהּ\5 = סותהּ\סזוסח= ואס כמובן, מכיון שניתן להתייחס לתיבות טקסט כאל משתנים (לפי מאפיין ברירת המחדל של הפקדים), ניתן להגיע לאותה תוצאה ללא הצהרת משתנים, לדוגמה השורה הבאה: סוה \35 | .8 * * .8 690-536 = 6רחבּ\סזטח= )אס שורת קוד זו יעילה יותר, מכיון שאינה דורשת קביעת מימדי המשתנים. אולס, במקרה שקוד ניגש שוב ושוב למאפיין פקד (כמו למשל ב- ססס! זסו), אחסון מאפיין במשתנה זמני יעיל לפעמים יותר. שימוש בפעולות מתמטיות אחת מפעילויות המפתח של תוכניות מחשב רבות הוא עיבוד נתונים נומרייס. פעולות מתמטיות קובעות הוצאת חשבונות ללקוחות וערכי ריבית על חסכונות ועל חיובי כרטיסי אשראי, מחשבות ממוצעי ציוניסם ומייברות קטעי מידע רביס נוספים. 6 |אשו\ תומכת במספר אופרטוריס מתמטיים, שניתן להשתמש בהס במשפטי תוכנית. פעולות אלו וסמלי 8856 |508ו\ המייצגים אותס מרוכזים בטבלה 9.2. הפעולות מתוארות בפירוט בסעיפיס הבאיס. טבלה 9.2: פעולות מתמטיות וסמלי 83516 |הּטפו\ התואמים להם פעולה אופרטור | חמור 0000000 + חיבור חילוק שארית חילוק (פ5ט!גוטסוו) העלאה בחזקה 6 סדנת לימוד 6.0 8\ ב- 8856 |508/\ משמשות הפעולות המתמטיות ליצירת משוואות. אלו כוללות אופרטורים, משתנים וביטוייס אחדים, כמו למשל בדוגמה הבאה: 5 * 69 / (00.)חטסוח\ס + 115) הערה: הערך החוזר מ-6.)חטסוח\ט הינו מחרוזת טקסט, אך 8856 |שפו/ יודעת להפוך ערך זה למספר, כדי לא ליצור חיבור בין ערך נומרי לערך טקסטואלי. יש לשים לב כי למרות שהביטוי בדוגמה הוא בר-תוקף, שורת הקוד כשלעצמה איננה מבצעת דבר. תוצאת הפעולה צריכה להישלח ליעד כלשהו, למשל להיות מוצבת כמשתנה, או להיות מוצגת על צג המחשב. חיבור וחיסור שתי הפעולות המתמטיות הפשוטות ביותר הן חיבור ותיסור. לכל מי שהשתמש במחשבון לביצוע פעולות אלו יש מושג טוב איך הו מתבצעות כשורת קוד מחשב. תוכנית מחשב מאפשרת גמישות רבה יותר ממחשבון. פעולות אלו אינן מוגבלות לעבודה בביטוייס מספריים (למשל 1, 15, 37.63, 105.2-). התוכנה מאפשרת לחבר או לחסר שניים או יותר ביטוייס מספריים, משתנים נומריים, או כל פונקציה המחזירה ערך מספרי. כמו-כן ניתן, כמו במחשבון, לבצע כל צירוף של פעולות חיבור וחיסור. נבחן עתה איך בדיוק מתבצעות פעולות אלו. השימוש באופרטור החיבור אופרטור החיבור ב- 8856 |1508/ הוא סימן הפלוס (+). השימוש הכללי באופרטור הוא כמוצג בשורת התחביר הבאה: [3ז6סוחווח +] 2זססוחטח + 1וססותח = %|50סז סז הוא משתנה (או מאפיין פקד) המכילה את סכוס המספריסם. סימן השוויון מציין הצבת ערך למשתנה. 6/1קקשח, 2וספוחטת ו-63פוחטח הם הביטויים המספריים, המשתניס המספריים או הפונקציות שיש לסכם יחד. ניתן לחבר מספרים ככל הנדרש, אך כל וּוג מספרים חייב להיות מופרד בסימן פלוס. השימוש באופרטור החיסור אופרטור החיסור הוא הסימן מינוס (-). התחביר והה בסיסית לגה של פעולת החיבור: [3ז6ס חחח -] 2זססותוח - 1זססותטח = %|50סז בניגוד לפעולת החיבור, שבה אין משמעות לסדר הנתוניס, בחיסור המספר לימין סימן המינוס מחוסר מהמספר לשמאלו. במקרה של פעולה רב מספרית, מחוסר המספר השני מהראשון, המספר השלישי מחוסר מהתוצאה וכן הלאה, תוך מעבר משמאל לימין בטור המספריס. פרק 9: יסודות התכנות של ₪856 |508ו%\ - 227 לדוגמה במשוואה הבאה: 6506 = 15 - 6 - 3 המחשב מחסר ראשית 6 מ-15, כשהתוצאה 9. אחר הוא מחסר 3 מ-9 ומקבל 6 כתוצאה סופית עבור המשתנה %/650ז. טיפ: ניתן לשלוט בסדר הפעולות על ידי שימוש בסוגריים. למשל: שורת הקוד הבאה תציב את הערך 12 במשתנה :6801ז: ]650|) = 15 - )6 - 3( ניתן ליצור משפטי הצבה הכוללים רק אופרטוריס של חיבור או חיסור. ניתן גם להשתמש בשני האופרטורים יחד, או לשלבס עם אופרטורים מתמטיים נוספים. דוגמאות אחדות לאופרטוריס תקפים הן: /8|1 = 1.25 +7 82 = 11 1 + אע = 8|3/ 3 + 2.1 - 3.75 + 3|פע = 8|4/ 1 + 4וה/ = 8|4/ למי שאיננו מכיר תכנות מחשבים, ייתכן שהשורה האחרונה (שבה מופיע אותו שס משתנה גס לשמאל סימן השוויון וגס לימינו), נראית משונה במקצת. שורה כזאת אכן איננה מותרת בכמה שפות תכנות. ב- 88566 |1508/ על כל פנים, ניתן לכלול שורת קוד האומרת לתוכנה לקחת את הערך הנוכחי של משתנה, להוסיף לו מספר אחר ולאחסן את התוצאה המתקבלת באותו משתנה. כפל וחילוק שני אופרטוריס מתמטיים עיקריים נוספיס שיש להכיר, הם כפל וחילוק. כמו חיבור וחיסור, נעשה בהס שימוש רב בתיי יוס-יוס. השימוש באופרטור הכפל ב- 88516 |1808/ פעולת הכפל מבוצעת באופן ישיר, ממש כמו חיבור וחיסור. אתה פשוט משתמש באופרטור הכפל - הכוכבית (*) - להכפלת שני מספרים או יותר. תחביר משפט ההכפלה המופיע להלן, והה כמעט לזה של משפט החיבור והחיסור: [3ז06וחטח *] 2זססותטח * 1זססותטח = 65061 כמו במקריס הקודמים, 690!61 הוא שס המשתנה שנבחר לאחסון תוצאות ההכפלה, רואילו 1ז6קחשח, 2וספותטח ו-3ז6פוחטח הם ביטויים מספריים, משתנים נומריים או פונקציות. 8 סדנת לימוד 6.0 8\ השימוש באופרטורים של חילוק פעולת החילוק ב- 8856 ו508\ מורכבת מעט יותר מכפל. הקוד שבתוכנית 9.1 להלן מציג את השימוש בשיטת חילוק אחת, זו המוכרת בחיי היומיום ומשמשת במחשבונים. התוצאה מתקבלת כמספר והשבר העשרוני שלו (אס יש שבר). אולס, ו היא רק אחת משלוש שיטות חילוק הנתמכות על ידי 8856 |הטפוצ. הן מוכרות כחילוק עם נקודה צפה (חסופוטום זחוסק פַחחפסו=, השיטה הרגילה והמוכרת), חילוק מספר | שלם (הסופוצו | ז600שה1) | וחילוק | מודולוס | או שאוית חילוק (חסופועו ,זס 0חוהוח6ז זס ,פטוטססוא). חילוק עם נקודה צפה הוא החילוק הטיפוסי, שמלמדיס בבית הספר. מספר אחד מחולק בשני, והתוצאה היא מספר עשרוני. האופרטור שלו הוא הקו הנטוי (/): [3ז6 הח /] 2זססוהווח / 1זססותוח = 650|6ז השורה הבאה מחזירה את התוצאה 1.33333 : 3 / 4 %חוזק חילוק מספר שלס מחלק מספר אחד בשני, ומחזיר רק את החלק השלס של התוצאה. האופרטור שלו הוא הקו הנטוי ההפוך (): [3ז6ס ווח \] 2זססוחווח \ 1זססותוח = 650|6ז השורה הבאה מחזירה את התוצאה 1: 3 \ 4 )חוזק חילוק מודולוס (או שארית חילוק) מחלק מספר אחד בשני, ומחזיר כתוצאה את השארית המתקבלת לאחר קבלת מנת השלס הגדולה ביותר האפשרית. אופרטור הפעולה הוא המילה הלטינית 00 : [063 7 סרח ] 0672 סח 706771 = 5|6סז השורה הבאה מחזירה את התוצאה 2, השארית המתקבלת כשמחלקים 20 ב-3: 3 06 20 %חוזק כמו בחיבור, חיסור וכפל, אס מתבצע חילוק של יותר משני מספרים, כל זוג מספרים צריך להיות מופרד באופרטור חילוק. כמו כן, כמו במקריס האחרים, פעולה מרובת אופרטוריס מתבצעת על ידי קריאת המשוואה משמאל לימין. פרק 9: יסודות התכנות של 8856 |50ו%\ - 229 תרשיס 9.1 מדגיס את ההבדלים בין האופרטוריס השוניס של החילוק. הקוד ללחצן הפקודה בטופס המוצג הוא: = [סטסחו ]דד = סטסחו טשטסחו / 1)טסח! = 60 ד.63א6ד טטטסחו \ 1)שסח! = 60 ד.4)א6ד שטסחו סח 1)+טסחו = 6% ד. )אד תרשים 9.1: תוכנית זו מדגימה את ההבדלים בין שלושה סוגי פעולות החילוק של 6 |08פו/\ לאחר בניית הטופס הר את התוכנית. הצב 5 בתיבת הטקסט הראשונה ו-3 בשנייה, ולחץ על לחצן הפקודה. שים לב למספרים השונים המופיעים בתיבות הטקסט המציגות תוצאות. ניתן לנסות דוגמה זו גם בצירופי מספרים אחרים. השימוש בכפל ובחילוק בתוכנית כהדגמה לשימוש בכפל ובחילוק בתוכנית מחשב מובאת להלן דוגמת תוכנה לקביעת כמות הצבע הדרושה לצביעת חדר. תוכנה כזאת יכולה לכלול טופס, המאפשר לצבעי להוין את אורך החדר ורוחבו, גובה התקרה, שטח הכיסוי של פחית צבע אחת ואת מחירה. דוגמת הטופס מופיעה בתרשים 9.2, והקוד לביצוע החישוביס מופיע ב-ק8/. אש דה ו. 0 סדנת לימוד 6.0 8\ "7" ₪ תרשים 9.2: כדי לקבוע את כמות הצבע הדרושה לצביעת חדר משתמשים בפעולות כפל וחילוק תוכנית 9.1: ?8/.אשה דא הערכת עלות צביעה בשימוש באופרטורים של כפל וחילוק ()א6116 068|60|8386ח6 סטש 6ספעווק 6חו5 45 ה6סח6 |רה0ס% הזוס 6חו5 5 00 הזוס 6 5 ור 100 הוחו 6 5 00067806ח608 וחוס ץ6ח6זו 5 005%ח608 חחזום 6חו5 5 זס0ז6רחו קר 00 החוכ 56 45 68זה||8// וחוס חומ 45 פחסו|ה6וחוצ? וחוכ הסט 5 605%[סזק6 וחוס (0א6 ד.ה0%ח6 60%ס)!8/\ = הז0ח6 ווהסס? (0א ד. 00ו//\8|)000/\ = הססו/\והסס (0א6 ד.ז00ו3|)00016/\ = +הסוסהוהסס? (0א6 8|)00000/61806.7/\ = 1300007806 (0א6 [.8|)000005%/\ = 6680605% וסור 100 * 2 + חס |ההססז * 2 = סלוו קוהסס? וס סז * סקר סב = 68זה||ב\/ת 6 / 68זה||1\\3 = פחסו|השוחטצ * פחסו|ה6וחטו\ז = 605[סיק6 5חס!|8רנו\\1 = 6% דך.5חס!|06008ס = )א 068|005%.7 אס 50 0ח= פרק 9: יסודות התכנות של ₪856 |8טפו/- 231 כדי לנסות קוד זה, יש להתחיל ביצירת פרויקט 5אם ב- 8856 |150/. הוסף לטופס שבע תיבות טקסט. קבע את מאפייני 6וחפּ)! שלהן ל- ה%ז0ח6 6אס, זח0ו066ט, 6)00/67806)ס, 5חס||68 ו-0%8!6005% 0001 חמש תיבות הטקסט הראשונות מיועדות לקלוט מידע מהמשתמש. שתי האחרונות מחזירות מידע. ייתכן שתרצה להוסיף פקדי רמה תיאורית לצד כל תיבת טקסט. בשלוש תיבות הטקסט העליונות שבדוגמה מזיניס את מימדי החדר. בשתי תיבות הטקסט האמצעיות מזיניס את יכולת הצבע לכסות במייר ואת עלותו. שתי תיבות הטקסט התחתונות מציגות את מספר הגלוניס שנדרש לביצוע הצביעה ואת העלות. אחר יש להוסיף לטופס לחצן פקודה. שנה את מאפיין 86 שלו ל-068|6018%6ח6, ואת מאפיין ח68000 ל- 605% 00 68|60!8%6. הוסף את שורות הקוד המופיעות בתוכנית 9.1. שמור והרצ, כדי לראות את הפעולה. שימוש במעריך מעריכים נקראים גס חזקות. למשל, 2 בחזקת שלוש (2), שווה-ערך ל- 2%2א2, או 8. מעריכיס משמשים רבות בפעולות מחשב, שבהן ערכים רבים מיוצגים כביטוי בחזקת שתייס. הם גס מופיעיס בהרחבה בעבודות מדעיות והנדסיות, שבהן מונחיסם מתמטייס מוצגיס לעיתים קרובות כחזקות של 10 או כלוגריתמיס טבעיים. מעריכים פשוטיס יותר משמשיס בסטטיסטיקה, שבה חישובים רביס תלויים בריבועי מספריםס או בשורשיהס הריבועיים. כדי להעלות מספר בחזקה משתמשים באופרטור המעריכי (זסזבּז6ק0 |הסחפחססאם), או בח העילי (י). מעריכים גדוליס מיחידה מייצגיס העלאה בתחזקה. מעריכיס שהס שבר מייצגיס הוצאת שורש, ומעריכים שליליים מייצגיסם שברים. להלן תחביר האופרטור המעריכי: 2זסטוח * 1זססהווח = זסצ\פחהּ המשוואות בטבלה הבאה מציגות שימושיס נפוצים במעריכיס. מצוינות גס הפעולות שכל משוואה מבצעת. הוצאת שורש ריבועי ממספר 3 = 0.5 א 9 הצגת שבר ע"י מעריך שלילי 5 = 2- % 2 2 סדנת לימוד 6.0 8\ קדימות אופרטורים ביטוייס רביס מכילים שילוב של האופרטוריס שתוארו. במקריס כאלה חשוב לדעת באיזה סדר מפעילה 8856 |1508\ את טיפוסי האופרטוריס השוניס. למשל, מה ערך הביטוי 2 / 6 + 3 * 4! ניתן לחשוב שהאופרטוריס מופעליס לפי סדר הופעתס משמאל לימין. במקרה וה 3 * 4 שוויס 12, 6 + 12 שוויס 18, 2 / 18 שווים 9. למעשה, 6 |508/\ אינה מפעילה בהכרח את האופרטוריס לפי סדר הופעתם משמאל לימין. היא עובדת לפי סדר הפעלה ברור, הידוע כקדימות אופרטורים (800ז6ק0 6 6 |808ו/\ מפעילה תת-קבוצות של אופרטוריס לפי סדר הקדימויות הבא: > פעולות מעריכיות (א) * הפעלת סימן שלילי (-) + כפל וחילוק (*, 0 + חילוק מספר שלסם (\) > חישובי מודולוס (0סוח) + חיבור וחיסור (+, -) בתוך תת-קבוצה מופעלים האופרטוריס לפי סדר הופעתם משמאל לימין. לאחר הפעלת כל תת-קבוצה, מחושבת שארית הביטוי משמאל לימין. בדוגמה הקודמת (2 / 6 + 3 * 4), קטעי הכפל והחילוק (3 * 4 השוויס 12 ו- 2 / 6 השוויס 3) יחושבו תחילה, ואחר יתבצע החישוב הפשוט יותר של 3 + 12, ששוויו 15. ש אזהרה הבנת סדר קדימויות האופרטורים חיונית כדי להבטיח שתוכנית תבצע את החישובים כמצופה ממנה. למשל: נניח שיש לחשב את ממוצע התוצאות של שתי קבוצות ניסויים. ניתן לכתוב את שורת הקוד הבאה: 2 / 16502 + 16561ח = 1/050076 שורת קוד זו נראית לכאורה נכונה, אך חישובי 8856 |1508/ לא יהיו מדויקים. מכיון שלאופרטור החילוק קדימות גבוהה מאופרטור החיבור, תת-ביטוי 2 / 652זח יחושב ראשון, והערך המחושב יתווסף ל-69:1דח. ברור שזה איננו סדר הפעולות הנכון. בשימוש בסוגריים ניתן למנוע את הבעיה ולשלוט על סדר ביצוע הפעולות: 2 / (16502ח + 6561 1ח) = 056076/+ ביטוי זה יחושב כנדרש. הביטוי (16502ח + 6501 דח) יחושב ראשון, והסכום יחולק ב-2. נניח ש-6501זה שווה 97 ו-6502זהח הוא 88. הביטוי מחושב לפי 2 / (88 + 97), או 2 / 185, המחזיר ל-אזסס5פָטג1 את הערך הנכון של 92.5. השמטת הסוגריים תביא (לפי סדר קדימויות האופרטורים) את התוצאה של 2 / 88 + 97, או 44 + 97, או 141. פרק 9: יסודות התכנות של 8856 |608ו%\ - 233 הערה חשובה: אפשר לשנות את סדר קדימויות האופרטורים, על ידי שימוש בסוגריים ליצירת תת-ביטויים שיחושבו קודם. ניתן גם לבנות מערכות של סוגריים בתוך סוגריים. 6 |טפו/\ מחשבת ראשית ביטויים בתוך הסוגריים, פנימיים לפני חיצוניים, ולאחר מכן מפעילה את סדר קדימויות האופרטורים. הנושא 66066066 0613+01 שבעזרה של 8856 [508ו/\ מציג דיון טוב בנושא, לרבות השאלה על הפעלת הקדימויות באופרטוריס של השוואה ואופרטוריס לוגייס. עבודה עם מחרוזות בעבודתו משתמש המפתח במחרוזות למטרות רבות. ככל שתפעול המחרוזות נעשה בצורה יעילה יותר, התוכנית נראית מקצועית יותר. 8856 |%08 מאפשרת גמישות רבה בכל הקשור לשימוש במחרוזות. היא תומכת באופרטור מחרוזות אחד בלבד - אופרטור השרשור (ח800ח6006800), אך פונקציות מחרוזת אחדות מובנות לתוך 6 |08פו/\, וניתן להשתמש בהן: * 00856 ו-6856] - שנה את כתיב הטקסט לאותיות רישיות (60856ז6קקט) או לקטנות (6856ז6או1.0) בהתאמה. + 1507 ו-ש5086ח1 - מצא מיקוס מחרוזת אחת הממוקמת בתוך מחרוזת אחרת. + 68 וַתִפָוַ₪ - שלוף מספר תווים נתון מצידה חימני או השמאלי של המחרוזת. + 6ו₪ - שלוף או החלף מספר תוויס נתון במחרוזת. + | חוזדח ,חוזד! ו-וחוזד - סלק מרווחיס מקצה אחד או משני קצות המחרוזת. + ח6]- מחזירה אורך מחרוזת (לפי מספר תווים). הערה: כמה מהפונקציות שברשימה (למשל 06856) מחזירות ערך מטיפוס זחפּ8/. לגבי כל אחת מהן, פונקציה בשם זהה עם סימן דולר (%) בסוף השם מצביעה שהערך המוחזר הוא הסוג מחרוזת. מומלץ להשתמש בגרסת % בכל מקום שזה אפשרי (למשל %), כי היא יותר יעילה. בקטע זה נבחן כיצד ניתן לתפעל מחרוזות, כדי לספק לתוכנית הופעה מקצועית. 4 סדנת לימוד 6.0 8\ שרשור מחרוזות כמצוין לעיל, קיים ב- 8856 |%808 אופרטור מחרוזות אחד - אופרטור השרשור (ז0ז618ק0 ח0ו608%ז68ח60). האופרטור, המסומן בתו 8, מחבר שתי מחרוזות טקסט או יותר, בדומה לאופן שאופרטור החיבור מחבר שני מספריס או יותר. בצירוף שתי מחרוזות בעזרת אופרטור השרשור, המחרוזת השנייה מחוברת ישירות לקצה המחרוזת הראשונה. כתוצאה מתקבלת מחרוזת הכוללת את התוכן המלא של שתי מחרוזות המקור. אופרטור השרשור משמש כמשפט הצבה באופן הבא : [3ז0א06חו5 .8] 2זקא06חו5 .8 1 7קא6חו50 = סחוספצ\סח בתחביר זה חַחו80ו6ח מייצג את המשתנה המכיל את תוצאת פעולת השרשור. 1א6חו50, 72קא06חו50 ו-3זקא86ַחוש5 מייצגיס כולס ביטויי מחרוזת. אלה יכוליס להיות כל מחרוזת אפשרית, כולל משתני מחרוזת, מחרוזות מילוליות (מוקפות במרכאות), או פונקציות המחזירות מחרוזת. התו 8 בין צמד ביטויי מחרוזת מורה ל- 88516 |508ו\ לרכז את שני הביטויים. לפני התו 8 ואחריו חייב להופיע רוות. התחביר מציג תו 6 שני אופציונלי וכו מחרוזת שלישית. ניתן לחבר כל מספר של מחרוזות, כל זמן שכל זוג מופרד על ידי התו 6. הערה: בהסבת תוכניות מגרסאות ישנות של 8856 |8ש8ו/, יש לפעמים מחרוזות המחוברות בעזרת (+). שימוש כזה היה שכיח בגרסאות מוקדמות של 8856 |הטפוצ, כמו בשפות 84516 ישנות. למרות ש- 88516 !טפוש עדיין תומכת בשימוש בסימן פלוס לשרשור מחרוזות (במקרה שאופרטור זה מופיע בגרסאות ישנות העוברות התאמה), ההמלצה היא להשתמש בתו 8 למטרה זו. כך נמנע הבלבול בין פעולת השרשור לחיבור. תוכנית 9.2 מראה איך לשרשר מחרוזות בתוכנית פשוטה, ליצירת תווית כתובת. השדות מתיבות טקסט שונות מחוברים כדי ליצור שורות שונות לצורך התווית. תוכנית 9.2: ק1\6./8 וזהוז - השימוש בשרשור מחרוזות לשם יצירת תוויות כתובת ()6ו1 00 חק 6 סנ5 סזבּעווק 500 5 6הוה\ 51 ,6חו50 5 6החבּ-5 הזוס 508 5 5010 ,8חו50 5 500 חחוס 8חוזז5 5 5217 ,0חו50 45 006ז55 חחוס 58 5 516 וחוס 58 5 5652 ,0חו50 25 536 חחוס ] .זו- 00 = 5-36 6% 350.7 | = שוחה |5 6% .000007055 = 500 ]דוס = שו50 0% = 5509006 ד = 5217 פרק 9: יסודות התכנות של ₪856 |8טפו\- 235 " .ז]" = 51106 הסחד סטוהּ/\.זויטקס +ז " .5ז]" = 5106 הסחד שט!3/\.פזויטקס + " 55ו]" = 51106 הפחד 6טו55.\/8וטקס +1 " .5|]" = 5116 הפחד סטו5.\/8|שקס +ז שוחה 51 ₪ " ".8 סחחבּ\5-1 .8 51106 = 586 ₪ " " 8₪ 551006 8 " ," 8 5010 = 5052 586 זחוזק. זסזחווק שחחחק.וססחויוק 72 שסחוזק .זססחווק 50 0ח= הטופס לתוכנית זו מוצג בתרשים 9.3. |< ום|= !ספב | טחוווב וא .₪ ₪( 700 096 4608 כו 78 אא 7 אה] :בא 7 | :4067888 | | ששפיץ ]3 אס 200006 ]-7777 | וא תרשים 9.3: היישום תווית כתובת מציג כיצד אפשר לחבר מחרוזות לתצוגה או הדפסה קביעת אורך המחרוזת בפעולות רבות יש צורך לדעת כמה תוויס נכלליס במחרוזת. למשל: כדי לדעת אס מחרוזת תתאים לשדה בעל אורך נתון בבסיס נתונים, או, במקרה של עבודה עס מחרוזות ארוכות, יש לפעמיס צורך לוודא שאורכן המשולב של שתי מתרוזות מחוברות אינו חורג מקיבולת משתנה המחרוזת. בכל מקרה, לקביעת אורך מחרוזת כלשהי, ניתן להשתמש בפונקציה ח6!, כמודגם בשורת הקוד הבאה: (5)טסחו) ח6] = 50|6סז לפונקציה ח6! יש כמה שימושיםס. במקרים רביס משתמשים בה כדי לקבוע אם במחרוזת מסוימת מופיעים תוויס. במקרה שהמחרוזת ריקה, ייתכן שיהיה צורך לייצר הודעת שגיאה או לעקוף עיבודיס נוספיס. 6 סדנת לימוד 6.0 8\ שינוי גודל האותיות במחרוזת שתי פונקציות משמשות לשינוי גודל אותיות במחרוזת: 6856 ו-16856. הפונקציה 6 מחצירה מחרוזת שכל אותיותיה שונו לרישיות (6856ז6סק), פונקציית 6856 | עושה את ההפך: מחזירה מחרוזת שכל אותיותיה קטנות (556פּסזְ6ְשו10). פונקציות אלו נראות טריוויאליות, אך הן שימושיות למדי לביצוע כמה מטלות. ראשית ניתן להשתמש בהן להבטחת הצבה נכונה של אותיות רישיות. הקוד בתוכנית 3 מציב אות רישית בראש המללה, ואותיות קטנות בהמשך: תוכנית 9.3: 65560%%./87 שימוש ב-6856!) וב-1685 להצבה נכונה של אותיות רישיות במילים לטיניות. 50 35 סזסש)זסקסז5 ,8חו50 35 סזס\\5 חחוס "0856 0םא1וח"= 5/0 ((1 ,6זס/\6856%)1.6/0%)5(\ = חזס//זסססיזק5 ((0,2זס/\\6856%)1]10%)5 | 8 סזס/\זקסזק5 = 6זסש)זסססיזק5 הערה: פונקציות מחרוזת מחזירות ערכים, אך אינן משנות את הקלט. למשל הדוגמה: 8חו5 5 51 הזוס 8חו5 5 52 חחוס "1 הח 6856 חסוחץו" = 51 (0856%)51(\ = 52 לאחר הרצת הקוד, המשתנה 52 מופיע כולו באות רישית, בעוד 51 נשאר ללא שינוי, אלא אם כן 51 מוצב בשני צידי משפט ההצבה: 51 = )26856%)51( פונקציות 6856 שימושיות למשל לצורך השוואה בין נתוני קלט של משתמש, לטוות ערכים מוגדר מראש. אס נתוני קלט מומריס לאותיות רישיות, ניתן להשוותס למחרוזת בדיקה המורכבת מאותיות גדולות: (0א6 ד. ה0ו8ז6356)%%006(\ 6856 50|66 6856 "\/ 5" 8 50 סכ ' "155" 0856 6 5068 סכ ' "\זקפ" 6856 + 6156 0חוה6ח50 סכ ' 6 68596 "!ץחחם סו|השח1" אס 50 ס6חם פרק 9: יסודות התכנות של ₪856 |פטפו\ - 237 בקוד וּה, אס לא נעשה שימוש בפונקציה 6856, התשובה ץשחם 6ו|פעח1 היתה מוחזרת גסם אס נעשתה הבחירה ייהנכונהיי של אותיות קטנות או מעורבות (למשל המחרוות ספחוא). טיפ: בתכנות מקובל להשתמש בקינון פונקציות מחרוזת בתוך שורות קוד, במקום השימוש במשתנים נוספים לצורך אחסון נתוני כל צעד ביניים. נבחן לדוגמה את השורה 6856 :56/60 בקוד המובא להלן, העושה שימוש בכמה פונקציות מחרוזת מקוננות לעזרה באימות קלט. המשתמש יכול להשתמש כרצונו בכל צירוף אותיות קטנות וגדולות, והקוד יטפל בה: ("!6856!כן ,סא זס 65 ס6כץ ד")פאסש)טוסח1 = 6סח1ו56 50 (0((,1.ט0ח0561 6856%)50(\)חוז 6%)7 | 6856 50|66 "ץ" 0856 "פס" א00 ₪50 "\" 6856 "[6856!כ סא זס 5םץ 6" א80 !ו ס6חם פונקציה אחרת של 8856 |1508/, צח50₪60, מבצעת המרות מיוחדות של מחרוזות. רוב ההמרות שהיא מסוגלת לבצע הן עודפות וחוזרות על עצמן (למשל הפיכת כל המחרוזת לאות רישית או לאות קטנה), או חורגות ממסגרת ספר זה (למשל המרה בין סוגי אותיות יפניות), אבל כדאי להזכיר כאן סוג המרות אחד כזה. הפונקציה צח5060 מסוגלת להסב משפט למצב 656 וסטסיוק, שבו האות הראשונה בכל מילה היא אות רישית. דוגמת הקוד הבאה מדגימה את הטכניקה: (0856ז6ק סק ט/ ,6חו|501680)/ח50760 = סחו|סהסרווטו דוגמאות לשימוש בפונקציות 6856(ו, 16856 וכן צחס5₪6 מופיעות בתרשים 9.4. ומ קוא 56 0=אוו] שוח | 7% הפיחס סז אסוום שפוחה 00% 500 תרשים 9.4: תוכל להשתמש ב-0856], 6856 ו-עח560 כדי לשנות את גודל האותיות במחרוזת טקסט 8 סדנת לימוד 6.0 8\ חיפוש מחרוזת במשימות רבות הקשורות במחרוזות, דרישת התכנות הראשונה היא לקבוע אס והיכן מופיעה מילה מסוימת, ביטוי או צירוף תוויס אחר בתוך מחרוזת. היכולת למצוא מחרוזת אחת בתוך אחרת מאפשרת חיפוש מילה בתוך טקסט. בחיפוש כזה ניתן לבצע החלפה גלובלית של מחרוזת, לדוגמה החלפת המילה ייטקסטיי במילה יימחרוזת'יי בכל מקוס שהיא מופיעה במסמך נתון. סיבה אחרת, נפוצה יותר, לחיפוש בתוך מחרוות, הוא הצורך בניתוח מבנה משפט (0חו5ז28). ניקח כדוגמה את משפט הקלט הבא, הכולל שס של אדס במבנה כדלהלן: ".זכ ,5וחםו!!וש\ .₪ פחו|ז50 .זס". בתיק הכולל מאות מחרוזות כאלו, אחסון המידע בבסיס נתוניס, עס הפרדה בין שדה השס הפרטי ושס המשפחה, נראה קצת מסובך. אבל ניתן להשתמש בפונקציות חיפוש מחרוזות ובלוגיקת תכנות, כדי לנתח את מבנה המשפט ולפרקו לחלקים קטנים יותר. הפונקציה המאפשרת חיפוש תו או קבוצת תוויס בתוך מחרוזת נקראת 57ח1. יש לה שני פרמטרי חובה ושני פרמטרי רשות. שני הפרמטרים הנדרשים הס המחרוזת הנבדקת והטקסט אותו יש לחפש. אם הטקסט המבוקש מופיע במחרוזת, [5ח1 מחזירה את אינדקס התו שבו מתחיל הטקסט המבוקש. אם הטקסט איננו נמצא במחרוזת, מחזיר האינדקס את התו 0. התחביר הפשוט של פונקציית 5ח1 מוצג להלן: (568760507 ,50)500760547ח1 = 5סקוח6 לדוגמה הפונקציה: ("טסץ",". ץְ6508ד )סח וסץ 566 |ו'1")פח1 )חוזוק מחזירה את התוצאה 10, מכיון שזה מיקוס תחילת המילה שסץ. פרמטר הרשות הראשון של הפונקציה 54ח1 מציין לה את מיקוס התו הראשון שבו יש להתחיל בחיפוש. פרמטר זה חייב להיות מספר חיובי שלס. אס הפרמטר גדול מאורך המחרוזת, 105% תחזיר את הערך 0. תחביר הפונקציה הוא : (568760517 ,50760507 ,91+205ו50)5ח1 = 5סקוחס לדוגמה הפונקציה: ("18||","6 8 6ז0610 ר60רחס6 שסוזק",50)7ח1 זחויוק מחזירה את הערך 10, למרות שה-6 הראשון מופיע במקוס 5, מכיון שהחיפוש מתחיל במיקוס השביעי. פרמטר הרשות השני קובע אם החיפוש יהיה תלוי-רישיות. מתן ערך 0 לפרמטר ההשוואה (ערך המחדל שלו), מבצע חיפוש תלוי-רישיות. הצבת ערך 1 לפרמטר מבצע חיפוש שאינו תלוי-רישיות. התחביר הוא: (1 ,50876050 ,5000760507 ,05ק507)5006ח1 = 5סזח6 פרק 9: יסודות התכנות של 8856 |608ו%\ - 239 בעזרת פרמטרי הרשות אפשר לכתוב קוד המוצא בוה אחר זה את כל מחרוזות החיפוש בטקסט הנבדק. הקוד בתוכנית 9.4 מדפיס את המילים במחרוזת, המופרדות ברווחיס. הוא פועל על ידי לקיחת תוצאת הפונקציה 105% והעברתה בחזרה לפרמטר 5 תוכנית 9.4: 87/.א85 1851 - שימוש בפונקציה לחלוקת מחרוזת למילים (0חוז5 5 +0סח55)50סזס//6חווק 5 ז הו 35 זססהטסחו הזוס 1 5 5סקסהטס=חו וחוס 6 " " = 8ב5560ק 60% 8חורטסח 00 השח אחהופ 15 חספ זזי 0טפ א הפחד 0 = סטקח50)חם | זז 6 8 10 ה56870 ( 6 5 ,)5070 ,זססהטססחו)50ח1 = 5סקוסחטס=חו 56869 כ66א סה סזסצו 606 זחוזס סחהטס? 5! 50866 ב ]זי 0 <> פסק סחטס=חו 6ווח/\ (זס6חטס6חו - 5סקסחטס=חו ,הסח ,6ט0כח08)501וו +חוחק. פטססס 1 + 5סקסחטס=חו = זס%חטס6חו (ב56 חק ,קח50 ,זס%הט0סחו)50ח1 = 5סקסחטסהחו 60 58 6 01 זססחוה ותש שר זחוזק' הסח ד סטסח501)ח6 | > וסשהטססחו זז ( הסח ,6 ח0%)507ו! 6חוזק /פטססס + 0חם סט5 0חם הקלט ותוצאות הקוד הזה מופיעיסם בתרשים 9.5. בתוכנית 9.4 מבצעת הפונקציה 15 חיפוש מהתו הראשון במחרוות עד התו האחרון. ב- 8856 |1508 קיימת פונקציה דומה, עצ578₪6ח1, המבצעת את החיפוש בכיוון ההפוך. הפונקציה עובדת כמו 50ח1, אך התחביר שונה במקצת : ([[ זה קרחסש , ]5594 , ]02ח501 ,1 0ח5071)/ סח 0 סדנת לימוד 6.0 8\ <ום)=. [חזס] .₪ שחחס! הזוס 15 וחזה 5 | : 80 )ושח | סש )חוזכ סל אסוום תרשים 9.5: השתמש בפונקציה שפח1 כדי למצוא את כל הרווחים במחרוזת ההבדל העיקרי הוא שפרמטר ההתחלה נמצא אחר* המחרוזת, לא לפניה. בשימוש ב-צ86זז5ח1 ניתן לשנות קלות את הקוד שבתוכנית 9.4 ולבנות תת-שיגרה ששמה סו הח : (0חו5%7 45 +000ח056/6756)501זס/\חווק 5 חן 5 זססהטס6חו הזוס חן 45 5סקסתטס-חו וחוס 6" " = 5565הק 60% ורסח 00 השש אחהו 15 8חו50 ז ' סטפ זוא הפחד 0 = סטקח50)ח6 | זז 6 35%| 06 86 אמשס ' סח 50)ח ]| = זס)חווס6חו 6 ה 0+ ח66870 ' (ז6זחהטסחו ,5505 ,0טטסח5076/)501ח1 = 5סקסתטסהחו 0חו50 ₪6 01 זסו0חו8ח6 6 %חחק ד חסחד 0 < זסזהטס6חו ]1 (ז6חטסחו 00ח60%)50. | +חוזק. פטס + 500 5 0חם פרק 9: יסודות התכנות של ₪856 |הטפו/ - 241 חילוץ חלקי מחרוזת נבחן שוב את הקוד שבתוכנית 9.3. בנוסף ל-6856(! ו-16856 נעשה שימוש בפונקציות אחדות לחילוץ קטעי טקסט מהמחרוות המקורית. במצביס רביס יש צורך לעבוד רק עס חלק של מחרוזת. לדוגמה: יש צורך לחלצ את שמו פרטי של אדס מתוך השם המלא, או שדרוש לוודא שהמידע המטופל מתאים לשדה בבסיס הנתוניס בו הוא אמור להיות מאוחסן. ניתן לבצע זאת בקלות בעזרת הפונקציות הבאות של 8856 |1808/\: + + אַתַפָוָ₪ - מחלצ מספר תוויס נתון מהקצה הימני של מחרוזת. + 16% - מחלצ מספר תוויס נתון מהקצה השמאלי של מחרוזת. %, > 6 - מחלצ תוויס ממרכו מחרוזת. נבחן ראשית את הפונקציות 16% ו-אְחִפָו₪, הקלות יותר לשימוש. (אגב, השימוש בשוס פונקציה מהנדונות כאן איננו קשה במיוחד). כדי להשתמש בהן, יש לקבוע את מחרוזת הקלט וכן את מספר התווים שיישלפו. תחביר שתי הפונקציות הוא: (5זה )וח ,-06507ח1.6%)1 = שפ6טס (5ז8ח6וחט ,-57זכח₪100%59%)1 = פטס בשימוש בפונקציות אלו מספר התוויס המצוין חייב להיות גדול מאפס או שווה לו. אס מצוין המספר 0, המחרוזת המוחזרת היא באורך אפס. אס המספר גדול מאורך המחרוזת, מוחזרת המחרוזת בשלמותה. בכתיבת תוכניות המטפלות במחרוזות, הפונקציות 16% ו-₪190%6 מופיעות לעיתיס קרובות בצירוף עס פונקציות מחרוזת אחרות. תוכנית 9.5, המחלצת את שמו הפרטי של אדם משמו המלא, מדגימה את הנושא. הפונקציה מניחה שהשס הפרטי ושס המשפחה מופרדיס ברווח. הפונקציה מחפשת את הרווח בטקסט הפלט, מחלצת את התוויס הקודמיס לרווח ומחזירה אותס כשס פרטי. אס אין רווחיס במחרוזת, הפונקציה מניחה שזו כוללת רק את השס הפרטי. תוכנית 9.5: קפ/.א=ח דא1 - שימוש בפונקציות 5%ח1 ו-6%| לחילוץ שם פרטי של אדם 509 5 536 הזוס 58 5 6רחה\5זו-5 וחום 1 35 50866705 וחוס (א6 ד סרחה \6)פרחוז ד = 5436 (" " ,6וח5%7)5]\8ח1 = 50866005 הסח 0 < 50866005ח ]1 (1 - 50866005 ,1.608)5\8006 = 6רח50\8ו=5 515036 .8 " 5! סחחהח שרח ,סוופח" = 6ותפחופו + 0חם 2 סדנת לימוד 6.0 8\ 6 היא פונקציה נוספת המשמשת לחילוצ תת-מחרוזות ממחרוזת. היא פועלת בדרך דומה ל-16% ו-אחפָום, אך כוללת ארגומנט נוסף. הפונקציה משמשת לחילוצ תו, מילה או ביטוי מתוך מחרוזת. ל-0! שלושה ארגומנטי חובה וארגומנט רשות אחד כמוצג בשורת התחביר הבאה: ([5זה טח , ]503005 ,700507ו10)50] = חפשסח 5 מייצג את מיקוס התו שממנו מתחילה החזרת תת-מחרוזת. אם 5097005 גדול מאורך המחרוזת, מוחזרת מחרוזת ריקה. ארגומנט הרשות 8זהחס6וחטח מציין את מספר התווים המותזרים מ-50076657. אס פזהח6חטח מושמט, תחזיר הפונקציה את תווי המחרוזת החל מנקודת ההתחלה עד לסופה, כמודגס להלן: (8,"ח6!| אהסססף5")סון זחויוק מחזירה את המחרוזת "ח6!|ג" (8,2, "ח6|!!ג +הססס0)"5ו 6חוזוק מחזירה את המחרוות "|ג" סילוק רווחים בתוכנית 9.5 משמשת ש5ח1 למציאת הרווח הראשון ברשומת שמו של אדם, בהנחה שזה הרווח בין שמו הפרטי לשמותיו האחרים. רוב המחרוזות הארוכות כוללות בתוכן רווחים, הנחוציס לצורך ריווח נכון של מילים, סעיפים וכדומה. אבל ישנס מקרים, שמחרוזות כוללות רווחים בלתי רצוייס בתחילתן ובסופן. רווחיס אלה באים בדרך כלל כתוצאה מהקלדה מקרית של מרווחים בתחילת שדות טקסט או בסופן. הס מופיעים גם בשימוש במחרוזות בעלות אורך קבוע מראש, שמספר התווים בהן איננו מספיק למלאן. לדוגמה כל אחת מהפניות הבאות לפונקציה ()ח16 תחזיר מספר שונה: ("!0\זסצו ,סוו6רו")ח6 | זחויוק ("!0\זסצו ,סו|46] ")ח6 | זחויוק (" !0\וסצו סוו6רו")ח6 | זחויוק בדרך כלל רווחיס אינס גורמים נזק, למעט תפיסת תאי זיכרון בודדים. לעומת זאת, במקריס של חיבור מחרוזות, וכן בפעולות המבוססות על תוכנן, רווחים בלתי רצוייס עלולים להציק. למשל: נניח שקיימות שתי תיבות טקסט, לשס הפרטי ולשס המשפחה, כל אחת באורך שלושיס תוויס. משתמש עלול להקליד בהן בטעות שלושה תוויס, ואחריהס קבוצה שלמה של רווחים מיותריס. אס דרוש לרכז את השס הפרטי ושס המשפחה, למשל לשס הכנת מדבקת כתובת, הרווחיס הנוספים ייכללו במדבקה. ב- 88566 |1508\ קיימיס מספר כלים המאפשריסם ייקיצוציי רווחיס עוקביס מיותרים. פרק 9: יסודות התכנות של ₪856 |608ו%\ - 243 לסילוק רווחיס בסוף מחרוזת ניתן להשתמש בפונקציות 88516 |8ט5ו\ הבאות : + חוחד] - מסלק רווחיס מצידה השמאלי של המחרוזת. + | חודח - מסלק רווחיס מצידה הימני של המחרוזת. >* | חחד - מסלק רווחים גס מתחילת מחרוזת וגם מסופה. כל אחת מפונקציות אלו משתמשת בתחביר דומה. דוגמה כבר הוצגה בתוכנית 9.5. הקוד הבא מדגיס את השימוש בפונקציה חווד לסילוק הרווחיס בדוגמה של תווית הכתובת : (6רחה\ז5זו=] )רהוז ד %חוזק. וסוס (2007655/)רחוז ד %חזזק. וסוס (קו2)חחוזד ₪ " " ₪ " ,"6 (שו6)חוזד 6חוזס. !וסוס החלפת תווים במחרוזת נוסיף עכשיו מעט בלבול לסיפור. בסעיף הקודם הודגס איך הפונקציה וחוזד שולפת קטע מחרוזת מאמצע מחרוזת המקור. אותה מילת מפתח וחוזד משמשת להשבת קטע ממחרוזת. אולס במקרה זה התחביר שונה, בכך שהפונקציה פועלת על חלקו השמאלי של משפט ההצבה. המשפט המשמש להחלפת תוויס במחרוזת נקרא משפט וו!. משפט ₪וו, המחליף חלק ממחרוזת אחת במחרוזת אחרת, משתמש בתחביר הבא : 5 = ([5זהח6רחטח , ]5581205 ,66507ז01ו50)סו במקרה זה 50070657 היא המחרוות המקבלת את תווי ההחלפה. 6657זטס5 חייבת להיות משתנה מחרוזת, לא מחרוזת מילולית ולא פונקציית מחרוזת. 509005 הוא מיקוס התו שממנו תתחיל ההחלפה. מיקוס זה חייב להיות מספר שלס גדול מאפס. 5זהחסוחטח הוא ארגומנט רשות, המציין את מספר התווים ממחרוזת ההחלפה שבהס תשתמש הפונקציה. 97וס6ז מייצג את המחרוזת המכילה את התוויס המוחלפים. הוא יכול להיות משתנה מחרוזת, מחרוזת מילולית, או פונקציית מחרוזת. משפט 0 משמר את אורכה המקורי של המחרוזת. במילים אחרות, אס המרווח שבין נקודת תחילת ההחלפה לבין קצה המחרוזת קצר מאורך המחרוזת המחליפה, יועתקו רק תוויס כאורך המרווח, החל משמאל המחרוזת המחליפה. יש למשפטי 6ו כמה שימושים. בתוכנית 9.3 לעיל הוצגה דוגמה להצבת אותיות רישיות. בשימוש במשפטי טווא, ניתן לבצע את אותה ההצבה בעזרת הקוד הבא : 59 35 6וס/\זקסזק5 ,חַחו5 35 סזס\\5 חחוס "0856 0םא1וח"= זס//5 (0זס/\\60856%)5 | = 6זס/)זסססז5 ((6,1זס/\600%)5 26856%)1! = (1,סזס/זוסקסז50)סוו 4 סדנת לימוד 6.0 8\ בתוכנית אחרת היה צורך לסלק את כל סימני הורדת שורה (68) והזנת שורה (=)6) שהוכנסו למחרוות, כדי למנוע בעיות בהדפסה. משפט וא שהופעל בתוכנית החליף תוויס אלו ברווחים (פירוט קוד 9.6). תוכנית 9.6: ק6=./8\ |ק₪5 - שימוש במשפט סווא לסילוק תווים מסוימים ממחרוזת 5 חווו/ש 16005 שח | 366|כ6ח' 0 = 05ק0חו=ח סס ((9)10זח0;+00ח50)51ח1 = פסקסחוח " " = (5סק)סחו=ח ,006ח0)51ו! הפחד 0 < פסקסחוחה זז 0 = 5סקסחו=ח |טח/\ קסס | 5 וח 5חז 60 68771806 66בוכסח' 0 = 05קחו=ח סס ((9)13זח6 ,06ח50)51ח1 = פסקסחוח " " = (5סק סחו=ח ,006ח0)51ו\! הפחד 0 < פסקסחוחה ]1 0 = 5סקסחו=ח ושח קסס | הקוד בתוכנית 9.6 משנה את מחרוזת המקור. כלומר, הוא משנה למעשה תוויס במחרוזת %וסח51. כיוס נכללת ב- 8856 |1508/\ פונקציה חדשה, ₪80!866, המחזירה מחרוזת חדשה עס התוויס המוחלפים. התחביר הוא: | %הטסס ,]50 , ]13060 ,0הו5 506 , חו5חו)366וק6 = פחוטפזוס ([[[6ז8קוחס6 ,] פונקציה זו פועלת כשילוב של משפט שו ופונקציית 5ח1. אתה פשוט מעביר את המחרוזת, את התוויס שאותס בכוונתך לחפש ואת התוויס המחליפים. בשימוש בפונקציה 601866א, ניתן לשכתב את הקוד בתוכנית 9.6 כדלהלן: 5 הוושש 16605 שח | 366|כ6ח' (" " , ספע ,טסח₪60!866)51 = זטקחז5 5 וח פחז 60 68771806 66ב!כסח' (" " ) |פע ,טסח₪60!306)51 = זטקחז5 שימוש אפשרי לפונקציה ₪60|8066 יכול להיות סילוק מרכאות משדה קליטת טקסט, לפני הצבתו בבסיס נתונים. פרק 9: יסודות התכנות של ₪856 |8טפו\ | 245 עבודה עם תווים מסוימים מחרוזת בנויה מתווים בודדים. לכל תו כזה יש קוד מספרי, המוכר כקוד 85011. אפשר להשתמש בקוד 45611 בפעולות נומריות על תוויס, וניתן גס להשתמש בו להוספת תוויס שאינס ניתניס להדפסה למחרוות, כמודגס בתוכנית 9.6. הפונקציה זח6 משמשת להחזרת תו המתאים לקוד 45611 מסוים. לדוגמה, שני המשפטיס הבאיס מדפיסים את המילה 10 ]= : "ס ן שה" זחוזק (9)79זח .8 (76)%זח6 8 (9)76זחה6 8 (69)%זח6 .8 (65)%זח6 זחוזק הערה: כמו פונקציות אחרות שהוזכרו לפני כן בפרק זה, זה6 מופיעה בשתי צורות: ()זח6 מחזירה משתנה, %זח6 מחזירה מחרוזת. בדוגמה הקודמת, הקלדת ₪10 פשוטה יותר. אולס, ישנם תוויס, למשל תווי הזנת שורה או הורדת גררה, שאינס ניתניס להקלדה ישירה. תחייבים אז להשתמש בפונקציית זח6, באופן הבא: "2 סחו |" .8 (10)%זח6 .8 (13)%זח6 ₪ "1 6חו |" 6חוזק הצירוף הורדת/הזנת שורה ראוי לתשומת לב מיוחדת. לעיתיס קרובות יש צורך להשתמש בו כדי לאל שורה חדשה במחרוות, בתיבת טקסט או בתיבת הודעה. לשס כך הוכלל ב- 8856 |1508/\ קבוע פנימי +\זספט, כך שניתן לרשוס את הקוד הקודס גס בצורה הבאה: "2 שחן 1" 8 +\וספע ₪ "1 שח |" +חוחזק ניתן גס להשתמש בפונקציה זח6 להכללת מרכאות: (34)%זח6 .8 "5סססטוף השועו ססחוזכן 6ם |וואו פוחד" .8 (34)%זח6 6חוזוק "5סוף סעבּח )סח ||וש פוח ד" 6חווק ניתן גס להשתמש בפונקציה זח6 להחזרת כל אות ומספר. טבלה 9.3 מציגה כמה קודי 1 שמשתמשים בהס לעיתים קרובות: טבלה 9.3: קודי 45011 לכמה תווים נפוצים תי טבולטור כ 0 (הספרה אפס) : 6 סדנת לימוד 6.0 8\ 6 היא פונקציה נלווית ל-זח6. 456 מחזירה את קוד 45611 המתאיס לתו הקלט. הקוד הבא מדגיס את דרך השימוש ב-56. ("ה")56\ זחווק שורה וזו מחוירה את המספר 65. מחרוזות ומספרים ערך מחרוות יכול למעשה לכלול ספרות נומריות כמוצג כאן: 508 5 |3חַחו550 וחוס 1 5ב זססוחטצח וחוס 5 הזה השוע 560 06 ח68 8+ זססותטח ג 99 = זססוהטצח 5 הר הזו 560 06 630% זז 50 ג "63065 16" = |3/פַחו55 כידוע, מספרים מסוימים מטופלים לעיתים קרובות כמחרוזות תווים. מספרי מיקוד ומספרי טלפון הן שתי דוגמאות נפוצות. לכן, לעיתים יש צורך בהסבת מספר למשתנה מחרוזת או לפונקציית מחרוזת, או להדפיסו בשילוב עס מחרוזת אחרת. באופן דומה דרוש לפעמים להשתמש במספרים המופיעים במחרווות במשוואה מתמטית או בפונקציה נומרית. 6 |508/\ מספקת את הפונקציה 54, להסבת מספר למחרוזת, ואת הפונקציה |8ש, להסבת מחרוזת למספר. להלן דוגמה להסבת מספר למחרוזת : (החטחזקחו)50 = שפוחטח שפוחטח מייצג משתנה מחרוזת המכיל את פלט הפונקציה. חחטחזסחו מייצג את המספר העובר הסבה. זה יכול להיות מספר, משתנה נומרי, או פונקציה נומרית. אס וחטחזסחו הוא מספר חיובי, 5 מחזירה רווח בראש המספר, כי 5 שומרת מקוס לתו נוסף, להצבת סימן מינוס אם יידרש. להסבת מחרוזת למספר, ניתן להשתמש בפונקציה |8\, כדלהלן: (חפזסחו)|ה\ = זהעוחהטח זהשחוח מייצגת משתנה נומרי, המאחסן את פלט הפונקציה. שסחו יכול להיות מחרוזת תוויס, משתנה מחרוזת, או פונקציית מחרוזת. הפונקציה |3\ מסלקת ראשית את הרווחים מהמחרוזת, ואחר-כך מתחילה לקרוא את המספרים. אם התו הראשון במחרוות איננו ספרה (או סימן מינוס), ו3\ מחזירה את הערך 0. אחרת - |3\ קוראת את המחרוזת עד שהיא נתקלת בתו הלא ספרתי הראשון. בנקודה זו נפסקת הקריאה, והפונקציה מסבה את הספרות שקראה למספר. פרק 9: יסודות התכנות של ₪856 |הטפו\ - 247 הערה: בבניית מחרוזת להצגה עם שרשור, ניתן במרומז להסב מספר למחרוזת: 509 5 זטכזט50 חחוס ז הז 5 +חטוס שח וחוס 5 = 00%ו6/\\ח "05חטסכ " 6 600% /\ח .8 " 15 זס/שופחהּ סחד" = זטס6ט500 עיצוב תוצאות כשמידע, למשל מספר, מאוחסן במשתנה, הוא מאוחסן במבנה הנדרש לצורך תפעולו בקוד התוכנית. אך, לעיתיס קרובות יש צורך לשנות את מבנה המידע, לפני הצגתו או הדפסתו בדות. נניח למשל, שמספרים אחדיס מאוחסנים במשתנים המייצגים ערכיס דולריים. אס המספרים הס תוצאה של פעולת חילוק, ייתכן שהם כוללים שבריס עשרוניים ארוכים, ויש להניח כי אס יודפסו כמות שהם, לא יהיו מיושרים כמצופה. בקטע זה נבחן פונקציות אחדות המיועדות לסייע בעיצוב מספריס ומידע אחר. במיוחד נבחן את הפונקציה המוכרת )חזס=, ופונקציות עיצוב ספציפיות נוספות הנכללות ב- 6 88516 |1508/\. פונקציות עיצוב אחרות 6 |808ו/\ כוללת כמה פונקציות עיצוב, המיועדות לעיצוב סוגים מוגדריס של מידע. פונקציות אלו רשומות בטבלה 9.4. טבלה 9.4: פונקציות עיצוב חדשות שהוכנסו ל- 6 88516 |808ו\ ה וחזוס= 24 1% 6וחו דה ה וחזזוס=] "13:34 31/12" אק 1:34:00 31/12/98 כל הפונקציות בטבלה 9.4 מחזירות ערכי מחרוזת. יש להתייחס אליהן כאל ביטוייס (שייתכן שהס מכילים ערכי מחרוזת), וכמה פרמטרי רשות המבקריס את הפלט. לדוגמה, /6ח6זזט6+הוזס מעצבת את המספר בסגנון מטבע (כספים). ניתן לבחון את פונקציית שְ6ח6זזטס)וחזס] על ידי פתיחת החלון מיידי (שססחו/\ 601866ח1), (אין צורך בהרצת פרויקט במחשב). 8 סדנת לימוד 6.0 8\ הקלדת השורה הבאה: (1234)ץ6ח6זזט-)הרחזס= 6חווק תחזיר לאחר הקלדת זסזח= את הפלט הבא : 100 שיס לב לסימן (5), מפריד הפסיק (,) ומספר הספרות מעבר למפריד העשרוני, המתאיס להצגת ערכיס כספיים. ניתן לשלוט בעיצוב באמצעות הכרטיסיה מטבע (ששח6זוט6) ביישומון הגדרות אזוריות (05ח56001 |008ו₪60) שבלוח הבקרה (|8068ק |סשחסס6). פרמטרי רשות לכל הפונקציות בטבלה 9.4 (למעט שוחו ז28%6)אוחזס=), קיימיס פרמטרי רשות והם: |8ו60זס וסוס וטא - קובע מספר ספרות בפלט לאחר הנקודה העשרונית. * 0010%חו680 1060061 - מוסיף או מבטל את האפס המוביל בפלט שברים עשרונייס (למשל 0.567 או567.). + 5זססוט5-076080/6ה876 567 - קובע אס מספריס שליליים יוחזרו עם סימן מינוס לפניהס, או מוקפיס בסוגרייס (חשוב במיוחד בהנהלת חשבונות). + 6ושוסקטסז6 - קובע אס סימן הפרדה בין קבוצות (פסיק מפריד) יופיע במספר המוחזר (למשל 1,234 או 1234). רביס מפרמטרי הרשות, כמו למשל 40108חו680 |6[006ח1, | מוכריס כפרמטרים תלת-מצביים. לפרמטר כזה שלושה מצבים אפשריים: 6טודסט (נכון), 6פ|8=;פע (לא נכון), ו-+/05606190\פע (השתמש בברירת המחדל). למעשה, קיימיס רק שני ערכים בעלי תוקף - נכון ולא נכון. במצב של השתמש בברירת המחדל הפונקציה בוחרת נכון/לא נכון לפי מה שנקבע ביישומון 5601005 |3חסו₪60 שב- |6ח8ק |סשח60. פונקציות חדשות לעיצוב תאריך פרמטרי הרשות אינס קיימיס ב-06ו08%61)חזס=. פונקציה זו פשוט מקבלת את הביטוי המייצג תאריך או שעה, וקבוע המייצג אחד ממבני התאריך הנקובים. מבניס אלה מופיעיס בהמשך הפרק בטבלה 9.7. 8856 |5088\ מציגה רשימת הקבועיס בעת הקלדת הפונקציה בחלון הקוד. למשל, הקלד את השורה הבאה בחלון 816ו60וחחח1 : (6וחו דפחס |טע,"20:10" )סו הרהס זחויוק הפונקציה 608%6חו זאחזזס] ממירה את השעה הנתונה 20:10, הנתונה במבנה עשריס וארבע שעות (ייומן צבאייי), למבנה 12 שעות (מבנה ק/1) או לשעה 100% :8. שיס לב כי משתנה מחרוזת משמש כפרמטר ראשון. הביטוי חייב להיות במבנה ש-6חו 60867 וס מסוגלת להמיר לתאריך/שעה, אחרת תוחזר הודעת שגיאה. שתי פונקציות נוספות שנוספו ל- 6 חסופזפט 88516 |508\ מאפשרות שליפת השמות המודפסים של החודש או היוס בשבוע מכל ביטוי תאריכי. פונקציות אלו הן פרק 9: יסודות התכנות של 8856 |508ו%\ - 249 6וחהּ\חה%חסו\ ו-6הה83ץ66%23/\ בהתאמה. שתיהן מקבלות ערכיס נומרייס ומחזירות מחרוזת. פרמטרי רשות קובעים אס להשתמש בקיצורים: (12 )סחהּ\]רה6חס\\ 6חווק מחזירה את המחרוצת "ו6סוח66סס'. (06 ד,12 )סרח הּ\רסחהס!! לחויוק מחזירה את המחרוזת ש6פ'. גס לפונקציה 6ו%8₪/ץ66%08/\ יש פרמטרי רשות, המאפשרים לקבוע את היוס הראשון בשבוע: (1 ) סהחבּ\ץ28א60)/\\ 6חווק מחזירה את המחרוזת שְ08חט5' רק אס יוס זה נקבע כיוס הראשון של השבוע ב- |6ח8ק |סחה60. (ץ08חט5פש ,8!56= ,1 ) סהחבּ\ץ06%8/\\ 6חוזק מחזירה תמיד את המחרוזת ‏ ץְ08חטפ'. פונקציות אלו מקבלות רק ערכים נומריים. למציאת היוס בשבוע או החודש בתאריך מסוים, ראשית יש להשתמש בפונקציות 8856 |5088ו% אחרות כדי לקבוע את ערכו המספרי של התאריך. לדוגמה: נניח שרוציסם לדעת את היוס בשבוע שבו חל 18 בפברואר 1991. ניתן להפעיל את הפונקציה שץְ08א66/\ למציאת הערך המספרי של היוס, ולהעבירו לפונקציה סחחהּאץ66%28/\: ((2/18/91% %)ץ6628/\\)סרח בּ\ץהכ 666/\ לחויוק הערה: יש לציין את התאריך על ידי % בשני קצוות התאריך. ב- 8856 |08\ הסולמית מציינת כי מדובר בתאריך. ניתן גם לסמן במרכאות. עיגול מספרים פונקציה חדשה - סחטסח, מאפשרת עיגול ביטויים מספריים למספר מקומות נתון לאחר הסימן העשרוני. לפונקציה שני פרמטרים: הביטוי, ומספר הספרות אחרי הסימן העשרוני, אליו הוא מעוגל. נסה את הפונקציה על ידי הקלדת הביטוייס הבאיס בחלון 6018%6וחחח1 : (0)202.5חש₪0 זחווק מחזירה את הערך 202. (0)202.56ח₪0₪ שחווק מחזירה את הערך 203. 0 סדנת לימוד 6.0 8\ (0)202.56,1חט0ס\ זחוזוק מחזירה את הערך 202.6. (202.56,2) סחטס\ זחוזק מחזירה את הערך 202.56. כפי שרואים, הפונקציה סחטס₪ קלה לשימוש. יש לזכור רק שהתוצאה תדרוש עיצוב נוסף אם רוציס תמיד להציב ספרות לאחר הסימן העשרוני. במיליס אחרות, בביצוע שורת הקוד הבאה, לא תוצבנה ספרות לאחר הסימון העשרוני: (0)202,4חש₪0 זחווק הערך המוחזר יהיה 202, ללא אפסים אחרי הסימן העשרוני. השימוש בפונקציה זבּו'זס] הפונקציה +8חזזס] רב תכליתית יותר מאלו שנדונו עד כה. היא מסוגלת לטפל ולהחזיר תאריכים, מספרים ומחרוזות. במקוס להתבסס על צרור פרמטרי רשות, משתמשת חס במחרוזצת בקרה, המייצגת מבנה שנקבע על ידי המערכת או על ידי המשתמש. עיצוב מספרים השימוש הנפוץ ביותר בפונקציה 86חזס] הוא בהצבת מספרים במבנה מסוים, לשיפור הקריאות שלהם על ידי המשתמש. בשימוש בפונקציה :וס" מציין המשתמש את ערך הפלט ואת עיצובו, כמודגם בשורות הקוד הבאות: ("ץ6ח6זחו)" ,05558|65ז0))זהרזס= 6חוזק . זססחווק ("00.+ + 5%" ,0705558|65)זהרזס= 6חוזק . זססחווק לצורך עבודה עס מספרים, ניתן להשתמש במספר תבניות בעלות שם. בכל המקרים יש צורך להקיף חלק מהתבנית במרכאות. טבלה 9.5 מראה את תבניות אלו הזמינות לפונקציה ז8וחזסת. תרשים 9.6 מראה איך כל תבנית כזו מציגה מספרים שונים. ו 7 כ ₪ פן 0 0 0 זססוהטוא 3 7" 1-00 10000 סז 1107 00[ 000 או 7 00[ 000 6 1% 0% 00% ]סז וב ו 10 00 6 58 6 סא 0ח/5 ץצ שטזךד סטזך 6 6- וז ד חס חס וס חס ו וקא תרשים 9.6: באמצעות הפונקציה זחזוס] אפשר להציג מספרים במיגוון דרכים פרק 9: יסודות התכנות של ₪856 |הטפו\ 251 טבלה 9.5: תבניות נקובות בשם לפישוט הצגת מספרים תבנית נקובה בשם תיאור וטא |8ז6ח66 | מדפיסה את המספר ללא עיצוב מיוחד ץ6ח6זזו | מדפיסה את המספר עם מפריד אלפים ועם שתי ספרות לאחר הסימן העשרוני + סימן מטבע (לפי לוח הבקרה מדפיסה לפחות ספרה אחת משמאל לסימן, ושתי ספרות מימינו 30 | מדפיסה את המספר עם מפריד אלפים וכן מדפיס לפחות ספרה אחת משמאל לסימן העשרוני ושתי ספרות לימינו מכפילה את המספר פי מאה, ומדפיסה אותו עם סימן % לימינו + 2 ספרות מימין לנקודה העשרונית אס תבניות אלו אינן עונות לצרכיך, ניתן לעצב את התבנית המבוקשת. לצורך כך יש לקבוע היכן תמוקמנה ספרות המספר, האם ייעשה שימוש במפרידי אלפים ובסימן עשרוני, וכן לציין תווים מיוחדיס שיודפסו. שורת הקוד הבאה תדפיס מספר עס ארבע ספרות אחרי המפריד העשרוני, ועס מפריד אלפים: ("0.0000 א ,א" ,66ח68|01500ס ד)זהוחוס= 6חחזק.וססחויוק טבלה 9.6: קודים לקביעת מבנים נומריים א מציג ספרה או מציג 0 אם אין ספרה במקום הנתון + |פאפמה | מציג ספרה או אינו מציג דבר אם אין ספרה במקום הנתון. גורם להשמטת אפסים מובילים או עוקבים. ומק מציין את מיקום הנקודה העשרונית - מציין את מיקום מפרידי האלפים + % סימן אחוזים מציין את מיקום סימן האחוזים. כמו-כן גורם למספר להיות מוכפל פי מאה. תבנית מספר מדעי | -5 או -6 מציג סימן מינוס למעריך שלילי, אינו מציב סימן למעריך חיובי. += או +6 תמיד מציב סימן 2 סדנת לימוד 6.0 8\ עיצוב תאריכים צורת נתוניס נוספת הדורשת טיפול מיוחד לצורך עיצוב, הס תאריכיסם. הפקודה שלחוזק תגרוס להצגת התאריך בתבנית ברירת המחדל של המערכת, משהו כמו 7/5/98. להצגת התאריך בתבנית אחרת (למשל 1998 ,5 שוטנ), יש צורך להשתמש בפונקציה )החזס=. בטבלה 9.7 מוצגות תבניות אחדות לתאריך ולשעה (ראה תרשים 9.7) טבלה 9.7: תבניות נקובות בשם לתאריך ולשעה 6 |8ז6ח66 | מציגה את התאריך והזמן אם הביטוי כולל את שניהם. אחרת מציגה תאריך או שעה פַח0ס] | מדפיסה את היום בשבוע, היום בחודש, החודש, השנה 6 חוחנטו60ו\! | מדפיסה את היום בחודש, קיצור בן שלוש אותיות לשם החודש ואת השנה בנוסף לתבניות המופיעות בטבלה 9.7, קיימיס קודיס המאפשריס למשתמש ליצור תבנית תאריך ושעה. למשל, שורת הקוד הבאה תדפיס את תאריך היוס בצורה: ("עְעְעץ/00/ הרה" ,שטסא )ה רתס %הוזכן. 1 הס מו 4 ופה 1 ] 2 1 נמ ב וד | | 8.1991 פופ חס | 1962 ,12 ופוסו 0 חס 8 4 1-1 ב 6 בנ 1 הו ב א 12:00:00 א 120000 12:00:08 וד הס 100 1200 10 ו 0 8 0 8 בו וו 08 תרשים 9.7: שימוש בתבניות מיוחדות משפר את המראה של מידע תאריך הפונקציה הוחוס] משתמשת בפלט הפונקציה אוסא, ומדפיסה רק את החלק המיוצג בקודי האותיות. רשימה מלאה של קודיס אלה מופיעה במערכת ק₪61 תחת הנושא 05 65% 0501-016110601. פרק 9: יסודות התכנות של ₪856 |הטפו\ - 253 עבודה עם ערכי תאריך ראינו כיצד ניתן לעצב תאריכים. 8856 |1508/\ כוללת גס פונקציות אחדות המאפשרות עבודה עס תאריכיס כערכים, בדומה לעבודה עס מספרים במשוואות. וה אפשרי כי סוג הנתוניס 816כ, הקיים ב- 8856 |1508/, מאחסן תאריך (ושעה) במבנה הניתן לשימוש בפונקציות שונות. הפונקציה +8חזס=, כמו פונקציות רבות אחרות מקבלת פרמטר תאריך מטיפוס פַחו50 או 6ו8ם. אך יש פונקציות המקבלות רק משתנים שהס תאריכים. להסבת מספר לתאריך, ניתן להשתמש בפונקציה 60806. יש להיוהר, כי מחרוזות בלתי מתאימות תגרומנה לשגיאה: ("1963 ,23 זססוח6עס\" )60806 שחוזוק מחזירה את התוצאה 11/23/63, ("5סס")60806 )חוזק מחזירה הודעת שגיאה. לבדיקה אס ניתן להסב מחרוות לתאריך, משמשת הפונקציה 1508%6. בשתי שורות הקוד שלעיל תחזיר פונקציה זו 6טזד ו-8|56] בהתאמה. חילוץ חלקי תאריך במקריס שבהס נדרש לעבוד בתאריכים בדרך אוטומטית, יש לפעמים צורך בשליפת חלק מתאריך. נניח למשל שיש צורך לבצע תהליך מסוים בכל יום רביעי בשבוע. בקטעיס הקודמים הודגם איך ניתן לקבוע את מספר היוס בשבוע, בעזרת הפונקציה ץ66%08), ואת התאריך והשעה הנוכחית בעזרת שסא. כמו משימות רבות ב- 88546 |508ו/, גם זו ניתנת לביצוע בדרכים אחדות. ניתן למשל להשתמש בפונקציה +8וחזס] לשליפת מספר היוס בשבוע כדלהלן: 5 דח החד 4 = ("עו" ,אוסא )וס זז 6 |808ו/\ כוללת גם פונקציות לשליפת היום, החודש והשנה. אלו נקראות כמובן שְהם, הזחס\ ו-זפסץ. עבודה עם מרווחי תאריך שתי פונקציות נוספות השימושיות לעבודה עס תאריכים, הן 600ז8כ ו-+וספטְה. ניתן להשתמש ב-08%6400 להוספת כל סוג של מרווח זמן לתאריך, כשהתוצאה המוחזרת היא התאריך החדש. לדוגמה, במקרה שנדרש להכין היוס דוח, שהתאריך שלו הוא יוס אתמול, ניתן להשתמש ב-00ַ68א08 באופן הבא : 6 25 צְ00/6500708 וחוס (אוס1,1-, ")000 = 06500708 הקוד מורה בפשטות לפונקציה 0816400 להוסיף מרווח של מינוס יוס אחד לתאריך המערכת הנוכחי. קודיס המתאימיס (4, או, וכדומה), הנכללים בפונקציה )אוחזס=, יכוליס לשמש לקביעת סוג המרוות. 4 סדנת לימוד 6.0 8\ בעוד ש-₪8%0400 מאפשרת הוספת מרווח לתאריך, הפונקציה או₪8%060 מאפשרת חישוב המרווח בין שני תאריכים. מאפיין זה שימושי בתוכניות הקובעות לוח-זמנים, למשל הקוד הבא, המאפשר הרצת תהליך אחת לשעה: 6 25 הטשפה 0% וחוס 6 5 הט5 אס הזוס זז 5 הוהרת6 הוזח וחוס צוס\ = חפה 01 (אוס\! ,60 ,"ח" )80600 = הא (חטזא6 ,שצסא , "ה") וכ = הוהוחס> הווה 0 < הוהרח6ףחוו!ח 6ווח/\\ ".5 חור " 8 הוה רחס הווח .8 " חן זפ" זחווק. בטססס (הט 06 ,צוס\ , "ח") וה = הוהוח6 הווצ סחסעם סכ \\ 0 "!סחטופעצ סחסכ 06" אס 50 הלולאה 6!וח)\ בדוגמת הקוד שלעיל תרוצ כל ומן שהמרווח שבין הזמן הנוכחי למועד הפעולה הבאה גדול מאפס. שנת 2000 רבות נכתב לאחרונה על ייבעיית שנת 2000יי, ועל האנדרלמוסיה שהיא עלולה לגרוס במערכות ממוחשבות. הבעיה היא שמחשבים (ואנשיס) רביסם משתמשים בשתי ספרות לציון השנה, מה שעלול לגרוס לבלבול. האס 2/8/00 משמעותו 2/8/1900 או 12/8/2000 לבעיה זו אין פתרון פשוט. קשה להניח ש-2/8/00 מתייחס לשני באוגוסט 2000, אס הוא מייצג את תאריך הולדתו של אדס בן מאה שנה. בנוסף, לתוכניות רבות יש נתוניס וחישוביס המבוססיס על תאריכי שנה דו-ספרתייס. נתייחס לשורות הבאות מתוך טבלה של בסיס נתונים : תאריך כמות 15 1 1.64 2 100 2121 בתיק וה תאריכיס מאוחסנים כמספרים שלמים, מה שמקל על איתור טווח תאריכיס נתון. למשל: כדי לסכס את כל הכמויות משנת 1997 והלאה, בחר את כל השורות פרק 9: יסודות התכנות של ₪856 |8טפו\ 255 שבהן התאריך שווה או גדול מ-970101. אולס נניח שהתאריך הראשון בשנת 2000 מוצג כ-00010. במקרה וה התוכנית תיכשל. למולנו, בעולס המחשבים האישיים ניתן להתגבר בקלות יחסית על בעיות מסוג זה. הבעיות ב- 8856 |508/\ תהיינה לא עס תאריכים המאוחסניס בבסיסי נתונים, אלא עס נתוניס המוזרמים בידי משתמשים, שבמקרים מסוימים מעדיפים את שיטת השנה הדו-ספרתית. נתייחס לקוד הבא : 6 45 006 חחוס "00 = 06 (08%06 פחס.[פע ,6)0%חו הרס 86 " 5 סאה" לחוזק. פטססס התאריך המאוחסן במשתנה שייך לשנת 2000. מבחינת המפתח, חייבת להתקבל החלטה אס ראוי להמשיך להשתמש לציון השנה בסימון דו-ספרתי. אס כן, התוכנית חייבת לכלול לוגיקה מתאימה להסבת הסימן הדו-ספרתי לשנה הנכונה. במקריס מסוימיס סימון שנה דו-ספרתי עלול להיות בלתי קביל, ומשתמשיסם חייבים ללמוד לקבל עובדה זו. בכל מקרה, עם קצת תכנון והוספת לוגיקה מתאימה בתוכניות, יוכל כל משתמש להצהיר בגאווה, כי תוכניות 88586 |5808ו/ שלו מוכנות לשנת 2000. מכאן... פרק וה מספק מבט כללי על התכנות ב- 8856 |8טפו. נלמדו בו העקרונות של בניית משפטי קוד וכן דרך הטיפול והעיצוב של סוגי מידע שוניס. לחומר נוסף על תכנות יש לפנות לפרקים הבאים : =* | ללמוד על בקרת הזרימה של קוד התוכנית ועל קבלת החלטות - פרק 10 שליטת במהלך התוכנית. > ללמוד על בניית פונקציות - פרק 11 ניהול הפרויקט: תת-שגרות, פונקציות וריבוי טפסים. + ללמוד כיצד לכתוב ממשקים מקצועיים - פרק 18 תכנון ממשק נכון. 6 סדנת לימוד 6.0 8\ 10 שליטה במהלך התוכנית פרק 10: שליטה במהלך התוכנית | 257 בפרק 9 יסודות התכנות של 83516 [3ש5ו+, למדת כיצד ליצור מספר פקודות קוד. כעת, תוכל להרחיב את הידע שצברת על ידי שליטה בסדר הביצוע של חלקי הקוד שלך. שתי היכולות העיקריות של מחשבים הן ביצוע הוראות במהירות וקבלת החלטות בדייקנות. בפרק וּה, תלמד כיצד לנצל יכולות אלו בשני מישורים עיקריים: יישוס שיטות שונות לקבלת החלטות ושימוש בלולאות, המאפשרות ביצוע חוזר של חלקיס מסוימיס מתוך הקוד. כמו כן, תלמד כיצד לבנות קוד המגיב לשגיאות העלולות להתרחש בעת פעולת התוכנית. קבלת החלטות בתוכנית בפרק 9 ערכת היכרות עם מחלקה של פקודות קוד, המוכרות בשס פקודות משימה (60%5וח55816 %ח6וחת455/9), המשמשות להגדרה ושינוי ערכי משתנים. קבוצה חשובה נוספת של פקודות קוד, המיועדת לטיפול במשימות מורכבות יותר, מכונות פקודות שליטה (65ח5%806706 |סזוחס6). ללא פקודות שליטה, יבוצע הקוד מתחילתו ועד סופו, שורה אחר שורה ללא הבחנה, והתוכנית תיעצר לאחר ביצוע שורת הקוד האחרונה. סוג אחד של פקודות המקנות שליטה על אופן ביצוע הקוד הן פקודות החלטה (09ח558%6706 ח0ן26615), השולטות על יישוס חלקיס שוניס בתוכנית, בהתאס לתנאיס המתקיימים בזמן ביצוען. שני מבני ההחלטה הנפוצים בתוכניות 8856 |בּטפו\ מבוססיס על פקודות )1 ופקודות 6856 56!60%, בהן יעסקו הסעיפים הבאים. שימוש בפקודה )1 במקריס רבים, הנך מעוניין בביצוע שורה אחת או מספר שורות קוד רק אס תנאי מסויס מתקיים, כלומר מקבל את הערך 6טזד. קיימות שתי צורות לטיפול בהתניות ד באמצעות הפקודה )1: הצורה הראשונה היא שימוש בפקודת )1 בת שורה אחת והצורה השנייה היא שימוש בפקודת )1 בעלת מספר שורות. בכל אחת מהצורות נעשה שימוש בפקודה ‏ לבדיקת קיוס תנאי מסויס. אס הערך המתקבל הוא 6טזד, התוכנית תבצע את הפקודות המצורפות לפקודה ‏ . לדוגמה, שתי פקודות )1 הבאות מבצעות פעולה דומח: =[ סחו! 61816 ' 0= א חסחדך 5 < א זז =1 סחו! 6וסשוטא/ ' חסוד 5 < א )1 0=א + 0חם שימוש בשורות מפוצלות ומורחקות מן השולייסם הוא מנהג מקובל המקל על קריאת הקוד בעת שימוש במשפטי )1 מרובי שורות. 8 סדנת לימוד 6.0 8\ אס הערך המתקבל הוא 8!56= (בדוגמה לעיל, אס א אינו גדול מ-5) התוכנית מדלגת על שורת 1 (במשפטי + בעלי שורה אחת) או על השורות שבין הפקודות + ו-)1 0ח= (במשפטי )1 בעלי מספר שורות) ועוברת לביצוע השורה הבאה. פקודות 1 בנות שורה אחת פקודות 1 של שורה אחת גורמות לתוכנית לבצע משימה בודדת אס הערך המתקבל הוא פטזד. משימה זו יכולה להיות פקודה בודדת, או מספר פקודות הנכללות בשיגרה. להלן תחביר פקודת 1 בעלת שורה בודדת : 6000900 הפחד הסשוסחס6 + הארגומנט 6000/00 מייצג תנאי לוגי כלשהו היכול להשתייך לאחת הקבוצות הבאות : > השוואה של משתנה לאותיות (|1/6018), משתנה אחר או פונקציה. %, + משתנה או בסיס נתוניס המכיל ערך של 6טזד או 856". * כל פונקציה או ביטוי המחזיר ערך של 6טזד או 8156=. הארגומנט 600800 מייצג את המשימה שתבוצע אס התקבל הערך 6טזד. משימה זו יכולה לכלול כל פקודה חוקית ב- 8856 |508ו/, כולל קריאה לשיגרה. הקוד הבא מדפיס שם עובד בתנאי שמשכורתו גבוהה מערך מקסימלי קבוע מראש: 56 +הוזק. )הזכ הסח ד עְז58|3אהו6 < עה!658 +[ פקודות ]1 מרובות שורות אס ברצונך לבצע יותר מפקודה בודדת בתגובה להתניה, תוכל להשתמש בפקודת 1 מרובת שורות, המוכרת גס כבלוק 1 10 8106%). מבנה זה מלכד מספר פקודות קוד בין שורת 1 לשורת 1 0חם. אס הערך שהתקבל הוא פטזז, תבצע התוכנית את בלוק הפקודות שבין ‏ ל-+ 0חם. אס הערך שהתקבל הוא 156", התוכנית תדלג ישירות לשורה שאחרי + 6חש. הדוגמה הבאה מראה כיצד ניתן להשתמש בבלוק )1 לחישוב התשלוס עבור השתתפות בתערוכה. אס הופקדה מקדמה מראש, היא מצורפת לתשלוס הכללי והתוכנית קוראת לשיגרה המטפלת בהזמנה: הסח 0 < +וח\0ו05ק6ס6 +[ 626051 + 0ו8ק|009 617 = 0ו8ק|069 61 0 = +\ח\0ו606005 ח0ו6507/80 66 0כ\ |ו68 + 0חם פרק 10: שליטה במהלך התוכנית | 259 שימוש בהתניית 3!56= כמובן שאס אפשרית התניית 6טזד, אזי אפשרית גם התניית 8|56]. במקרים מסוימים, תרצה שתוכניתך תבצע משימה מסוימת רק כאשר מתקבל הערך 8|566]. במקריס אחרים תהא מעוניין לבצע משימות שונות בהתאס לערך המתקבל (פטזד או 8156:). הסעיף הבא מתייחס לחלק ההתניה המטפל בערך 8!56". שימוש באופרטור דסא דרך אחת ליצור פקודה או קבוצת משפטים המטפלים בערך 8|566, היא שימוש באופרטור %סא. האופרטור 6 למעשה הופך את התנאי הבא אחריו. כלומר, אס ההתניה כשלעצמה היא בעלת ערך 6טזד, הופך האופרטור את ערך הביטוי כולו ל-8|56= ולהפך. הקוד הבא משתמש באופרטור 0% להיפוך המשתנה הבוליאני 6|ספּאהּ דפ, המדווח על כמות המכירות של המציג בתערוכה תוך שימוש במדרגת מס (5)0005 אבּז). אדפ מקבל ערך פטזד אס המציג בתערוכה צריך לשלם מס על מכירות ושימוש, וערך 3|56] אס לא. הקוד עורך בדיקה על הערך המתקבל מן הביטוי 6ט8א8דם 6סו. אס הערך המתקבל הוא 6טזד, אזי המציג בתערוכה פטור ממס. חסח ד 6וסהאה ד ז+סא ]זז 0 = א8 ]658|65 0 = אה ז0)050 + 0חם שימוש בהתניות שטיוד ו-56ו3 דרך נוספת לטיפול בהתניות 8!56] היא הגדרת מערכות שונות של פקודות אשר תבוצענה בהתאס לערך המתקבל (פטזד או 856=). תוכל להסתייע לשם כך בביטוי 6, אותו ניתן לשלב כחלק מבלוק )1. לטיפול, הן בהתניית 6טזד והן בהתניית 8|56], השתמש בבלוק * ושלב בו את הביטוי 6 בצורה הבאה: הסח ד הסטוחס6 +[ סד 15 הסחווחס6 הצא 06655 0 580006065 56 6 5 הסוח 00 הסחשש 06655זכ 60 500665 + ₪0 פקודות + ו-1 0ח= בבלוק לעיל, והות לדוגמה הקודמת. גם כאן ההתניה היא ביטוי לוגי המניב ערך 6טזד או 8!56]. המרכיב המרכזצי במערכת משפטים זאת הוא הביטוי 6. ביטוי ה משולב אחרי המשימה האחרונה לביצוע אס מתקבל הערך 6טזד, ולפני המשימה הראשונה לביצוע אס מתקבל הערך 8566:. אס ערך ההתניה הוא 6טזד, התוכנית תבצע את המשימות המופיעות לפני הביטוי 556 ומשס תפנה ישירות לשורה שאחרי 1 06ח= ותדלג על השורות שבין ₪56 ו-1 06חם. אס ערך ההתניה הוא 856=, התוכנית תפנה ישירות לביצוע המשימות המופיעות אחר* הביטוי 5156. 0 סדנת לימוד 6.0 8\ הערה: אם ברצונך לבצע משימה כלשהי רק אם ערך ההתניה הוא 8!56=, תוכל לכתוב קטע קוד רק לחלק שבין הפקודות 56 ו- ]1 0חם. אינך חייב לכתוב קוד גם בחלק שבין הפקודות + ו-5!56. טיפ: כאשר מופיעים מספר משפטים בין פקודות ]1 ו-17 0ח= מומלץ לעיתים לחזור על 17 התתניה גם בפקודה )1 0ח5, כדי להקל על קריאת הקוד, כמו בדוגמה הבאה: חס ז 0[6006058|65זק6 < 063158|65 61 +[ קבוצה של משפטי קוד 6 קבוצה נוספת של משפטי קוד + 0חם שימוש בהתניות מרובות בסעיפים הקודמים ערכת היכרות עס בלוק )1 פשוט הכולל התניה בודדת, ומסוגל לבצע משימות עבור ערך 6טזוד או 8|56=. ביכולתך לכלול מספר התניות בבלוק 1 אחד. פקודת ₪561 מאפשרת להוסיף התניה נוספת, אליה מתייחסת התוכנית אס ההתניה הקודמת מקבלת ערך 8!566". הפקודה 51561 מאפשרת לשלב מספר בלתי מוגבל של התניות בבלוק +1 יחיד. להלן דוגמה לשימוש בפקודה ‏ 51561 לבדיקת המשתנה 165%), המסוגל להכיל שלושה ערכים אפשריים: מספר שלילי, אפס, או מספר חיובי. חס ד 0 > 65% זז "6עו6080\]" = הס 1.03ט65חוטו חסחד 0 = 656 17 566! סוק .וטו 56 הסוס 651.3 וטו + ₪0 "7670" "6ען[05ק" תחילה בודקת התוכנית את ההתניה של פקודת 1. אס הערך המתקבל הוא 6טזד, מבצעת התוכנית את המשימה (או המשימות) המצורפת לפקודת )1, ולאחר מכן מדלגת ישירות לשורה הבאה אחרי פקודת )1 6חם. אס הערך המתקבל מההתניה הראשונה הוא 8156=, מדלגת התוכנית לפקודה ₪156 המופיעה ראשונה ובודקת את ההתניה שלה. אס הערך המתקבל הוא פטוד, מבצעת התוכנית את המשימה המצורפת לפקודה ‏ 51561 ושוב מדלגת אל השורה הבאה אחרי פקודת 1 6ח5. התהליך מתבצע באופן דומה על כל משפטי ₪156 המשולביס בבלוק. אס עבור כל ההתניות התקבל הערך 856=, מדלגת התוכנית לפקודה 5156 ומבצעת את המשימות המופיעות בינה לבין פקודת ]1 0ח5. פקודת ₪156 היא אופציונלית ואין חובה לכלול אותה בבלוק. פרק 10: שליטה במהלך התוכנית | 261 שימוש בפקודה 6356 506!66% דרך נוספת לקבלת החלטות בתוכנית היא שימוש בפקודה 6856 56!60, המאפשרת לך לבצע שורת משימות בהתאם לערך המתקבל עבור ביטוי מסוים, בין אס הוא משתנה בודד או ביטוי מורכב. פקודת 6856 56!60% מורכבת משני חלקים : הביטוי עליו מופעלת הפקודה ושורת משפטי 6856 המבטאים ערכים אפשריים עבור הביטוי ומשימות אשר על התוכנית לבצע אס ערכיס אלה מתקבלים. כיצד עובדת הפקודה 6356 56!66% מבנה ההחלטה 6856 56606 דומה למבנה ההחלטה ‏ +5|56\חפחד\1. שורות הקוד הבאות מדגימות את צורת הבנייה של בלוק 6856 56/60 : 050/86 0856 50|666 1 8|6\ 6856 1 טס 566% 2 8|06/\ 0856 2 קטסז %ה5%0006 סחם המרכיב הראשון בבלוק היא פקודת 6856 56!6. פקודה וו מגדירה את הביטוי המוערך מול מספר תוצאות אפשריות. הביטוי המוערך, אשר מיוצג בדוגמה על ידי הארגומנט %050/8|06, יכול להיות מספר או מחרוות חוקיים, כולל 915ז1186, משתנים או פונקציות. פקודת 6856 נכתבת בראש כל קבוצה מותנית של פקודות (אשר תבוצענה רק אס יתקבל הערך המוגדר). פקודה וו מגדירה ביטוי (המיוצג על ידי הארגומנטים 1 6טן8\ בפקודה הראשונה ו- 2 6ט|8\ בפקודה השנייה) המושווה ל-6ט|165%/8. אם שני הביטוייס שווים, התוכנית תבצע את המשימות המקושרות לפקודה 6856. כלומר המשימות המופיעות בין שתי פקודות 6856 או בין הפקודה 6856 לפקודה 6חם. אס שני הביטויים אינס שווים, התוכנית ממשיכה הלאה ומשווה את 86 ד מול פקודת 6856 הבאה. הפקודה 6856 6ח5 מציינת את סוף הבלוק 6856 56|6. הערה: התוכנית מבצעת קבוצת פקודות אחת בלבד עבור כל בלוק 6856 56!660%. זאת גם במקרה שיש יותר מפקודת 6856 אחת התואמת את ערך הביטוי המוערך. 0 אזהרה: הביטויים 6ט|650/8ד ו-6טוה\ חייבים לייצג אותו סוג של נתונים. לדוגמה, אם 6 הוא מספר, גם כל הערכים המושווים אליו במשפטי 6856 צריכים להיות מספרים. 2 סדנת לימוד 6.0 8\ פקודות 6856 המשולבות בבלוק 6856 566% יכולות לטפל בנוסף לערכים נפרדים, גס ברשימות (15%]), תחומים (פספַח₪9) והשוואות (5חספוזה8ק 60) ערכים. שיסם לב, בדוגמה הבאה, לשימוש ב- 0 > 15 0856, 9 0 4 6896 ו- 50 < 15 6856 : (00ח8ט000)ו3/\ = סח ה 6856 ז50|66 חספוז קר 60 +0 56 66סח' 0 > 15 6856 סו 3 !סא טש "6080 06 +0חהח63 סט ההטף זססזס" אס !ו טטפ זוא | 01 ₪56 ס6סח' 3 ,2 ,1 6856 0 = )חטסספוס1 6 ז0 ₪056 סזסח' 9 0 4 6856 3 = %חט00ס5וכ1 9 0 10 6856 8 = %חטס0ס5פוכ1 0 < 5! 06896 1 = %חט600פוכ1 6סחם טיפול בערכים אחרים הדוגמאות שהוצגו עד כה עובדות היטב כאשר הביטוי המוערך שווה לאחד הביטוייס בפקודות 6856. אך מה לגבי ערכיס שאין אליהס התייחסות בפקודות 6856! תוכל להתאים את הקוד שלך כך שיטפל גס בערכיםס מסוג זה על ידי שימוש בפקודה 68596 6. הפקודה 556 6856 נכתבת לאחר המשימה המסיימת את פקודת 6856 האחרונה בבלוק. אחריה תיכתבנה המשימות לביצוע ואחריהן פקודת ‏ 56!66 0חם. תוכל להשתמש בפקודה 6856 56600 לחישוב ערכים שלא הוגדרו בפקודות 0856 או לחילופין, כדי להסב את תשומת לב המשתמש לכך שהקליד ערך בלתי חוקי. דמה לעצמך טופס פשוט שנועד לשיבו ציוני בחינה של תלמיד בשלוש תיבות דו-שיח. בטופס קיים גס לחצן המחשב את ממוצע הבחינות ומשתמש בבלוק 6856 56|60% לביטוי ציון התלמיד באמצעות אות לועזית, בהתאסם לממוצע בתינותיו. תוכנית הדוגמה 10.1 מציגה את הקוד שבשגרת האירוע 61666 של לחצן החישוב. תוכנית דוגמה 10.1: 655.87 551 שימוש ב- 6856 56/6601 לביטוי ציון התלמיד באמצעות אות לועזית (0א6ו61 0008|6ח6 5 סזהּעוזוק לחז 5 ותופח הזוס 6 5 חַע1 חחוס (6503 8|)0007/\ + (6502 [8))06/\ + (6561 8|)0407/\ = וחטפח 3 / החטפח = 1/0 (1 ,0ע1)ז סרחטו\\להרתזס-=] = 06זוסעמ וטו פרק 10: שליטה במהלך התוכנית | 263 (0ש+)0ח 0 60856 50!606 0 = 15 6856 "+" = 806ז0!ט! 9 סך 93 6856 "1" = 806זם!פ! 2 70 83 6856 "ם" = 806זם!פ! 2 70 73 6856 "6" = 806ז6!ט! 2 70 63 6856 זט 3 > 15 6856 זט 6חם 50 0חם זי ו בצע את הצעדיס הבאיס כדי לבדוק את ביצועי התוכנית : 1 הוסף לטופס שלוש תיבות טקסט בשם 6501 01, 0502 6007 ו-65%3 )אס. 2 הוסף לחצן פקודה בשס 068|6וח6. 3 כמו בכל טופס, עליך להוסיף פקדי |1886 לפי הצורך. במקרה זה עליך להוסיף שני פקדיםס להצגת התוצאות : 6פפזפט1/פ! ו-806זופו. הוסף את שני הפקדים לטופס והגדר את מאפיין ח680₪0 כמחרוזת ריקה. 4 הכנס את הקוד שבתוכנית הדוגמה 10.1 לשגרת 0166 של לחצן 60068|6. 5. לתצ על לחצן ההפעלה של 8856 |1!508/\. עבודה עם לולאות סוג עיקרי נוסף של משפטיס המאפשרים שליטה בשטף הקוד הן לולאות (1!0005). אתה משתמש בלולאות לשס ביצוע חוזר של משימות בתוכניתך. שלושת סוגי הלולאות העיקריים ב- 8856 |508 הס לולאות מנייה (05ק100 זסזחהט00), לולאות תנאי (5ק100 |8ה00ו0ח60) ולולאות מספור (10005 הססאזמטחם). לולאות מנייה, או לולאות...זס=, מבצעות משימה מספר מוגדר של פעמים. לולאות תנאי, או לולאות ..., מבצעות משימה כל עוד תנאי מסויס מתקיים או עד אשר תנאי מסויס מתקיים. לולאות מספור, משמשות לביצוע פעולה מסוימת על כל פריט בקבוצת אובייקטיס. הסעיפים הבאים יציגו בפניך את סוגי הלולאות השוניס. 4 סדנת לימוד 6.0 8\ לולאות וס לולאת מנייה מוכרת גם בכינוי לולאת זס=], או לולאת 6%0א...זס=. בתחילת כל לולאת זס= יש להגדיר משתנה בתור מונה, ולקבוע את ערכי הפתיחה והסיום של המונה. ניתן, כאופציה, גם להגדיר ערך דילוג (כ50) הקובע את גודל הצעדים על פיהם יגדל (או יקטן) ערך המונה, בכל פעס שהתוכנית תבצע את הלולאה. כאשר התוכנית מבצעת את הלולאה בפעס הראשונה, המונה מותאס לערך הפתיחה. מכאן והלאה, בכל פעס שהלולאה מבוצעת מחדש, ערך המונה משתנה בדילוגיס קבועיס, בהתאם לערך הדילוג (ק6ז5), עד אשר ערך המונה חולף על פני ערך הסיום. או מפסיקה התוכנית את ביצוע הלולאה ומדלגת אל משפט התוכנית הבא (הנמצא אחרי פקודת 60 של הלולאה). ם אזהרה: במצב רגיל, אם ערך הפתיחה של הלולאה גדול מערך הסיום, התוכנית לא תבצע את הלולאה כלל. עם זאת, ניתן לגרום למונה לצעוד אחורה (כלומר מערך פתיחה גדול לערך סיום קטן יותר) על ידי הגדרת ערך דילוג (500) שלילי. במקרה זה הלולאה תתבצע עד אשר ערך המונה יהיה קטן מערך הסיום. טיפ: כדי להקל על קריאת התוכנית, מומלץ להוסיף את שם המשתנה, המשמש כמונה, גם לפקודה 6א6א. דבר זה נחוץ בעיקר בעת עבודה עם לולאות משנה המשולבות בתוך לולאות ראשיות. מ אזהרה: באפשרותך להשתמש בכל אחד מסוגי המשתנים המספריים כמונה בלולאה. עם זאת, עליך להביא בחשבון את המגבלות של סוגי המשתנים השונים. לדוגמה, אם ברצונך לבצע לולאה כלשהי 40,000 פעמים, שימוש במשתנה מסוג ז0606ח1, כמונה, יגרום לתוכניתך להציג הודעת שגיאה, זאת משום שהערך המקסימלי שמשתנה מסוג זה יכול להכיל הוא 32,767. מגבלות המשתנים לסוגיהם השונים מתוארים בקובץ העזרה ץזסוהוהט5 סכץד הּזב. הקוד הבא מראה כיצד ניתן להשתמש בלולאת %א6א...זס] כדי להדפיס את המספרים 1 עד 10 ואת שורשיהס הריבועיים. 0 0 1 = 1 זס= 1*2) 8" 5 5060 " 8 1 = קוחס 5 קוח6 57 זחוזק.וססחוזוק 1 אסא פרק 10: שליטה במהלך התוכנית | 265 הדוגמה הבאה מראה כיצד ניתן להסתייע בלולאת זס" לאיפוס מערך משתנים. שימוש מסוג ה בלולאות )אפח...זס] לביצוע פעולות על מערכי משתניס הוא נפוצ למדי ויכול לחסוך שורות קוד רבות : 2 00 1 = 1 זס= 0 = (58|65)1ח)חסוי 0 = (565)1ח06אם ח)חסוי 0 = (1וסזקהסחסוי 1 אס הערה: כפי שראית בדוגמה האחרונה ועוד תראה בדוגמאות אחרות בספר, מקובל למדי לשלב בין לולאות זס] ומערכי משתנים. לולאת זס] מהווה צורה נוחה לבחון או לשנות פריטים במערכי נתונים שכן מונה הלולאה יכול לשמש כאינדקס המערך. ג אזהרה: לעולם אל תאפס את ערך הפתיחה של המונה בתוך הלולאה עצמה. דבר זה יגרום ללולאה להתבצע אינסוף פעמים. במרבית המקריס תרצה שלולאת זס] שלך תתבצע עבור כל הערכיס האפשריים בין ערך הפתיחה לערך הסיום. עס זאת, ייתכנו מצביס בהם תרצה לנטוש את ביצוע הלולאה קודס לכן. לצורך כך עליך להוסיף ללולאה פקודת זס" ₪8 אשר תופיע בנקודה בה אתה מעוניין לעצור. פקודת זס" 5% בדרך כלל מקושרת לפקודה 1 באמצעותה בודקת התוכנית האס יש לעצור את הלולאה. קטע הקוד הבא הוא חלק ממשחק טריוויה בו נבדקת כמות הנקודות של השחקן לאחר כל שאלה. אס הניקוד יורד אל מתחת לאפס, לא תוצגנה יותר שאלות עבור השחקן. 5 רוטה סך 1 = 1 זס= ח5606500\ ||68 חס ד 3510 /זס ץבוק זז 6ט|8/\()ח + 6זס560ח = 6זס560ח 56 6ן8)ח - 6ז560ח = 56076ח + 50 זס] אם הפחד 0 => 6ז0ספח ]1 1 אס 6 סדנת לימוד 6.0 8\ לולאות ספ המרכיב העיקרי בלולאת תנאי הוא, כמובן, התנאי עצמו. תנאי יכול להיות כל ביטוי המסוגל להשיב ערך 6טזד או 8!56]. תנאי יכול להיות פונקציה, כגון *50; ערך של מאפיין, כגון מאפיין ₪6ו3\ של לחצן פקודה; או ביטוי, כגון 15 > |השוחטח. לולאות תנאי נחלקות לשני סוגיס עיקרייסם: לולאות 6!וח/\ ספ, המבוצעת כל עוד ערך התנאי הוא פטזד (כלומר, בשעה שהתנאי מתקיים) ולולאת !חש ספ, המבוצעת עד אשר ערך התנאי הוא פטזד (כלומר הלולאה מתבצעת כל עוד ערך התנאי הוא 56ו8). הערה: הביטוי 507 מבטא 66וח-+0-0ח5. הפונקציה 507 משיבה ערך שד אם הגעת לסוף קובץ או סוף ₪6607056% (אוסף רשומות). לולאות ס6ווח/\ ספ מילת המפתח 6ווח/\ גורמת לתוכנית לבצע את הלולאה כל עוד ערך התנאי הוא פטזד. כאשר ערך התנאי משתנה ל-8!56= התוכנית מפסיקה את ביצוע הלולאה ומדלגת למשפט התוכנית המופיע אחרי פקודת ססס1. ניתן לכתוב לולאת 6!וח\\ סם בשתי צורות שונות. ההבדל מתבטא במיקוס התנאי. ניתן למקס את התנאי בתחילת או בסוף הלולאה. הדוגמה הבאה מציגה את הצורה הראשונה, בה מופיע התנאי בתחילת הלולאה. הקוד גורס לתוכנית לבצע את הלולאה כל עוד יש רשומות זמינות ב-₪6607056%. :0 חוששס!|10 6 355765 6006 פוחד ' 8 חו 08080856 השס ח8 5 פס ' 8 חצ 6607056% השקס חה 15 8ז ' א%00פ!ו| 8 15| 560868| ' ו806! 15 +חטססוס| ' 5.50 60% 6!וח/\\ סס (5.116!05)0 רח0106 10 150088 +חט0ס1560 |.15%08%8 = %חטס6ופו סחפםסס ]אסחססו.5ז ססס | הערה: לעת עתה נניח ש-₪5 הינו אוסף רשומות כלומר אוסף שמות תלמידים + מספר טלפון, לדוגמה: איל גוטליב, 03-5077011 רוני ארבל, | 02-5311721 וכל רשומה מכילה מספר שדות. בדוגמה שלנו יש 2 שדות (6!05=): שם + מספר טלפון. פרק 10: שליטה במהלך התוכנית | 267 שילוב הביטו:י 6|וח\\ בפקודה 00 המופיעה בתחילת הלולאה, מורה לתוכנית לבדוק את התנאי לפני שהיא ניגשת לביצוע הפקודות שבגוף הלולאה. אס הבדיקה מעלה כי ערך התנאי הוא 6טזז, התוכנית מבצעת את שורת המשימות המופיעות בין הפקודות 0ם ו-000], ולאחר מכן חוזרת לפקודה 0כ ובודקת את התנאי מחדש. ברגע שערך התנאי משתנה ל-8/56=, התוכנית מדלגת לשורה הכתובה לאחר פקודת קסס!. המשפטיס ספ ו-1000 הס מרכיבים בלתי נפרדים ממבנה הלולאה. למעשה, כאשר אתה בונה את הלולאה בצורה זו, ייתכן מצב בו המשימות בגוף הלולאה לא תבוצענה כלל. כאשר ערך התנאי הוא 8156" מלכתחילה, התוכנית תדלג ישירות לקטע הקוד הבא, מבלי לבצע את הלולאה. אס אתה מעוניין שהתוכנית תבצע את לולאת 6ווח\\ 0ם פעס אחת לפחות, עליך להשתמש בצורת הכתיבה השנייה, בה מופיע התנאי בסוף הלולאה במקוס בתחילתה. באופן ה התוכנית מבצעת את המשימות שבגוף הלולאה לפחות פעסם אחת לפני בדיקת התנאי עצמו. בסוף הבדיקה מחליטה התוכנית האס לבצע את הלולאה פעם נוספת או לדלג לקטע הקוד הבא : ספ (6|05)0!=]. 5 הה400106/. 5%08%8! 500% 5%28%8.1! = +%חטס6ופו סחםסס ]חס סו.5ז "5.50 0% שווח/\ קסס | היה זהיר בעת שימוש בלולאה בצורה זאת, וקח בחשבון כי הפקודות המופיעות בין המשפטיס 0 ו-1000 יבוצעו לפחות פעס אחת ללא בדיקת התנאי המוגדר בלולאה. לדוגמה, אס הערך של פונקציית 50 הוא פטזד עוד בטרס ביצוע הלולאה בפעס הראשונה, התוכנית תפיק הודעת שגיאה בעת ניסיון לגשת לרשומה הנוכחית במסגרת הלולאה. י אזהרה: אל תוסיף את הביטוי 6|וחצ\ בפקודות 0 ו-ק0ס! בו-זמנית. פעולה זו תגרום לשגיאה בעת ניסיון להפעיל את התוכנית. הערה: אם אתה עובד על קוד שפותח על ידי מישהו אחר, ייתכן שתיתקל בלולאה המתחילה בפקודה 6ווח/\ ומסתיימת בפקודה סח6/\ (הביטוי 0ח6/\ מבטא "6חם 6ח/צ", כלומר את סוף לולאת 6ווח/)). צורה זו, המהווה שריד מגרסאות 88516 !1508 ישנות יותר, עובדת באופן זהה ללולאת 6ווח/\, כשהתנאי נמצא בתחילת הלולאה, כחלק מפקודת ספ. 6 |508/\ עדיין תומכת בלולאות מסוג זה, אך מומלץ להשתמש בצורה המודרנית והגמישה יותר של פווח/\...סם. 8 סדנת לימוד 6.0 8\ לולאות ושחש ספ לולאות |שחט ספ והות ביסודן ללולאות 6|וח)\ 0ם, אלא שהתוכנית מבצעת את המשימות בגוף הלולאה כל עוד ערך התנאי הוא 8|56]. כאשר ערך התנאי משתנה ל-6טוזד הלולאה נעצרת. כמו קודמתה, גם את לולאת |טחש ספ ניתן לכתוב בשתי צורות שונות: בראשונה התנאי הוא חלק מפקודת סכ, ובשנייה התנאי הוא חלק מפקודת קסס]. כאשר התנאי הוא חלק מפקודת סס, הוא נבדק בטרם ניגשת התוכנית לביצוע המשימות. כאשר התנאי מופיע בסוף הלולאה, כחלק מפקודת 000/, התוכנית מבצעת את המשימות בגוף הלולאה לפחות פעס אחת לפני בדיקת התנאי עצמו. נהוג להשתמש בלולאות |₪ח ₪0 בעת קריאה ועיבוד קבצי נתוניס. הלולאה מתחילה ברשומת הקוב הראשונה ומעבדת כל רשומה עד לסוף הקובצ. שורות הקוד הבאות עושות שימוש בלולאת !חש ספ כדי לטעון את שמות כל המחבריס שבמסד הנתוניס 8פו. 10 8181 (מסד נתוניס לדוגמה המצורף ל- 8856 |808ו/) לתוך תיבת רשימה: 6 5 05% 007 וחוכ 5ב 656 [5 וחוכ ("טסרח. סו|טופ") 28080856 ה6קס = 656 007 56% ( "סז" ) 6607056% 651.00 007 = 65% 5ז 56% 65.50 זז וטחש\ ספ ("זסר ו" )65 51 הח00166. 501 | .5 5 קסס | לפני ביצוע הלולאה בפעסם הראשונה, בודקת התוכנית את ערך 5165.500ז. אם התוצאה היא 6טזד (כלומר סוף ה-₪660705%), הלולאה לא תבוצע כלל. והו היתרון הנובע משילוב התנאי בתחילת הלולאה ולא בסופה. טיפ: שימוש בדירוג שורות הקוד מקל על זיהוי מבנים שונים בתוכנית, כדוגמת 2-4 לולאות או בלוקים של פקודות 56!|ם\חפחד\)1 או 58|66 06חם\6856 56!665. עשה זאת על ידי הקשת טאב בתחילת השורה. הקשת זפשח= בסוף השורה, תעביר את הסמן אל מתחת לנקודה בה התחילה השורה הקודמת (כך שאין צורך להקיש טאב בכל פעם מחדש). נסה לכתוב את שורות ההתחלה וסיום הבלוק באותה עמודה, כפי שנעשה בדוגמאות רבות בספר זה. בדומה ללולאת 6ווח/\ סכ, גס לולאת |טחש ספ יכולה להיכתב בצורה המאפשרת לה להתבצע לפחות פעם אחת. עיין בדוגמה הבאה: זז 5 1 וחזוס 1=0 ספ ("!קסס! %6 א 0+ 0 וסשחם")אסטלטסחז = 1 0 = 1 טח קסס | פרק 10: שליטה במהלך התוכנית | 269 למרות שהערך המוגדר מלכתחילה עבור המשתנה 1 הוא 0, הלולאה מבוצעת לפני בדיקת התנאי. הפעלת הקוד לעיל תגרוס להופעה חוזרת של תיבת ההודעה עד אשר המשתמש יקליד 0. לולאות מספור סוג נוסף של לולאות, בהן ניתן להשתמש ב- 8856 |508ו/, הן לולאות 586 זסם. לולאות אלו מכונות לולאות מספור (00ס] חס8זסוחטחם) מכיון שהן ממספרות כל חבר במערכת אובייקטים. כפי שתלמד מאוחר יותר בפרק 16 מתלקות: שימוש חוזר ברכיבים, ניתן לאחסן קבוצת אובייקטים במבנה לוגי המכונה אוסף (ח00!!6000). ראה: יצירת מחלקות המכילות אוספים, בפרק 16. דוגמה אחת היא האוסף פזטחוזק. והו אוסף מובנה המייצג, כאובייקט, כל אחת מן המדפסות המקושרות למערכת. הדוגמה הבאה מציגה כיצד ניתן להשתמש בלולאת ח86= זס= להדפסת מאפיין 06166836 של כל המדפסות : זססחוזק 45 זססההק[טס וחוס 5זססחוז ח1 זס6חוק[טס ₪86 זס= 36 \00וע6. זססהוזק [טס זחוזק. פטוססס חק טס אסא משתנה האובייקט זססחוזק[00 מתנהג בדומה למונה בלולאת 66א...זס=, בכך שהוא מכיל בכל פעם את הפריט המעובד הנוכתי. כמו כן, ניתן להשתמש בלולאת 5860 זס] בעבודה עס מערכים. ראה בדוגמה הבאה: %ח8וזה/\ 5 זססוחטצח וחוס %חהחזהּ/\ 5 שְבּדוהץוא הזוס (3,6,9,9,5,2,3,9)ץ8זזה = שְפזוה שו ץהזזה שו ח1 זססותט\ח ה86ם זס= סרח +חוזק. פטטסכ הפחד 5 < זסטוהטצזה זז וצח +אצ תחילה יוצר הקוד מערך מסוג +ח8וז\ של שמונה משתנים, ואחר כך נעזר בלולאה לרישוס כל המשתניס הגדוליס מ-5. ניפוי שגיאות קוד במהלך כתיבת הקוד והוספת אובייקטים, עליך לוודא כי לא נפלו שגיאות בפרויקט 6 |08פו/\ שלך. לעיתיס קרובות קורה שתוכנית, הנראית תקינה לחלוטין על פני השטח, מסרבת לפעול בכל צורה שהיא. הסיבה לכך היא שגיאה כלשהי בקוד. נניח שברצונך להשתמש בלולאת 6|ח/\ לצורך הדפסת כל המספרים בין 1 ל-100 ב- אוססחו/\ 6018%6חוחח]. 0 סדנת לימוד 6.0 8\ החל פרויקט חדש מסוג 5אם 5900810 וכתוב את שורות הקוד הבאות בשגרת האירוע 0 חוזס= : זז 5 1 הזוס 1=ז >= 0‏ ס6ווח/\ 1 "=>6חטס6" לחוזק. פטפטס 60 \\ 0חם הפעל את התוכנית ותגלה מייד כי אירעה שגיאה, הגורמת לתוכנית להדפיס את הערך 1 פעסם אחר פעס. למעשה, אס תניח לתוכנית לפעול ללא הפרעה, הלולאה עצמה לא תפסיק לעולם. בעת עבודה ב-105, תוכל ללחוץ על לחצן 5000, לתקן את הקוד הפגוס ולהפעיל את התוכנית מחדש. אולם, יש מקרים, כמו המקרה הנוכתי, בהס תרצה לנפות שגיאות מתוכניתך במהלך פעולתה. לשס כך עליך להשתמש בלחצן 768% (ס5טַ8ק), הממוקס בסרגל פטטסת, או לחילופין, להקיש 8768% + |6₪. אס תוכניתך עדיין פועלת, הקש כעת 8% + |₪ס. שיס לב כי הופסק ביצוע הקוד (שורות חדשות אינן מודפסות יותר בחלון 6 ן), אך התוכנית עוד לא עצרה לגמרי. הטפסים עדיין טעונים לזיכרון והמשתניס מחזיקיס בערכיהס. במצב זה תוכל להקיש 55 או ללחו על לחצן +58 כדי להמשיך את פעולת התוכנית. אס תציג במצב וה את חלון הקוד, תמצא כי |8טפו\ 6 מאירה את הפקודה הבאה המיועדת לביצוע ומציבה חצ קטן משמאלו. מצב וה של עצירת ביניים מכונה מצב שבירה (1006! 81686). כאשר אתה עובד במצב שבירה, באפשרותך לצפות או לשנות ערכי משתניס בחלון 608%6וחוח1. במקרים מסוימים תוכל אף לשנות את הקוד ולהמשיך מייד בביצוע התוכנית. טיפ: הדרך הקלה ביותר לדעת אם הנך עובד במצב שבירה היא להציץ בכותרת של 6 |808ו/\ ולבדוק האם מופיעה בה המילה [68%זפ]. כמו כן תוכל להביט במצב הלחצנים בסרגל הכלים או לנסות לכתוב בחלון 316ו0סוחוח1. הערה: מומלץ לתקן שגיאות כאלו לפני הידור התוכנית. משום שהמשתמשים מפעילים את התוכנית מחוץ לסביבת 8856 |הטפו/, וביכולתם לשבור או להפסיק לולאה אינסופית רק באמצעות סיום פעולת התוכנית כולה, מתוך חלון זַסְבּח8\! 135% של פאוספחו/צ. פרק 10: שליטה במהלך התוכנית | 271 בדוגמה זו יישכחתיי להוסיף פקודה אשר תגדיל את ערך המשתנה 1. כיון ש-1 נשאר ללא שינוי, התנאי שהצבנו בפקודה 6!וח/\ לא יקבל לעולס ערך 8|56" והלולאה תתבצע אינסוף פעמים. כדי לתקן את השגיאה, כאשר הינך נמצא במצב שבירה, הוסף את השורה החסרה. הקוד שלך אמור עתה להיראות כך: זז 5 1 וחוס 1 0 => 1 6ווח/\ 1 "==+חט600" לחווק. פטססס 1[ 0ח6/\ סחם עתה, הקש ₪5 או לח על לחצן 504 של 8856 |508ו/. התוכנית אמורה כעת למנות מ-1 עד 100 ולעצור. הערה: ישנן פקודות מסוימות שלא ניתן להוסיף לתוכנית במצב שבירה. במקרים אלה, 6 |8טפו/\ מודיעה לך שעליך לעצור ולהפעיל את התוכנית מנקודת ההתחלה. כניסה אל הקוד במצב שבירה עומדות לפניך אפשרויות נוספות מלבד הפעלה מחדש של התוכנית. אתה יכול להיכנס אל הקוד ולעבור שורה אחר שורה, או לדלג על פני קטעיס שלמים. ישנן שלוש דרכיס שונות לכניסה לקוד ב- 8856 |1808/ש, כולן מתחילות בסרגל פַטססכ : + ז006 5000. מעבר על פני השורות בשיגרה הנוכחית בלבד, מבלי לעבור לשגרות אחרות הנקראות על ידה (מקשי קיצור: 8" + אוח5). ** %0ח1 ק5%6. מעבר על פני השורות בשיגרה הנוכחית כולל מעבר אל השגרות הנקראות על ידה (מקש קיצור: 8). + %ש0 5060. הפעלת הקוד עד סוף השורה האחרונה בשיגרה הנוכחית (מקשי קיצור: 8 + אוח5 + |60). לשס הדגמה, הפעל את תוכנית הדוגמה עד לסיומה ולאחר מכן הקש 8" מספר פעמים. שים לב כי בכל פעס שאתה מקיש 8" התוכנית מבצעת שורה אחת ומאירה את הפקודה הבאה בחלון הקוד, כפי שניתן לראות בתרשים 10.1. אס ברצונך לדלג על שורות קוד או לבצען מחדש לשס בדיקה, תוכל להשתמש בפקודה 6% 56%. מקם את הסמן על השורה הרצויה והקש 9" + |68 או בחר פטפסע, 60%ו5%0000 6%\ 56%. כמו כן, תוכל לגרור את הח המופיע על השוליים השמאליים ולמקמו סמוך לשורה שברצונך לבצע. 2 סדנת לימוד 6.0 8\ |< |ם]=. | (2066] [חחזס:] - 6011ן0זכן חק [+ ו [+ חזזס] ()2088 מעסת כגום שסהטנטק עסקססמך 25 1 בת 0 => 1 =ננגמח 1 6 " =סמגוסס" סמבעקע.צגומסכת 1+ ד = ך1 המש המם תרשים 10.1: במצב ניפוי שגיאות, 8856 |הטפו\ מאפשרת לך לערוך את הקוד שלך על גרירת החץ על השוליים השמאליים ומיקומו לצד הפקודה הנבדקת נסה ואת כעת: היכנס לקוד תוכנית הדוגמה ומקס את הח סמוך לשורה המעלה את ערך המשתנה 1. לאחר מכן, גרור את החץ חזרה אל פקודת +חוזק ובצע אותו על ידי הקשה על 8". שיס לב כי פעולה זו גרמה לכך שפעמייס יודפס ערך זהה עבור 1. בדוגמה לעיל, ביצעת ניפוי שגיאות בלולאת 6ווח/\. נניח כי אינך מעוניין לנפות שגיאות מן הלולאה עצמה אלא מהקוד שלפניה ואחריה. כניסה אל תוך הלולאה, במקרה זה, יכולה להיות מטרד רציני, בעיקר אס היא אמורה להתבצע 1000 פעמים. לכן, עליך להיעזר בנקודות שבירה (05ח1ו0קא68ז8). נקודות שבירה הן שורות קוד, המיועדות להכניס את 88516 |1508\ למצב שבירה טרס ביצוען. נקודות שבירה מאפשרות לך לבצע את התוכנית בצורה רגילה, ובשלב מסויס ליצור מצב שבירה ולהיכנס אל הקוד בנקודה מוגדרת מראש. |< |ם]=. (008:)) [חוזס] - 1ו6ןסז?) א ₪ ]₪ ---- "] ()088ם מעסץ מגוש שסהטבעק עסשססמך 25 1 בת 0ם => 1 16נגמח 1 6 " =סמגוסס" סמבעקע.אגומפת * = נקודות שבירה מז שאל תרשים 10.2: נקודות שבירה מאפשרות לך לבצע את התוכנית עד לנקודה מסוימת. בשלב זה באפשרותך לעצור, לבדוק ערך משתנה מסוים או שינויים כלשהם ולהמשיך אל נקודת השבירה הבאה פרק 10: שליטה במהלך התוכנית | 273 כדי ליצור נקודת שבירה, האר את שורת הקוד בה אתה מעוניין, במצב עיצובי ולאחר מכן הקש 9" או בחר פטטסק, +הוסקאהסזם 00016ד. 8516 |הטפו%\ מאירה את נקודת השבירה שהגדרת, ומציבה עיגול אדוס משמאלה, כפי שניתן לראות בתרשיס 10.2. עתה, נסה ליצור נקודת שבירה בקוד שיצרת. הגדר את פקודת 6ח=5 כנקודת שבירה. סמן את הפקודה והקש 9=. אחר כך, לח על לחצן 504 (או הקש 55), כאילו ברצונך לבצע את התוכנית באופן הרגיל. כעת אמורה התוכנית לבצע את לולאת 6ווח/\ ומייד אחר כך להיכנס למצב שבירה. הדפס את ערך המשתנה 1 (התוצאה האמורה להתקבל היא 101), כדי לוודא שלולאת 6ווח/\ אכן בוצעה כמתוכנן. כעת, הקש 5 כדי להמשיך בביצוע התוכנית. עבודה בחלון 6ז3ו60והוח1 חלון 1011601316 (אוססחו\\ 6018%6ח1), המוכר גס כחלון ניפוי השגיאות, מאפשר לך להכניס משפטים לתוך הקוד שלך, בשעה שהתוכנית נמצאת במצב שבירה. כדי להציג את החלון, ודא כי התוכנית במצב שבירה והקש 6 + |6₪. כדי להמשיך בביצוע התוכנית, הקש 5= או עבור לשורת הקוד הבאה. תרשים 10.3 מציג מספר שימושים נפוציס בחלון 601816חחוח1. ד תרשים 10.3: ניתן להציב ערך במשתנה ולקרוא לתוכנית באופן ידני תרשיס 10.3 מדגיס כיצד ניתן להציב ערך במשתנה ולקרוא לתוכנית באופן ידני. כמו כן, אתה יכול לסיים את התוכנית באמצע ביצועה על ידי הקלדת הפקודה 0ח= בחלון וח 4 סדנת לימוד 6.0 8\ מעקב אחר ערכי משתנים בעת עבודה במצב שבירה, מקובל כפי שאה עתה למדת, להדפיס ערכי משתניס בחלון 6 וח1. עס זאת 8856 |8טפו\ מצוידת בשתי תכונות נוספות המאפשרות לך לעקוב אחר ערכי המשתנים בתוכנית במהלך ביצועה. הראשונה היא תכונה פשוטה: כל שעליך לעשות הוא למקס את מצביע העכבר על שס המשתנה. פעולה זו תגרוס להופעת תיאור כלי (קוד|ססד) המציג את ערך המשתנה. התכונה השנייה, מתקדמת יותר, עושה שימוש בחלון 1356065 (צשססחו/\ פסח6א8//). חזזס=. 1חזזס 1 (10 0+ 1)חוז) 08| חזזסת. [חזזס טחוזו (10801 חזזס=. 1חזזס 1 8חוז (2)ץ31818 3 חוזס=. 1חזזס] פופ (31078)3 .]| חזזס=. [חזזוס 8חוזו (31818)4 80| חזזסת. 1חזזס פופ " (31078)5 08| חזזס=. 1חזזוס בוו "= (178)6 .]| חזזס=. 1חזזס בחוזופ' " (07ע310778 0 | חזזסת. [חזזוס טחוזו % (91878)8 חזזס=. 1חזזס 1 8חוז - (310778)9 יי ב ₪ (5178)10 תרשים 10.4: באפשרותך לצפות ולשנות ערכי משתנים בחלון 65ח6ז8)\ אס ברצונך לעקוב אחר ערך משתנה בחלון 65ח8%0/), לחצ לחיצה ימנית על שס המשתנה ובחר חסז9/\ 800 מהתפריט המקוצר. נסה זאת כעת: התחל פרויקט חדש מסוג 5%5 0870ח0ז5 והקלד את הקוד הבא בשגרת 1080 חזזס] של הטופס : ()1.080 חחזזס-] 5 סזבּעוזוק 0ח5 5 (10 60 1)ץ8זו\56 וחוס "סח" = (1)ץ8ז 5% "סא\ך" = (8/)2זז50 "סז ד" = (3)ץ8ז 5% 5 0חם במצב עיצוב עדיין, לחצ לחיצה ימנית על עְבּזיז/+5 ובחר ח6ז3ּ/ש 64. פעולה וו תגרוס להופעת תיבת הדו-שיח ח6זבּ/ש 4606 המוצגת בתרשים 10.5. לחצ א0 והוסף יציאה עבור ץ5%\8 בחלון 86065/). שיסםס לב כי בעמודת 6ט|%8\ מופיע הביטוי <0%%ח60 01 00%>, ואת משוס שהתוכנית עדיין לא הופעלה והמערך עוד לא קייס. הקש 8* פעם אחת כדי להפעיל את התוכנית וודא כי חלון 65ח8%6/\ מופיע על המסך. אם החלון אינו מופיע, בחר שש6ו, שסשחוצ\ ףִ6זבּ/\. הקש 58 מספר פעמים, ובדוק בכל פעס את חלון 5חִ366/)\. ערכי כל האלמנטיס במערך צריכים כעת להופיע בחלון. תוכל ללחוץ לחיצה כפולה על ערך המשתנה ולהכניס ערך חדש (פעולה זו גהה להצבת ערכים למשתניס בחלון 60!8%6ווח1). שים לב כי משתנים מרובי מימדים (כגון מערכיס או אובייקטים), מופיעיס בחלון במבנה היררכי של עצ. התכונה שימושית בעבודה עס עצמים מורכבים, כגון מערך רשומות (₪66070560). פרק 10: שליטה במהלך התוכנית | 275 ח6)ב ו 00 :חסו655זקאם 8 0 סופת [= וחזס=] סז 1 נהחזס=] :6 1 :לסשןסזק ןי שד 300 -ן חסו55פזק)= ה-30 א 6 6 15 316 חפר/\ הז 7+ 5 6ש!3/' חשר/\ הז 7+ תרשים 10.5: תיבת הדו-שיח ח8%6/\ 00 מאפשרת להוסיף משתנים לחלון פַחסז9ּ/\ איתור שגיאות במהלך כתיבת הקוד 88566 |8טפו\ מסבה את תשומת לבך לשגיאות תחביריות. אולס, בעת ביצוע התוכנית עלולות, מסיבות רבות, לצוץ אל פני השטח שגיאות בלתי צפויות. לדוגמה, נניח כי ברצונך לפתוח קוב טקסט אשר נמחק על ידי המשתמש. כאשר מתרחשת שגיאה מסוג זה בתוכנית מהודרת, מופיעה על המסך הודעת שגיאה, כפי שמראה תרשים 10.6, והתוכנית נעצרת. מ וסשסה) זסזזס סחוו-חגור המגוס] זסח שו תרשים 10.6: באפשרותך למנוע שגיאות בלתי צפויות ועצירות "לא סימפטיות" על ידי הוספת שגרות לטיפול בשגיאות (פחו|0ח8 זסזזם) לתוכניתך אומנס אין באפשרותך לצפות מראש את כל התסריטים היכוליס להוביל להתרחשות שגיאות בתוכנית. עס זאת, קל למדי לטפל ולמנוע שגיאות מסוג סחטסת %סא ₪16, כמו זו המופיעה בתרשים 10.6. אם לא כתבת קוד מיוחד לפתרון הבעיה, תוכל לפחות להציג הודעה ייהמשכילהיי את המשתמש בטרס תסיים התוכנית את פעולתה. 6 סדנת לימוד 6.0 8\ שימוש בפקודה יוסזיום ₪ח0 השיטה הנפוצה ביותר לטפל במצבי שגיאה היא שימוש בפקודה זסזזם חס של 6 |8טפו. כאשר מתרחשת שגיאה, הפקודה זסזזם חס מפסיקה את שטף התוכנית ומפעילה קוד המיועד לטיפול באותה שגיאה. להלן דוגמה טיפוסית : זז הק 60וו= 6060 וסזום חס כעת, אם תתרחש שגיאה באחד המשפטים הבאים אחרי פקודת זסזום חס, יופסק ביצועו השוטף של הקוד והתוכנית תדלג למשפט זסזוםחס6סססוו=. הוספת תוויות שורות קוד הנושא בו אנו עוסקיםס מוביל אותנו לכלי תכנותי נוסף: הוספת תוויות שורה (6ח!] 9חוו1806). אס עבדת בעבר על גרסאות ישנות של 8856, בוודאי מוכר לך השימוש במספרי שורות, כגון: "סו|46]" זחוזק 10 0 00%0 20 תוויות השורה של 8856 |508/\ דומות למספרי השורות הזכורים מ-8856. תווית יכולה להכיל גם טקסט, בנוסף על ספרות, אך עליה להיות ייחודית בתוכנית. לכל תווית מצורף הסימן (: ), כמו בדוגמה הבאה: ()080 1 וחזס=] 50 סזסעוזוק זסם חק 60!ו= 6060 זסזום חס 1 8 +טסח1 זס "דאד.ם |זסא\:6" הססס 5083 ,21 זטסח1 6חו | סטפ זוא סח 60וו= "!2658 כ|16] 606 ||68 .816 6ל פהוהסכס וחס|טסזוק 8 85 סזסחד" אס8 150 0חם ספ 0חם אס אחת הפקודות: ח6ק0 או זטסח1 116 תגרוס להתרחשות שגיאה, התוכנית תבצע את המשפטיס שלאחר התווית זסזום ה6ק60!ו=. במקרה וה תוצג על המסך הודעת השגיאה והתוכנית תסיים את פעולתה. בדוגמה לעיל, יש מספר נקודות ראויות לציון: ראשית, שיס לב למיקומה וסגנונה של שגרת הטיפול בשגיאות. נהוג למקס אותה בסמוך לסוף השיגרה אליה היא מסונפת. בשונה משאר שגרות המשנה, שס השיגרה אינו מורחק מן השולייס כדי להדגיש את ייחודה. שנית, וחשוב יותר, שיס לב למיקוס פקודת מט5 56% לאחר פקודת ח6קס. חשוב למנוע את ביצוע שגרת הטיפול בשגיאות אס פקודת ח006 בוצעה בהצלחה. פרק 10: שליטה במהלך התוכנית | 277 שליטה בשטף התוכנית לאחר שגיאה בדוגמה הקודמת סיימה התוכנית את פעולתה בעקבות התרחשות שגיאה. עס ואת, עומדות לרשותך גס דרכיס אחרות (טובות יותר) לטיפול בשגיאות : %, > צא משגרת המשנה, לאחר שהודעת למשתמש כי התרחשה שגיאה, והמשך בביצוע התוכנית במגבלות הקיימות. + חדש את ביצוע התוכנית מהפקודה הבאה אחרי הפקודה שגרמה לשגיאה. %, + אפשר למשתמש לתקן את השגיאה, ונסה לבצע את הפקודה הבעייתית מחדש. תוכל לשלב כמה תוויות בתהליך אחד ולשנות שגרת שגיאות מסוימת מספר פעמים. לדוגמה, תוכל להוסיף אחרי פקודת ח6ק0 תווית עבור שגרת שגיאות נוספת בשס זסח=זטמח61!ו=. תוכל גס לנטרל את תהליך הטיפול בשגיאות באמצעות הפקודה: 0 0%0 זסזזם חס פקודת זסזיוש חס הולכת יד ביד עס פקודת ₪65006. הדוגמה הבאה גורמת לתוכנית להתעלס משגיאות ולהמשיך בביצוע שורה אחר שורה: 6% ₪056 זסזזם חס עליך להשתמש בפקודה זו בוהירות רבה, הואיל והיא גורמת לתוכנית להתעלס משגיאות במקוס להתמודד איתן. מומלצ יותר להשתמש ב-₪65006 כדי לגרוס לתוכנית לדלג לחלק אחר בקוד, כפי שמראה הדוגמה הבאה: ()1.080 חזזס-] 50 סזבּעוזוק זז 60 6060 זסזום הס ו 1 5 זטסח1 וס "דאד.= |זחסצו\:6" חסקס 3 ,1 זטוסחז 6חו | טפ זוא חק שו 508 5 561655806 חוכ .86" .6 ₪6 6 הוחסכס ותשופסזכ 3 5/\ שפח ד" = 51055806 .")וט 0ף ו68066 זס ,חו308 ₪ 60 ₪60 655זק" .8 511055806 = 511055806 הסח ל חסמטע = (!"זסזום" ,|63ו6פ + |66ה68ש ספ ,51655306) א0פספוח זז 6 56 6 0חם + 0חם ספ 0חם 8 סדנת לימוד 6.0 8\ הדוגמה לעיל מציגה תיבת הודעה המכילה לחצני ₪60 ו-|66ח68. אס המשתמש בוחר ץ₪6 התוכנית מבצעת את הקוד המסונף לתווית 6070676 ומבצעת מחדש את פקודת ח6קס. קביעת סוג השגיאה בעת התרחשות שגיאה, הקוד שלך יכול לברר פרטים נוספים לגבי סוג השגיאה ונסיבותיה באחת הדרכיס הבאות : > זם - מכיל מספר המייצג את השגיאה. ** | זסזזם - מכיל מחרוזת לתיאור השגיאה. + 00166 ₪ - מכיל את מספר השגיאה, תיאור ומידע נוסף. משמש גס להגדרת שגיאות מותאמות אישית. כמו כן יש לו מאפייניסם שמייצגיס את מספר השגיאה: זססוחטא. זזם ואת תיאורה : חססקח6פסס.זחם. אס אתה יודע כיצד לתת פתרון לשגיאות מסוימות, תוכל להשתמש באובייקטים אלה כמענה נבון. בדוגמה האחרונה אירעה שגיאת 6חו= )סא 6!ו= המיוצגת על ידי המספר 3. תוכל בקלות להוסיף לשגרת השגיאה קוד אשר ייתן מענה מתאים (כלומר, בדיקת קובץ אחר) אס הערך של זזש הוא 53. טיפ: כאשר אתה כותב שגרת שגיאות העושה שימוש בתיבת הודעה, הצג בתיבת ל" ההודעה את מספר השגיאה ותיאור קצר שלה, זאת כדי להקל על תהליך הטיפול בשגיאות. מכאן... פרק זה ערך עבורך סקירה כללית בנושא תכנות ב- 8856 |1508/. למדת כיצד לטפל במחרוזות, בקבלת החלטות ובלולאות בתוכניתך. חומר נוסף בנושא תכנות תוכל למצוא בפרקים הבאים : <* מידע נוסף על 8856 |₪08/ תמצא בפרק ‏ 9 יסודות התכנות של 6 | פו/. <* | מידע בנושא יצירת פונקציות תוכנית משלך תמצא בפרק 11 ניהול הפרויקט: תת- שגרות, פונקציות וריבוי טפסים. + מידע שיעוור לך לשפר את יכולות עיצוב הממשק שלך תמצא בפרק 18 תכנון ממשק נכון. פרק 10: שליטה במהלך התוכנית | 279 ניהול הפרויקט: תת-שגרות, פונקציות וריבוי טפסים מה בפרק? השימוש בשגרות ובפונקציות עבודה עם טפסים מרובים ניהול רכיבים בפרויקט שליטה בהתחלת תוכנית פרק 11: ניהול הפרויקט: תת-שגרות, פונקציות וריבוי טפסים 21 בפרק 9, יסודות התכנות של 83516 [1503/, למדת איך לכתוב קודים שיגרמו לתוכנית לבצע מטלות שונות. הודגם שם כיצד לתפעל נתונים, ואיך משפטי בקרה מאפשריס ביצוע פעולות החוזרות על עצמן והפעלת משפטי קוד באופן סלקטיבי. אולס, יצירת תוכנית טובה, הניתנת לטיפול ולתחזוקה, דורשת יותר מאשר כתיבת קודיס. אחת ממטלות המפתח היא יצירת קטעי קוד וחלקי תוכנית הניתנים לשימוש חוזר, כדי שלא יהיה צורך להמציא מחדש את הגלגל (או במקרה זה, את תוכנית המחשב). מיומנות חשובה נוספת היא הכושר לנהל ביעילות את קטעי הקוד והטפסים. פרק זה דן בשני ההיבטיס הללו של ניהול פרויקט תכנות. ראשית תלמד איך ניתן להשתמש בשגרות, לביטול הצורך לכתיבת קטעי קוד החוזרים על עצמס. אחר-כך נבחן כיצד מוסיפים שגרות אלו ורכיבי תוכנה אחריס לפרויקט. בסוף הפרק תינתן סקירה קצרה לגבי בניית התוכנית והפצתה לשימוש אחרים. השימוש בשגרות ובפונקציות לעיתים קרובות, כשמפתח כותב תוכניות רבות וגדולות יותר, הוא מוצא את עצמו משתמש באותו קטע קוד בכמה מקומות באותה תוכנית או חבילת תוכניות. האס קיימת דרך יעילה יותר לשימוש חוזר בקוד באותה תוכנית, מלבד הצבתו החוזרת פעמיס אחדות באותה תוכנית! בוודאי שיש. הפתרון הוא בשימוש בשגרות (0765ו0660זק) ובפונקציות (5חסטסחטת) (שגרות מתחלקות לשגרות אירוע הנוצרות על ידי המחשב ומגיבות לאירועים ידועיס מראש, ושגרות משתמש הנוצרות על ידי המשתמש). שגרות ופונקציות הס מקטעי תוכנית המבצעיס מטלה מסוימת, ואחר כך מחזירים את העיבוד לאותו אזור בקוד ממנו נקראו (פונקציות מחזירות ערכים ואילו שגרות לא). פרוש הדבר שניתן לקרוא לשיגרה (או פונקציה) מסוימת ממספר מקומות בקוד, וכן ניתן בניהול נכון, להשתמש בשיגרה מסוימת ביותר מתוכנית אחת. הקורא כבר נחשף לעבודה עס שגרות, גס אם לא ידע ואת. כל הזנת קוד כתגובה לאירוע, בהפעלה על ידי לחצן פקודה (או פקד אחר), מהווה למעשה בניית שגרת אירוע (6זו60ססזק )חסעם). שגרות אירוע נקראות על ידי התוכנית בכל פעס שקורה אירוע. כידוע, יכול המשתמש לבנות בעצמו שגרות ולקרוא להן לפי הצורך. שגרות אלו נקראות תת-שגרות (פסחטטסזפט5) המוגדרות על ידי המשתמש. למרות שהקודיס בדוגמאות הקודמות היו כולס כלוליס בשגרות אירוע, תוכנית י'אמיתית'י יכולה לכלול קוד נוסף בתת-שגרות המוגדרות על ידי המשתמש. 2 סדנת לימוד 6.0 8\ עבודה עם שגרות רעיון המפתח מאחורי העבודה עס שגרות הוא פירוק התוכנית לסדרת מטלות קטנות יותר. כל אחת ממטלות אלו ניתנת לייאריזהיי בשיגרה, פונקציה, או אולי מחלקה (מחלקות נדונות בפרק 16 מחלקות: שימוש חוזר ברכיבים). לתכנות בדרך זו יש יתרונות אחדים: + ניתן לנסות כל מטלה לחוד. כמות הקוד הקטנה יותר בשיגרה מפשטת את תהליך איתור התקלות, ומקלה על עבודת מספר מפתחים על אותו פרויקט. > ניתן למנוע כתיבת קטעי קוד החוזריס על עצמם, על ידי קריאה לשיגרה בכל פעס שיש לבצע מטלה מסוימת, במקוס לחזור על כתיבת הקוד. * | מפתח יכול לבנות ספריית שגרות שניתן להשתמש בה ביותר מתוכנית אחת, ובכך לחסוך זמן פיתוח בפרויקטים חדשים. תחזוקת התוכנה פשוטה יותר מכמה סיבות: אם אין חוזרים על הקוד, יש לערוך ולהגיה אותו רק פעס אחת. בנוסף, ההפרדה בין רכיבי המפתח (למשל ממשק המשתמש ופונקציות בסיס הנתונים) מאפשרת לבצע שינוייס גדוליס בתוכנית, מבלי לשנות את כל הקודים. טיפ: כדי להתאים את הקוד לשימוש חוזר, כדאי להשתמש בהערות לעיתים תכופות. הרחבה זו בפרטים תאפשר למפתח אחר (או למפתח עצמו לאחר תקופת זמן ארוכה), להבין במהירות מה מטרת כל שיגרה ואיך היא מושגת. יצירת שיגרה כמו במקרה של תוכנית שלמה, תהליך יצירת השיגרה מתחיל בתכנון. יש צורך לקבוע מה המשימה האמורה להתבצע, איוה מידע יידרש על ידי השיגרה, ואיזה מידע יוחזר על ידה. לאחר השלמת משימה זו, ניתן להתחיל בקידוד השיגרה. בשפת 8856 |8ש8\ ניתן להתחיל בבניית שיגרה באחת משתי דרכיס: להתחיל מלא-כלוסם, או להשתמש בתיבת הדו-שיח 6600'6סזש 006. שתי השיטות קלות יחסית, והבחירה היא עניין של העדפה אישית. כמו כן, בשתי השיטות חייב המשתמש להימצא בחלון 6006 לפני שיוכל לבנות את השיגרה. ליצירת שיגרה מהיסוד, הצב את הסמן בחלון 6006, במיקום שאינו בתחוס פונקציה או שיגרה שכבר הוגדרה. ניתן למשל להציב את הסמן לאחר השורה 508 0ַחם בשיגרה, לפני השורה פט5 של שיגרה אחרת, או בראש החלון 6006. תרשים 11.1 מראה היכן ניתן להתתיל. טיפ: הצבת השגרות בסדר אלף-בית מקלה על איתורן תוך גלילה בחלון ה-6006. הן תמיד תופענה בסדר האלף-בית בתיבה הנפתחת 6וטפססיוש שבחלון 6006. פרק 11: ניהול הפרויקט: תת-שגרות, פונקציות וריבוי טפסים | 283 [<1ם)- | (068:)) [חוזס] - 60)1ןסז2] א - ו [+ חהוזס] 6 מסנגססס | צור שיגרה לאחר ההצהרות הכלליות של הטופס ()א6110 ס1אפבמס מגום שסהטבטק מגוט מ צור שיגרה בין שתי שגרות קיימות () 1088 מעס? כגוט פסהטבטת מגוט המ צור שיגרה לאחר כל השגרות תרשים 11.1: יצירת שיגרה בחלון 6006 בשורת פט5 יצירת שיגרה חדשה בחלון 0006 מתבצעת על פי הצעדים הבאים: 1 פתח את הקוד עבור 1וחזס= על ידי לחיצה על הלחצן 60066 שסו/. 2 הקלד את מילת המפתח 5%8, ולאחריה רווח. 3 הקלד את שם השיגרה החדשה, בדוגמה זו 06זק?פזו=. 4 הקש ז066ח₪ ליצירת השיגרה. בהקשת ז00ח₪ קוריס שלושה דבריס: זוג סוגרייס נוסף בקצה שורת מט5, שורת פט5 6ח5 מוצבת בחלון 6, והאובייקט הנוכתחי ברשימה הנפתחת 6זט60ססזק של חלון עריכת הקוד, הופך להיות שס השיגרה. תרשים 11.2 מראה שינוייס אלה בשיגרה הנקראת 6ס0זקספזו=. [<1ם)- | (008:)) [חזזס] - 60)1ןסז2] א - זו - (|618ח66) סנסגןקאםת מסנסעס | ()06ע2ע12352ת כגום מגו5 המע תרשים 11.2: השורה 500 6ח= נוספת אוטומטית עם הגדרת שיגרה חדשה עכשיו אתה מוכן להזנת כל פקודה שברצונך להריצ כשהשיגרה נקראת. 4 סדנת לימוד 6.0 8\ תחביר שגרת פט5 כולל את השורה טט5, השורה 505 0חם, ואת פקודות השיגרה : ((3700076015 | )00008006 סג5 [50806] [שסהעחזק | 6ווטטק | סחסחת] הז 06 10 565 5 0ח= מילות המפתח שו|פטם, שופטוזק, 6חסוז= ו-806ז5 בשורת פט5 הן רשות, ומשפיעות על המיקומיס מהן יכולה השיגרה להיקרא. מילות מפתח אלו מצביעות על טווח ההכרה (56006) של השיגרה באותה הדרך שבה הן מצביעות על טווח ההכרה של המשתנה. השיטה האחרת ליצירת שיגרה הוא שימוש בתיבת הדו-שיח 6ז00ס6ססזש ₪00 (ראה תרשיס 11.3). הגישה לתיבת דו-שיח זו היא בבחירת 5|ססד, 6זט660סזק ₪00. || זז 0 - - = 7-7 2 | [08ח 8 וקסוק 17 טנ 6 %חפשם 7 חססחנום 7+ 6 סהשוק 7+ וטו 6 תרשים 11.3: ניתן גם ליצור שיגרה חדשה בשימוש בתיבת הדו-שיח 6זט60ססזק 00 5 85 81180|65/\ 068 ||מ | ] ליצירת מעטפת השיגרה, בצע בתיבת הדו-שיח 6זט660סזק 00 את הצעדיסם הבאיסם: 1 הכנס את שס השיגרה בתיבת הטקסט ש6וחבּא. 2 בחר את סוג השיגרה סחסעם ,ץשוסקסזק ,הסססחטת ,פט5). 33 בחר את טווח ההכרה של השיגרה (6שפטוזם ,שווטטץק). 4 אם דרוש, סמן את תיבת הסימון 508065 35 65!סהּחזב/ |1063 ||מ. ליצירת שיגרה יש לבחור סוג תת-שיגרה. לבחירתך ארבע אפשרויות: פונקציה (חסו6חט=) המחצירה ערך מוגדר. שגרות אלו מכוסות בהמשך בפרק. שגרת מאפיין (שזסססזק) קובעת או שולפת את ערך המאפיין בצורת מודול מחלקה. שגות אירוע (0ח6/₪) מגיבה לאירוע בטופס או במודול מחלקה. בחירת אירוע בתיבת דו-שיח זו מוסיפה הצחרה מקדימה לאירוע מוגדר-משתמש. השגרות /ז6ססזק ו-+חס/ם מתוארות בפרק 16, מחלקות: שימוש חוזר ברכיבים. לאחר הזנת הנתוניס הדרושים, לת 06. 88516 |508ו/\ תיצור את מסגרת השיגרה. פרק 11: ניהול הפרויקט: תת-שגרות, פונקציות וריבוי טפסים | 285 הרצת שיגרה לאחר פיתוח השיגרה, דרושה דרך להריץ אותה מתוך חלקי תוכנית אחרים. להרצת שיגרה ניתן לבחור באחת משתי שיטות: שימוש בשורת ||68, או בפשטות על ידי שימוש בשס השיגרה והארגומנטים (חסוחטףָזה) הנדרשיס על ידה (הארגומנטיס הס אלה שצוינו בשורה טט5 כשהשיגרה הוגדרה). התחביר להרצת שיגרה הוא: ([800076005 | )6 8ה6סק |ו₪8 או: 5 006 בשתי השורות 86זפחססזש מתייחס לשס השיגרה. שס זה מצוין בשורת מט5 שהגדירה את השיגרה. 4700706065 מתייחס לפרמטרים המועברים אל השיגרה כאשר השיגרה דורשת זאת. בשורה הקוראת, יכולים הארגומנטיס להיות ערכים מילוליים, משתנים, או פונקציות המחזירות את טיפוס הנתוניס המתאים. ואת בשונה משורת טט5, שבה הארגומנטיס חייבים להיות שמות משתניס. פרמטרים (פוזסחגּזהּק), אס הס קיימים, חייבים להיות מופרדיס בפסיקיס. נבחן עכשיו דוגמה קצרה לשיגרה המשתמשת בפרמטרים. נניח שהתוכנית רוצה להציג על המסך טקסט כלשהו. (0חו50 5 1655806)5]1655806\ 5 6 0 1150 סט5 0חם שורת הקוד הבאה קוראת לשיגרה. כשקוראים לשיגרה ניתן לספק ערכיס לארגומנטיס שלה תוך שימוש במשתנה, מחרוזת מילולית, או שילוב של השניים: "6559306 ער 15 וח ד" 11655806 שגרת 1655806 פשוטה, ויחד עס ואת חוסכת זמן רב בטווח הארוך. היא הופכת את הקוד הקורא לה לקצר וקריא יותר. י אזהרה: באופן אופייני חייב מספר הפרמטרים בשורה הקוראת לשיגרה להיות שווה לאלה הקיימים בהגדרתה. כמו כן, הערכים המסופקים על ידי השורה הקוראת חייבים להתאים לסוגי הנתונים שהשיגרה מצפה להם. הפרת כל אחד מכללים אלה תגרום לשגיאה בעת הרצת התוכנית. 6 סדנת לימוד 6.0 8\ בתחילת קטע זה הזכרנו שתי שיטות הבאות בחשבון לקריאת שיגרה. שורת הקוד הבאה קוראת לשיגרה 1655806, בשימוש בתחביר השיטה האחרת: ("6000160 85/\ ז6/ו56 6ח 7" )1655806 ||₪8 כפי שניתן לראות, השימוש במילת המפתתח ||68 אינו חובה בעת הקריאה לשיגרה. אס משתמשים בפקודה |68, חייבים לכלול את הפרמטריס בתוך סוגריים. מומלצ להשתמש בתחביר שאיננו משתמש ב-||68. גישה זו מקלה על ההבחנה בין קריאת שיגרה וקריאת פונקציה, כפי שניתן לראות כשבוחנים את הדוגמאות בסעיף הבא. העברת נתונים לשיגרה בשתי דרכים ניתן להעביר לשיגרה נתוניס לצורך עיבוד: אפשר להגדיר את המשתנים כמשתנים ציבוריים (סוופטס), הזמיניס בכל מקוס בתוכנית, או ניתן להעביר את המשתנים ישירות לשגרות במשפטי הקריאה. לדוגמה, ניתן להוסיף ארגומנט שני לשיגרה 1655806!], שיאפשר לה להציג לתחצניס שונים: (ז%606ח1 45/ הסט ,5010 05 1655806)511655806! 5 חס 8 ,511055806 50% 1150 ספ 0חם אולס, משמעות גישה זו היא, שגס אס נבחר תמיד באותו אופן תצוגה של לחצניס נצטרך תמיד להעביר את המשתנה חסשאטם : 11055806 "1 1655806 ", 1 בתוכנית מסוימת זו הארגומנט חסשטם כנראה איננו משתנה במשך ההרצה. אולס, קידוד קשיח שלה לתוך השיגרה 655806 גם הוא איננו סביר, כך ששימוש במשתנה ציבורי נראה כבחירה הגיונית: זח1 45 הסאטפ סוופנוק (0ח501 5 1655806)511655806! 5 החטש ,511655306 אס0ם 150 50 0ח= התוכנית צריכה, לפני שהיא קוראת לשיגרה, לקבוע את ערכו של חסשטפם. מילת המפתת סוופופ גורמת לכך שצורך וה הוא יהיה גלוי לכל השגרות האחרות בתוכנית. אס מתכווניס להשתמש במשתניס בכמה שגרות, והשיגרה הנקראת ספציפית לתוכנית הנוכחית, קביעת המשתנים כמשתנים ציבוריים היא הגישה היותר טובה. אולם, לשם הבטחת שימושיותה של שיגרה בפרויקטיס רבים, הקפדה ככל האפשר על עצמאות השגרות היא רעיון טוב. לשס כך יש להגדיר את כל הפרמטרים שיש להעביר לשיגרה בשורה פ50, ולהעבירס בשורה הקוראת. בנוסף, כל המשתניסם בהס משתמשת השיגרה צריכים להיות משתניס מקומלים (סזטוזק), המוכרזים מתוך השיגרה עצמה. פרק 11: ניהול הפרויקט: תת-שגרות, פונקציות וריבוי טפסים | 287 הפרמטרים המשמשיס בשיגרה יכוליסם לספק תקשורת דו-כיוונית בין השיגרה לתוכנית הקוראת. השיגרה יכולה להשתמש במידע הכלול בפרמטריס לביצוע החישובים, ואז להחזירס לתוכנית הקוראת בפרמטר אחר. למשל, שיגרה הבאה מקבלת את גובהו של מלבן ואת רוחבו מרשימת הפרמטריסם, ומחשבת את שטח המלבן ואת היקפו. ערכיס אלה מוחזריס דרך רשימת הפרמטרים: ,106006 35 00%ו16ח ,106067 35 הוח )686660806 5 (ז0606ח1 35 זס6רחוסה ,1000007 35 הסזהח וח * הסוח = 68זהח הוח + השסו/\ח) * 2 = סרוקה ספ 0חם ניתן לקרוא לשיגרה על ידי שימוש במשתניס לפרמטריס של קלט ופלט כדלקמן: 5 = 6ו/)שח 5 = 0%חח 0 = 68זהח 0 = וחזסקח השקה , 68זח ה ,0ו/\ח 016ה68|0₪6608 ניתן גס לקרוא לשיגרה על ידי שימוש בערכים מילוליים לפרמטריס של הקלט ושימוש במשתניס לפרמטריס של הפלט: 0 = 68זח 0 = וחזסקח רוקה ,68ז\/ח ,10 ,4 0!6ח68|6₪6608 העברת פרמטרים לשיגרה בדרך זו מוכרת כהעברה על ידי ייחוס (עְפ חְחוַפפהק 6)). שס המשתנה המועבר לשיגרה ושס המשתנה שהשיגרה משתמשת, מתייחסיס שניהס לאותו מיקוס בויכרון. בהצהרת פונקציה או שיגרה, ניתן לציין במפורש פרמטרים על ידי ייחוס, בעזרת מילת המפתח 61אץ8, כבדוגמה הבאה: (0חו50 5 0חהו50חג 1 ץ )הו 865ח8ה6 טפ "זה" = הפשח 5 0חם 500 5 0חו65!קרחה55 וחוס "261076" = 0חו5580!65 556500 680650 שלוש שורות הקוד הראשונות מגדירות תת-שיגרה פשוטה, המשנה תוכן מחרוזת, והיא מועברת כפרמטר. מילת המפתח 88% מציינת שכל שינוי המבוצע בפרמטר יתבטא במשתנה המועבר לשיגרה. במיליס אחרות, שינוי ערך פַחוש5ץחג בתוך השיגרה גורס לערך 5587001650 להשתנות בהתאם. יכולת זו מאפשרת לשיגרה לשנות את הערך המוחזר אז לקוד הקורא. 8 סדנת לימוד 6.0 8\ ניתן להעביר פרמטר לשיגרה לפי ערך (6טו8/ עֶ8). גישה זו גורמת לשיגרה להשתמש בהעתק של המידע שהועבר אליה, ומונעת מקוד השיגרה לשנות את הערך המשמש את התוכנית הקוראת. כשמוכרז פרמטר לשיגרה, ברירת המחדל היא העברה על ידי ייחוס. כדי לשנות ואת, יש להודיע לשפת 88516 |1508\ במפורש להעביר את הפרמטר לפי ערך. לשס כך יש להוסיף את מילת המפתח [3/ץ8 לרשימת הפרמטרים, לפני כל משתנה האמור להיות מועבר לפי ערך, כמודגם בקוד הבא : ,100006 5 %חהשו6רוח |8/\ץ₪ ,6606ח1 5 הסוח | )6866608016 טט5 (ז0606ח1 5 זסס6חוזסקה , הסוח . אזהרה: כשפרמטרים מועברים על ידי ייחוס, דרוש להצהיר בצורה מפורשת על המשתנים בתוכנית הקוראת ובשיגרה, ולוודא שסוגי המשתנים זהים בשניהם. יציאה מוקדמת מהשיגרה כשתוכניות, ולכן גם שגרות, הופכות לגדולות ומסובכות, לפעמים אין צורך שכל פקודות השיגרה תתבצענה. אס יש צורך לצאת משיגרה לפני שכל הפקודות בוצעו, ניתן להשתמש בשורה מט5 %א5 או לחילופין אס זו פונקציה (חסטסחטת) לצאת באמצעות חסזסחט= 5ואם. דרך אחת לשימוש בשורה ט5 54% היא להכניס בתחילת השיגרה קטע קוד, הבודק את התאמת ערכי הפרמטרים. אם פרמטר המועבר לשיגרה הוא מהסוג הלא נכון, או שערכיו יכולים לגרוס לבעיות בשיגרה, ניתן להשתמש בפקודת 500 6וא= להפסיק את פעולת השיגרה לפני קרות השגיאה. שימוש מסוג וה נקרא אימות נתונים (חסחפסו|ּ/\ ּזהכ). הקוד הבא משנה את הקוד הקודס לחישוב שטח המלבן, לצורך ביצוע בדיקה זו: ,100006 35 00%ו6רח ,106067 35 הוח )68666006 5 (1060061 35 זס60רחוזסה ,60067ה1 85 68והח החד 0 => 006ו6רוח וס 0 => השסו\\ח זז טטפ זוא + 0חם וח * הסוח = הסוח שרוח + הש0ו/\ח) * 2 = זססווסקה סט5 0חם עבודה עם פונקציות פונקציות דומות לשגרות, בהבדל מפתח אחד: הן מחזירות ערך. ערך וה יכול להיות מוצב למשתנה או לשמש בביטוי. 8856 |1508\ מציעה פונקציות מובנות אחדות שניתן להשתמש בהן, כמו למשל הפונקציה 405, המחזירה את הערך המוחלט של מספר, או %, המחצירה מספר נתון של תוויס מצידה השמאלי של מחרוזת. המשתמש גם יכול לבנות פונקציות בעצמו. פרק 11: ניהול הפרויקט: תת-שגרות, פונקציות וריבוי טפסים | 289 כמו עס שגרות, גס בבניית פונקציה עומדות לרשות המשתמש שתי אפשרויות : בניית הפונקציה מלא-כלום, או שימוש בתיבת הדו-שיח 6ז0ט66ססוש 266. להתחלה מן היסוד, בחר את המקוס בחלון 6006 שבו רצונך שהפונקציה תתחיל, והכנס שס את מילת המפתת חסטסחט=, כשלאחריה שס הפונקציה. המוסכמות לגבי מתן שמות לפונקציות זהות למוסכמות של שגרות. כדי להשתמש בתיבת הדו-שיח 6זט660סזק ₪00 פשוט בחר את לחצן האפשרויות 6קץד חסטסחט= בתיבת הדו-שיח. כל אחת מהשיטות יוצרת מעטפת של פונקציה, בדיוק כפי שהיא עושה לגבי שיגרה. דוגמה ליצירת מעטפת כזאת מובאת בשורות הקוד הבאות: ( )806ז6/הרחט\] הסטשחט= סוופנוק מסו6חט= 6ח= למרות שהשורה הראשונה היא הכרזה קבילה של פונקציה, ברוב הפעמים מגדירים את סוג הערך שיוחזר על ידי הפונקציה. מגדירים סוג זה של פונקציה כמו שמוגדריס סוגי המשתניס בשורת חות, על ידי שימוש במילת המפתח 45 ולאחריה סוג המשתנה. הכרזת סוג הפונקציה באה אחרי הסוגרייס הסוגרות על הכרזת הפרמטר. בנוסף, מוכרזיס בדרך כלל הפרמטריס המועבריסם לפונקציה במשפט ההכרזה. משפט הכרזה שלס יותר מוצג בשורה הבאה: 6חו5 5 (016חו5 5 2זסחו ,6וַחו5 5 61סחו)806זסעה וטא הסטסשחטם= סוופגוק הבדל עקרוני נוסף בין בניית פונקציה לבניית שיגרה הוא הקצאת ערך לפונקציה במקוס כלשהו בתוך הקוד שלה. ערך זה חייב להיות מאותו סוג כפי שהוגדר בהצהרת הפונקציה והוא יהיה הערך שיוחזר על ידי הפונקציה למי שקרא לפונקציה. ניתן לראות ואת בשורה השנייה של הקוד הבא : 6חו5 5 (016חו5 5 2זסחו ,6וַחו5 5 61סחו)806ז6/ה וטא הסטשחט= סוופוק 2 / (סחו + 61סחו) = 806זסעהוחטצ חסטסחט= 6חם הערה: למרות שקוד פונקציה יכול להקצות ערך לפונקציה פעמים אחדות, רק הערך האחרון המוקצה לפני סיום הפונקציה (או היציאה ממנה) מוחזר על ידה. בקריאה לפונקציה, מציביס בדרך כלל את הערך המוחזר על ידה למשתנה בתוכנית, או משתמשיס בו במשפט תנאי, כמודגם כאן: 6 3 סז הסטסחט) 3 חַהוחסו55ת'י (15 ,806)25ז6/\וחוו\! = וחטף\ףע+ חסו655זקא6 |החסטוחס6 3 חו הסטסחט1 8 סחופט' "זט ח3 +הח/\\" 0% 50 הסחחד 20 < (2וחטח ,1 טח )06זסעה הטוא זז 0 סדנת לימוד 6.0 8\ הערה: אם מה שנדרש מפונקציה זה בפשטות לבצע משימה (למשל פתיחת בסיס נתונים), ניתן לקרוא לפונקציה כפי שקוראים לשיגרה, ולהתעלם מהערך המוחזר. קביעת טווח ההכרה של שגרות ופונקציות כשיוצרים שיגרה (או פונקציה), רוציס לפעמיס להגביל את תחומי השימוש בה ואת המשאביס המוקציס לה, כדי להפוך את הקוד לזמין לחלקיס אחרים של התוכנית. התחוס ממנה ניתן לקרוא לשיגרה נקרא טווח ההכרה (50006) השיגרה. ניתן להגדיר שגרות באחת משתי דרכים: כשיגרה ציבורית (6זט60ססזק ס6וופטם) או כשיגרה פרט*ת (6זט60ססזק ססהּעוזק). מילת המפתח שבה משתמשים בשורת ₪ט5, קובעת לאיזו תוכנית או שיגרה אחרת יש גישה לשיגרה שלך. הערה: טווח ההכרה בשגרות ובפונקציות קשור לטווח ההכרה במשתנים. הנושא נדון בפרק 9, שימוש במשתנים לאחסון מידע, בקטע היכן ניתן להשתמש במשתנה. "לצאת לציבור" אס יש כוונה שהשיגרה או הפונקציה תהיה זמינה לכל אורך התוכנית, יש להשתמש במילת המפתת סווטטק בעת הגדרת השיגרה. 6|טטץ מאפשרת לקרוא לשיגרה שהוגדרה בטופס או מודול מסויס, מכל שיגרה או טופס אחר בתוכנית. אבל יש להיזהר בבחירת שמות לשגרות ציבוריות, שכן לכל שיגרה ציבורית חייב להיות שס יחיד במינו בכל טווח ההכרה שלה. אס מילות המפתח שו|פטק או ספּעוזם אינן מופיעות בשורת טט5, ברירת המחדל היא שהשיגרה נקבעת כציבורית. שמירת הפונקציה כפרטית הכנסת מילת המפתח פ6זפטוזק בשורת פט5 תאפשר גישה לשיגרה רק מהטופס או המודול שבו היא הוגדרה. לגישה זו יש כמובן יתרונות וחסרונות. יתרון אחד הוא, שהשיגרה הפרטית שוכנת בויכרון רק כשהמודול שבו היא מאוחסנת נטען אליו, תוך חיסכון במשאבי המערכת. החיסרון הוא, שאין גישה לשיגרה ממודולים אחרים. מי שעובד עס שגרות אירוע (נדונות בפרקיס אחריס בספר), יכול להבחין שכברירת מחדל, שגרות אלו תמיד פרטיות. הן פרטיות מפני שבצורה אופיינית אין גישה לפקדים מחוץ לטופס שבו הן שוכנות. ווהי דוגמה להסתרת מידע (פַחז0ו3 חסטפוחזס/ח1) או כמיסה (ח8000|ט6805ח5), טכניקה שמשתמשים בה בתכנות מונחה-עצמים. כשמפתח משתמש במודול מסוים בשותפות עס אחרים, הוא יכול להגדיר את הפונקציות הנקראות על ידי אחרים כציבוריות, ואת אלו המשמשות רק אותו כפרטיות. פרק 11: ניהול הפרויקט: תת-שגרות, פונקציות וריבוי טפסים | 291 שימור משתנים באופן אופייני כששיגרה מורצת, המשתניס שהיא משתמשת בהם או מייצרת אותם, מושמדיס עס סיוס הפעלתה. לפעמים אבל, יש רצון לשמור את ערכי המשתניס לקריאה עתידית על ידי השיגרה. ניתן לבצע משימה זו על ידי שימוש במילת המפתתח 6. מילת מפתת זו יכולה להיות מיושמת עס הכרזת משתני השיגרה, או בשלב הכרזת השיגרה עצמה. כאשר 50806 מופיעה בהכרזת משתנים, נשמרים רק המשתנים הנכללים במשפט 6. אס משתמשים במילת מפתח זו בהכרות השיגרה, נשמרים כל משתניה. לדוגמה: בשליחת דוח למדפסת, צריכה השיגרה המייצרת את כותרת העמוד לעקוב אחרי מספרו. בדוגמת הקוד הבאה, ערך המשתנה הסטטי חחטאמהָהקה נשמר בכל פעס שהשיגרה מופעלת : ()ז6806סחזק טש סוופנוק 5 רטקה 50306 1 + ףקה = ותטצ06בהקח "ד = 465אחה= והטואצה צחצס5הוא הםצדהס-" 6החק.וססחווק 6 שחוזק. זססחווק רחטו\סחהקח .8 " סהַבּק" 6חחזק.וססחווק +חוזק. זסזחווק 50 0ח= טיפ: לצרכי יעילות, חשוב להציב לשיגרה את טווח ההכרה המתאים. מתן טווח רחב מדי לשיגרה (למשל הגדרת השיגרה כציבורית כשדרוש שהיא תוגדר כפרטית), מבזבזת משאבי מחשב. כשפונקציה מוגדרת כציבורית, חייבת 8856 |150\ להקצות לה משאבים מתאימים, כדי שאפשר יהיה להעמידה לרשות כל חלקי התוכנית. השימוש במילת המפתח 50806, המחייב שיגרה "לזכור" את הערכים המקומיים, גורם גם הוא לבזבוז משאבים. בדרך כלל רצוי, אם ניתן, להגדיר שיגרה כפרטית, וכן להימנע משימוש במשתנים סטטיים. גישה כזאת נותנת ל- 8856 |1508\ שליטה יותר יעילה בזיכרון, שכן אז היא חופשיה לשחרר קטעי קוד שונים לפי הצורך. 2-4 שימוש חוזר בפונקציות ובשגרות שגרות ניתן ליצור בטופס או במודול. מיקוס השיגרה תלוי במקוס שבו נדרש השימוש בה, ובמטרה לה נועדה. אס השיגרה אופיינית לטופס מסוים, או אס היא משנה את מאפייני הטופס או הפקדיס הקשורים בו, כדאי למקס את השיגרה בטופס עצמו. אם, לעומת זאת, השיגרה מופעלת ביותר מטופס אחד בתוכנית, או שקיימת שיגרה כללית, המשמשת בתוכניות מרובות, יש למקס אותה במודול. המקוס שבו מאוחסנת השיגרה נקבע לפי המקוםס שבה היא נוצרה. אם רוצים, ניתן להעביר שיגרה מטופס למודול ולהפך, תוך שימוש בייגזור והדבק'י או אף בייגרור ושחרריי. 2 סדנת לימוד 6.0 8\ אחסון פונקציה בקובץ טופס כדי ליצור שיגרה בקובצ-טופס, יש רק לבחור את הטופס מחלון 6%[סזק, ואז לגשת לקוד הטופס. ניתן לעשות זאת בלחיצה כפולה בטופס עצמו (או על כל פקד), או על ידי בחירת לחצן 6006 ששו בחלון 66[סזק. לאחר הופעת החלון 6006, יוצריס את השיגרה, כמתואר לעיל בסעיף יצירת שיגרה. (6611ן0ז) 6661[סוש כ פוחזס= 65% |=] (1חזס=) 1וחזס=] = תרשים 11.4: ניתן לבחור את הטופס לשיגרה מתוך החלון 60[סזק שימוש בקובץ מודול עבור שיגרה קוב מודול מכיל רק קוד, ללא אלמנטיס של טפסים או אירועים. אס קובצ מודול כבר קייס בפרויקט, ניתן ליצור שיגרה חדשה על ידי בחירת הקובצ, פתיחת חלון 6, ובניית השיגרה לפי הצעדים שתוארו לעיל. טיפ: לחיצה כפולה על שם המודול בחלון 6%(סזק פותחת אוטומטית את חלון 6006 של המודול. אס קובצ מודול איננו קייס בפרויקט, או אס רוציס להשתמש במודול חדש, ניתן ליצור מודול על ידי בחירה 66%[סזם, 0|6סו₪ 2006. ניתן גס ליצור מודול חדש באמצעות לחיצה על הלחצן הזוס 00 בסרגל הכלים, ובחירת 108|6! מן התפריט הנפתח. בשתי הדרכים מוצגת תיבת הדו-שיח 10006 00. בחר בסמל המודול, ולחץ חס6קס. נוצר מודול חדש, ומופיע חלון 6006, שניתן להתחיל בו את העריכה. עס שמירת הפרויקט או היציאה מ- 8856 |1508, מתבקש המפתח לספק שם לקוב\ המודול. הערה: לחצן סרגל הכלים להוספת טופס או מודול חדש הוא לחצן של רשימה נפתחת. לחיצה על החץ מציגה רשימת פריטים. לאחר בחירת פריט משתנה ציור הלחצן. פרק 11: ניהול הפרויקט: תת-שגרות, פונקציות וריבוי טפסים | 293 עבודה עם טפסים מרובים למרות שתוכניות פשוטות דורשות רק טופס בודד, רוב התוכניות מורכבות מטפסיס מרובים. סיבה אחת לכך הוא מגבלות השטח הזמין בטופס בודד. סיבה אחרת, חשובה יותר, היא הרצון להפריד בצורה לוגית בין משימות תכנות שונות. למשל: במקרה של מטלה בתוכנית שאינה מבוצעת לעיתיס קרובות, הכללתה בטופס נפרד נראית יותר הגיונית מדחיסתה עס שאר פריטי התוכנית. בנוסף, ניתן לחסוך במשאבי המערכת בעת הרצת התוכנית, על ידי טעינת טפסיס רק כשהס נדרשיס ופריקתס לאחר מכן. במילים אחרות התוכנית משתמשת בנפת זיכרון קטן ככל האפשר בעת ריצתה. הוספת טפסים חדשים לתוכנית כאשר 8856 |1508\ מתחילה פרויקט חדש, הוא מעלה בדרך כלל טופס ריק אחד, כפי שמודגס בתרשיסם 11.5. עס תכנון הפרויקט מוסיף המפתח פקדים לטופס, וכותב קודיס לטיפול באירועיס הקוריס בטופס זה. 10 80 [0פג 410705006 - 01607 ל יסטחו/צ. 5ה84-1 1005 הזבו שופ חנ טפס 6החופת וס אס ₪06 5 המוש ב 8 ה | ₪0|5 0 ₪ ש|יב-2| | זט חס ב | ומ | בח 27 8 מ 5 5% שח 5]5985חזנמפ ה 5' תרשים 11.5: 6 |0פו\ פותחת פרויקט חדש בטופס ריק יחיד בשלב מסויס יכול המפתח להחליט, אס לשס טיפול במטלה חדשה, או לצורך הקלת הצפיפות בטופס ההתחלתי, שנחוץ לו טופס או טפסים נוספים. תהליך הוספת טופס הוא פשוט. ניתן ללחוץ על הלחצן חחזס"] 800, או לבחור ‏ 66[סזק, וחזס] 00. פעולה זו מציבה טופס ריק חדש על המסך. טופס זה נראה כפי שנראה הטופס הראשון עס תחילת העבודה. אם לא ניתן שס לטופס הראשון, נקבע שס המחדל שלו 1חזס", הטופס השני נקרא 2חחזסת (או 3חזס=, 4וחזס= וכן הלאה). אס ניתן לטופס הראשון שס שונה, ברירת המחדל לשס הטופס השני היא 1חזס". 4 סדנת לימוד 6.0 8\ טיפ: ניתן להוסיף קבצים, טפסים, או מודולים מתפריט מקוצר, המופעל בלחיצה ימנית בתוך חלון -66[סזס. לאחר הוספת הטופס החדש, ניתן להציב בו פקדיס ולכתוב קוד בשביל האירועיס שלו, ממש כפי שנעשה בטופס ההתחלתי. בנוסף דרוש לאפשר גישה לטופס החדש מטפסים אחרים של התוכנית. הטיפול בגישה כזאת הוא דרך שורות הקוד 1080 וכן ספסוחש, והשיטות שוסח5 ו-₪106 של אובייקט הטופס. הוספת מודולי קוד לפרויקט כשכותביס מספר קודים לטיפול באירועים ובמטלות נוספים, מגליס לעיתיס קרובות שלאותה שיגרה נדרשת גישה ממספר מקומות בטופס או מטפסים שונים. במקרה כזה הגיוני לאחסן את השיגרה בקובצ מודול. טיפ: אם קיימת ספריה של פונקציות משותפות, לדוגמה תת-שגרות להדפסה, כדאי לשמור אותן במודול נפרד, כדי שניתן יהיה לצרפן לספריה של פרויקטים שונים. שוב, קוב מודול כולל רק קוד של 8856 |1508/. אין בו פקדיס, גרפיקה או מידע חזותי אחר. אס רוציס להוסיף קובצ מודול שיאחסן שגרות, ניתן לעשות זאת או בלחיצת החץ שליד הלחצן חוחזס] 00 ובחירת 0016 מהתפריט הנפתח, או על ידי בחירת 6ו1000] 800. כל אחת מפעולות אלו מוסיפה מודול חדש לפרויקט, ומציבה את המשתמש בחלון 6006 שלו (ראה תרשיס 11.6). ששו שחו 839105 ססעד | | | 4 ₪7 339054000 תרשים 11.6: ניתן לפתוח את החלון 6006 בלחיצה כפולה על שם המודול בחלון 60[סזק פרק 11: ניהול הפרויקט: תת-שגרות, פונקציות וריבוי טפסים | 295 כאשר מודול חדש נפתח לראשונה, נותנת לו 88566 |ה150\ את שס המחדל 61וט0סא (או 2 למודול השני וכן הלאה). כמו לגבי טפסיס ופקדים, רצוי לתת גם למודוליס שס ייחודי. למודול, כמו לטופס, יש מאפיין 6חפּא. לשינוי שס המודול, פשוט שנה את ערך המאפיין סוח8\ בחלון ץזזסקסזס. גישה לטפסים ולמודולים של פרויקט עס הוספת טפסים ומודולים לתוכנית, הס מתווספיס לחלון 66[סזק. חלון זה מאפשר גישה קלה לכל קטעי התוכנית (ראה תרשיס 11.7). בחירת טופס או מודול נעשית בפשטות, על ידי לחיצה על שמס בחלון ‏ 66[סזק. ניתן א ללחו בטופס על הלחצן + שאוסו\ כדי לעבוד על תכנון הטופס, או ללחוץ על הלחצן 6006 סו לעריכת הקוד הקשור לטופס. באשר למודולים, רק הלחצן 6006 אוסו/ ניתן להפעלה, מכיון שלמודול אין אלמנטיסם חזותיים. לחיצה כפולה על שס הטופס תביא לתוצאה זהה לזו המושגת בלחיצה על הלחצן 6006 שושו/. סז - וספןסזק פחחזזס= 7% (1חזס=) 1וחזס= 5% 5 0% (61וסו) 61\וטסוי 6 הלחצן 6006 שפוצ הלחצן 05166 שסו\ תרשים 11.7: החלון 6%(סזק מאפשר גישה נוחה לכל הטפסים והמודולים ניהול רכיבים בפרויקט טפסים ומודולים הס רק שניים מסוגי הרכיבים שניתן להוסיפם לפרויקט. אפשר גס להוסיף פקדים מותאמים אישית (פ!|סשח60 ה סספט0) וכן מודולי מחלקה (6|855 5). הקוד של אחדיס מהרכיבים, כמו טפסים ומודולים, ניתן לעריכה. אחרים, כמו פקדים של ספק חיצוני וספריות קישור דינמיות (11כ ,ץזהזטו! אחו] 6והההץכ) הס כבר אחרי הידור. למרות שסוגיס אלה הס חלק מהפרויקט, אין הס מופיעים בחלון %, ומוסיפיס אותס באמצעות תיבות דו-שיח מיוחדות. 6 סדנת לימוד 6.0 8\ טיפול בהפניות תוכנית אחד הגורמים הדורשיס טיפול בתוכנית הס הפניות (065ח6ז₪616). הפניות מצביעות לעבר שגרות ספריה שונות, המאפשרות לקוד לבצע מטלות מוגדרות. למשל, אס מתכווניס לאפשר לתוכנית לגשת לבסיס נתונים, יש לציין שהתוכנית משתמשת בספריה 00[666 60655 מז8כ. ב- 88516 |הטפו\ השליטה בהפניות פשוטה למדי. תיבת הדו-שיח ₪6/6:60665 מאפשרת בחירה של הפניות הדרושות לתוכנית. לשם כך יש לסמן את תיבת הסימון המופיעה לצד ההפניה (ראה תרשיס 11.8). סמן את אלו הדרושות לך, ובטל את הסימן מאלו שאינך וקוק להן. ניגשיס לתיבת הדו-שיח על ידי בחירת 0[66ז0, ₪616760065. ]6/019006% - 1 |<| :חש ז6/ס 6|סב|\ה/ים 5ח0ו63ו|סק ה זס=] 88500 |הטפוש שו 5ז וו סחה 00[605 שההולחטץ 885% |טפו |ש) סו חב 01605 835% ובטפו/י וש וכ | ץז זט | חס = 5600 שישה ךר |+. 1 ע'זססופסק5 15י] ]ס הסוסב זטוזי] הז'זס]זסק סש 11 606% 2 ק5600 03630356 שקה עסוזסוזס 5 2.0 זסזס!קא= 6ההוחזס)זטש הסוסבסווקקה | = סופ מחפו|> זפזסוק<= 6שההוחזס]זטק הסוסבסווקקה | | |+. 60807 זפזסוקא= 66חבחזס]זפק הפוסבּסווקקה 6 לחש 00ו60ק6 זפזסוקא= 66חהזוס)67 הסוסה 6ווקקה 1 105530687 זסזס|קא= 66חהוחזס]זסם הסוסבּסווקקה [ 1 ₪ זסהַבחבּוי] פס זפזסוקא= 66הבחזזס]זפק הסוסבסווקקה | + טס 1 זט זס|םא= 66חה וחזס זז חסו630\!סם, חסוסבוססטה 015 ד 52.8 וססד1\5יזםד5ץ5\5 וס סאז/\\: ‏ :הסט יסַהַהְהַח 1 תרשים 11.8: תיבת הדו-שיח 616760665 מאפשרת בחירת ספריות שייעשה בהן שימוש בתוכנית טיפ: לאחר הוספת ההפניות לפרויקט ניתן לסקור את הקבועים והפונקציות הציבוריים שלו בסורק האובייקטים (ז6פאוסז8 666[פ0), הניתן לגישה בלחיצה על הלחצן זספוסזם 666[פ0, או בהקשה על 2=. השליטה בפקדים באופן דומה להפניות ספריה, ניתן להוסיף לפרויקט ולהסיר ממנו פקדיס מותאמיס אישית. כאשר 885166 |1508/ נטענת למחשב, באופן אוטומטי מוטענים פקדים אחדיס לארגז הכלים. אולס, בדרך כלל נדרשיס פקדיס שתוכננו לביצוע מטלות מסוימות, שהן מעבר ליכולתס של הפקדים הרגילים. ניתן לטפל בפקדיס המיוחדים של פרויקט בשימוש בתיבת הדו שיח 6חפחסקוח0ס6 (ראה תרשים 11.9). כדי לגשת לתיבת דו-שיח זו בחר 0[66זק, 65ח6חסקו0ת60. כמו בתיבת הדו-שית 665ה₪6/676, ניתן לבתחור את הפקדים המותאמים אישית שיתווספו לתוכנית בעזרת סימון תיבות סימון. עס היציאה מתיבת הדו-שיח, משתנה ארגז הכלים, ומציג את הפקדים החדשים. פרק 11: ניהול הפרויקט: תת-שגרות, פונקציות וריבוי טפסים | 297 5 |<[ | 5 1591805 | ספ | בו עזב זפ | סוחס 56 6ש ג ב 6\טטסוח [סיסתס-) ₪ 1 549זפ וזש ד5 )וז \ :> 0% 6סדוים ד5\55 וזו ב סח ססות > 01.5 חח ץז זו | הסה הוח ל6פזום ופוח חס 01.5 סיס ץזה זפ | וסישחס= וסטו= 6וטססוח [סטחס-= 01.5 השקסחתן ץז זסו | קד 1.0 זספוו] תסו ד ץזבזו | שקץד 1.0 כ|פחוסו 6 | - ₪ %- ץח 16005 טסו 7[ תרשים 9 1 1 : תיבת הדו-שיח עסו | חס 5000 0096 65 מאפשרת הוספת | 50% ₪1 ד5 ויז 5/5 \5 סוס = :חסו0 1 פקדים לפרויקט הוספת טפסים, מודולים ומחלקות לפרויקט מי שמפתח תוכניות מחשב, יגלה בשלב מסויס שבידיו שגרות וטפסיס סטנדרטיים, שניתן להשתמש בהם בפרויקטיס רבים. ייתכן גס שפותחו על ידו שגרות מותאמות לקליטת שמות וסיסמאות משתמשים, לפתיחת קבציס ולכמה פעולות נוספות, המבוצעות כמעט בכל תוכנית. ניתן, לכל אחת ממטלות אלו ובכל תוכנית, לבנות מחדש את הטופס ולכתוב מחדש את השיגרה. אבל דרך ואת מאוד לא יעילה. דרך טובה יותר היא לעשות שימוש חוזר במודוליס וטפסיס שפותחו לפני כן ושכבר נוסו ונבדקו. הכנסת מודולים וטפסיס אלה לתוך הפרויקט הוא תהליך פשוט. בבחירת 6[סזס, 800 6 מביאים אל המסך את תיבת הדו-שית 6 400 (ראה תרשים 11.10). תיבת דו-שיח זו מאפשרת לאתר ולבחור קבציס לשס הוספה לפרויקט הנוכחי. למרבה הצער, תיבת דו-שיח זו מאפשרת הוספת קוב אחד בלבד בכל פעם. לכן, אם דרוש להוסיף יותר מקובץ אחד לתוכנית, יהיה צורך לחזור על הפעולה מספר פעמים. -| |₪ ₪ [- 4 צב>] 10% תרשים 11.10: ניתן לגשת לתיבת הדו-שיח 6!= 4060 ------- ]0 שחאמשם ממערכת התפריטים, או מסרגל הכלים הסטנדרטי, וכן | 0 351;".088;7.0182.8. "0302 *;!ס.";חזו."] שו |\/₪‏ :סע וס פשוו= ופ על ידי לחיצה ימנית בחלון | 85 > 6% או הקשת +60 הנסוס 1300 ₪5 בהה - -] 8 סדנת לימוד 6.0 8\ . אזהרה: כשמוסיפים את אותו טופס או מודול לפרויקטים נפרדים, יש לזכור כי שינוי פונקציות במודול משפיע על כל הפרויקטים המשתמשים בו. אם בכוונתך לשנות מודול משותף בצורה קיצונית, השתמש באופציה 85 1000/0876 6ש58, הנמצאת בתפריט 68!₪, או העתק קודם את המודול לספרית משנה אחרת. הערה: קבצים בעלי סיומת |אףח. ו-אח-. הם קבצי טפסים. קבצים בעלי סיומת 885. הם קבצי מודול. אפשר גס להשתמש בתבניות הטפסים של 8856 |טפוש. תבניות אלו הן טפסיס שהוגדרו מראש, ובנויים לפונקציות ספציפיות, כמו למשל הטפסים אס8 זטסטג, ה56766 ה50|35, הסה וכן עְ8כ 06 +0 קוד. יש להוסיף לטופס את הגרפיקה המתאימה, תוויות כותרת ולכתוב קוד מינימלי, כדי להתאימו לצרכים. כדוגמה ראה בתרשים 11.11 את תבנית הטופס אסם זטסטה. תרשים 11.11: תבניות טפסים מקלות על פיתוח קטעי תוכנית משותפים כדי לגשת לאחת מתבניות הטפסים, יש להציג את תיבת הדו-שיח וחזס] 400 בלחיצה על לחצן וחזס] 00 שבסרגל הכלים, או על ידי בחירת 66[סזפ, וחזס"] 00. ניתן אז לבחור אחד מסוגי הטפסים בכרטיסיה שו6א של תיבת הדו-שיח (ראה תרשים 11.12). |<]? | הז ] 00 | בחוופוא = | סו חח ו בק ₪ הַסובום זספשסזם ספא = הַסובום זטספה | חזס= בה פע ו ל שה 7 יה הַסובום פחסוק 0 ח1 הס 1 086 = שב 8חז זס קוד ח50768 ח5ב|ק5 | הַסובום חו הס תרשים 11.12: ניתן בקלות להתאים תבניות טופס לשימוש בפרויקט פוט סר!! הו סו13ם ו 5 ו'מסם. -] פרק 11: ניהול הפרויקט: תת-שגרות, פונקציות וריבוי טפסים | 299 אם יצרת טופס שיהיה לו שימוש בתוכניות נוספות, ניתן גס לשמור אותו כתבנית. יש לשמור את הטופס בקובץ תבניות הטפסים של 8856 |1508/. בפעס הבאה כשתבקש להוסיף טופס חדש, תופיע גס התבנית החדשה בתיבת הדו שיח וחזס:] ₪00. הערה: אם 8856 |1508 מותקנת בתיקיית ברירת המחדל, תבניות הטפסים תהיינה מאוחסנות בקובץ פוחזס=\3%65|קוח6 ד\88516 [1508/\. הסרת קטעים להסרת מודול או טופס מפרויקט, בוחריס את הפרויקט או המודול בחלון 66[סזם, ואז בוחרים 66[סזק, 6שסוחסח. 8856 |508ו\ מבקשת אישור לכוונה להסיר את הקובצ, ואז מסירה אותו. שליטה בהתחלת התוכנית שמתחיליס פרויקט תכנות, 8856 |508ו/\ מניחה שהטופס הראשון שנוצר הוא זה שיוצג מייד בעליית התוכנית. למרות שבפרויקטיס רביס ואת כוונת המפתח, יש במקריס רבים עניין לפתוח בטופס שנוצר בשלב יותר מאוחר בתהליך הפיתוח. במקריס אחדיס אף רוציס שהתוכנית תיפתת בלי טופס בכלל. קביעת טופס פתיחה אס הטופס הראשון איננו אה שבו מתכווניס לפתוח את התוכנית, 8856 |1508\ מאפשרת לבחור איזה מהטפסים יוצג ראשון על ידי התוכנית. בחירה זו נעשית בתיבת הדו-שיח ₪65ז6קסזק 606[סזוס, כמוצג בתרשיס 11.13. ניגשים לתיבת דו-שיח זו על ידי בחירת 66%[סזק, 65וזו6ק0זק 666[סזס. |< | טפט זספןסז?] - 11ס6ן0זק | תוטספ | סקס | וס | מו | 0 :00 קטסזבזם :ץד ל66[טזק [+ [וחזס=] 6 1-3 :סחחב)] 60%[טזק 1 קושו לספןסזק חס :פב 6ון=] קוס מא |ןההההההההההההההחחם חסקן6507 ס6[סזם = [10008] הוחו ₪וחד ח | מ הו דן : ל | שסטחס6 אפעוה טפט 1 תרשים 11.13: רשימת האובייקטים | ו יק קטשזפ)5 מאפשרת בחירת הטופס הנטען בפתיחת התוכנית | | 630 0 סדנת לימוד 6.0 8\ שם שיגרה חובּו! פט5 רשימת האובייקטיס 5600 כוללת בנוסף לכל הטפסים שבפרויקט, גס את הביטוי חוהי] 0ט5. שס שיגרה שמור זה מאפשר לתוכנית להיפתח ללא טופס התחלתי. אס בוחריס באפשרות זו, אחד מקבצי המודול חייב לכלול שיגרה בשס חוגּ!!. סיבה אחת להתחיל תוכנית באפשרות חו8ּ!\ טט5 יכולה להיות הצורך לבצע שגרת אתחול לפני העלאת טופס כלשהו. סיבה אחרת לכך יכולה להיות פיתוח תוכנית שירות לשורת פקודה, שאיננה דורשת אינטראקציה עס מפעיל. מכאן... פרק וה סיפק מבט על ניהול חלקי התוכנית השונים. הוצגו טכניקות אחדות לתכנות יעיל יותר. בנוסף, נחשף הקורא לרבים מהרכיבים המגווניס המרכיביס את התוכנית השלמה. מידע נוסף על יצירת החלקים השונים והשימוש בהסם ניתן למצוא בפרקים הבאים: + > לדיון בסיסי כיצד לכתוב קוד של 8856 |1508/, ראה פרק 9 יסודות התכנות של 6 | פו/. + + ללמוד יותר על הפיכת קוד ליעיל יותר, ראה פרק 10 שליטה במהלך התוכנית. פרק 11: ניהול הפרויקט: תת-שגרות, פונקציות וריבוי טפסים | 301 חלק 3 רכיבי תוכנית ב- ₪3516 ובּש15 בי : 0 5 שו >ן/\ של = .% +< : הפקדים המשותפים של 50%ססו1/ % : עבודה עם מערכי פקדים , 0 % : יצירת פקדי 46%6% ;, 0 % : הרחבת פקדי 6%ע46% + : מחלקות: שימוש חוזר ברכיבים 1203 12 הפקדים המשותפים של 05011ו6ווא פרק 12: הפקדים המשותפים של 605086א | 305 ל- 8856 |508/\ סידרה של פקדים משותפים (0!5ח60 חסוחוח60) המאפשרים לפתח תוכניות הכוללות מאפייניס זהיםס למיגוון רחב של תוכנות, מתוצרת 67050%!! ומתוצרת יצרניס אחרים. פקדיס אלה יאפשרו לך ליצור סרגלי כלים (5ז8פ|ססד) ושורות מצב (5ז88 519005) ויאפשרו להציג נתוניס באופניס שוניס. פרק זה ימשיך את הדיון בפקדים על ידי הצגת היכולות של הפקדיס המשותפים של 6-0506ו. מבוא לפקדים משותפים הפקדיס המשותפים של פאוססחו/\ (₪0!5ח0ס6 הסח 60 פוססחו/)) הס קבוצת פקדיס המאפשריס לשלב בתוכניות יכולות כלליות המוצעות על ידי סביבת פווסטחו/\ ומכאן השס יימשותף'י. בשפת 6 8856 |508\ חלק מהפקדיס המשותפיס הקיימים עודכנו ונוספו להס יכולות חדשות, כן נוספו מספר פקדיס משותפיס חדשיסם לגמרי. בטבלה 12.1 תובא רשימה מלאה של הפקדים המשותפים שמוצעיס לך בשפת 6 | ובכללס פקדיס הכלולים בארגז הכליס של 88516 |1!508/\. טבלה 12.1: הפקדים המשותפים של 6-050%ו! ץו6ו\66זד | מציג נתונים במבנה של עץ הניתן להרחבה ולצמצום, בדומה לחלונית השמאלית של סייר פשססחו/\ שו6ו/115% | פקד מתקדם להצגת רשימות התומך בכמה מבטים, דומה לחלונית הימנית של סייר פווססחוש\ מציג פס מחוון, הדומה למחוונים של מערכת סטריאו סט ס66ִחָח1 | מהווה שיפור של פקד 080%טחח60 (תיבה משולבת) הרגיל שתואר בפרק 4. זהו פקד חדש שנכלל לראשונה בשפת 6 8856 |1508\ מאפשר שילוב קטעי וידאו חסרי קול בטפסים פקד הכולל לחצני חיצים המשמשים להגדלת והקטנת ערכים אוסו/\ו)חסו\ | תומך בתצוגת לוח שנה חודשי, דומה לזה הכלול ב- 98 5אוססחו/\ ז6אסוק ד | מאפשר להזין תאריך ידנית או על ידי שימוש בפקד שוסושחשחסו! ז|600 | פקד מכולה עבור סרגלי כלים הניתנים להסטה, כדוגמת אלה הכלולים בסביבת הפיתוח המשולבת של 88516 |1508\ 6 סדנת לימוד 6.0 8\ לפני שיתאפשר לך להשתמש בפקדיס שפורטו כאן תידרש להוסיף אותס לארגז הכלים שלך על ידי ביצוע הפעולות המפורטות להלן: 1 בחר את הפקודה 6012006065 מתפריט 66%[סזפ. תוצג לפניך תיבת הדו-שיח 5 0 6. 2 בחר את קבוצת הפקדיס המשותפים שאותה תרצה להתקין (ראה תרשים 12.1). תוצענה לך שלוש הקבוצות המפורטות להלן: % * 6.0 60010015 הסוהוה60 5עשס0חו/\ 11605016 - כוללת את כל הפקדים שפורטו בטבלה 12.1 עד פקד 1780660000 ועד בכלל. + 6.0 000170!5-2 הסהוחס6 5עשסהו/ 110,050 - שאר הפקדיס המפורטיס בטבלה 12.1, פרט לפקד זם|סס6. + 6.0 60047015-3 הסוחוו 60 5עצסח/:/\ 0506%ז116 - פקד זהם|סס6. 3 לחץ על 0% כדי לצרף את קבוצות הפקדיס שבחרת לתיבת הכלים של 6 | הפו (ראה תרשיסם 12.2). [< | ב | 5 591:805ח1 | ספ | בו זב זם! | חס 5600 30/6 6פוסזט אה | | 6|טסוח [סיסתס= 15 549זפ זזש 557 \5 סז 06% 6סדים ד5\55איסיסז/ו\: ב סח | זסתס-> 01.5 חח ץז זו | הסה הוח ל6פזום 6|וטסות חס 01.5 םויס ץזה זפ ! וסישחס= וסטו= 6וטבסות [סטחס-= 015 השקסחתן ץזהזפו | סקץיד 1.0 זספוו 6 ץזב זפ | שקץד 1.0 כ|פחוסו 6 | - ₪ / ץח 15605 5616066 -][ | ץז זפ | |סזטחס = 500 00/6 = 5.0% הדש 5/5 \פ/סוסז :6 :106300 תרשים 12.1: שלוש קבוצות הפקדים המשותפים סומנו והן תוספנה לתיבת הכלים לאחר שתלחץ על 06 אס תרצה להשתמש בפקדים המשותפים במסגרת פרויקט חדש, תידרש להוסיף אותס לארגז הכליס של 8856 |1508). את פעולת ההוספה תידרש לבצע גס בכל מקרה בו תרצה להוסיף פקד משותף כלשהו לפרויקט קיים, שהפקדים המשותפים טרס הוספו אליו. לאחר שתוסיף אותס לארגז הכלים ותשמור את הפרויקט שלך, הפקדיס המשותפים יוצגו בארגז הכליס של הפרויקט בפעס הבאה שתטען את הפרויקט. פרק 12: הפקדים המשותפים של א050ווא - 307 | 8 | חב ₪ ₪ > | לצ ]1 | 3 ט4 8 8 ₪ 3 3 65 ₪ - ₪ שק פך | תרשים 12.2: ארגז כלים אשר מכיל פקדים משותפים מכל שלוש הקבוצות פקד 5%ו 61פ1₪1: פקד משותף בסיסי אופו פעולתו של פקד 18861155 (רשימת תמונות) הוא כמשתמע משמו. פקד חן דומה לפקד תמונה או לפקד תיבת תמונה, אך הוא אינו משמש לאחסון תמונה יחידה אלא לאחסון אוסף תמונות. פקד 10806115% גם אינו מכיל שוס אלמנט המוצג בזמן ריצה, הוא משמש כשטח אחסון בלבד. אס תרצה להציג תמונה כלשהי המאוחסנת בפקד 5% 18061 תידרש להסתייע בפקד נוסף. חשוב שתבין את אופן פעולת הפקד, מפני שרבים מבין הפקדים המשותפים האחרים תלוייס בתמונות המאוחסנות בפקד וה. למעשה, אופן השימוש העיקרי בפקד הוא לשס אחסון תמונות עבור פקדיס אחרים, ורק לעיתיס רחוקות הוא מתפקד כפקד עצמאי. הגדרת פקד %פו ו61אַבּו1 בעת עיצוב היישום הדרך השכיחה ביותר להגדיר פקד :180615 היא על ידי צירוף תמונות באופו ידני בעת עיצוב היישוס. אין צורך להפיצ את קבצי התמונות עצמם יחד עס היישוס. הערה: בפרק זה תמלא בפקדי +1806158 קבצי תמונה שסופקו לך כחלק מתוכנת |1808\ 6. את הקבצים הגרפיים האלה תמצא בתיקיית הקבצים הגרפיים של 8856 |1508/. תוכל גם למצוא את אותן תמונות (אם תחליט להתקין אותן) על ידי כך שתאתר את התיקיה המתאימה במחשב שלך. נוח מאוד להשתמש בסמלים (05ח160) במסגרת פקדי מפני שהם קטנים ומפני שניתן להציג תצוגה מקדימה שלהם בתיבת הדו-שיח 6ון. 8 סדנת לימוד 6.0 8\ בצע את הפעולות המפורטות להלן כדי להגדיר פקד 5% 178961 בעת עיצוב היישוס: 1 שרטט פקד 18061156 על גבי הטופס שלך והגדר עבורו שס ייחודי. 2< פתח את תיבת הדו-שיח 23965 ץזוסקסיזוק של הפקד על ידי לחיצה ימנית על הפקד ובחירה בפקודה 65/יו6טסיזש מהתפריט המקוצר שיוצג לפניך. 3 בחר את כרטיסיית 10365 של תיבת הדו-שיח (ראה תרשים 12.3). הכרטיסיה תאפשר לטעון אלמנטים גרפיים ולהגדיר מוהה ייחודי עבור כל אחד מהס, כמתואר בסעיפים הבאים. 4 להוספת תמונה לפקד 178061.15% לתצ על לחצן 16076ק +1567. תוצג לפניך תיבת הדו-שיח 71606 56166%. בתיבת דו-שיח זו תוכל לבחור קבציס מהסוגים חסס1, זספזוס, =61 ו-3056 שיצורפו לרשימה. כאשר תוסיף לרשימה תמונות, יוגדרו עבורן ערכי אינדקס באופן אוטומטי (ראה שוב את תרשיס 12.3). תוכל גם להגדיר מזהי מחרוזת (5ז00ח106 פַחו5) עבור תמונות על ידי כך שתקליד את המזהיס בשדה צְפ6א של תיבת הדו-שיח. מומלצ להשתמש במפתחות מפני שכך יתאפשר לך להתייחס לכל תמונה בנפרד על ידי שימוש בשם ייחודי, ללא תלות בסדר התמונות ברשימה. 5 | כאשר תסיים להוסיף תמונות לרשימה, לח על אישור כדי לסגור את תיבת הדו-שיח. [< | 5% ע וזזסקטזי] | זו | 5 |300878 ה | )שוגו 065900 עקסס | = :66 5 | :106% ]| שגד אינדקס יוו | ₪ 4 98 ₪ ם ₪ 0 | , 3 וס 36| | 6זוו)סו"] 6שיסוחסם. ...גוסו 156% סוסו שוסקם | 308 תרשים 12.3: אם תגדיר פקד 18061158 במסגרת עיצוב היישום, התמונות תאוחסנה במסגרת הטופס ותהודרנה כחלק מקובץ הביצוע של היישום התמונות פרק 12: הפקדים המשותפים של א050וא - 309 הגדרת פקד 1396115%ו1₪ באמצעות קוד ניתן גס להגדיר ולשנות פקד 1080615 בזמן ריצה, על ידי שימוש בקוד תוכנית. בעת גישה לפקד 86115%ַ108 כל תמונה מטופלת כפריט באוסף (ח0ס60!!6600). הערה: אוספים (5ח60!!6600) הם מושג חשוב אשר משמש למספר מטרות בעת העבודה בשפת 88566 |508ו/. אם אוספים הם מושג חדש עבורך המשך בקריאה, במושג אוספים נדון לעומק בהמשך הפרק. אוסף הוא קבוצת אובייקטים. פקד 10806118%% משמש לעבודה עס אוסף בשס 5 האובייקטיס המאוחסניס באוסף וה הס התמונות המאוחסנות בפקד 5% חחן. תוכל להשתמש בקוד לשס ביצוע פעולות על אוסף 1150108065, כגון הוספת תמונות לאוסף ושינוי תמונות הכלולות באוסף. לדוגמה, שורת הקוד הבאה תצרף תמונה לפקד 1708061.15% בשם 180611551 : ("קוזם. 6זקץן \ז צז\: ")סקס הס | 00. 1508065 1. 1561 1806 ניתן לקרוא לשיטה 400 של אוסף 1150178065 שוב כדי לצרף לאוסף כמה תמונות בעת עיצוב היישוס. אוסף דומה במובניס מסוימים למערך אך אינו והה לו. הגישה לאוסף מתבצעת כמו הגישה אל מערך, כפי שניתן לראות בדוגמת הקוד הבאה, אשר מציבה את התמונה הראשונה הכלולה בפקד 100806115% במאפיין 6זנשס6וק של הטופס: 6ז ו סוק. (1 )5013065 |. 1561 108061 = 6זנססוק. 1 וחזס= 56% בוודאי שמת לב שהגישה אל פריט מסויס באוסף מתבצעת על ידי שימוש באינדקט (א06ח1), כאשר במקרה המוצג בדוגמה ערך האינדקס הוא 1. וכור שאוסף משמש לאחסון אובייקטים, בשונה ממערך שבו מאוחסנים ערכים מספריים. לכל אובייקט הכלול באוסף יש מאפייניס משלו. ץ6א הוא מאפיין מיוחד המוגדר עבור אובייקטים הכלולים באוסף. מאפיין צ6א (מפתח) של אובייקט מכיל מחרוזת שניתן להשתמש באופן הדומה לשימוש באינדקס: 6ז סוק ("866= ע6!ורח5 )15078065 1. 15%1 108061 = 6וססוק. 1 רתס 56% כדי להשתמש במאפיין ש6א לצורך חיפוש אובייקט, הצב ערך במאפיין זה של האובייקט בעת הוספת האובייקט לאוסף. עבור כל סוג של אוסף הוגדרו שיטות 866 (הוספה), 6עטסוח6א (גריעה), שהמאפיינים ע6א וכן א06ח1 מהווים עבורן פרמטרים. אס מאפיין א06ח1 של אובייקט לא הוגדר, 8856 |808ו\ מציבה בו ערך באופן אוטומטי ואילו המאפיין ע6א הוא אופציונלי. 0 סדנת לימוד 6.0 8\ ארגון הנתונים הפקדיסם שו6ו/1150 וכן ש6616ד מאפשרים לארגן נתוניס לצורך הצגתס במבנה הדומה לוּה שבמסגרת סייר פווססחו/\ (ראה תרשיס 12.4). היתרון העיקרי של פקדים אלה הוא העובדה שהס מאפשרים להפריד בין חוות הפקד עצמו, לבין הנתונים שמוצגים במסגרת הפקד. נתייחס כדוגמה לרשימה שמכילה 100 פריטים. פקד >ו6ו/1150 יאפשר למיין את הפריטים ולשנות את המבנה בו הס יוצג על ידי שינויים בהגדרות המאפיינים של הפקד. והו שיפור ניכר בהשוואה לפקד א8%880ו1 הרגיל, שאס תרצה לשנות את סדר הפריטים המוצגים במסגרתו, תידרש לטעון שוב את הפקד. ומומ או - טסופ 8 [6] 1006 שופ" 800 אשץ ₪ 6 | | 5 א | ו | ו ו ק | עס א || הפחססאם פאו0פפ) | פש ו 7 8% || - טאוד | 046 | . 0 שפד | 05 | א ב 16 1 דר | | 06% ₪ 3 ו ו א 305 סוס ו 50 5 8 שת פאך סו ודה ף ג עסססות 3% 9-9 ךר 6 פאר מפ זפ [₪ 63 25/03 6 פד סו65פוס = 0 23 שתהפט פאר וס הפה 7 ו 0 22 6 ב 25/0/83 שתהפט פאר העוט מ 2 18 5 6, ב ב 2 ב ב 2/3 טסו ופה 6 6 )וו 3 -504ד5\וו 3 6 ב אוהו 67 גאוד 1-5 03 בונ ] 0 23 ב מ סאוו ") 58 - 2/3 5320 ן ₪ % ₪ 25/03 5/9506 9 [ש| 00 440 (8-6: 3 25/09/98 סא האשקד [ן | וול חס 061 4או-15%ם 5-ו ב ב 2 ד [ן 0 אק ד [ין | ן | (:8) "ו חס 1564300662 5-מ | ו וקה 098 ד | |=. !0 חס ה ל ו וו[ ₪ תרשים 12.4: לסייר פווס6חו/\ ממשק 6₪ו/66זד (חלונית שמאלית) וממשק ש6ו/1150 (חלונית ימנית) בסעיף הבא תיצור פרויקט פשוט שיתבסס על פקד ש6ו/1159% ופרויקט פשוט שיתבסס על פקד - ש6ו/66זד. כדאי שתהיה מודע לכך ששני הפקדיס האלה הס מורכביס יחסית ללימוד. כדאי אולי שתקדיש קצת זמן לעיוןו בעזרה המקוונת, כדי לצבור מעט ידע אודות השימוש בהס. אס תקדיש מעט זמן למטרה זו, לא תתחרט. שימוש בפקד ש6ו/:5ו! פקד 1150/16 דומה לפקד א9580ו1, אך הוא מכיל כמה שיפורים. פקד 6₪ו/1180 יכול להציג נתוניס במיגוון אופניס: רשימות המכילות סמלים שמסודרות משמאל לימין, רשימות במבנה טורי, ומבט דוח. אופני תצוגה אלה תואמים לאלה המוצעים בתפריט התצוגה של סייר פשספחו\\ (סמליס גדולים, סמליס קטנים, רשימה ופרטים). לאחר שהפריטים יאוחסנו באוסף 11506005 תוכל להיעזר במאפיין אסוצ של הפקד לצורך שינוי התצוגה למבנה הרצוי לך. רשימה המוצגת במבנה דוח מיוחדת משוס שהיא מאפשרת להציג יותר נתוניס מכפי שאפשר להציג בעת שימוש במבני תצוגה אחרים. למשל, ב- זסזס|קאם פמוספחו/\ בחירה באפשרות פרטים (5ו068) תציג פרטיס נוספיס פרט לשס הקובצ. במבנה תצוגה כוּה שס הקוב> יהיה הפריט הראשי ואילו גודל הקובצ, סוג הקובצ ותאריך היצירה של הקובץ, יהיו תת-פריטים המקושרים לשם הקובצ. פרק 12: הפקדים המשותפים של א050ווא - 311 בעת שימוש בתוכניות תוכל לשלוט על תת-פריטים אלה על ידי שימוש במאפיין 5 שמכיל מערך מתחרוזות המקושרות אל כל פריט ברשימה. אוסף תו !60 הוא שמפיק את כותרות הטוריס שמוצגות בראש הדוח. קודס לכן ציינו שפקד 1₪3886118%% מספק את התמונות שהוצגו במסגרת פקדים משותפים אחרים. פקד א6ו/1156 יכול להשתמש בעד שלושה פקדי :1896115 מפני שהוא יכול לשמש להצגת סמלים גדולים, סמלים קטנים וכן תמונות במסגרת כותרות הטורים. את פקדי 10096115 תוכל להגדיר בעזרת תיבת הדו-שיח 28965 /+וסקסזס של פקד .1150/06 או על ידי שימוש בקוד באופן הבא : 1 16 = 5חסס1. חו9)\]צוסו/\| 56% 2 10806 = 5ח0ס1!|הרח5. חו3!\]עוסו/\| 56% 3 ]1 = 680616005רוהרתטוס0. חורה ]עוסו/\| 56% היכולת לשילוב תמונות סמל בכותרות טוריס היא יכולת חדשה שנכללה לראשונה בשפת 6 8856 |08/). אס לא תגדיר את המאפייניסם 5ח08|!!60ח5, 5ח160 וכן 5 !60 של פקד א6ו/115%, לא תוצגנה תמונות כלשהן במסגרת הפקד. כדאי להשתמש בפקד 108961155 קטן יחסית (בגודל 16א16) בעת מילוי 5% ו806ח1 שתשמש להצגת סמלים קטנים. בוודאי ּכור לך שהפריטיס הכלוליס בפקד 108961158 מאוחסניס במערך. כל הפריטיס הכלוליס בפקד מאוחסניס באוסף בשס 115016605 ולכל פריט יש מספר מאפיינים, ביניהס אינדקס המצביע על התמונה המשויכת לפריט ו-ח68000 (כיתוב). בדומה לרוב האוספים גם עבור האוסף 1150156005 הוגדרה שיטת 00, שמוגדרת כך: 1 ,"16 עו" ,"ץסאץרח" , 05.800ח50166! |. 1 1150/16 בעת בניית הפרויקט לדוגמה תלמד דבריס נוספים על פרמטרים של השיטה 400 של פקד 50/6 ]. התחלת פרויקט הדוגמה תוכנית הדוגמה תציג קבוצות כדור בסיס ואת נתוני הניצחונות וההפסדים שלהן. התחל את הפרויקט על ידי ביצוע הפעולות הבאות: 1. התחל פרויקט חדש מסוג ₪5 503003706. 2 הוסף לפרויקט שלך את קוב הפקדים הסוחוח60 פעשס6חו/\ 5016סזסווא 0 60057015, באופן שתואר בתחילת הפרק. 3 הוסף לטופס פקד 1156/16 והגדר עבורו את השס חוגּואעו. 4 הוסף לטופס שלושה פקדי 1₪806115% והגדר עבורס את השמות |בּוחיוסאוו, [וההח5!ו, ו-זססבּסרווו. 5 הוסף את התמונות הדרושות לפקדי -80611%ח1. הקוד לדוגמה שצורף לפרויקט מניח שהרשימות |חזסאוו, וכן |וחפ!ו מכילות תמונה אחת בכל רשימה ואילו זו מכילה שלוש תמונות. 12 סדנת לימוד 6.0 8\ הגדרת מאפיינים של פקד עצ6ו/5ו.! בדומה לפקדים אחרים, גם את המאפיינים של פקד ₪ש6ו/115% ניתן להגדיר בשני אופניס: באמצעות גיליון המאפייניס (28065 שזסקסזוק) של הפקד או על ידי שימוש בקוד. אם תרצה להגדיר את הפקד תוך כדי עבודה בסביבת העיצוב, תוכל להיעזר בתיבת הדו-שיח 23965 ע+ו6קסזפ אשר מוצגת בתרשים 12.5. לצורך פרויקט הדוגמה תגדיר 4 מאפייניס : ששו/, חסס1, 5₪08|!16005 ו-6806716005 חותט!ס6. בסעיף זה תלמד כיצד להגדיר את המאפייניס האלה בעת העיצוב וכן יוצג לפניך קטע קוד שיגדיר את המאפיינים. [< | 58 ע וזזסקטז] | 6ווססות | חס | יפ | 5 חוטוס | 50 | 5 סמו | 8 טחוס גוסו 7-5 [+ חסס\איש - חן = חסו6|50 3465 שן [= ---- שסאאאו-ם] בי 0 |+ ו חסזומואוש] - ₪ פה | וגוט -] 7 > |+ 6 005 - ח 6 1 וואיסווה - [ [=---- 65-ה 6 5סטוום -] וו ז |+ 6001-5017 - 0 הס 01 סרוה -]ז [+ וס 6001 - ] 6 וה -] 308 דוסה -][ 60| 5זסיסתן ‏ =[ תרשים 12.5: תיבת הדו-שיח 98065 ץזזסקסזק תאפשר להגדיר מאפייני פקד צו6ו/5%ו | תחילה תידרש להגדיר את מאפיין שפוצ, אשר מגדיר את המבנה בו הנתוניס יוצגו במסגרת הרשימה. למאפיין זה ארבע הגדרות אפשריות : <* | חסס1שוט! - מציגה כל פריט ברשימה כסמל גדול עס תיאור טקסטואלי פשוט. + חסס]!|8וח5אוט! - מציגה כל פריט כסמל קטן עס תיאור טקסטואלי פשוט. הפריטים מוצגים כשהס פרוסים אופקית. %* 8%!]שצ! ‏ - מציגה את הסמלים בדומה לתצוגת 16005 ||5₪8 (ההגדרה חסס8|!1וח5אוטו), פרט לכך שהסמלים מוצגיס בפריסה אנכית. + +וסססח אוו - מציגה כל פריט במבנה הכולל סמל קטן, תיאור טקסטואלי ונתוניס מפורטים על הפריט. גם הגדרה זו מציגה את הפריטים בטורים אנכיים. בעת עבודה עס פקד 6₪ו/115 תידרש להגדיר גם את שמותיהס של פקדי 8061.5%ח1 שיכילו את הסמלים הקטנים, הסמלים הגדולים, והתמונות שתשולבנה במסגרת כותרות הטוריס של הרשימה. אס תיעזר בתיבת הדו-שיח 78065 שהסקסזס תוכל להגדיר את שמות הפקדיס באמצעות תיבות הרשימה הנפתחות שבכרטיסיה 5 186 של תיבת הדו-שיח. בתיבות הרשימה אלו תמצא את שמות כל פקדי שהוספת לטופס. ביישוס הדוגמה תגדיר את מאפיין שסו\ באמצעות קוד. פרק 12: הפקדים המשותפים של א050ווא - 313 הוספת פריטים לרשימה הפעולה הבאה אותה תידרש לבצע היא כתיבת קוד שיצרף פריטיס לתצוגת הרשימה. תוכל להשתמש בקטע הקוד לדוגמה שמוצג בתוכנית 12.1 כדי להוסיף פריטיס לאוסף 5 ]. הפעל את התוכנית ותוצג לפניך התצוגה הנראית בתרשיס 12.6. תוכנית 12.1: ק8/./ש1151/1 - שימוש באירוע 10680 להגדרת פקד א6ו/158% 1 ()080. 1 חזזס-] 50 טוק | 806ח! 6 החסיז פהסס! 06 קט ז56' |הרחזוס\\!!1 = 5חסס1. חוה ועו |הח5!! = 5חסס8|!1רח5. חוה ועו | = 6806716005 הרתטוסס. חוה ועו ו 0וצ\ 66 15 5הרחט!ס6 606 01 הססוש שח ד .5ז06ה6רוהרתטוס6 00 ' .01605 6800רחהוחט!60 + זססרהטח 606 עס ה6סועוס |סיטשחסס 6 זס ' זר הותט|ס 5 אוש הוחו (1 ,,, "החד" ,,)680075.00רוהרחט|ס60. חו8!ע| = אוחוס 56% (2 ,,,"פחו/\\" ,,)6806175.00רוהרחטוס6. חוה]ע| = אוחוס 56% (3 ,,,"1.05505" ,,)6806075.00רוהרחט|ס6. חורה !ע| = אוחוס 56% 51 | 3 070806 החו5016! | ₪5 אוחסו וחוס :5100 | 6חז סז 5600 083 6רחס5 סחי :5 א50 60ב' הד ' (1 ,1 ,"א50 60" ,, )50005.0 |.חופּזש! = אוחסו 56 5חו/\ ' "64" = (1 )05ח10166ו5. ארחסו 5 "6" = (5)016605)2. אוחסו 6 ]0 פסחו| 3 30006 ₪6 6865ו₪01 ח68 טסצ ' ...6805 סרח וס הסוה הסוח 800 סש ' ₪0 60 עהסקסזק /וסו/\ 56% ' הסכסה עעט| = צוסו/. חובוזען 50 0ח= 4 סדנת לימוד 6.0 8\ [<1) -| ב וסור תרשים 12.6: כך ייראה פקד 6₪ו/1150 שיוגדר על ידי קטע הקוד שהוצג כאן שיס לב בקטע הקוד שהובא כאן למשתני האובייקט הזמנייס ששימשו לצורך הגדרת האוספיס ]6806ה חח ט!0ס6 וכן 1150%6₪5. תחילה קראת לשיטה 406 אשר החזירה הפניה אל האובייקט שהוסף על-ידה. בקטע הקוד שהגדיר את כותרות הטורים זו היתה למעשה פעולה מיותרת, מפני שהקוד אינו מתייחס למשתנה הזמני אוח|6 לאחר הקריאה הראשונה לשיטה ₪00. אך כאשר הוספת את נתוני הקבוצות לא נדרשת להגדיר מפתח משלך. בוודאי וזכור לך שמפתת הוא מחרוזת המהווה מזהה ייחודי של אובייקט הכלול באוסף. אם לא תגדיר מפתח משלך עבור אובייקט, 8856 |508ו/ תגדיר עבורך מפתח. על-כן נדרשת להיעזר באובייקט אחשו לצורך הגדרת שני תתי-הפריטים. אס תגדיר מפתח תכתוב את קטע הקוד הרלוונטי כך: 1, ,"א50 560" ,"אסשם" ,00ה.005ח50%5 | חוה ושעו "64" = (1 )500106005.("א50 ")50605 |. הוה וען "65" = (2 )016605 )5.("א50 )1501665 |. חוה|זען הוספת פריט וח115%1%6 לפקד עש6ו/:5ו.! הדוגמאות שבסעיף זה תצגנה את האוסף 605ז1150, שבו מאוחסנים פריטי 506 | שנוצרו על ידי שימוש בשיטה 800. תחביר השיטה 400 של אוסף 115060 הוא : חססו||8ח5 , הסס! ,6 ,ץ6א ,אס0חו 160.800[סס להלן פירוט הפרמטריס השונים הכלולים בפנייה לשיטה ושל משמעויותיהס: * 001666 - האובייקט הקורא לשיטה. אלמנט הכרחי בשורת הקריאה. + א06%ח1 - מספר להגדרת מיקוס פריט במסגרת האוסף. אם לא תציב ערך מספרי בארגומנט הזה, הפריט יתווסף לסוף הרשימה. הפרמטר א06ח1 הוא אופציונלי. ערך מאפיין א6סחו של פריט מסוים עלול להשתנות כתוצאה מהוספה או גריעה של פריטים אחרים. פרק 12: הפקדים המשותפים של א050ווא - 315 + שא - ניתן להשתמש במחרוזת זו כדי להגדיר לפריט שם ייחודי וידידותי. הפרמטר שא הוא אופציונלי. + 6% - פרמטר המכיל את המחרוזת שתרצה להציג במסגרת הפריט בחלון הפקד. זהו פרמטר אופציונלי, אך אני ממליצ למשתמשים בלתי מנוסים להשתמש בו. חשוב שלא לבלבל בין פרמטר זה ופרמטר ע6א. + חסס1 - פרמטר המכיל את מספר האינדקס או המפתח של תמונה הכלולה בפקד 186 ששמו הוצב במאפיין 16005 של פקד א6ו/115%. פרמטר זה ישמש לבחירת התמונה הרצויה. זהו פרמטר אופציונלי, אך יש להתייחס אליו בזהירות מפני שאס לא תציב בו ערך כלשהו לא יתאפשר לך להציג סמלים גדוליס בתצוגת 5 וטו של הפקד. + חסס!!|08ח5 - דומה לארגומנט חסס1, אך מכיל את האינדקס של התמונה במסגרת פקד 83986|!5%%ח1 ששמו הוצב במאפיין 5חסס!||9ח5 של הפקד. הו פרמטר אופציונלי, אך אס לא תציב בו ערך לא תתאפשר תצוגת סמליס קטניס במסגרת אופני התצוגה 5חסס8|!1ותפצוטו, 15% |וצ! או +וסקסחצושו. אס תרצה להוסיף לרשימה נתוניס נוספים לאובייקט 1150060 שיצרת, ח50%6 \ועוו, תידרש לשנות את הגדרת המאפיין (א06ח5)1וח106פט5. מידע נוסף אודות מאפיין 55 תוכל למצוא בעזרה המקוונת של 88516 |1508/. שינוי התצוגה לאחר שתציב נתוניס בפקד שו6ו/1156, תוכל להציג אותס במספר אופני תצוגה שונים, על ידי כך שתציב ערכים במאפיין שסו\ של הפקד תוך שימוש בקוד. אם תרצה לראות את מבני התצוגה השוניס תוכל להוסיף תפריט צוסו/ (תצוגה) ליישוס הדוגמה. צור את התפריט בעזרת זסטו0ם טחסו\ (עורך התפריטים) של 8856 |אטפוצ (לחצ על הלתצן זסזו0ם טח6!! או בחר זספו0ם טחסוי] מתפריט 10015). הפעל את זסטו0ם טחסוא וצור את פריטי התפריט המוצגיס בתרשים 12.7. | אס |ו6%3ק | :חספה | 08 |ה%שנוחוח ו 5 (סחסצ]) זסת כ ןו [+ שחס4 - 00| = :ח00ו355005ו6000] 0 | :10א6לחס פופו וסטחוע -] ופפ ₪ בסופברם שן 8 - תרשים 12.7: פריטי התפריט של תוכנית הדוגמה כשהם מוצגים בעורך התפריטים 6 סדנת לימוד 6.0 8\ לאחר שתסיים לעבוד עס עורך התפריטים, תידרש להוסיף קוד לכל אחד מפריטי התפריט שיצרת, כדי לאפשר לבצע את הפעולה הרצויה. הקוד הדרוש לפריטי התפריט השונים מוצג בתוכנית 12.2. תוכנית 12.2: ק8/./שם1151/1 - שימוש באירועי 016% טחסו! עבור פרויקט הדוגמה ()א6ו61 |וז6כ טחוח 50 סזבּעוזוק +סקס שוע! = צוסו/\. חוה!אען 50 0חם ()א6ו1 6חזה |טחרח סט5 6אפעווק ח160/עט! = צוסו/. חום ועו 50 0ח= ()66ו6 5% |גוחרח סנ5 סזבּעוזוק 5% |/שט| = עוסו/\. חום|זען טפ 06ח= (11660 || החרוח סנ5 ס6זבּעוזוק ח3|160רח5/שע] = צוסו/\. הוה וזען 50 0ח= <1) = !ההוז !ו חוזס !וו . וזה אב שששוער תרשים 12.8: בתצוגת +זזסס₪9 מוצגים נתונים מפורטים אודות הפריטים, תוך שימוש בכותרות הטורים בעוד שבתצוגת 16005 שַפָז | מוצגת רק תמונה המסמלת את הפריט מעל לשם הפריט בשגרת האירוע 1080 חזס= נוצרים אובייקטיס של 1150060 (קבוצות כדור בסיס) שיתוספו לאוסף ‏ 11507060. בכל פעס שפריט כלשהו מוסף לאוסף 115016005 מוצביס ערכים בתת-הפריטים (5)1וח1:6ט0ו5 (טור פחו/\ - נצחונות) וכן (501605)2 (טור 1055 - הפסדים), של אובייקט 11507060, אוחטו. פרק 12: הפקדים המשותפים של א50סווא - 317 שגרות אירוע 616% של פריט התפריט מגדירות את מאפיין שסו\ של פקד 1150/60₪. הערכיס שמאפיין ששו יכול לקבל הס 5ח160וט!, 5ח160!|הות5צוטו, 5% !וטו וכן +סקסחעצ! בהתאמה. בתוכנית הדוגמה שהצגנו זה עתה הדגמנו את יכולתו של פקד א6ו/115% להציג פריטיס. בדומה לפקד א118:80 גס פקד ‏ 6ו/115% תומך באירועים רבים ובמאפייניס רבים, כדוגמת אירוע 6%ו61וח166 המיועד לבחור פריטיס ולבצע עליהס פעולות שונות. אירוע 1660/66 מעביר אובייקט אל התוכנית שלך, כדי לאפשר לך לבצע על האובייקט את פעולה המתאימה: (הח50106 |. ו 6060 5 רח106 |\ץש )10066 1 עשסו/150. | פטס סספעווק "!הו 06 6 60>סוו0 טס" א0 15 החד "1660 6וסבּ]" = אס דך. סז זז סט5 0חם פקד ₪ו6ו/115% תומך גם במאפיינים המאפשרים למיין את תצוגת הדוח תוך שימוש בכותרות הטורים. השימוש באירוע >6ו!0חוחט!ס6 מאפשר לך לשנות בקלות את סדר המיון של הטור הנבחר, כמתואר כאן: (ז6800 ה רתט|ס0. טו 060 45 ז6300רוהותטוס |3\ץם )אסוו)הרתטוס חוהזע| 5 ססהטוזק 1- א06ח1.ז6300ההותט[ס6 = /66ז50. חוהוועו 6טזך = 660ז50. חוהוועו סט5 סחם ייתכן ששמת לב לכך שניתן לשנות שמות פריטים הכלולים בפקד 115/16 באמצעות לחיצה בודדת על טקסט הפריט. הפקד תומך בשני אירועים 806501 |6זס)6 וכן 3060 66 אשר מאפשריס לתוכנית שלך לדעת אילו פריטיס משוניס כעת. נוכחת שפקד א6ו/115% הוא פקד מורכב יחסית. אס תרצה להתנסות בעבודה עס כל היכולות שלו ייתכן שכדאי שתבנה כמה תוכניות לדוגמה שתאפשרנה לך להתנסות בעבודה עס כל המאפייניס והשיטות שלו. יכולות חדשות של פקד עצשסו/5%ו.! אס התנסית בשימוש בפקד 6₪ו/1150 שנכלל בגרסאות קודמות של 8856 |1808/, תשמח בוודאי לשמוע שלפקד 115/16 שנכלל בגירסה 6 נוספו שיפורים רביס. כבר התנסית בשימוש באחד השיפורים האלה, האוסף 6806716005 חחחט!ס6 אשר מאפשר להציג תמונות במסגרת כותרות הטוריס של תצוגת הדוח. להלן מפורטיס כמה שיפוריס נוספיס אשר יאפשרו לך לשפר חזות פקד ש6ו/15%] : 9%, ז00ז60 חהותטוס0שוסו|א - מאפיין וה מאפשר לשנות את סדר תצוגת הטוריס בתצוגת אסספחשט! (תצוגת דוח). לדוגמה, אם תגדיר את המאפיין כ-פטזדך בפרויקט הדוגמה יתאפשר לך לגרור את טור פחו/\ אל הקצה השמאלי של הדוח. %, 56|60%ש5₪0]|ט= - מאפיין חדש זה הופך את פקד ש6ו/1150 למועמד מצוין להחליף את פקד א119%580. ייתכן שהבחנת שאופן הפעולה המהווה ברירת מחדל עבור 8 סדנת לימוד 6.0 8\ הפקד הוא לאפשר בחירת פריטיס רק על ידי לחיצה על הטור השמאלי ביותר. הצבת ערך 6טזד במאפיין 56|66צו50!וט₪ מאפשרת לבחור פריטיס בלחיצה על טור כלשהו בתצוגה וגס מאפשרת חיווי חזותי לכך, על ידי הצגת השורה המוארת על כל רוחב המסך. 65 - מאפיין זה קובע האס יוצגו קווי רשת במסגרת הדות. קוויס כאלה יקנו לדוח מראה של גיליון נתוניס. 5 - מאפיין זה יציג פסי גלילה עס המראה החדש, השטוח. ח656!6600עס₪ - במצב רגיל תידרש ללחו על פריט בפקד 6₪ו/115% כדי לבחור אותו. בהגדרת 6טזד למאפיין חסו56!660זסטס, הפריט ייבחר (ואירוע 1060616 יתבצע) גם אס תעביר את מצביע העכבר על גבי הפריט למשך מספר שניות. חס - מאפיין אשר נועד להתאיס את חזות הפקד למקובל בסביבת 6500 26/6 של א₪ספססוו. 658 - מאפיין 6066680%65 קובע האס תוצגנה תיבות סימון לצד כל פריט שיוצג במסגרת פקד שו6ו/1150. תוכל לזהות מהו מצב סימון התיבה או להגדיר את מצב הסימון על ידי שימוש במאפיין 6066660 של הפריט. אירוע 1660666 יתבצע גם כאשר המשתמש יסמן את תיבת הסימון. יכולת חדשה נוספת שנכללה לראשונה בפקד 6ו/15%] של 6 8856 |8טפו\ היא יכולת להציג תמונה ברקע הפריטים. יכולת גו מיושמת כמו תצוגת רקע בעמוד 60\\. אס תטען תמונה על ידי הגדרת מאפיין 6זו6וס של פקד ש6ו/1150, כמו בדוגמה הבאה: ("700.+65 ] \ 65ו160ק \: כ" )טסוק הס |= 6זנססוק. הוה ועו בנוסף לכך, שני המאפייניס המפורטיס להלן יגדירו את אופן הפעולה של התמונה ואת האינטראקציה שתתקייס בינה לבין הפריטיס הכלוליס ברשימה: מאפיין 6חט0ז0א6886א6ד קובע האס הטקסט יוצג על רקע שקוף או אטוס. מאפיין +ח6וחף!|ה6זנססוק שולט על האופן בו התמונה תצויר על גבי פקד ש6ו/115%. תוכל להתחיל את השרטוט במרכז הפקד או בכל אחת מפינות הפקד ולהציג חלק גדול ככל שניתן מתוך התמונה, או אס התמונה קטנה מהפקד תוכל להציג כמה תמונות שתהיינה פרוסות כמו אריחים. בתרשים 12.9 תוכל לראות דוגמאות לשימוש בכמה מאפשרויות תצוגה אלו. פרק 12: הפקדים המשותפים של א050וא - 319 7 ו 7 65שב₪ /+ ₪ 8 |<1) -| [החזזס !ו!ה חוזס !!!ו .% תרשים 12.9: לא ניתן היה להציג את מבני התצוגה המוצגים כאן על ידי שימוש בגרסאות הקודמות של פקד 6₪ו/115% פקד שש6ו/66יוד פקד ש6ו/66זד דומה לפקד 1150/86 אך הוא מסוגל להציג גם פריטיס המכיליס שילוב של טקסט וגרפיקה. פקד ש6ו/86זד גס מציג את הפריטיס הכלולים בו במבנה היררכי של עץ. אס למדת אי פעס קורס בסיס במתמטיקה או במדעי המחשב הרי שהמושג יימבנה היררכי של עצ'יי בוודאי מוכר לך. בתרשיס 12.10 מוצגת דוגמת מבנה היררכי של עף. לאור אופיו ההיררכי של פקד א6ו/1186% יש כמה מושגיס בסיסייס שהכרתי להבין אותס כדי לנצלו באופן יעיל: שורש (ססם), אב טחסזבּק), וצאצא (0!וח6). פקד ש6ו/66זד גם עושה שימוש נרחב באובייקט 66ס0א, כך שבכדי שתוכל להשתמש ביעילות באובייקט ש06ע6סזד תידרש גם להיות בקי בשימוש בסוג אובייקט זה. הדוגמה השכיחה ביותר לשימוש בפקד או6ו/66זד היא התצוגה בחלונית השמאלית של סייר 5\ססחו/צ\ (ראה תרשיס 12.4). 0 סדנת לימוד 6.0 8\ "₪ תרשים 12.10: מבנה עץ מגדיר מערכת קשרים בין אובייקטים (מיוצגים על ידי עיגולים) הבנת המושג 1066 (צומת) מבנה היררכי הוא מבנה שלכל פריט הכלול בו יש קשר מוגדר עס הפריטים האחריס. נתייחס כעת אל אילן היוחסין של משפחתך כאל דוגמה של עצ. ההוריס שלך מצוייס 'ימעליך'י במבנה ההיררכי של המשפחה והצאצאים שלך מצויים יימתחתייך'י במבנה. בדוגמת אילן יוחסין של משפחה, כל אדס הוא צומת (80006) בעץ. הקשרים בין צמתיס מיוצגיס על ידי ענפים (6065ח878). הענפים היוצאיס מצומת מסויס מקשרים את הצומת אל צמתיס אחריסם בעצ (כלומר ענפי העץ מקשריס אותך אל אבותיך), אך ייתכו שלצומת מסויס לא יהיו צאצאים. בדומה לעצי יוחסין ולעציס הקיימיס בטבע, כל פקדי א6ו/66זד כולליס צמתיס. מאפיין 0065 של פקד וסו\66זד הוא בעצמו אוסף אובייקטיס מסוג 06סא. אס עקבת אחר הדיון במושג אוסף שהובא עד כה, הרי שלא תתקשה להבין את משמעות המשפט האחרון (אס פרט כלשהו הקשור במושג אוסף אינו ברור לך כדאי שתעיין שוב בסעיפיס שעסקו בפקד ש66ו/1150). בדומה לאוסף 1150166705 של פקד .1156/16 גס אוסף 5 של פקד 66/6₪]ד תומך במאפיינים מסוימיס ובשיטות מסוימות, שביניהן השיטה 00 אשר משמשת ליצירת אובייקט 006 חדש: 2 ,1 ,"06ס\] +65 ד" ,"ץְ6אערח" ,,ו65.00סס\. 1 בדומה לשיטות אחרות שאותן תיארנו, גם שיטה זו מחזירה הפניה אל האובייקט שיצרה וה עתה, כמתואר בקטע הקוד הבא : 6 25 06ס0\!כרח6ף וחום ("006סא 5% ד" ,"ץסאץרח" ,,)40065.00. 0/1 = 06ס\כות6ץ 56% 1 = 10806 1\006קוחס% 2 = 56!60060170806. 14006 וחס+ 3 = 060170806חהקא=. 006 רחס פקד שו0ו/766ד מאפשר להציג את העץ במבנה הניתן להרחבה ולצמצוס, כמתואר בתרשים 12.11. פרק 12: הפקדים המשותפים של א050וא - 321 <1ם) = 6פחוהּא=] אפוצ 66ז] .₪ 1.6306 ההסוזסוח ב חסופושו 351 5 בו בו 50% ₪60 5 6ווום סמו ד הסופועיוכ |8זוח6=) מסופושום ]68 תרשים 12.11: מבנה העץ הפשוט המוצג כאן נוצר על ידי שימוש בפקד ש6ו/66זד משתמשים יכולים לשנות את העצ באמצעות העכבר, תוך הרחבה וצמצוס ענפיס בהתאסם לרצונס. הבעיה העיקרית העומדת בפני מפתח המשתמש בפקד ש6ו/66זד היא הצגת הצמתיס במבנה הרצוי למשתמש והבהרת הקשרים הקיימיסם בין הצמתיס. על ידי שימוש במאפיין וַ65ופַחו5 תוכל לגרוס לכך שהעצ ירחיב ענף באופן אוטומטי בעקבות בחירה בו. הבנת מאפיין 400% בראש העצ נמצא שורש העצ (בניגוד למקובל בעציס המצוייס בטבע). השורש הע הוא צומת שממנו נובעיסם כל הצמתיס האחריס הכלולים בעץ. לכל עצ יש רק שורש אחד. העץ המוצג בתרשיס 12.11 הוא תרשיס ארגוני פשוט של חברה קטנה. הצומת המכונה 86 והבסווסוחה הוא שורש העצ, מפני שוהו הצומת הראשון שצורף לפקד 66/6 ד לכל צומת הכלול באוסף 0065 יש מאפיין ₪06 אשר מצביע על הצומת המהווה את שורש העא. אס תרצה לבדוק שכל הצמתיס הכלוליס בעץ המוצג בתרשים 12.11 אכן מצביעיס על אותו שורש תוכל לעשות זאת באמצעות קטע הקוד הבא : 6 25 06ס0\!כרח%6 וחום 5 חן 006\קרח%6 ₪86 זס= 00 006\ק רחש 6 " 15 +סס 5'" ,6 6 ד.6סס\]כרח6> לחויוק 6 %א6צ] חשוב לזכור ש-₪000 הוא צומת בפני עצמו ובכל צומת אחר בע מצויה הפניה אליו במאפיין ששמו זססא. 2 סדנת לימוד 6.0 8\ עבודה עם מאפיין ז+ְחסיובּק זה עתה ראית שלכל צומת הכלול בעץ יש הפניה לשורש העצ. אך הכרת שורש העצ אינה מספיקה להגדרת מיקוס צומת כלשהו במסגרת המבנה ההיררכי של העצ. אס תרצה לדעת את מיקומך במסגרת המבנה ההיררכי המוצג בתרשים 12.11 יידרשו לך נתוניס נוספיס בנושא למיקוס השורש. כעת אתה מוכן ללמוד על הראשון מבין כמה סוגי יחסים הקיימים במסגרת עץ, יחס הורות (קוחפחסוז6!3 %חסזבּק). בכדי שצומת מסויס יהיה הורה, נדרש שיהיו לו צאצאיס. בתרשיס 12.11 הצומת הראשון הוא ההורה של שני הצמתיס שאחריו. לשלושת צמתי חסופוטזם המוצגיס בתרשים יש הורה משותף. נניח שאתה צומת קטן ושאפתן, אשר נוקט בכל האמצעיס הדרושים לשס טיפוס במעלה הסולסם. תוכל להיעזר בקטע הקוד הבא כדי לבחון את מיקומך הנוכתי: 6 5 סססאץו וחוס ("065)"]6ס\. ₪1 = 6סס\\ץ] 56 הסח ד 0%סא.6ססאזץ! 15 סססצץוש +ז "!0055 6 סוס" אס 50 6 6% ד.)חסזהק. 6סס\ץוא ₪ " ס+ 60זסרהסזכ 06018 עד" אס08פוו + חש בדוגמה תוכל לראות שלכל צומת יש מאפיין 87601 אשר מצביע על צומת ההורה שלו. היוצא מן הכלל היחיד הוא צומת 00%ח, שמאפיין זחסזּק שלו אינו מצביע על שוס גורס אחר (במאפיין הזה מוצב הערך המיוחד פַחוחזסא). עבודה עם מאפיין ה6ז0!ו6 אס תרצה לבדוק אס צומת כלשהו הוא אב לצמתיס אחריס תוכל לבדוק מהו הערך המאוחסן במאפיין חסז0!וח6 שלו, על ידי שימוש בקטע הקוד הבא : (4006] 5 6ססווץ! |3/\ץ )66 סא עסו סד סט5 סזפּעוזוק הסחד 0 = חס6ז0!וה0.סססצוץוש + "זחס הק 3 0% זב 1" אס 50 + 0חם סט5 0חם ניתן לראות שמאפיין ח6ז0!וח6 יחזיר מספר שלס אשר מייצג את מספר הצאצאים שיש לאותו צומת. בכדי שצומת ייחשב לצאצא של צומת אחר הוא חייב להיות קשור אליו בקשר ישיר. פרק 12: הפקדים המשותפים של 050% 323 עבודה עם המאפיין !61 המאפיין חסז0!וח6 מחזיר את מספר הצאצאים שיש לאותו צומת ואילו המאפיין 0ו1ח6 מחזיר את אחד הצמתיס שהוא צאצא של הצומת (בדומה למאפייניס ₪006 ו-זחסזהּק). אך במקרה שלאותו צומת יש מספר צאצאים, מאפיין 0\וח0 שלו מחזיר רק את הצאצא הראשון שלו. מאפיין 6060 של צומת שאין לו באצאיס מכיל ערך פַחוחזסא, על-כן לא כדאי לך לנסות לבצע גישה אל מאפיין 0|וח6 של צומת שמאפיין ח6ז0!וח0 שלו מכיל את הערך 0. השאלה המתבקשת היא כיצד ניתן לגשת אל צאצאיס של צמתיס שהס אינס הצאצא הראשון של צומת האב שלהם. לכל צומת יש כמה מאפייניס אשר מקלים על יהוי האחים והאחיות שלו, כפי שניתן לראות בדוגמת הקוד הבאה: ( )ח6ז0!וח6!|בשחווק 5 6 5 סססצוץח3 וחוס 6 5 סססצווא וחוס חן 5 זססהטסחו וחוס 5 חן 66ס\ץח3 ח₪86 זס= זה 3 15 06סח 5וחז' הפחד 0 <> הסזסווה6.6ססצוץחג +[ " :זה חסזס!וח0 5'" 6 6 ד.6ססוץחה זחווק 0\וח.06ס\\ץחה = 04006א 56% 6% ך.06ס\0ו6 +חווק אס סחו. חז|טו5ז5זו=. 604006 = וססהטס6חו א6סח1. 0חוו0ו35%5 |.06ס\0|א <> וססהטסשחו 6ווח\\ 6% .סא (זס6חטס6חו)065סא. 0/1 +חחוק .אס חס חו)065ס\. ₪1 = זס%חהוס6חו סחס/צ\ + 0חם 6 ששחה +א6)] 50 0חם זכור שמאפיין 0\וח6 של צומת יכול להצביע רק על צומת אחד ואילו כל שאר הצמתיס שחולקיס את אותו אב נחשבים לצומתי %א6א או 5טסועפזפ. אך לכל הצמתים שלהס צומת אב משותף יש גס מאפייני פַחוופו5פל5זו= וכן פַחו|פו0565 1. הערה: עבודה עם אובייקט 66סא עלולה להיות מלווה בקשיים מסוימים. הדרך הטובה ביותר ללמוד לעבוד עם אובייקטים אלה היא על ידי עיון בקוד קיים המשמש לביצוע פעולות על אובייקט 006\. אם כבר יש לך הבנה מספיקה של מושגים הקשורים במבנים היררכיים, תוכל להיעזר בעזרה המקוונת של 885166 |1508/\. אני ממליץ לתרגל את השימוש בפקד 6ו/66זד. 4 סדנת לימוד 6.0 8\ אס תרצה ללמוד עוד על פקד ש6ו/66 המשך לקרוא פרק זה. סעיף גה התמקד בטיפול באובייקט 006 שכבר כלול בפקד 6₪ו/66זד. בסעיף הבא תלמד ותתרגל הוספת אובייקט ₪006 חדש לפקד, כחלק מפרויקט לדוגמה. פקד קוול5טבּד פקד קו5פ9ד אשר מוצג בתרשיס 12.12 הוא פקד שימושי מאוד הכלול באוסף הפקדיס המשותפים של פאוססחו/\. הוא מאפשר לחלק את הטופס מבחינה חזותית למספר כרטיסיות. פקד 905₪10ד המוצג בתרשים מוצג כחלק מפרויקט הדוגמה שניצור במהלך סעיף זה. בפרויקט דוגמה זה נשתמש בפקד קוש5פג9ד לשם מעבר בין שתי רשימות. הרשימות שתוצגנה תהיינה רשימות של קבוצות כדור בסיס בשתי הליגות המקצועניות בארצות הברית שתוצגנה במסגרת פקדי שו6ו/66זד. פקד 3905₪10ד יאפשר לך לבחור את הליגה ולהציג את רשימת הקבוצות המשחקות בה. התחלת פרויקט הדוגמה התחל את פרויקט 66180זד על ידי יצירת פרויקט חדש מסוג םא 0870ח558. לאחר מכן בצע את הפעולות הבאות: 1. הוסף לטופס הפרויקט פקד טוש5פבד והגדר עבורו שס קצר אך בעל משמעות כגון חו5513. 2 הוסף לקובץ פקד ש6ו/66וד והגדר את שמו 1שש. כעת תהיה מוכן להתחיל בהגדרת מאפייני הפקדיס פקד קופד וז 50% ₪80 58 פוגוום פזסטוך הסופושיוכ |8זוח6=) פחבוסח| 50 פוות/\ פחו ך ו 5 הסופועוק ]65 סטב וזב ] 8וזסווום בי הכרטיסיה הנבחרת פקד 6ו/66זודך תרשים 12.12: פרויקט הדוגמה ייעזר בפקדי קו8905ד |-א6ו/66זד פרק 12: הפקדים המשותפים של 050% 325 אזהרה: הפקד קו3050ד אינו פקד מכולה (|סשחס6 ז8חו9זחס6). כך שפקדים שישורטטו בתחומו לא יקבלו באופן אוטומטי את הגדרות המאפיינים 1510!6/, חַ6|פַַח5, קסד ו-16% שלו כפי שהיה קורה למשל עם פקדים שהיו משורטטים במסגרת פקד 6חה". לחיצה על פקד סופד מביאה אותו לחזית התצוגה תוך הסתרת הפקדים המשורטטים עליו. אם תרצה לשנות את מבנה התצוגה של פקדים שישורטטו במסגרת פקד מוַ35ד, כדאי שתקדיש תשומת לב לשיטה ז20708 של פקד מופטגּד ושל פקדים אחרים העשויים להיות מושפעים משינוי סדר התצוגה. בעת שתעבוד במצב עיצוב ייתכן שיהיה עליך ללחוץ לחיצה ימנית על פקד קוַ5פגּד ולבחור את הפקודה 886% סד 0ח56. הגדרת פקד קוז54טב3ּד הצעד הבא בתהליך יצירת הפרויקט הוא יצירת הכרטיסיות שתיכללנה בפקד 805%0ד. משוס שתידרש להציג את רשימות הקבוצות בשתי ליגות, תידרשנה שתי כרטיסיות. הגדר את פקד סו5ט8ד על ידי ביצוע הפעולות המפורטות להלן: 1. לחצ לחיצה ימנית על הפקד חו5%13פ כדי להציג את התפריט המקוצר. 2 בחר מהתפריט את הפקודה ₪65ז6קסזפ (הפקודה התחתונה בתפריט), כדי להציג את תיבת הדו-שיח 3465 ץזוסטסיוש של הפקד חוגו5%ז. 3 לת על הכרטיסיה 1895 והקלד 163406 חהּ6ווסוחה במאפיין הסוזקְ63. 4. לח על לחצן פַבּד 1561 כדי להוסיף כרטיסיה לפקד. 5 הקלד 168006 והּחסוחְבּא בתיבת הטקסט ח0וק63. 6. לת על לחצן 0 הכיתוביס שהגדרת יוצגו במסגרת פקד סוש5טפּד. הגדרת פקד עש6ו/66יוד כפי שעשית בעת העבודה על פרויקט 6₪ו/115% גס כעת תידרש להגדיר את פקד שו6ו/\66זד על ידי שימוש בקוד לצורך צירוף אובייקטיס לאוסף. תיעזר בפקד שו6ו/6זדך לצורך הצגת המבנה ההיררכי של הליגה שאותה תבחר להציג. בכל אחת מהליגות יש שלושה בתיס: 85ם, 65%/\ ו-|08ח66. הבתיס כוללים חמש קבוצות, חמש קבוצות וארבע קבוצות, בהתאמה. תוכל לנצל את המבנה האחיד של הליגות לתועלתך בכך שתאחסן את הנתוניס של הקבוצות בשני קבצי טקסט, דא7.ם(5460 41 ו- דאד.605ם וא שכל אחד מהס יכיל את שמות 14 הקבוצות שבאותה ליגה. את הקבציס תוכל ליצור בעזרת פנקס הרשימות (%6080ס\) של פאוססחו/\ או על ידי שימוש בכל עורך טקסט אחר שבו תעדיף להשתמש. צור את השגרות המוצגות בתוכנית 12.13, אשר תוספנה את הנתוניס המאוחסנים בקבצי הטקסט לפקד צוסו/66זד. 6 סדנת לימוד 6.0 8\ [<) 5% ע וזסקטז | וטוט | חס | 5 |68חס₪ | שב 1 ₪איסוחס. | טב ד 6פמ! [*|4+. | ]| סח שמ רו ו ה ₪ = ארון 7 [ ו )| ו ו ----->: זפ סד 0 :| תרשים 12.13: על ידי שימוש בתיבת הדו-שיח 28065 וקסוק (שהיא עצמה מבוססת על פקד קְַה5₪פַגד) תוכל להוסיף בקלות כרטיסיות לפקד קושפס3ד |<וםן. יווהו || |[< ]ב אשיי 6 59800 08 106 50800 א0ם 6 5ב 5 אס50 60א 5 6>ט81 5 5 35 5וסח 1"ובּון 15 5 תרשים 12.14: בתוכנית הדוגמה פקד ו6ו/66זד מלא בפריטי מידע שנקראים משני קבצי ו [ ו טקסט, כמתואר בתרשים תוכנית 12.3: 82/.שו6ו66זד שימוש בשיגרה 696 ַץְ3!ספוש לטעינת נתונים נבחרים אל תוך פקד 6ו/66זוד (0חוז50 5 69006 6306)51 \ץ8וספוש טטפ סווטגוק 6 5 4006]כרת6+ וחוכ 5 זססהטס6ח חחוס 5090 5 קוחם 51 וחוס 1 5 6 6 00 (68006 51 ,"א" ,,)1.140065.00/ = 006וקוח0) 56% פרק 12: הפקדים המשותפים של א050שווא - 327 פחסופוטוכ 06 00 ("חסופוטו זפהם" ,"=" ,0!ות)עעעס ," ")0 .1.0065 = 06ס\קותחס: 56% ("חסופוטו |₪3ח06" ,"6" ,0!והעעעס ,")65.00 1.0 = 06ס\קותס 56% ("חסופוטוכ 65%//" , "ץע" ,0!ותעעעס ," ".1.065 = 06סקותחס: 56% 5 63 רחוש 6! )%6% 606 הסכס' חס ד "6306 | |החסספּ\]" = 69006 |5 זז 1 5 זטסח1 זס " דאד.ם = וא\\" ,8 הזהק. סכה הססס 6 1 5 זטסח1 זס-] "דאד.605 |\" .8 הסבק. סכה הססס 0 5 ]₪5 5 שו 00 5 סד 1 = זסזחטס00ח זס= קוח6 51 ,21 זטסח1 6חו | (קוחס 51 ,זססהט0ס6ח .8 "=" ,0!והסעט ,"=" )1.05.00 = 06סאקוחסז 56 הסח זאסו 6 זוופח=. 1\006ק + 5 | דך\605 5 6 00 5 סד 1 = זסזחטס6ח זס= קוח6 51 ,21 זטסח1 6חו | (קוח6 51 ,זססחטס6ח :8 "6" ,העט ,")1.05.00 = 6ססאקוחסז 56 הסח זאו 6ן5ו ווח .1\006ק רתס 5 [5ם/\ 4 06 00 4 0 1 = זסזחטס60ח זס= קוח6 51 ,21 זטסח1 6חו | (קוחס 51 ,זססהטס6ח .8 "/\" , סווה)עטעס ,")1.65.00 = 6סס\קוחסל 56 הסח זאסצ 6ו/זטפח=. 006 רחס 6 6טסח1 6חז 056ו6' 1 0|056 6 0960 6חש 56% 6665 זאו = 1.506 6ו או פע = 50/6זסזסט. ₪1 סז חס |סשחס6 שוסן/66ך 6 ז56' 0 1.2070 50 6ח= 8 סדנת לימוד 6.0 8\ שיס לב שקטעי קוד אלה מגדיריס את הקשריסם שיתקיימו במסגרת פקד 6₪ו/6פזך בעת הוספת אובייקט 06סא. הפרמטר הראשון של השיטה 00 הוא מציין של צומת שהוא קרוב משפחהיי של הצומת שקרא לשיטה, ואילו הפרמטר השני מציין את קרבת המשפחה שקיימת בין הצומת שקרא לשיטה לבין הצומת שנוסף על ידי השיטה. הקבוע 6!וח6או) מציין שהצומת החדש הוא צאצא של הצומת שקרא לשיטה. ביצוע פעולות במסגרת התוכנית כעת נשוב ונעסוק בפקד קושפפגּד ונגדיר את שגרת 1080 של הטופס. סביר להניח כי תרצה שכאשר הטופס יוצג לראשונה יהיה בו מידע כלשהו, על כן תבצע קריאה לשיגרה 69006 |שְ8!ספום כדי להציג את רשימת הקבוצות שב- 168006 חפסווסחה. אך הלחיצה על פקד קו5ט3ד לא תשפיע על פקד 6₪ו/66זד מפני שטרס הוספת את הקוד הדרוש לשגרת האירוע 0166 של פקד סו5טּד. קטע הקוד המוצג בתוכנית 12.4 קורא לשיגרה 63006 8/1|ספום תוך העברת שס הליגה הרצויה כפרמטר השיגרה. תוכנית 12.4: ק8/שו6וע6זד - עבודה עם האירועים 1080 ו-א6ו|6 ()1.080 חחזזס= 50 6זבּעוזק 0 6 01 קסף חס עסו 66 606 זטק' 0 ז1.20706/ס 6זו0סססזס זטס ||68' "686 | הה6וזסוח" 6006 וץהוספוס 5 0חם ()66ו01 חן%5!8 5 סזבּעוזוק זז 5 קוח דה וחוס א סח ר56!60000660. חו58+ = קוח6 דה חס ה0. (קרח6 )305 ך. חו%518 68006 וץהוספוס סט 0ח= [<1ם) = | 6|פחוהּא = אסול ₪66 | 606 | !131 = 53006 1 הסחסוח ה 6306 ] |החסווב 4] חסופוא 851 בן: 5 וז בב 5 מסופואום חס 5 8 5 בי יי ו הסופושו סע = בי תרשים 12.15: בלחיצה על כרטיסיה, יישום הדוגמה מציג רשימת קבוצות כדור בסיס פרק 12: הפקדים המשותפים של 050% 329 השיגרה 68906 150181 היא לב הפרויקט. שיגרה זו יוצרת תחילה צמתיס שמכיליס את שמות הבתיס שבכל ליגה : ("חסופוטוק 85%ם" ,"=" ,0!והסעוט ,"5" 065.00ס\. 1 = 06ס\ חס 56% הקבוע 6!וח6שעז מורה ליישוס שהצומת החדש שייווצר יהיה צבאצא של הצומת ייח 'י. לאחר מכן מוסיפיס לכל בית מספר צמתים של קבוצות : (קחח6 51 ,הסח .8 "=" , הוה)ע ,")65.0 סא ₪1 = 6006 56% הארגומנט הראשון של השיטה 4800 הוא יישיי כלומר ערך המפתח הייחודי של הבית המזרחי של הליגה. המפתח הזה מאפשר לצומת 'י1פיי (הצומת המייצג את קבוצת 5 ) לדעת שהוא צאצא של הצומת שמייצג את הבית המזרתי. כעת תורה לצומת של הבית ולכל הצאצאיס שלו להשתמש באופן התצוגה המורחב (אובייקטי ₪006 הכלולים בפקד 6ו/66זד יכוליס להיות מוצגיס כשהס מורתחבים או כשהס מצומצמים), על ידי שימוש בשורת הקוד הבאה: זט פחם. 6 ססצוץו (לחילופין ניתן גס להציב ערך 6טד במאפיין 5080660 של כל אחד מהצמתיס המייצג בית בליגה). הנושא האחרון לו נידרש להקדיש תשומת לב הוא האופן בו פקד קושפטפּד מודיע שבוצעה לחיצה על אחד מאובייקטי 06סא הכלוליס בו. פקד קושפטפ9ד מכיל מערך אובייקטי פד (כרטיסיות). כך שכאשר אתה לוח על כרטיסיה אתה למעשה בוחר כרטיסיה, באופן דומה לבחירת פריט 06%118%ח1 בעת שימוש בפקד א115%80. הידע הוה יאפשר לך להבין טוב יותר מדוע שורת הקוד המוצגת להלן משמשת לזיהוי הכרטיסיה שעליה לח המשתמש: 10 רה56!60000. חו58+ = קוח6 דה בדוגמה הזו אחזרת את ערך האינדקס של הכרטיסיה שעליה לח המשתמש ואחסנת אותו במשתנה קוח6דח. קבלת קלט מהמשתמש מספר פקדים משותפים של פוספחו/\ מציעיס דרכיס שונות לקבלת קלט מהמשתמש. לדוגמה, השימוש בלוח שנה להזנת תאריכים אינה הכרחית, אך היא תעניק לתוכנית שלך חזות מקצועית. אחד היתרונות החשוביסם של הפקדים המשותפים של 6 |אטפו/\ הוא שהס מאפשרים לך ליצור במהירות תוכניות בעלות חזות מרשימה, על ידי שימוש באובייקטים קיימיס. בסעיף זה נתייחס לפקדיס הבאים: + 00ו1₪80660₪ - תיבה משולבת גרפית. + ששו/ הסוא - פקד לוח שנה. 0 סדנת לימוד 6.0 8\ %, + זסא6וקדס - תיבה משולבת לבחירת תאריכים. + חשספקט - משמש להעשרה של טיפול בקלט מספרי. + 5160 - משמש להזנה של מספרים באופן גרפי. פקד סטו0660בּוחוז פקד 1806607000 הוא אחד הפקדיס החדשים בגירסה 6 של 8856 |1508\. תפקידו דומה לזה של 000080%ח60 שתואר בפרק 4. אך פקד 1088660000 מאפשר לשלב תמונות לצד כל אחד מהפריטים המוצגיס במסגרת הרשימה הנפתחת של התיבה המשולבת, כפי שניתן לראות בתרשיס 12.16. 0 ₪ 6 27 וזגוב) חח 6 תרשים 12.16: מראה פקד 000 660ף8ח1 מרשים יותר ממראה פקד אספסטוח 60 רגיל הערה: הבדל נוסף הקיים בין הפקדים הוא העובדה שפקד סטחסס6סְפָח1 תומך רק בסגנון תצוגה אחד, סגנון הרשימה הנפתחת ואילו פקד אס8ספוחס6 מציע כמה סגנונות תצוגה. הגדרת פקד 00ו660₪פבּווו1 בדומה לפקדים משותפים אחרים של פווסטחו/\ גס פקד 108066000 משתמש בפקד לאחסון התמונות שתוצגנה במסגרת התיבה המשולבת. לכל פריט הכלול באוסף 05ח607020106 של התיבה המשולבת יש שתי תמונות שניתן להגדיר עבורס אינדקסים : + סחָ108 - הצב במאפיין את אינדקס התמונה הרצויה להצגה משמאל לפריט. + 56/1806 - זהו מאפיין אופציונלי. אס תציב בו ערך התמונה שתוצג לצד הפריט תשתנה בעקבות בחירה או עקב העברה של מצביע העכבר עליה. אס לא תציב ערך במאפיין, הפקד ישתמש בתמונה המוגדרת במאפיין 6סְ8חח1. פרק 12: הפקדים המשותפים של א050וא - 331 כדי ללמוד כיצד לקיים אינטראקציה עס פקד 180660000 בצע את הפעולות הבאות: 1 2 התחל פרויקט חדש מסוג 5 50800870 והוסף לו פקד 461.15%ַבּ1. הגדר את גודל התמונות שתוצגנה במסגרת הפקד ל-16א16% והוסף לפקד שתי תמונות. הוסף לטופס פקד 1806607000 והוסף את שורות הקוד הבאות לשגרת אירוע 60 של הטופס : 11 = 15% 1806 1 סט 0660 וח 2 ,1 "6סו" ,,165.00 טר 00. 1 טר סח 1,2 "ץזוב |" ,,01065.00רח 00. 1 סט סח 1,2 "ץז" ,,1065.00 סרח 00. 1 סט סח 2 ,1 "506" ,065.00 00. 1 סט סח 2 ,1 "06נ" ,,1065.00 0 00. 1 סט סח שיס לב לכך שפקודות 800 משתמשות באותס ערכי אינדקס עבור מאפייני 16 ו-56|10806 של כל הפריטיס. הפעל את התוכנית והעבר את מצביע העכבר על גבי כל אחד מהפריטיסם המוצגיס ברשימה. כאשר תאיר פריט מסויס התמונה המוצגת לצדו תשתנה. בנוסף לכך, אס תבחר את הפריט, תוצג לצדו התמונה שעליה מצביע מאפיין 56/16 של הפריט, כמתואר בתרשיס 12.17. <1ם) - | 0% ספחוט:) 6ההּחו! .% <1ם) - | 0 ספחוס:) 6ההּחו! .= ּ: ל 6 תרשים 12.17: ניתן להשתמש במאפיין 58/1006 לצורך הבדלה בין פריטים מוארים ונבחרים לבין פריטים רגילים 2 סדנת לימוד 6.0 8\ עבודה עם הפריט הנבחר כל פריט המוצג בפקד סטחִַס66ְמָ13 כלול באוסף 60066005 של הפקד. אס תרצה לוהות האס המשתמש בחר פריטיס כלשהם, בדוק האס מאפיין הח5!6000010 של הפקד מכיל הפניות אל פריטיס כלשהם, על ידי שימוש בקטע הקוד הבא : חס ד פחורטס\ 15 ה0ש56!600601. 1 סט 0660 חז זז |[ פו הז0ס1 סא ' 6 56600 1 טר 16 .8 " :56166060 וס" אס ספ + חש הערה: ניתן גם לבחור פריטים מקוד על ידי הצבת ערך 6טוד במאפיין 58!6060 של הפריט, כמו בדוגמה הבאה: 6 = 56160060. (1 )1065 סרח 00. 1 סטר סרח מדוע יש צורך לבדוק את מאפיין ח56!60000106 כדי לראות האס הוא מכיל ערך 8חוחזס\\! סביר להניח שכור לך שבעת שימוש בפקד א6070080 משתמשים יכוליס לא רק לבחור פריטיס מרשימת הפריטים של הפקד, אלא יכוליס גם להקליד טקסט בשורת הטקסט של הפקד. גם פקד 1030600000 תומך באופן פעולה זה. נסיון להקליד בשורת הקלט טקסט שאינו מייצג פריט, יגרוס לשגיאה. הערה: אתה יכול לאלץ את המשתמשים לבחור את אחד הפריטים שיוצגו ברשימת הפריטים של הפקד, על ידי כך שתגדיר את מאפיין 106%60 של הפקד לערך פטוד. הגדרה כזו תנטרל את היכולת להזין טקסט במסגרת הפקד. סידור פריטים בתיבה המשולבת פקד סטַחִַס66ְאָ103 גס מאפשר להגדיר רמת הזחה (ח%900ח06ח1) שונה עבור כל פריט הכלול באוסף 05ח6ש600001 שלו. על ידי כך שתגדיר אינדקסיס עבור פריטים שוניס תוכל להעניק למשתמשי הפקד שלך תחושה של סדר וארגון. להגדרת רמת ההזחה של פריט הצב במאפיין ח%800ח06ח1 שלו ערך שלס כלשהו. את המאפיין ניתן להגדיר גם על ידי הכללת פרמטר אופציונלי נוסף במסגרת הקריאה לשיטה 400, כמתואר בדוגמה הבאה: 1 ,1 ,"ססר" , "שץסאץרח" 5.00רח166סטרס6. חוהזס6 כל רמת הזחה מייצגת 10 פיקסלים. בתרשים 12.18 מוצג פקד 1086600000 פשוט שבמסגרת הגדרתו נעשה שימוש במאפיין ח8000זח06ח1. פרק 12: הפקדים המשותפים של א050וא - 333 |<11] - | 80% סטחוס:) 6הבּחו! .₪ ז | וו יריו תרשים 12.18: ניתן להסתייע במאפיין ח0800ח06ח1 לצורך ארגון פקד 130660000 5 בתקליטור: " דוגמה מלאה לפקד 1080660080 תמצא בתקליטור בפרק 12 בתיקיה 0 360 ח]. פקד העוספקש פקד חאוססק הוא פקד משותף נוסף אשר משמש לקבלת קלט מהמשתמש. אך פקד וה הוא מיוחד משוס שאינו מיועד לשימוש בפני עצמו. במקוס ואת הוא פועל בשילוב עס פקד המהווה עבורו יבן-זוגיי. פקד חאוססקט מהווה אמצעי המקל על שינוי הערכיס המספרייס המאותחסניס במסגרת הפקד האחר. לדוגמה, אס כלולה בטופס שלך תיבת טקסט שאמורה להכיל ערך מספרי, תוכל לקשר אותה אל פקד חאוססקטש כדי לאפשר למשתמשים לעבור על פני מספריס מבלי להידרש להקליד אותם. תרשים 12.19: פקד חשססק מאפשר למשתמשים להתאים ערכים לצרכיהם 4 סדנת לימוד 6.0 8\ הגדרת פקד העשוספקט בצע את הפעולות הבאות כדי להגדיר פקד חצוסספט: 1 שרטט על הטופס פקד שיכול להכיל ערכים מספריים, כגון פקד א80)א6ד. 2 שרטט על הטופס פקד חעשספקש. 33 הצב את שמו של הפקד שישמש להצגת הערכים במאפיין וסאַח60ץ₪00 של פקד חאוססק. הגדר את המאפיין על ידי הקלדת שס הפקד (לדוגמה 16%01) או על ידי שימוש במאפיין ץ00ט8סזט. 4 הגדר את מאפיין שזסקסזקץ00טם של פקד חאוססקט כ6/31כ. הצבת ערך זה במאפיין תגרוס לפקד חשססקש לעדכן את מאפיין ברירת המחדל של פקד ץ8000 שלו (למשל, מאפיין ברירת המחדל של פקד א680ד הוא 16%). תוכל גס להשתמש בפקד לשסם עדכון מאפייניס אחרים, כל עוד אלה יהיו מאפייניס המאפשריס אחסון ערכים מספריים. לאחר שתסייםס להגדיר את פקד חוססקש תוכל להגדיר מאפיינים נוספים שיגדירו את חזות הפקד ואת אופן פעולתו. שני המאפייניס שיאפשרו להגדיר את חזות הפקד הס: + \חסוחתףו|ה - קובע האס פקד חצוססס!\ יוצג מימין לפקד ץ00ט8 או משמאלו. ** חסחסח6וז0 - קובע האס הלחצניס של הפקד יוצגו אופקית או אנכית. תוצאות השימוש במאפייניס זחסוח8ו|ה ו-חסטפסחסוזס מוצגות בתרשיס 12.20. תרשים 12.20: ניתן להציב את פקד חצוססק\ בכמה פריסות שונות ניתן לומר שהמאפיינים המגדיריס את אופן פעולת הפקד הם חשובים יותר עבור מפתחים. מאפייניס אלה הס : + \חסוחשזסח1 - קובע שיעור שינוי בערך המספרי שיתרחש בעקבות לחיצה על לחצן. ,% + א8 - מגדיר את הערך המקסימלי שהפקד יכול להכיל. + חוא - מגדיר את הערך המינימלי שהפקד יכול לחכיל. פרק 12: הפקדים המשותפים של א050ווא - 335 %, > ץ68000חץ5 - גורס לפקד חשססקט לעדכן את פקד 80060 שלו. ייתכן שתרצה להציב ערך 8156" במאפייןו אס אתה משתמש בפקד חווססק מבלי לקשר אותו לפקד. דוגמה לשימוש בפקד חווססכ\ ללא קישור לפקד אחר הוא לצורך מעבר בין עמודי מסמך. + ספזו\ - קובע האס לאחר לחיצה על לחצן ההגדלה כאשר בפקד מוצג הערך המקסימלי, יוצג בו הערך המינימלי (ולהפך). עבודה עם ערכים ואירועים בעת עבודה עס פקד חשוססט תוכל לוהות מהו המספר שנבחר על ידי המשתמש באחד משני אופניס: על ידי אחזור הערך המאוחסן במאפיין 6ט|3\ של פקד חשוססקש, או במאפיין המתאיס של פקד 8000 שלו. ברוב המקריס אין משמעות באיזה מבין שני הערכיס האלה תבחר להשתמש. אך במקריס בהס מתאפשר למשתמשים לאחסן בפקד ץ8000 ערכיס התורגיס מהתחוס שהוגדר עבור פקד חווססקש, תוכל להיעזר רק במאפיין המתאיס של פקד שץ8000. ג אזהרה: חשוב שתזכור שמאפיין ץְ68000חץ5 שתואר קודם לכן מעדכן את פקד 8000 בערכים המוצבים בו, אך לא להפך. כלומר שאם נתייחס לרגע לדוגמאות שהוצגו בתרשימים, אם משתמש יזין ערך באחת מתיבות הטקסט, מאפיין 6טוג\ של פקד חצוסס לא יתעדכן. דרך אפשרית לפתרון הבעיה היא על ידי עדכון של מאפיין 6ט!3\ של תיבת הטקסט במסגרת אירוע 608006 של פקד שְ00ש8 שלו. בנוסף לאירועים ה'ירגיליסיי שמוגדריס עבור רוב הפקדים, פקד חווססק תומך גם בשלושה אירועים נוספיס העשויים לעניין אותך: ** 6086 - מתרחש בכל פעס שבה משתנה הגדרת המאפיין 6טו8/\ של הפקד. + אסו|0חצשסכ - מתרחש כאשר המשתמש לוחצ על החצ למטה של הפקד. + 06ו|00 - מתרחש כאשר המשתמש לוחצ על החץ למעלה של הפקד. עבודה עם תאריכים ב- 6.0 88516 |1808/\ נוספו לקבוצת הפקדיס המשותפיםס השנייה (הפריט 0פ5סזסוו₪ו 0 00170!5-2 חסוהוה0ס6 פאוססחו/\ בתיבת הדו-שיח 66חסחסקוח60) שני פקדים אשר מקלים מאוד על הזנת נתוני תאריך, פקד שסושתשחסוז ופקד זסאסוק דס. פקד שסו/חשחסוו שמוצג בתרשים 12.21 הוא פקד לוח שנה רב-גוני אשר מאפשר למשתמשים לבחור תאריכים באמצעות תצוגה חזותית במקוס להקליד אותם. 6 סדנת לימוד 6.0 8\ שינוי חזות פקד ‏ שסו/חושחסוא תרשים 12.21 מציג את מראה ברירת המחדל של פקד שסושושחסו!. אך לפקד יש כמה מאפייניס שתוכל להגדיר אותס כדי לשנות דבריס בחזותו או באופן פעולתו. חלק ממאפייניס אלה מפורטים בטבלאות 12.2 ו-12.3 מציין תאריך נבחר 3 22 2 20 19 8ו 17 90 28 28 27 26 25 24 6 - 4-5 3 2 ורר3 9 + ץד = | *---------- מציין תאריך היום תרשים 12.21: פקד שסוצוזחסו! מאפשר למשתמשים לבחור ערכי תאריכים על ידי הצגת לוח שנה במקום על ידי הקלדה טבלה 12.2: מאפיינים המגדירים את חזות פקד שוסוצחשחסוז שם המאפיין ערך ברירת תיאור מחדל ץ08ס דאוסח5 כן/לא תוצג בתחתית הפקד שורה עם תאריך היום 55 כן/לא יוצג טור שבו יפורטו מספרי השבועות 6 1 | מגדיר כמה חודשים אחורה/קדימה התצוגה תעבור בעקבות הגלילה. גם אם במאפיין יוצב ערך הגדול מ-1 אפשר יהיה לעבור חודש אחר חודש על ידי לחיצה על התאריכים המוצגים בפינות הפקד ( )0!ספעְהכ 6 | קובע האם תאריך יוצג בכתב מודגש. מועיל להבלטת תאריכים מסויימים, כגון חגים. כדי להיעזר במאפיין זה תידרש לציין תאריך בקריאה למאפיין, כבדוגמה הבאה: 6טזך = (7/4/1998%א )0!סם עבּ. 1אוסו/\חשחסוז פקד שאסו/\חזחסו! מאפשר להגדיר גס צבעיס שוניסם שבהס יוצגו הקטעים השוניס הכלולים בו. פרק 12: הפקדים המשותפים של א50סשווא - 337 טבלה 12.3: מאפייני הצבע של פקד שוסו/חזחסו₪ז זס|660זס- | קובע את צבע הימים והקו האופקי שמתחת לתווית השבועות זסו600זס= ףחוד | קובע את הצבע בו יוצגו הימים שאינם כלולים בחודש המוצג כעת אך נראים על המסך (הימים האחרונים של החודש הקודם והימים הראשונים של החודש הבא). הימים הראשונים של החודש הבא מוצגים לרוב כשטח ריק בסוף תצוגת החודש זס|ס6א886 ה | מגדיר את צבע הרקע של ימי החודש. לא רקע כותרת הפקד זס|60א06886וד | מגדיר את הצבע בו ייצבע הרקע של אזור הכותרת זס|660זס6וד | מגדיר צבע טקסט שלה כיתוב הכותרת והתאריך הנבחר הצגת מספר חודשים בבת אחת אס תרצה להציג יותר מחודש אחד ברגע נתון במסגרת פקד שוסו/\חזחסוז, תוכל לעשות זאת על ידי הגדרת המאפיינים 5שסמושחסו ו-500/5חזחסו\. לדוגמה, בתרשים 12.22 ניתן לראות פקד וסו/ושחסוא, שעבורו הוצב הערך 2 בשני המאפייניס, מצב אשר גורס לפקד להיות מוצג במבנה רשת. 12 3 19 0 26 7 -: 39 תרשים 12.22: פקד שוסו/חזחסויז אינו מוגבל להצגת חודש אחד ברגע נתון י אזהרה: לא ניתן להציג יותר מ-12 חודשים במסגרת פקד אסו/חזחסוז ברגע נתון. אם תנסה לעשות כן ייגרם מצב שגיאה. 8 סדנת לימוד 6.0 8\ כדי לאפשר יותר גמישות תוכל להגדיר את המאפיינים 5!ס60חסחס!! ו-5\וסמושחסוא בצמן ריצה, כדי לאפשר למשתמשים להגדיר את מספר החודשים הרצוי להס באופן דינמי. משתמש אינו יכול לשנות את קנה המידה של תצוגת הפקד בזמן ריצה. כלומר הרשת בגודל 2א2 מוצגת תמיד בגודל קבוע. אס תשנה את גודל הרשת בזמן ריצה, גודל הפקד ישתנה כדי להתאים לגודל החדש. לכן כדאי לדעת גודל רצוי לפני הפעלת התוכנית. למרבה המצל פקד שפו/חשחסו] תומך בשיטה ₪015226ח660פטקות 60 המחזירה את גודל הפקד שמכיל מספר נתון של שורות וטוריס, כבדוגמה הבאה: 56 5 00%ו6רו8ח5 ,16ַחו5 5 הססו/\פח5 וחוס חפ ,506 ,2 ,4 ,26ו5!סיחהס66סטוקרתסס. 1 ששוח הס 5 ,הו ח5 .8 " :5הסופת6רחו |סשחהסס עעסאז" זחוזוק. פטססס הערה: המספר המוחזר על ידי השיטה 0!526ח660פטקוח0ס6 נתון ביחידות המוגדרות במאפיין 563|81006 של הטופס (שהגדרת ברירת המחדל שלו היא 5מוצוד). קטע הקוד שהוצג כלל קריאה לשיטה 0!5226י66000זטקוח60 לשס קביעת גודל פקד שוסושוזחסוא בגודל 2א4. הערכיס שמוחזריםס באמצעות פרמטרים מוצביס במשתניס 5 ו-0%ו86ח5. עבודה עם ערכים עד כה למדת כיצד לשלוט בתצוגת פקד שסו/ושחסוא. אך כדי לבצע דברים מועילים עס פקד שוסו/ושחסו! דרושה דרך שתאפשר לוהות את התאריך ולהגדיר את התאריך העדכני. המאפיין העיקרי שבו תוכל להיעור כדי להחזיר את התאריך העדכני וכדי להגדיר את התאריך העדכני הוא מאפיין 6ט|8/\, כבדוגמה הבאה: %+201/03/1943 = 6ט|8/. 1/שסו/\ח>חסוז "ווק 2:34:00 6="7/19/75ט]8/. 1/שסו/\ת>חסון צוס=6טבּ/\. 1 /שסו/\ )חס סט /\. 1 סוחס .6 " 15 0816 56166060 סד" זחוזק. פטסטס הערה: תוכל להגדיר את טווח התאריכים החוקיים של פקד שסוצושחסוא על ידי הגדרת המאפיינים 6זהסחו1! ו-6זהסאג! של הפקד. המאפיין 6ט|8\ תמיד מכיל ערך מסוג 806 (תאריך), אך לפקד יש מספר מאפיינים נוספים אשר מייצגים רכיבים שונים של ערכו העדכני: > ותחסו - החודש הנבחר בשנה (המאפיין יכול להכיל ערכים שבין 1 ל -12). * עֶ - היוס הנבחר בחודש (המאפיין יכול להכיל ערכיס שבין 1 ל -31). + ]60 - השנה הנבחרת (לדוגמה 1998). + 666/\ - השבוע הנבחר בשנה (המאפיין יכול להכיל ערכים שבין 1 ל-52). פרק 12: הפקדים המשותפים של א50סווא - 339 הערכיס המאוחסנים במאפייניס שפורטו לעיל מתעדכנים באופן אוטומטי לאחר כל שינוי בערכו של מאפיין 6טו8/\ ולהפך. ניתן להציב במאפייניס האלה ערכים מספרייס שלמים ולעבוד עס הערכים הרצויים לך. מאפיין 6ט|3\ של הפקד אומנס יכול להכיל רק ערך אחד ברגע נתון, אך לפקד יש כמה מאפייניס נוספיס שאותם ניתן להגדיר באופנים שיאפשרו למשתמשים לעבוד עס כמה ימיס רצופיס. ההצבה של ערך שטזד במאפיין 056!666!טא תאפשר למשתמשים ללחוצ על תאריך מסויס ולבחור תחוס תאריכים, כמתואר בתרשיס 12.23. אם תגדיר את מאפיין ‏ ₪56|60ו₪ לערך שטזד תידרש להציב ערכים במאפייניס + ו-0ח56!5 כדי להגדיר את תחוס התאריכים הרצוי לך. [<]ה]- | גי יו 2 3 4 5 6 3 2ו וו מ1 0 פו 18 17 16 7 2 25 24 23 145 2 (2 28 89 959 תרשים 12.23: מאפיין ז856!60!טוי! מאפשר לבחור תחום תאריכים פקד ז6א6וק דפ פקד ז6א6וק דכ (ז6א6וק 6חוד 6ז8) משלב בין תצוגת לוח השנה של פקד אסו/\חשחסוז לבין יכולת להזנת תאריכים על ידי הקלדה. פקד זה מאפשר למשתמשים אשר יודעים את התאריך המדויק להזין אותו בקלות ובאותה עת מציע תצוגת לוח-שנה למי שזקוק לה. פקד ז6א6וק ד נראה כמו תיבה משולבת, אך כאשר לוחצים על הרשימה הנפתחת מוצג פקד שסו/וסחס₪. |< |ם])=. בחוזס] ₪ | 1.33 -| ינואר 1999 תרשים 12.24: פקד זסא6וקדס מאפשר הזנת תאריכים באופן גרפי ובאופן טקסטואלי 593 + ץע ד כ 6 0 סדנת לימוד 6.0 8\ הרבה ממאפייני פקד אופושחזחס!\ מוצעיס גס במסגרת פקד זסאסופדס. אך בשונה מפקד צוסו/\ה+חס!י!, פקד זסאסוק דכ אזינו יכול להציג יותר מחודש אחד ברגע נתון. עקב העובדה שפקד ז6א6וקדס מאפשר הזנה ידנית של תאריכים, מוגדריס עבורו מספר פרמטרים המשמשים לעיצוב הקלט. תוכל להציב במאפיין )חזס] של הפקד את הערכיםס המפורטיסם להלן: + 0001008086 - 0 - מציג את התאריך במבנה ארוך, בהתאס להגדרות הפעילות בלוח הבקרה. * 00806ה0005 - 1 - ברירת המחדל. מציג את התאריך במבנה קצר בהתאם להגדרות הפעילות של לוח הבקרה, לרוב צץ//ו. + 6חו0)0 - 2 - מציג את קטע השעה של הזמן העדכני בלבד. כאשר הגדרה זו פעילה לחצן החצ הנפתח מוחלף על ידי חיציס המצביעים למעלה ולמטה ולותח השנה אינו מוצג. + 00005000 - 3 - מציג את התאריך מותאם אישית. כאשר תשתמש בהגדרה 5007ט0600 - 3 תוכל להציב מחרוזת עיצוב משלך במאפיין וח0ס5ט6. בתרשים 12.25 יוצגו כמה מבניס להצגת תאריכים. | = בחוזס-] .₪ ם 9 == ---- 0806 507% - תאריך קצר - 3 יואר 16 שבת | <------ 866 פַח0! - תאריך ארוך -] 0 <-------- שוחוך - שעה 5 ו %חזס= וה%0צ65 - מבנה מותאם אישית תרשים 12.25: פקד ז6א6וקדס מאפשר להציג תאריכים תוך שימוש בכמה מבני תצוגה גלישה למספרים [סזח60 51166 (פקד הגררה) הוא פקד נוסף הכלול באוסף הפקדים המשותפים של 5\וס0חו/+. פקד זה מאפשר למשתמשים להצין נתונים מספריים במסגרת תוכנית. אופן פעולת הפקד דומה לוזה של מתגי החלקה שבבקרות אקולייזר של מערכות סטריאו או לחילופין לאופן הפעולה של פקד ז88 ||0ז56 (פס הגלילה) הכלול באוסף הפקדיס הסטנדרטייס של 88516 |1508/\. פרק 12: הפקדים המשותפים של א050ווא - 341 צור את פקד ז060ו|5 על ידי שרטוטו על הטופס. לאחר מכן תידרש להגדיר ארבעה מאפיינים עיקריים שיגדירו את חזותו. מאפייניס אלה מפורטיס בטבלה 12.4 ותוצאות השימוש בהם מוצגות בתרשים 12.26. טבלה 12.4: מאפייני הפקד זססו|5 מגדיר את סוג הגבול שיוצב. הצבת 0 במאפיין גורמת לכך שלא יוצג גבול והצבת ערך 1 בפקד גורמת לכך שיוצג קו גבול יחיד מגדיר את פריסת הפקד. הגדרת המאפיין כ-0 מציגה מחוון אופקי והצבת ערך 1 במאפיין מציגה מחוון אנכי מגדיר את מיקום 65ז8א 6%וד (שנתות) על גבי המחוון. הצב 0 במאפיין להצגת שנתות מתחת למחוון או מימינו, 1 להצגת שנתות מעל המחוון או משמאלו, 2 להצגת שנתות משני צידי המחוון ו-3 אם אינך מעוניין להציג שנתות קובע את מספר השנתות שתוצגנה. ניתן להציב כל מספר חיובי לאחר שתגדיר את חזות הפקד תידרש להגדיר מספר מאפיינים שיגדירו את אופן פעולתו. חוא ו-א8ּ] הס מאפייניס ראשוניס. מאפייניסם אלה מגדיריס את טווח הערכיס שהפקד יוכל לקבל. שני המאפייניס הבאיס הס 18706008006 ו-6פַחַ88ח508|!6. מאפיין 6בחִפּתַ6סְפָזהּ | מגדיר את שיעור השינוי בערך הפקד שייגרס כתוצאה מהקשה על מקש סְסְחָבּץ או חשוסססְחָּץ או לחיצה על לחצן העכבר כשמצביע העכבר מצוי באחד מצידי המחוון. מאפיין 6פַחַ8ח58|!6 מגדיר את שיעור השינוי בערך הפקד שייגרס עקב הקשה על אחד ממקשי החיצים. מאפיין 56!60%88006 הוא המאפיין האחרון המשמש להגדרת אופן פעולת הפקד. מאפיין זה קובע האס הפקד יוכל לשמש לשסם בחירת ערך יחיד או לשס בחירת טווח ערכים. זו |בזחסכוזסר - מחוון אופקי |68זס/\ - מחוון אנכי מחוון עם גבול סגנון שנתות 0 סגנון שנתות 1 סגנון שנתות 2 סגנון שנתות 3 תרשים 12.26: פקד ז06ו/5 מאפשר להזין נתונים מספריים באופן גרפי 2 סדנת לימוד 6.0 8\ שימוש בפקד ז06ו51 משתמשים יוכלו להגדיר ערך לפקד ז06ו/5 באמצעות לחיצה עליו או גרירתו. הס יוכלו גסם להיעזר במקשים כְנסְחָּק, חאסספְפָבּק, חצ ימינה או חצ שמאלה לשינוי ערך הפקד. הנתון שיוזן על ידי המשתמש יישמר במאפיין 6ש|8/\ של הפקד. הערה: מקשים משפיעים על פקד זפסו|5 רק אם הוא מצוי במוקד (פטסס). אם מאפיין 566008096 מוגדר 6טזד יתאפשר למשתמשים לבחור תחום ערכים על ידי החזקת מקש אוח5 לחוץ בעת גרירת המחוון. אך לרוע המזל זוהי אינה פעולה שמתבצעת באופן אוטומטי, אלא פעולה שיש לכתוב קוד שיבצע אותה. תידרש להוסיף לשגרת אירוע חששסס6פטסויז של הפקד קוד שיוהה האס מקש 6וח5 לחוצ בעת גרירת מחוון הפקד. אס כן, הקוד יגדיר את המאפיין 59!509'1 של הפקד שמכיל את נקודת ההתחלה של התחוס הנבחר ואת מאפיין 6פַחַ56!58 שמגדיר את גודל התחוס. בעזרה המקוונת של 88516 |1508/\ תוכל למצוא דוגמה טובה של שימוש במאפיין וה. פרויקט ‏ 061ח8!6 זסוס6 נדגיס את השימוש בפקד ז06ו51 על ידי בניית פרויקט הדוגמה ז06ח8!6 זסוס6 (מערבל צבעים). ידוע לך בוודאי שלטפסיס של 88516 |1508/\ יש מאפיין זס|ו886%60 שמכיל ערך מספרי אשר מייצג את צבע הרקע של הטופס. פרויקט הדוגמה הפשוט הזה ישתמש בשלושה פקדי ז06ו|5 להגדרת מאפיין זס|ו88660 של הטופס. צור את הפרויקט על ידי ביצוע הפעולות הבאות: 1 צור פרויקט חדש מסוג 5א= 00870ח509. 2 הוסף לטופס פקד א880א66ח6. הגדר את מאפיין שוחבּא של הפקד צְ3ז6א6 ואת מאפיין הסוזכְ63 שלו ץ3ו6 )0 665ב58ץוחס. 3 הוסף לטופס פקד 511061 והגדר את שמו כ-זס|5/660. 4 | שרטט פקד 18861 משמאל לפקד ז060ו|5 והגדר את שמו זסוס6!וטו. 5 צור שני מערכי פקדים (פעְ8זזה |סשח600) לפקדים זסוססופ! ו-זס|ו5/060. צור את מערכי הפקדים על ידי בחירת שני הפקדיס כאשר מקש 60 לחוץ. בחר צְ60 מתפריט 5618 ולאחר מכן 6ז45פ. תוצג לפניך תיבת דו-שיח אשר תשאל אותך האס אתה מעוניין ליצור מערך פקדים. לח על 165 (מערכי פקדים יתוארו בפירוט בפרק 13 עבודה עם מערבי פקדים). 6. הוסף פריט שלישי לכל אחד ממערכי הפקדים על ידי כך שתבחר שוב סְזְ5בּש. 7 הגדר את מאפיין ח0שק63 של (0)זס601!פ! כ-66א, את מאפיין חסשק63 של (1)ז9160!0! כ-ח6766 ואת מאפיין חסוזק63 של (2)זסוס60!פ! כ-6טום. 8 סדר את מערכי הפקדים ( )זס!ס160ט! ו-זסו51460 במבנה המוצג בתרשים 12.27. פרק 12: הפקדים המשותפים של א050ווא - 343 8 0 508065 עחם. -] > תרשים 12.27: הטופס הראשי של פרויקט ז06ח8!6 זסוס6 מכיל מערך של פקדי זס0ו|5 לאחר שתיצור את ממשק התוכנית, תידרש להוסיף לתוכנית כמה אירועים שיאפשרו לה לבצע את פעולתה. האירוע הראשון הוא אירוע 1080 של הטופס, שהקוד שלו מובא בתוכנית 12.5. האירוע הזה יוצר את המצב ההתחלתי של התוכנית. תוכנית 12.5: 5110555./87 - אתחול התוכנית במסגרת אירוע 1080 של הטופס ()080 1 הזוס 50 סזבּעוזק ז לחז 35 %הוס6ח וחוס סחס | 5 6טו8]! ,חס .] 25 הססזס! ,סחס | ₪5 60ח! וחוס 5 6חץ כו 56%' 2 סד 0 = %חטס6ח זס= 0 = חוא\. סחטס6ח)זסוס5106 5 = א18].(חווס6ח)זסו51060 4 = 666 אס ד. הסח )זסוס5106 %חטס6ח )אס החזזס? 6+ + זסו|ס6 6+ 6קו|הטוחז' ((₪05)0,0,0 .0|86% 0+ זס|ס6 06 56% |ווצא\ פוחד) .וסשחסס' (6טום] ,ח66זס)| ,460|) ₪ = זסוס6.28666וו 50 0ח= לאחר מכן תוסיף את הקוד שיבצע את פעולת שינוי הצבע כתגובה להזות המחוון של הפקד. הוסף את הקוד המובא בתוכנית 12.6 בשגרת האירוע ||5₪0 של מערך ז06ו|5 0-5 4 סדנת לימוד 6.0 8\ תוכנית 12.6: 51]10585./87 - שינוי צבע הרקע על ידי הזזה של פקד זפסו|5 (ז06006ח1 5/ א06ח0!|)1ז56 זסוס5106 פגו5 ספעווק ז 1 45 זהטס6ח חחוס סחס | 5 6טו8] ,חס .] 25 הססזס! ,סחס | ₪5 60ח! חחוס 6 שחה 66 ,₪60 ]0 65טובּע |6008 15 שפזס' הסח ד ץְ6=578 +[ 5 ס6ח || 6/סרח' 2 סך 0 = %חטס6ח זס= 36 \. (א06ח1)זס!51000 = 6טובּ/\. טחוס6ח)וסוס5106 %חטס6ח )אס + 0חם 56% 6 0 6 86 /\. (0)זס!5|000 = ססחן 6 )5000 = ח66זם| 86 /\. (2)זס|ס5|06 = 6ווופו זסו280660 6 סז 66| 0 +ח9! פס סט חסו55ת' (8!06] ,ה66ז| ,₪0)|₪60 = זסוס6א6.586וו 50 0ח= הפעלת הפרויקט לאחר שתזין את קוד הפרויקט הקש על 55 כדי להדר את התוכנית ולהפעיל אותה. נסה להציב שילובים שוניס של ערכיס בפקדי ז08ו|5 כדי לראות את השפעתם על צבע הרקע שיווצר. אופו הפעולה של פרויקט ז06ח8!6 זסוס6 הוא כדלקמן: לאחר שתהליך האתחול של הטופס מתבצע במסגרת האירוע 1080 חזס", רוב העבודה המעשית של היישוס מתבצעת במסגרת אירוע |ו0ז56 של מערך הפקדים זס|5/060. לאחר שהמשתמש מזיו מחוון פקד הכלול במערך הפקדים, אינדקס הפקד שהוזז מועבר אל שגרת האירוע ו|0ז50 זס|5!)060. היישוס בודק את מאפיין 6ט|8\ של תיבת הסימון /8זסא6. אס תיבת הסימון מסומנת (כלומר 66660ח6פע = 6טו8/), ערך הפקד ז06ו5 שהוזו מוצב בכל פקדי 5 הכלולים במערך הפקדים. שינוי ערך זה גורס לכל מחווני הפקדיס לנוע אל אותו ערך, לפני שקוד אחר כלשהו מתבצע. לאחר מכן, הערך המאוחסן במאפיין 6ש\\ של כל אחד מפקדי ז06ו51 הכלולים במערך הפקדים מוצב במשתנה הצבע המתאים - ₪60], חס6זס! ו-6טו8!. המשתנים שמייצגיס את הצבעים מועברים כפרמטרים לפונקציה ()₪68 והערך המוחזר מהפונקציה מוצב במאפיין זס|886%60 של הטופס. פרק 12: הפקדים המשותפים של א050ווא | 345 דיווח על מצב והתקדמות התוכנית אחד התחומיס החשובים בפעולת התוכנית הוא הצגת המתרחש בכל זמן נתון. בעת שימוש בתוכנית כגון מעבד תמלילים, המשתמשים מעוניניס לדעת באיוה עמוד הס מצוייס כעת ומהו מיקומס במסגרת העמוד הזה. נתוניס כאלה המכוניס נתוני מצב (ח0ו0080ז0+ה1 5%8005) מוצגיס לרוב באופן רציף על המסך ולא במסגרת תיבת הודעה. המשתמשיסם גס מעוניניס לדעת כמה ומן תימשך פעולה מסוימת ואיזה מרכיב של הפעולה מתבצע באותו רגע נתון. נתוניס כאלה מכוניס נתוני התקדמות (פ655ז8סזק חסוז8וחז0+ח1). בסעיף וה נסקור שלושה פקדיס משותפיס המשמשים לצרכים אלה: + ז50000588, שמציג הודעות אודות מצב התוכנית. ** ]65508ז8ָסזק, אשר מציג חיווי גרפי של שיעור ההתקדמות לקראת מטרה מסוימת. + חסטהמוחה, שמאפשר להציג ייסרטוניסיי שיהוו אינדיקציה לכך שהתוכנית מבצעת פעולה כלשחי. לפני שיתאפשר לך להשתמש בפקדיםס אלה תידרש לצרף אותס לארגז הכלים של 6 |1568/. תיאור הפעולות הדרושות לשס הוספת הפקדים לארגז הכלים נמצא בסעיף מבוא לפקדים משותפים בתחילת הפרק. הוספת שורת מצב לתוכנית בימיס שקדמו להמצאת פקד 50800888 (שורת מצב), מפתתי 8856 |הטפוצ\ נהגו להשתמש בשורות מצב 'מזויפות'י שהיו מורכבות מיילוחיות'' (2808|5) ופקדי |1806. פקדיס כאלה פעלו די טוב (וישנס אף כאלה שפועלים גס כיוס), אך פקד 50800588 הוא תחליף נוח יותר לשימוש עבור פקדיס כאלה. אס כבר השתמשת במסגרת היישוס שלך בפקד משותף כלשהו מהקבוצה בה כלול פקד ז500005898, לא תידרש להתייחס לתקורה (0680ז6ע0) העלולה לנבוע מהצורך בהפצת פקד נוסף מפני שכל הפקדים של הקבוצה מאוחסניס בקוב 06% אחד, שאותו תידרש להפיץ בלאו הכי. תרשיס 12.28 מציג פקד ז5%9%0588 טיפוסי המשמש במסגרת יישוס הכתוב בשפת 6 | 23 בר 33| 8 ב 1 ו 10 סח שד תרשים 12.28: שורות מצב מוצגות לרוב בתחתית הטופס 6 סדנת לימוד 6.0 8\ יצירת שורת מצב כדי ליצור שורת מצב תידרש תחילה לבחור את פקד ז50900588 ואחר כך לשרטט אותו על גבי הטופס שלך. בתחילה פקד ז51900588 משתרע על פני כל רוחב הטופס שאליו הוא מוסף והוא מכיל רק לוחית אחת, כפי שניתן לראות בתרשים 12.29. בוודאי שמת לב שלא חשוב היכן תשרטט את פקד ז50800588, הוא תמיד יוצג בתחתית הטופס. תחתית הטופס היא המיקוס המקובל של שורות מצב. [<1ם) = 0חז6 3 |סז)חס:) זב 513050 .₪ תרשים 12.29: התצורה של שורת מצב מוגדרת באופן אוטומטי בעת הוספתה לטופס לאחר שתשרטט את פקד ז50900588, תוכל להתחיל בהגדרת המאפיינים שיקבעו את חזותו, וביצירת הלוחיות הנוספות הדרושות לשס הצגת הנתוניס. ראית כבר שפקד 590587 נמתח על פני רוחב הטופס, כאשר הוא משורטט. אך את גובה הפקד תוכל להגדיר על ידי הצבת ערך במאפיין 610% שלו או על ידי בחירתו וגרירה של אחת מידיות הגדרת הגודל. קיימיס שני מאפייניס נוספיס אשר מגדיריס את החזות הבסיסית של פקד 608005081 : 6 ו-חפווה. המאפיין חףו|4 מגדיר לאיזה קצה של הטופס תעוגן שורת המצב (אס היא בכלל תעוגן). המאפיין יכול לקבל חמישה ערכים אפשריים : + 6חסאתףו|הפצ - מאפשר למקס את שורת המצב בכל מקום על גבי הטופס. > מסדת8ו|\4ופצ - ממקס את שורת המצב בקצה העליון של הטופס. + וחסאספתףו|הפצ - ממקס את שורת המצב בקצה התחתון של הטופס. הו ערך ברירת המחדל של המאפיין, אשר מייצג את המקוס בו המשתמשים מצפים למצוא את שורת המצב. + 66)חףו|הפע - ממקס את שורת המצב בקצה השמאלי של הטופס. + >חףומתפָו\הפצ - ממקס את שורת המצב בקצה חימני של הטופס. פרק 12: הפקדים המשותפים של א050ווא - 347 הערה: אני ממליץ למקם את שורת המצב בקצה התחתון של הטופס, בכל מקרה שבו לא קיימת סיבה המונעת לעשות כן. כל מיקום אחר עשוי אומנם להוות חידוש מקורי אך הוא גם עלול לבלבל את המשתמשים, שרגילים למצוא את שורת המצב בקצה התחתון של מסך היישום. בתרשים 12.28 ראית שניתן להציג בשורת המצב מספר הודעות בבת-אחת. כל מקטע של שורת המצב מכונה לוחית (וסַח8ּק). להלן שני ערכיס שאותס ניתן להציב במאפיין 6 של הפקד כדי להגדיר האס הפקד יכיל לוחית אחת או כמה לוחיות : + |חזסאזס5 - מאפשר הצגת מספר לוחיות במקביל. + 0|6וחו5זס5 - מאפשר הצגת לוחית אחת בלבד. אס תגדיר את מאפיין 56 כ-6!קחו5זס5, פקד :51800588 יתפקד כמו פקד |1806, שהכיתוב שיוצג במסגרתו ייקבע על ידי הגדרת מאפיין 6% ד6|סוחו5 של הפקד. אך בעת שימוש בשורות מצב שתכלנה מספר לוחיות תוכל להשתמש ביכולות נוספות. עבודה עם לוחיות של שורת מצב הפעולה הממשית של שורת מצב מבוצעת על ידי הלוחיות הכלולות בה. כל לוחית היא אובייקט נפרד, עבורו מוגדריס מאפיינים ואופני פעולה משלו. כל לוחית היא פריט באוסף 7806!5 של פקד ז50900588. לאחר שתשרטט את פקד 50000588 ותגדיר את המאפייניס שלו, תוכל להתחיל להוסיף לו לוחיות. הוספת הלוחיות תתבצע באמצעות גיליון המאפייניס של פקד ז5)900588 אשר מוצג בתרשים 12.30. |<| 5% עץזזסקטז | וס | חס | | חס | [פחב?] 6יסוחס. | |פחב = 56| 1 . ח :שח וו 68% זפ דוס ד 00 8 :)ו תרזוחו | :עס 7 144000] | )!בוה המשו בד 2 ו [= 560.ם] השתתחטוו. ו > שש וי [=. 396% -ם] 6שפ ]וז [=. ופ - ו] ו 6פפצ > השסבהם שן . וס - ₪ בו תרשים 12.30: תוכל לנהל את שורת המצב על ידי לחיצה על הלחצן בונה (עם שלוש נקודות) המופיע בימין שורת המאפיין הח0ז5ו6 שבגיליון המאפיינים 8 סדנת לימוד 6.0 8\ תוכל להיעזר בתיבת הדו-שיח 08065 /זסקסזק של הפקד, להגדרת המאפיינים של כל לוחית בנפרד. שמונת המאפייניס המפורטים להלן, הס המאפיינים העיקרייס המשמשים להגדרת החזות ואופן פעולת הלוחית: = שד - מגדיר את הטקסט שיוצג על גבי לוחית שמאפיין 6|ש5 שלה יוגדר כ-50716% (מקובל להגדיר את מאפיין %א6ד בומן ריצה). + 6זמודוססד - מגדיר את הטקסט שיוצג כאשר המשתמש ישהה את מצביע העכבר על גבי הלוחית. + 6חסוחחםטו| - מגדיר את אופן היישור של הטקסט שיוצג במסגרת הלוחית (לשמאל, לימין או ממורכז). + 5/6 - מגדיר את סוג הלוחית שיווצר. + ₪606 - מגדיר את אופן ההצללה שייושס בעת תצוגה תלת-מימדית של הלוחית. + %0526ש4 - מגדיר את האופן בו התוכנית תקבע את גודל הלוחית. > השו/שחוו\ - קובע את הגודל המינימלי של הלוחית. + שזטססות - מגדיר את התמונה שתוצג במסגרת הלוחית, אם קיימת כזו. רוב המאפייניס האלה הס קלים להבנה ואינס דורשיס הסבר נוסף, אך כדאי שנביא מעט פירוט נוסף אודות המאפייניס 56 וכן 6<ופססטת. ניתן להגדיר שבעה סוגים שונים של לוחיות במסגרת שורת מצב. אחד הסוגיס 0א6 ד50) מיועד להצגת טקסט שיוגדר על-ידך, אך שאר הסוגיםס מיועדים להצגת פריטי מידע מוגדריס מראש. סוגיס אלה משמשיס להצגת מידע אודות מצב מקשי הנעילה (106% 6805, 106% וחטא, וכדומה) ולהצגת התאריך והשעה העדכניים. לוחיות מסוגים אלה מתופעלות על ידי הפקד עצמו, כך שאתה תידרש בסך הכל להגדיר אותן בעת עיצוב היישוס והשימוש בהס לא ידרוש ממך לבצע פעולה כלשהי בעת פעולת התוכנית. סוגים אלה מפורטיס בטבלה 12.5 ואילו בתרשים 12.28 תוכל לראות דוגמה של כל אחד מהם. הערה: מאפיין שמיני, החהאזט5 יכול לקבל ערך נוסף שיוצג בלוחית מקש 1066 ||0ז56. הצגת הכיתוב %4א4א בכתב מודגש תציין שהמקלדת פעילה במצב הוספת אותיות יפניות. מאפיין 056 של לוחית יכול לקבל אחד משלושה ערכים, אשר יקבעו את גודל הלוחית. הגדרת ברירת המחדל, 00605026 מציגה את הלוחית בגודל המוגדר במסגרת מאפיין חז6ו/שחווא שלה. גודל זה לא ישתנה בעקבות הוספה/גריעה של לוחיות לשורת המצב. הצבת ערך 6ח%6ח760פ5 במאפיין תגרוס לכך שרוחב הלותית יותאס לרוחב הטקסט שיוצג במסגרתה, אס זה טקסט שהוגדר על ידי התוכנית, או אס מדובר במחווני מצב המקשיס או במחווני התאריך/שעה. הערך האחרון, פַחוזק5זט5 מאפשר להרחיב את הלוחיות כדי להתאים את רוחבן לרוחב שורת המצב. שימוש בערך הזה מונע משורת המצב להכיל שטח פנוי כלשהו. פרק 12: הפקדים המשותפים של א6050וא | 349 טבלה 12.5: סוגי לוחיות הזמינים לשימוש במסגרת תוכניות הגדרה תיאור סוג + דופ | מציג טקסט או תמונת כ3חשו8. הטקסט שיוצג במסגרת הלוחית מאוחסן במאפיין 5/8 שלה ואילו התמונה מאוחסנת במאפיין טסוק שלה 65 | מציג את מצב מקש 06%] 6805. אם המקש מופעל מוצג על הלוחית הכיתוב 605 מודגש ואילו כאשר המקש מנוטרל הכיתוב מוצג מעומעם וחט\זס5 | מציג את מצב מקש 106% חטא. אם המקש מופעל מוצג על הלוחית הכיתוב שא מודגש ואילו כאשר המקש מנוטרל הכיתוב מוצג מעומעם 5 | מציג את מצב מקש 56%ח1. אם המקש מופעל מוצג על הלוחית הכיתוב 5ח1 מודגש ואילו כאשר המקש מנוטרל הכיתוב מוצג מעומעם 556 | מציג את מצב מקש 106% |ו0ז56. אם המקש מופעל מוצג על הלוחית הכיתוב 5681 מודגש ואילו כאשר המקש מנוטרל הכיתוב מוצג מעומעם 6חודזס5 | משמש להצגת השעה העדכנית 6 | מציג את התאריך העדכני הערה: ללא תלות בערך אותו תציב במאפיין 6ו5סזטג לא יתאפשר לך להגדיר לוחית שרוחבה יהיה קטן מהערך המוצב במאפיין 6פחוו\. המאפיין האחרון שאליו נתייחס הוא מאפיין |6ו86. כבר ציינו שאהו המאפיין המשמש להגדרת האופן בו יוצגו האפקטים החזותייסם התלת-מימדיס במסגרת הלותית. המאפיין הזה יכול לקבל שלושה ערכים: |ו86ס\!זפ5 אשר מציג לוחית שטוחה, 56% (ערך ברירת המחדל של המאפיין) אשר מציג לוחית שנראית שקועה בשורת המצב ו-507881560 אשר מציג לוחית מובלטת. שלושת הסגנונות מוצגיסם בתרשיס 1. חב 40] [6ח3 6פוב רת [6חב 56| תרשים 12.31: תוכל לכלול בשורת המצב לוחיות שטוחות, לוחיות שקועות או לוחיות מובלטות 0 סדנת לימוד 6.0 8\ שליטה על לוחיות על ידי שימוש בקוד למדת איך להגדיר מאפייניס של כל לוחית בנפרד. אך עליך עדיין ללמוד כיצד להוסיף ולגרוע לוחיות לשורת המצב. בעת עבודה עם גיליון המאפיינים של פקד ]50900583 תוכל להיעזר בלתצנים |6ח8ק 56%ח1 ו- |6ח8ק 6עסוחסח. אך ניתן גם להוסיף ולגרוע לוחיות על ידי שימוש בקוד. פעולות אלו תבוצענה על ידי שימוש בשלוש שיטות האוסף 5 (ח001!6600 5|סְחהק) : + 00 - יוצרת לוחית חדשה שתיכלל בשורת המצב. + 06|606 - גורעת לוחית נתונה משורת המצב. + ]668 - גורעת את כל הלוחיות הכלולות בשורת המצב. הערה: בשונה משאר האוספים (60|!660005) של 88516 |1508/, ערך מאפיין א06ח1 של הפריט הראשון באוסף 080615 הוא אחד וערך מאפיין א06ח1 של הפריט האחרון שווה לערך המאוחסן במאפיין זחטס6 של האוסף. ראית כבר שהלוחיות המשמשות להצגת נתוני מצב המקשים ולהצגת נתוני התאריך והשעה מבצעות פעולות אלו באופן אוטומטי, ואלו אכן פעולות חשובות. אך כוחה האמיתי של שורת המצב נעוץ ביכולת שיש לה לשנות את הטקסט המוצג במסגרת לוחיות מסוג 16%, תוך כדי פעולת התוכנית. לוחיות אלו מורות למשתמש מהו מצב התוכנית שעמה הוא עובד. אס תרצה לעדכן תצוגת לוחית תוך שימוש בקוד תוכנית, תוכל להציב מחרוזת במאפיין )א6ד של אותה לוחית, כפי שמתואר בשורת הקוד הבאה: "10 )0 1 60070 סחועוסו/\" = 66 ך.(5)1|פחהק. 050871 5+8 תוכל כמובן להגדיר גס מאפייניס נוספיס באותו אופן. תוכל אפילו להגדיר את שורת המצב כולה על ידי שימוש בקוד, תוך שימוש בשיטות של אוסף 280615 ובמאפייניס של אובייקטי |9ח8?. הקוד המובא בתוכנית 12.7 ייצור את שורת המצב המוצגת בתרשיס 2. קטע הקוד הזה כולל שימוש במאפיין +חטס60 של האוסף פוַ6ַח08, שבו מאוחסן מספר הלותיות הכלולות בשורת המצב. תוכנית 12.7: ק8/ש.5131005 - הגדרת שורת המצב בעזרת קוד ()1.080 חחזזס= 50 ס6זבּעווק 50051 הטסו חכ 06190|6 6 סעסוח6>' 1 6סרח5.6|סְחק. 6% חח 80 |סחהכ זא ד 3 00₪' ,")0 500005 6ר6 15 פוחד" , "ץסאץוח" ,1 5.00וסחהּס. 50509 = 526סת. (5)1|סחהס. פרק 12: הפקדים המשותפים של א50סשווא - 351 ץ01508 6חחו) +ה6זוו6 6 00' שחו דו50 ,,,.5.800וסחהּס. חסו/\\ 6ח= סט 0ח= ]ה - | 0חז6 3 [סזוחס:) זה 50ט)513 .₪ 6 5181005 שח) 6 פוחד | תרשים 12.32: תוכל לשלוט על שורת המצב על ידי הגדרה של מאפייני לוחיות שורת התקדמות פקד ]51900588 אינו הפקד היחיד שבו תוכל להשתמש לצורך מעקב אחר פעולת התוכנית. יש תוכניות אשר נדרשות לבצע פעולות שאורכות זמן רב, כך שתרצה שלתוכנית תהיה יכולת לספק למשתמשים חיווי דינמי של מצב התקדמות הפעולה. פקד :00765583:₪ (מד התקדמות) הוא כלי אידיאלי לשימוש במצבים כאלה. לדוגמה, זפזס|כאם 66חז6ח1 נעזר בפקד ז65588זפסזק לשס הצגת אחוז מגודל הקבציס שהועברו עד כה. במצב כזה פקד ז65588ז8ַסזק מאפשר לך לדעת שני דבריס: ראשית, ההשתנות של התצוגה בפקד מהווה עבורך אינדיקציה שביצוע הפעולה נמשך. שנית, תצוגת הפקד תאפשר לך להסיק עוד כמה זמן יידרש להשלמת הפעולה. הגדרת פקד ו65583ו4סוק קל מאוד להגדיר פקד 1087055881 ולהשתמש בו. בדומה לפקדים אחרים תידרש תחילה לשרטט את הפקד על גבי הטופס ולאחר מכן תידרש להגדיר את מאפייני הפקד. 40%ו6 ו-חשטוצ\ הם שני המאפייניס החשוביס מקרב המגדירים את חזות הפקד. רוחב מד התקדמות הוא ברוב המקריס גדול מאוד ביחס לגובה. למעשה, בעורה המקוונת של פקד ז65588זפָסזס כלולה המלצה שרוחב מד ההתקדמות יהיה גדול לפחות פי 12 מגובהו. בתרשים 12.33 מוצג מד התקדמות טיפוסי. מאפיין 6ט|3\ של פקד ז655838ז8ָסזק מכיל ערך אשר מגדיר את השיעור מתוך הפקד שיוצג כשהוא מלא. אס נדמה פקד ז65588ז08זק למדחוס אזי ניתן להתייחס אל הערך המאוחסן במאפיין 6ט|8\ כאל הטמפרטורה הנוכחית. השטח שמתחת לטמפרטורה זו מלא בכספית ואילו שאר השטח ריק. 2 סדנת לימוד 6.0 8\ [<1ם) - | [חזס ]₪ ה תרשים 12.33: מדי התקדמות מספקים חיווי חזותי לשיעור הפעולה שכבר הושלם אא ו-חוו! הס המאפייניס הנוספים שאותס תידרש להגדיר עבור פקד ז65508זטסזס. הערכים שיאוחסנו במאפיינים אלה ייצגו את הערך המקסימלי והמינימלי שאותס ניתן יהיה לאחסן במאפיין 6טוג3ּ\ של הפקד. אס נחזור לרגע לדימוי מד החוס אזי הערכים המאוחסנים במאפיינים אלה מייצגיס את הטמפרטורה המקסימלית והמינימלית שאותו מדחוס יוכל למדוד. לדוגמה, הצבת ערך 50 במאפיין 6ט|8\ כאשר המאפיין חוא מוגדר כ-0 והמאפיין אא מוגדר כ-100 תגרוס להצגת מד ההתקדמות כשהוא מלא עד מחציתו. במאפיינים א ו-חוא ניתן להציב כל ערך שלס חוקי. אך הערך שיוצב במאפיין אבו חייב להיות גדול מזה שיוצב במאפיין חוא. תוכל להציב בשני המאפייניס האלה כל ערך שיהיה בעל משמעות במסגרת היישוס שלך. להלן שתי דוגמאות לשימוש במאפייניס אלה: > בעת עיבוד רשומות הכלולות במסד נתונים כדאי להציב 0 במאפיין חוא ולהציב במאפיין אא את מספר הרשומות שאותן נידרש לעבד. הגדלת הערך המאוחסן במאפיין 6ט|3\ לאחר סיוס עיבוד כל רשומה יאפשר להציג לפני המשתמשים חיווי של התקדמות הפעולה. > בעת ביצוע פעולה להורדת קוב\ תוכל להציב במאפיין אפּ!! את גודל הקוב בקילו בתיס או את מספר הבלוקיםס שהקובצ יתפוס. אופן שימוש אחר במאפייניס אלה במסגרת פעולות להורדת קבציס הוא על ידי הצבת 0 במאפיין חוא והצבת ערך 0 במאפיין א8א והתייחסות לאחוזים מתוך הקובצ שהורדו עד כה. פרק 12: הפקדים המשותפים של א050ווא - 353 עדכון מד ההתקדמות בעת פעולת התוכנית הגדרת מאפיין 6ט|8\ היא המפתח להצגת שיעור ההתקדמות של פעולה המבוצעת כעת. כאשר קוד התוכנית שלך יבצע פעולה מסוימת תידרש לעדכן באופן סדיר את הגדרת המאפיין 6טו8/. כפי שציפית, תוכל לבצע את פעולת העדכון במסגרת לולאה שתבצע פעולות שתחזורנה על עצמן, כפי שקורה בדוגמת הקוד הבאה: ה 5 "חוה5ז" 6006 פחוצוסווס1 66 חז' 0 סכ 30 60ה6קס השס ץ68זוה 5ב 6הרז' 6000 ז65508זטסזק שר 15 "זסכ""י 0=חוו!. זטס 5% |6עס\. חוב וז 6000 חו58ז = אהו זסס וס הוב וז 0 = זססחטסחו =0ם. חוה!5ז %ס\ 6|וחצ\ סס 6 660705 06655 %0 6006 +וספחזי 1 זססחהטס6חו = זס6חהטס6חו זססחטס6חו = 6טו8/\. זטס עסו חוב וז ססס | שילוב קטעי וידאו באמצעות פקד חסוזהּוחוח פקד הסושבּוחוח (הנפשה) מאפשר לך לכלול בתוכניות יכולות הנפשה. פקד זה יכול להציג קבצי 801 אילמים. קוב 4/1 מכיל למעשה סדרת קבצי תמונה אשר מוצגיס ברצף, באופן היוצר אפקט הנפשה, באופן דומה לזה שמיושם בסרטים מצולירים. במקריס מסוימיסם תוכל להיעזר בפקד חהסטאחוחה לצורך הצגת חיווי שיאפשר למשתמש לדעת שמתבצעת כעת פעולה כלשהי, כפי שקורה במסגרת פעולת העתקת קבציס בסביבת פווססחו/\ (ראה תרשיס 12.34). קטעי ההנפשה יוצגו ברקע של סביבת העבודה, במקביל להתרחשות פעולות אחרות. 4 7 -2 6 % קול ז6הוס' סז 'זסב|ס' הזסז=] | ווהווווווו בחותובוח6\] 560005 15 תרשים 12.34: התקדמות פעולת העתקה מוצגת על ידי שימוש בקטע הנפשה פשוט 4 סדנת לימוד 6.0 8\ הערה: ניתן ליצור קטעי הנפשה פשוטים גם על ידי שימוש בפקד זסחוד לשינוי מיקום פקד תמונה מדי פרק זמן קבוע. ליישום שיטה זו תידרש אומנם לכתוב מעט יותר קוד מכפי שתידרש לכתוב לצורך שימוש בפקד חסטאוחוחה, אך השימוש בה יחסוך את הצורך להכין את קטע ההנפשה כקובץ 1/ג. פקד זפחחוד תואר בפרק 4, שימוש בפקדי ברירת המחדל של 83516 ![1503/. הגדרת פקד חסוזבּוחוחוה כדי להגדיר את פקד חסט8וחוח8 תידרש תחילה לשרטט מופע של הפקד על גבי הטופס שלך. בתרשיס 12.35 נראית התצוגה ההתחלתית של פקד חסטההוחה. |< 1 = | [חזס ]₪ ססטו/\ עבוק תרשים 12.35: התצוגה ההתחלתית של פקד הסטאחוחה דומה לפקד תיבת תמונה שבמרכזו מוצג גלגל סרט שרטוט הפקד על גבי הטופס מגדיר אובייקט שיכיל את קטע האנימציה. אך כדי להפעיל את קטע ההנפשה תידרש לפתוח קוב\ הנפשה ולהריצ אותו. את הפעולות האלו תוכל לבצע על ידי הוספת לחצן פקודה הכללת קוד בשגרת אירוע 0% שלו אשר יפתח את קובצ הווידאו ויציג אותו. לפתיחת הקוב תוכל להשתמש בשיטה ח6ק0 של פקד חסטההוחה, שבקריאה אליה תכלול הגדרה של נתיב הגישה אל הקובצ שאותו תרצה להציג (תוכל למצוא כמה קבצי וידאו בתיקיה 0605ו/\65וחק8ז6\ של 8856 |1508/, בהנחה שהתקנת אותם). לאחר שתפתח את קוב> 1/ה, הפעל את השיטה שוש של הפקד כדי להתחיל בהצגת קטע ההנפשה. שתי שורות הקוד המוצגות כאן פותחות קובצ 8/1 ומציגות אותו: "וה טסו \ 605 \ קז \ סרח ס1\6 605 \ 1 סק \:6" הסכס. [הססהההוחה ץְב|ק. 1הסוסהווחג בתרשיס 12.36 מוצג פקד חסטווח בעת הצגת קטע וידאו. אס תרצה לעצור את הצגת קטע ההנפשה תוכל לקרוא לשיטה 5000 של הפקד. פרק 12: הפקדים המשותפים של א050שווא - 355 | ום).. [חזס] ₪ | ו | םע תרשים 12.36: קריאה לשיטה עְ3!ק תגרום להצגה חוזרת ונשנית של קטע הווידאו טיפ: כדאי לך אולי ליצור טופס שיכלול כלים להצגת נתוני מצב שבו תוכל להשתמש במסגרת כל הפרויקטים שתכתוב ב- 8856 |1508/. בקובץ כזה תוכל לכלול פקד חק ופקד חסטהחוחה. תוכל להגדיר את מאפיין שְ3!קסוטוה של פקד חססהמוחה לערך 6טזד, כדי להציג את קובץ הווידאו באופן אוטומטי, מבלי שתידרש לפנות לשיטה ְבּוק. פרמטרים אופציונליים של השיטה עְבּ|ק אופו הפעולה שהוא ברירת מחדל של פקד חסוחוחה הוא הצגת קטע וידאו בלולאה, כלומר הקטע מוצג שוב ושוב, ללא הפסקה עד שמתבצעת קריאה לשיטה 5500. להלן שלושה פרמטרים אופציונלייס של השיטה שיאפשרו לשנות אופן פעולה וה: + 860686 - מגדיר את מספר הפעמים שקוב> הווידאו יוצג. 5% - מגדיר את התמונה שבה תחל הצגת הקובצ. % קְ500 - מגדיר את התמונה שבה תיעצר הצגת הקטע. תוכל לברר את מספרי התמונות בקטע על ידי שימוש בנגן המדיה של פשוססחו/\ט (שאם. חצ |ספוו). הפרמטריס האופציונלייס שפורטו כאן ישמשו במסגרת שורת הקוד שתוצג להלן, אשר תציג פעמים את תמונות 5 עד 15 של קטע ההנפשה: 5 ,5 ,2 /8|ק. זסעץ3|קוע רוחה תוכל לכלול בשורת הקריאה לשיטה ערכיס עבור כל הפרמטרים האופציונלייס האלה או עבור חלקס. בפרמטרים שלא ייכללו עבורם ערכים בשורת הקריאה לשיטה, יוצבו ערכי ברירת המחדל שלהס. סדר הפירוט של הפרמטרים הוא 60680ח, א 508, 00ז5. אם לא תרצה להגדיר ערך עבור אחד הפרמטריס האלה יהיה עליך להשתמש בפסיק כבמציין מקוס. 6 סדנת לימוד 6.0 8\ בתקליטור: > הדוגמה הרלוונטית לפקד חסטפוחוחה נמצאת בתקליטור בתיקיה ז6ץ8|קווח שבפרק 12. כמו כן יש בדוגמה קטע וידאו בשם וט6.8אטא6וו= אשר צריך להפנות אליו את הפקד או לחילופין להעביר אותו אל כונן 6 לתיקיית השורש. מכאן... פרק וה הציג בפניך את קבוצת הפקדים המכוניס ₪0!5ח60 חסווח0ס6 פוססחו\. כמה מבין הפקדיס שנסקרו בפרק זה נכללו לראשונה בשפת 6.0 8856 |508ו/. תוכל להשתמש בפקדיס האלה לשס העשרת הפרויקטים שלך במיגוון אופניס. הדרך הטובה ביותר ללמוד אודות הפקדים האלה היא על ידי התנסות בשימוש בהס במסגרת תוכניות. מידע נוסף אודות נושאים רלוונטיים תוכל למצוא בפרקיס הבאים: > אם טרס למדת אודות הפקדים המוצעים בארגוז הכלים של 8856 |1508/ כברירת מחדל, כדאי שתעיין בפרק 4 שימוש בפקדי ברירת המחדל של 83516 |בּטפו/. > אם תרצה ללמוד אודות פקד ז83!ססד (שלא תואר בפרק וה) ואודות היצירה של תפריטים, עיין בפרק 6 שליטה נוספת למשתמש: תפריטים וסרגלי כלים. <* | מידע אודות שימוש בפקדיס במסגרת מערך יובא בפרק 13 עבודה עם מערבי פקדים. פרק 12: הפקדים המשותפים של א050ישווא - 357 13 עבודה עם מערכי פקדים פרק 13: עבודה עם מערכי פקדים | 359 עד עתה למדת איך להשתמש בפקדים כדי לאפשר לתוכניותיך ליצור קשר עס המשתמש. הפקדיס שהוספת לטפסים עד עכשיו היו עצמאייס לגמרי, ללא קשר מיוחד לפקדיס אחרים בטפסי התוכנית. כאשר תיצור ממשקי משתמש מורכבים יותר, יש להניח שיהיה לך נוח יותר לעבוד עס פקדיס המאוחדיס לקבוצות. בפרק 4 שימוש בפקדי ברירת המחדל של 83516 [1503/, למדת כיצד לבחור מספר פקדים בבת-אחת בסביבת העיצוב ולשנות את מאפייניהס כקבוצה אחת. למרות ששיטה זו נוחה בזמן עיצוב התוכנית, אין בכך כדי לאפשר לתוכנית שלך לעבוד עס קבוצות פקדיס בזמן פעולת התוכנית. שימוש במערכי פקדים יכול להקל על ניהול קבוצות פקדים בזמן ריצת התוכנית. מבוא למערכי פקדים מערך פקדים (ש8זוה |סשחס6) הוא קבוצת פקדים מאותו סוג, בעלי שס והה, המזוהים על ידי אינדקס. אם נושא המערכים מוכר לך, תמצא שמערכי פקדים עובדיס בצורה דומח. אלמנטים במערכי פקדים ניתן להתייחס לכל פקד יחיד במערך כאלמנט (ח6וח6ום) של המערך. כל אלמנט במערך הפקדים צריך לקיים מספר קריטריוניס : > כל הפקדים חייבים להיות מסוג והה. מערך הפקדים יכול להכיל תוויות (5ו806 |) או תיבות טקסט (65א0ם 16%%), אך אינו יכול להכיל את שני הסוגים יחד. + כל הפקדים הינס בעלי מאפיין חא והה. >* ניתן לזהות כל פקד על ידי ערך מאפיין א06ח1 שלו. מאפיין אינדקס הינו משתנה מסוג 006067ח1, לפיכך הערך המירבי שלו הוא 32767. לעיתיס קרובות, מאפייני התצוגה של הפקדיס במערך (כגון זחסת ו-80706750/!6) יהיו זהים, אולס אין וה הכרחי. המאפיין היחיד שעליו להיות והה עבור כל הפקדיס במערך הוא 6וחפּא\. שאר המאפיינים עשויים להיות שונים עבור כל אחד מהאלמנטים. הבנת היתרונות הטמונים במערכי פקדים עבודה עס מערכי פקדיס במקוס עס פקדיס בודדיס מסייעת בעיצוב ממשק התוכנית ובניהול הקוד. להלן חלק מהיתרונות של מערך פקדים : * הוספת אלמנט למערך פקדים גוזלת פחות משאבי מערכת מאשר הוספת פקד בודד מאותו הסוג. לדוגמה, שלוש תיבות טקסט בודדות (16%01, 6%)2ד ו-16003) תצרוכנה יותר משאביס מאשר מערך של שלושה אלמנטים מסוג תיבת טקסט. ** האלמנטיס במערך פקדיס חולקיסם מערכת משותפת של שגרות אירועים. משמעות הדבר היא שדי לכתוב את הקוד פעס אחת בלבד כדי לטפל באותו אירוע עבור כל הפקדים במערך. 0 סדנת לימוד 6.0 8\ %, > על ידי שימוש במערכי פקדים תוכל לעקוף את מגבלת השימוש בלא יותר מ-254 שמות פקדיס בטופס אחד. באופן תיאורטי, תוכל להגדיר במערך פקדיס כמות בלתי מוגבלת של אלמנטים. מכיון שמערך פקדים מהווה עבור 8856 |150 שס אחד בלבד, כמות הפקדיס אשר תוכל להציב בטופס כולו גדלה באופן ניכר. מ אזהרה: אל תגזים בשימוש בפקדים! הצבת יותר מדי פקדים בטופס גורמת לטעינה איטית יותר של הטופס, ועלולה להקשות על כמות משאבי המערכת. יצירת מערך פקדים ב- 5 8856 |508ו\ לא ניתן היה להוסיף פקדים בומן ריצת התוכנית, אלא כחלק ממערך קייס בלבד. ב- 6 88516 |1508/ ניתן להוסיף פקדים עצמאיים גס בזמן ריצה. ניתן ליצור מערך פקדיס בשלוש דרכים שונות: > הוספת פקד לטופס ושימוש בפקודות שְ600 ו-28506 כדי לשכפלו. * הוספת פקדים בודדיס לטופס ואחר שינוי מאפיין 6חפּאז של כל הפקדים, כך שיכילו שס והה. הוספת פקד לטופס, ולאחר מכן הגדרת מאפיין א06ח1 שלו כמספר בין 0 ל-32767. בסעיפים הבאים, תיצור מערך פקדים על ידי שימוש בשיטה הראשונה. הוספת מערך פקדים לטופס כאן, תוסיף מערך בעל ארבעה אלמנטים מסוג תיבת טקסט (800 16%0), ומערך נוסף בעל ארבעה אלמנטים מסוג תווית (/1806). בצע את הצעדים הבאים : 1 אם צריך, צור פרויקט חדש והוסף פקד א80+א6ד, כמתואר בתרשים 13.1. 22 קבע את מאפייני תיבת הטקסט כמתואר להלן: + קבע את מאפיין סוחגּא כ-ץְפזיזה+א% (או כל שס אפשרי אחר). <* | נקה את מאפיין +אסד. קבע את מאפיין חס" כ-עש6א זסוזטסס, גודל 10. 33 לח על תיבת הטקסט כדי להבטיח שהיא עדיין במיקוד, והקש 6₪1+6 או בחר באפשרות צְ600 מתוך תפריט 561% כדי להעתיק אותה ללוח (0זפסטטוו6). 4 לח על הטופס כדי להבטיח שהוא נמצא במיקוד. הקש %+6%1 או בחר באפשרות 6 מתוך תפריט 561 כדי להציב עותק של תיבת הטקסט בטופס. 5 בנקודה וו תופיע על המסך תיבת דו-שיח אשר תבקש לוודא שבכוונתך ליצור מערך פקדיס (ראה תרשים 13.2). בחר 65צ כדי ליצור מערך שכזה. פרק 13: עבודה עם מערכי פקדים | 361 תרשים 13.1: למרות שתיבת טקסט זו עתידה להיות חלק ממערך פקדים, יוצרים אותה בדרך הרגילה 6ו35 8 15031 ]]ס5סזסוו ?הזה [סזוחס0 3 6ו83ז0 0! ]חבש גוס סכ .811 ז' הבח וסזוחסס 3 6/יבה עסבפזןה גוסר | סט | סא | תרשים 13.2: הדרך הקלה ליצירת מערך פקדים היא להעתיק ולהדביק פקד קיים הבט במאפייני הפקד החדש (המודבק). חלון המאפייניס מציג את מאפייני הפקד (1)ץ8זז\אט, הלא הוא האלמנט החדש במערך הפקדיס שזה עתה יצרת. שיס לב כי מאפייני חס" ו-6%ד של האלמנט החדש תואמיס לאלה של תיבת הטקסט המקורית. בנוסף, שיס לב גס כי אינדקס הפקד החדש נקבע כ-1. 6. | גרור את תיבת הטקסט החדשה ומקם אותה מעל לתיבה המקורית. 7 לחצ על התיבה המקורית כדי לסמן אותה. שים לב כי מאפיין א06ח1 שלה אשר היה קודם ריק, מראה כעת את הערך 0. 8 תיבת הטקסט שהעתקת בצעד 3 נמצאת עדיין בלוח, לפיכך אין צורך להעתיקה שוב. הדבק תיבה נוספת לטופס וגרור אותה אל מתחת לשתי התיבות הקודמות. ודא כי מאפייני הפקד החדש מתאימים לשניים שקדמו לו, וכי האינדקס שלו הוא 2 כל פקד המתווסף למערך מקבל אינדקס הגדול באחד מהאינדקס שניתן לאלמנט הקודם. מספרי האינדקס במערך פקדים מתחילים מ-0. הערה: תיבת הדו-שיח המבקשת לאשר את יצירת מערך הפקדים, מופיעה בעת שכפול הפקד הראשון. לאחר אישור הפעולה היא לא תופיע יותר, גם אם תבצע שכפולים נוספים במסגרת אותו מערך. 2 סדנת לימוד 6.0 8\ 9 הוסף תיבת טקסט רביעית באותו אופן, גרור אותה כך שתמוקס מתחת לאחרים, ושנה את מאפיין חזושש שלה ל-495 5קושט. 0. הוסף פקד תווית צ3ז918!, ומקס אותו משמאל לתיבת הטקסט הראשונה. קבע את מאפיין ח0וז2ק63 כ-:סוחבּא 6פזו= ואת מאפיין היישור ל- 1- ץ₪5₪1ש2 זחשוח. 1. העתק את פקד התווית ללוח והדבק עותק שלו לטופס. השב 65+ לשאלה האס אתה רוצה ליצור מערך פקדיס. קבע את ח₪0ק63 של העותק כ-:שוחב3 185%, וגרור את התווית לשמאל התיבה השנייה. כאמור, מלבד מאפיין 6חא8א\, אשר נשאר זהה עבור כל הפקדים במערך, תוכל לקבוע את שאר המאפיינים על פי רצונך, כאילו מדובר בפקדיס נפרדים. 2. צור שני עותקיס נוספיס של פקד התווית. מקס אותס משמאל לתיבות הטקסט השלישית והרביעית, וקבע את מאפייני חסזק68 שלהם כ-:ע9ו0 ו-:6ז8ז5. תרשים 13.3 מראה כיצד נראה הטופס לאחר השלמת העיצוב. בנוסף, התרשים מדגיש את מאפיין א06ח1 של פקד מסוים. הערך הקיים במאפיין זה מציין כי הפקד חינו חלק ממערך פקדים. [%זם]- | [ח46500] 8510 581 ]זו - 6041ןסז ,אל | ו אוסטחושצ 5ח800-1 5|ססך חִבּזמָבום | ץזסט | חנו הטספ )זט ה 0פנסים אסוע 4 6 ו אש א ו, | ₪5 2 ₪ ₪ - ב -₪| | פוחזס> 45%-] (1חחזס=) הזוס ב ₪ \2 בא | 55 עוופוכ 19% - 0 1-0 6 ש .1800000058 506 90את - 1 38 6ז ח0300ו/3\1555//3 | : חן 3 0 ב םזי - 0 ו פד = 50 5805 חי 8 א |סחס6 3 חו וסוחס6 ב בַחוץ/ח6בו זספה)וח 6חז 5665]פחזנססת שים לב לערך במאפיין א06ח1 תרשים 13.3: טופס זה מכיל שני מערכי פקדים פרק 13: עבודה עם מערכי פקדים | 363 כתיבת קוד עבור מערך פקדים לאחר שיצרת מערך פקדים על גבי הטופס, תוכל לכתוב קטע קוד יחיד המטפל באירוע מסוים שיוצריס פקדי המערך. בעת התרחשות אירוע, ‏ 8856 |8טפו\ מציבה את ערך מאפיין א06ח1 של הפקד הרלוונטי (זה שיצר את האירוע) בקוד שגרת האירוע. תהליך זה מודגס בתרשיס 13.4. [ב ור 1 שגרת אירוע לתיבת טקסט עצמאית () 06מ08 51א76% מגום 6סהט1עק מגו= במ ערך א06ח1 מועבר כארגומנט (ע6606ת1 25 א₪5ם1) 62806 עהמעגסאס מגום פסהטבמק / מגו5 הבמס שגרת אירוע עבור תיבת טקסט שהיא אלמנט במערך תרשים 13.4: שגרות אירועים הכתובות עבור מערכי פקדים עושות שימוש במשתנה אחז כדי לפעול על האלמנט שיצר את האירוע טיפול באירועי מערכי פקדים כתיבת קוד עבור האלמנטיס במערך הפקדים נעשית דרך חלון הקוד, בדומה לכתיבת קוד עבור פקד בודד. קוד האירוע שכתבת יבוצע בכל פעס שאחד האלמנטיס במערך יצור את אותו אירוע. כעת תוכל לשפר את פרויקט הדוגמה על ידי הוספת שגרת אירוע. השיגרה שתכתוב צריכה להמיר את הטקסט שהקליד המשתמש בטופס לפורמט המתאים, כלומר להמיר את האות ראשונה בכל מילה לאות גדולה. תוכל לעשות ואת על ידי שימוש בפונקציה של 8856 |508ו, המכונה צח60זז5. אולס, היכן עליך לכתוב את הקוד! לפקדים המסוגליס לחוש את מצב המיקוד (0605=) על גבי הטופס יש שגרת אירוע בשם 1050-0608, המתבצעת כאשר המיקוד עובר מהפקד הנוכחי לפקד אחר. אפשרות זו נותנת לך הזדמנות מצוינת לשמירה על מבנה הטקסט בתיבות טקסט. תוכל להוסיף קוד לשגרת 1050-0605 של מערך פקדי תיבות הטקסט. קוד זה יופעל בכל פעם שתיבת טקסט במערך מאבדת את המיקוד (אירוע וה מתרחש לרוב כאשר המשתמש סיים להקליד את הטקסט בתיבה). כדי לכתוב את שגרת 1050-0605 של מערך הפקדים, בצע את המהלכיס הבאים: 1 לחצ לחיצה כפולה על תיבת טקסט שבמערך כדי להציג את חלון הקוד. עבור לשגרת 86ח008 שְא8זו\ט. ודא כי הפרמטר ז%606ח1 45 א06ח1 ומין לשיגרה. 2 | אינך מעוניין לכתוב קוד בתוך שגרת ספַחַ8ח6, ולפיכך עבור לשגרת 1050-0605. 3 כעת אתה אמור להימצא בשגרת 050-0008] ץפחמז)ט המכילה גם היא את הפרמטר ז%606ח1 45 א06ח1. הקלד את שורת הקוד הבאה לתוך השיגרה: (0856ז6 סקפ (18068)ץ8 ה 0 )/הס50 = (א06ח1)ץה )אס 4 סדנת לימוד 6.0 8\ הצד השמאלי של פקודת ההצבה, (א06ח1)ץ8זז\)ט, מתייחס לאלמנט מסויס במערך פקדי עפזז\/)ט. אולס באיזה אלמנט מדובר! מציין המערך, א06ח1, המועבר לשגרת האירוע כמשתנה, מאפשר לנו לקבוע איוה אלמנט במערך הפקדים איבד את המיקוד וגרס לשיגרה וו להתבצע. לפיכך, שורת קוד גו מפעילה את הפונקציה צח560 על האלמנט הרלוונטי וגורמת להמרת הטקסט הנוכחי לטקסט תקין (6856ז6קסזסטע). לאחר סגירת חלון הקוד, בחר את אחד האלמנטים במערך תיבות הטקסט והכנס לחלון הקוד שלו. שים לב כי בחלון הקוד מופיעה אותה שיגרה בדיוק. זכור, אלמנטים במערך פקדים משתמשים באותן שגרות אירועים. כעת תוכל לנסות את תוכנית הדוגמה. הפעל את התוכנית והקלד את הטקסט האזד =ז הו באותיות גדולות בתיבת הטקסט הראשונה (ליד תווית 6וח8א 8%זו=). כאשר תקיש פד כדי לעבור לתיבה הבאה, תופעל שגרת 1055-0605 והטקסט שהקלדת יומר לפורמט המתאים. הקלד את המילה 65ח0סן באותיות קטנות בשדה סוחפּ\ 185%. הקש על שנית ושים לב שהטקסט הזה מומר גס הוא. שגרת 1050-0605 שכתבת מתבצעת בכל פעס שאירוע 1051-0605 מתרחש עבור כל אחד מהפקדים במערך. בידוד אלמנטים במערך פקדים בעזרת מאפיין א106 אס יש צורך לבצע קוד מסויס עבור אלמנט אחד בלבד או עבור קבוצה מסוימת של אלמנטיס במערך, תוכל להשתמש במאפיין א06ח1 כדי לקבוע מיהו האלמנט שיצר את האירוע. לאחר מכן תוכל, לדוגמה, להציב את הקוד הנחו בבלוק )1 או 6856 56|666. בחן את העניין בעזרת פרויקט הדוגמה. שגרת האירוע שיצרת עובדת מצוין עבור מרבית האלמנטיס במערך, אולס קיצורי שמות מדינות, המוקלדים בתיבת הטקסט 6, צריכיס להופיע כולס באותיות גדולות. לפיכך, יש צורך להתאיס מחדש את שגרת 1051-0605 ץְ8זזהט כך שתוכל לבודד את תיבת הטקסט 50806 (אלמנט מספר שלוש במערך), ולבצע פעולה שונה על הערך הנקלט בה. שנה את הקוד בשגרת 1051-0605 זזש לפקודות הבאות : חסחד 3 = אסחח1 ]1 ((18068)ץ1(0856)0/\8 = (א06ח1)ץ8 )אס 56 (0856ז6כסזק פע , (18068)ץ8 ה 06 ) חהס50 = (א06ח1)ץ8 )אס + 0חם נסה את השיגרה החדשה: הפעל את התוכנית מחדש, עבור בין תיבות הטקסט והקלד ערכיס באותיות קטנות בלבד. שיס לב כי שגרת האירוע ממירה את הטקסט שהוקלד בתיבת 5080 באופן שונה משאר תיבות הטקסט שבטופס. פרק 13: עבודה עם מערכי פקדים | 365 כלי קוד לטיפול במספר פקדים יחדיו יתרון נוסף הנגזר משימוש במערך פקדיס הוא היכולת לקבוע את מאפייני הפקדיס במהלך ביצוע התוכנית על ידי שימוש בלולאת א6א...זסת. בדרך וו, תוכל להתייחס לכל הפקדים במערך צורה נוחה ויעילה. לדוגמה, שורות הקוד הבאות ממירות את הטקסט שנקלט בכל האלמנטיס במערך פקדים לאותיות גדולות: זז 5 1 וחוס 3 = 1 זס= ((1)ץ8ז\)60856)0%!! = (1)ץפז\)א6 1 אסא שיס לב כי לולאת ]אסא...זס] מונה מ-0 ל-3 ולא מ-1 ל-4 מפני שהאלמנטיס במערך ממוספריס בדרך כלל מ-0. הסרת אלמנטים ממערך פקדים בסביבת העיצוב תוכל להסיר אלמנטיס ממערך פקדיסם בטופס במספר דרכים : + על ידי בחירת האלמנט הרצוי והקשת 6!606. + על ידי בחירת האלמנט, לחיצה על תפריט 50% ובחירת האפשרות 61606. > על ידי לחיצה ימנית על האלמנט ובחירת האפשרות 08/6066 מהתפריט המקוצר. בצורה וו, תוכל למחוק את הפקד מהטופס ולהוריד את כמות האלמנטים במערך הפקדים. אס מסיבה כלשהי, תרצה לשנות את האלמנטיס במערך פקדים כך שלא יהיו שייכים למערך, עליך להגדיר לכל אחד מהס (פרט לאחד בודד) שס חדש, ולמחוק את ערך מאפייני א06ח1 שלהם כך שיחזרו להיות חסרי ערך (ווטא). מ אזהרה: בהסרת פקד מהמערך, שאר הפקדים אינם ממוספרים מחדש בצורה אוטומטית. משום כך, מחיקת פקדים עלולה להשאיר חללים במספור ערכי א06ח1 של האלמנטים שנותרו במערך. חללים אלה עלולים ליצור בעיות אם לדוגמה קיים קוד המשתמש בלולאת זס" כדי לעבוד עם האלמנטים במערך. במקרה זה, תתרחש שגיאה כאשר הלולאה תנסה לגשת לאלמנט במערך על ידי שימוש בערך א06ח1 שנמחק. 6 סדנת לימוד 6.0 8\ עבודה עם מערכי פקדים כעת, לאחר הבנת המכניזס העומד מאחורי יצירת מערכי פקדים, תלמד מספר דרכים לשימוש בו. סיבה אחת לאיחוד קבוצת פקדים כמערך אחד, הם כאשר נרצה להפעיל קוד והה לעיבוד הנתוניס על כל אחד מהפקדים בקבוצה. דוגמה לכך הן ארבע תיבות טקסט המייצגות יחדיו פרטי כתובת. סיבה נוספת היא פישוט כתיבת הקוד עבור שגרות אירועים. לדוגמה, אס יש לך 26 לחצני פקודה המייצגיס את אותיות האלף-בית הלועזי, קל יותר לטפל בהס כמערך מאשר להתייחס לכל פקד בנפרד. שימוש במערכי פקדים בתוכניות כפי שכבר למדת, קיימים כמה שימושים למערכי פקדים בתוכניות. אחד מהס הודגם קודס לכן, כאשר המרת טקסט, בכל אחד מהפקדים שעל הטופס לאותיות גדולות. פעולה נפוצה נוספת, במסגרתה נעשה שימוש במערכי פקדים, היא איתור לחצן האפשרויות (חסאט8 חסטקס) שנבחר מתוך מערך לחצניס. מאחר וניתן לבחור לחצן אחד בלבד בכל זמן נתון, תוכל להשתמש בלולאת זס=, כפי שמציגה הדוגמה הבאה: תוכנית דוגמה 13.1: דאד. צהחחהאסזזקס - שימוש במאפייני סחטספ 1 ו-6חטספ כדי לקבוע את טווח מערך הפקדים 5 ה056סח6ח ,%60617ח1 5 1 הזוס סחטספ!. ץפזורסקס סד סחטסס | סקס = 1 וס הסחד שטוּ/\. (1)ץ8זזב6קס + 1 = ה056ח6ח טטפ זוא + 0חם 1 אסא כפי שבוודאי הבחנת, תוכנית 13.1 משתמשת במאפיינים 6חט0פ! ו-סחטוסט במקוס להגדיר ערכים מדויקים עבור לולאת זס=. מאפייניס אלה מחזיריס את הגבול התחתון והעליון (בהתאמה) של ערכי האינדקס במערך הפקדים. באמצעות מאפיינים אלה ניתן לבצע הוספה והסרה אוטומטית של פקדים ממערכים. מאפייניסם אלה מקושריס למערך עצמו ולא לאלמנטים שבו. הערה: מאפייני סחטספ! ו-0חטספ מספקים ערכי מינימום ומקסימום של מספרי האינדקס במערך, אך אין בכך כדי להצביע שהאלמנטים במערך מסודרים בסדר רציף. פרק 13: עבודה עם מערכי פקדים | 367 מערכים מקבילים טכניקה שימושית במערכי פקדים היא שימוש במספר מערכים המכילים אלמנטים בעלי מכנה משותף. מערכים אלה נקראים מערכים מקבילים (3/5ּזזה |ס|ופזהק). ניקח כדוגמה את שני מערכי הפקדים שיצרת בתוכנית הדוגמה. מערך אחד הוא קבוצת תיבות טקסט אשר לתוכה המשתמש יכול להזין טקסט. המערך השני הוא קבוצת פקדי תוויות, כאשר כל תווית מתאימה לתיבת טקסט במערך הראשון. נניח שתרצה לשנות את התוכנית כך שתדגיש את התווית השייכת לתיבת הטקסט הנמצאת במיקוד, כך שתהווה סימן מאּהה למשתמש. תוכל להשיג מטרה זו על ידי הוספת קוד לשגרת 600-0605 (שיגרה המבוצעת בעת שהפקד מקבל מיקוד) של מערך תיבות הטקסט. קוד זה יקבע את מאפיין 800.)חס] של התווית הרצויה. כלומר, כאשר התוכנית מתמקדת בתיבת טקסט מסוימת, יגרום הדבר גס להדגשת התווית המשויכת אליה. כן יש להוסיף קוד לשגרת 1056-0605 (שיגרה המבוצעת בעת שהפקד מאבד מיקוד) של מערך תיבות הטקסט אשר יחזיר את התווית למצב רגיל. כדי להשיג מטרה זו, בצע את הצעדיס הבאים: 1 הקלד את שורת הקוד הבאה לתוך שגרת 601-0005 של מערך שְפזזת]א : סד = 0וסם.+חס=. (068ח1)ץ8 זזה וטו שיס לב כי הקוד, למרות שהוא נמצא בשגרת אירוע של מערך פקדי תיבות הטקסט, פועל למעשה על פריט במערך התוויות המקביל. משתנה א06ח1 משמש לקביעה על איה מהאלמנטים במערך התוויות יש לבצע את הפעולה. 2 הוסף את השורה הבאה לסוף שגרת 1051-0605 ץ8זז :א : 6 = 06ם.זחס=. (068ח1)ץ8 זזה וטו 33 הרצ את התוכנית. כאשר תעבור בין תיבות הטקסט, שים לב כי התווית המשויכת לתיבה הפעילה מודגשת. יצירת מערך פריטי תפריטים בנוסף למערכי פקדים, תוכל ליצור מערך המורכב מפריטי תפריט. כמו במערך פקדים, מערכי תפריטיס הס הדרך היחידה בה תוכל להוסיף פריטים לתפריט מסויס בומן פעולת התוכנית. תוכל להשתמש במערך תפריטים כדי להציג את רשימת הקבציס האחרוניס שהיו בשימוש על ידי התוכנית. אפשרות זו שכיחה בתוכניות רבות. כדי ליצור מערך תפריטים, יש צורך לפתוח את עורך התפריטים (לתץ על לחצן טחסו₪ זסטו0ם או בחר באפשרות זסזו0ם טח6ו מתוך תפריט 0|5ס1). לאחר מכן, צור פריטי תפריט על ידי הזנת מאפייני ח0ו0ק69 ו-6וחפּא עבור כל אחד מהפריטים. תרשים 13.5 מציג את עורך התפריטים אשר בו מוגדרים המאפיינים עבור מה שיכול להיות פריט ראשון ברשימת הקבציס האחתרוניס בשימוש. 8 סדנת לימוד 6.0 8\ |< | זסזו = ח6ו1 | 4 1 | :חסס3 | [006 חח ו ₪ (שחס)]) םס 0 6% [+ שחס) - 00| = :ה00ו600365005] 0 | :10א6לחסקופו טחוש -] ופפ ₪ בופבתם שן 8 | תרשים 13.5: תוכל להגדיר את מאפיין א06ח1 של פקד תפריט מתוך עורך התפריטים כדי ליצור מערך המורכב מפקדי תפריטים בדומה למערכי פקדים, אלמנטים במערך תפריטים חייביס לעמוד בדרישות מסוימות: + כל האלמנטים צריכים להיות בעלי מאפיין 6וחא והה. > כל האלמנטיס צריכים להשתייך לאותה רמה בתפריט. * הפריטים במערך חייביס להופיע ברציפות, אחד אחרי השני בתפריט. אס תרצה להוסיף שורת הפרדה בתוך הרשימה, עליך לכלול אותה כחלק מן המערך. + לכל אלמנט במערך חייב להיות מספר אינדקס ייחודי לו. טעינה והסרה בעת ריצה בפרקיס הקודמיס בספר למדת כיצד להוסיף פקדיס לטפסים בסביבת העיצוב. בסעיפים האחרוניס למדת כיצד ליצור מערכי פקדים כדי לטפל בקבוצות פקדיס בצורה נוחה. אולס, עדיין לא למדת כיצד להוסיף ולהסיר פקדיס בעת ריצת התוכנית. טיפ: אם אתה מתכנן להוסיף פריטי תפריט בזמן פעולת התוכנית, הצב את מערך התפריטים בסוף התפריט. באופן זה, תגרום לתפריט להתרחב אחרי הפריטים הקבועים ובכך לא תבלבל את המשתמש על ידי שינוי מיקום האפשרויות בתפריט. הערה: תוכל להסתיר ולהציג פקדים בזמן פעולת התוכנית על ידי שינוי ערך מאפיי ן | ך | 6פפו\ של הפקד המבוקש. אולם, עליך ליצור את הפקדים המבוקשים לפני שתוכל להשתמש בהם. הסתרה והצגה של פקדים אינה זהה להוספתם למערך. פרק 13: עבודה עם מערכי פקדים | 369 מ אזהרה: אם קיימות פקודות ]1 או 58!60 המתייחסות לפקדים לפי ערך האינדקס, ודא שהקוד פועל על כל האלמנטים במערך, כולל אלמנטים חדשים אשר עלולים להתווסף בעת ריצה. מאפייני 6חט0פ! ו-סחטסט מסייעים להשיג מטרה זו. אך זכור שהאלמנטים במערך לא מסודרים בהכרח בסדר רציף. יצירת האלמנט הראשון במערך פקדים אנו ניצור את האלמנט הראשון שלנו בזמן פיתוח כדי לפשט את הדוגמח: 1 הוסף את הפקד לטופס. 2 קבע את מאפיין חגא של הפקד. 3 קבע את מאפיין א06ח1 של הפקד כמספר שלם (אפס בדרך כלל). שים לב כי הכנסת ערך כלשהו במאפיין א06ח1 גורמת ליצירת מערך פקדיס. אס תעתיק ותדביק פקדים, 8856 |508/\ תקבע את ערך המאפיין עבורך. הוספת פקדים בזמן פעולת התוכנית לאחר שיצרת את האלמנט הראשון במערך, תוכל להשתמש בקוד כדי להוסיף אלמנטיס אחריס בתגובה לאירועיס אשר יתרחשו. ביישומיס רבים תוכל להוסיף את הפקדיס בומן טעינת הטופס. דוגמה לשימוש בטכניקה זו הינה ליצור טופס המיועד לקליטת מידע כללי. על ידי שימוש במערך פקדים, תוכל להעביר קבוצה ראשונית של רשומות לטופס, ולאחר מכן ליצור פקדיס בכמות שתרצה, כדי לטפל במספר משתנה של שדות ברשומה. (מערך רשומות (66070560), מייצג מידע בבסיס נתוניס. מידע נוסף על רשומות ניתן למצוא בפרק 24 יסודות מסד הנתונים). כדי להוסיף פקד בזמן פעולת התוכנית, עליך להשתמש בפקודת 1080. פקודה זו והה לפקודה המעלה טופס לזיכרון. כאשר אתה משתמש בפקודה, עליך לכלול את שס הפקד הרצוי ואת ערך האינדקס שלו. כדי למנוע טעויות, עליך לוודא שערך האינדקס ייחודי. שים לב כי מאפיין 6\פופו\ של הפקד נקבע כ-8156=. להלן תהליך הוספת פקד: 1 השתמש בפקודת 1086 כדי ליצור את הפקד החדש ולטעון אותו לזיכרון. 2 הפקד החדש יוצג במיקוס הפקד המקורי מפני שהוא יורש את מאפייני הפקד המקורי (כולל ערכי המיקוס שלו). לפיכך, עליך להזיז את הפקד בעזרת פקודת סו או על ידי קביעת ערכי מאפייני קסד ו-16% שלו. 3 כדי שהפקד יופיע על הטופס, קבע את מאפיין 6|פופו/\ כ-6טזד. 4 קבע מאפיינים נוספים לפי הצורך (כל ערכי המאפייניס הועברו מהפקד שעוצב במקור בסביבת העיצוב). 0 סדנת לימוד 6.0 8\ טיפ: קביעת ערך האינדקס של האלמנט החדש, כאחד אחרי מאפיין סחטספש, מבטיח שלאלמנט יינתן ערך אינדקס ייחודי. כעת, בדוק את הטכניקה על ידי הוספתה לתוכנית הדוגמה. הוסף לחצן בדיקה שיהיה אחראי על הוספת אלמנט למערך פקדי ץ8זו\)ט על ידי ביצוע המהלכים הבאים: 1. בסביבת העיצוב, קבע את מאפיין ₪6198% של הטופס הראשי כ-6000. ערך וה מאפשר מקוס רב עבור הפקדיםס החדשיס אשר יתווספו כאשר התוכנית תרוצ. 2 הוסף לחצן פקודה (הסשטם 0800ח60) באזור ריק בטופס. קבע את שמו כ-0400ח6 ואת מאפיין הסוזכקְ63 שלו כ-אסט %א6ז בּ 064. 3 הזן את הקוד הבא לתוך שגרת 616% של מערך 604006 : זז 5 1 וחוס בחטספ!\.ץ8זהס = 1 (1 + 1)ץ8ז0 1080 סד = 6|סופו/\. (1 + 1)ץ8ו\ )אס 0 + הסוסה (1)ץ8זו\ס)ס + קסד.(1)ץ8 אס = קסד.(1 + 1)ץפזוהס זז = 1(.16% + 1)/ץ8ו\ )אס הקוד המובא כאן קובע את מיקוס האלמנט החדש במערך כך שיהיה 120 נקודות (5קוא)) מתחת לפקד האחרון שהתווסף (תוך התחשבות בגובה הפקד עצמו). הפעל את התוכנית ולח על הלחצן כדי לנסות אותה. תרשים 13.6 מראה כיצד ייראה הטופס לאחר מספר לחיצות. [<1ה)- | [חזס ]₪ שו ררה :6 +פזו ררה 6 1.891 7000707073 ]| ררה 6 תרשים 13.6: ניתן להוסיף אלמנטים למערך פקדים בזמן פעולת התוכנית פרק 13: עבודה עם מערכי פקדים | 371 הסרת פקדים בזמן פעולת התוכנית כשס שאתה נדרש להוסיף פקדים במהלך ביצוע התוכנית, תידרש גם להסיר אחד או יותר מהס. ניתן להסיר פקד בעזרת פקודת 080וח/\. כמו בפקודת 1080, יש צורך לציין את שס הפקד ואת ערך האינדקס שלו כמתואר בדוגמה הבאהח: (5)ץ8 זז וסהסוח \ ם אזהרה: תוכל להשתמש בפקודת 6ס!חש כדי להסיר פקדים אשר נוצרו בזמן פעולת התוכנית בלבד, ולא להסרת פקדים אשר נוצרו קודם לכן בסביבת העיצוב. קודס לכן גילית שניתן להשתמש במערכי פקדים כדי ליצור טופס לקליטת מידע כללי. מטרת הטופס היא לבדוק את מבנה הרשומה הרצויה, וליצור פקדיס המטפלים בכל השדות ברשומה. בסעיף וה תלמד כיצד פועל טופס מסוג זה. כדי לפשט את העניין, נגדיר עבור הטופס שני מערכיס: הראשון עבור תוויות המתארות את השדות, והשני עבור תיבות הטקסט אשר תקבלנה את ערכי השדות ברשומה. כדי להתחיל את הגדרת הטופס, הוסף מערך תוויות ומערך תיבות טקסט לטופס כמתואר בתרשים 13.7. הערה: כדי ליצור אלמנטים במערך ולא פקדים נפרדים, קבע את ערכי האינדקס של התווית ותיבת הטקסט כ-0. בנוסף, יש צורך להוסיף פקד נתונים (|סח60 פּזהכ) לטופס כדי לספק את מבנה הרשומה לטופס. תוכל ללמוד על פקד הנתונים ופקדים הקשורים לו בפרק 25 פקד הנתונים ופקדי איגוד נתונים. [<זם) -] (חזס ]זט - 601ן0ז .₪ ם ם בו עו > עפזזבוט| > תרשים 13.7: בסביבת העיצוב, טופס קליטת המידע בגרסתו ההתחלתית, מכיל את האלמנטים הראשונים בשני מערכי הפקדים 2 סדנת לימוד 6.0 8\ הערה: 6ח8108850\8 - המאפיין שמכיל את שם 08088856 (מסד הנתונים). 6 - המאפיין שמכיל את שם מקור הנתונים מתוך מסד הנתונים. עליך לקבוע את מאפייני 2882856886 ו-166ט₪6607050 של פקד הנתוניס כדי לגשת לרשומה. לאחר שהגדרת את פקד הנתוניס, הקצה את הפקד למאפיין שסְזטספפּזהס של תיבת הטקסט. מאפיין זה יועבר לכל אחת מתיבות הטקסט שתתווספנה לטופס. לאחר מכן הזן את הקוד המובא בתוכנית 13.2 לטופס. תוכנית 13.2: ₪2./87 |קוזה5 - שימוש באוסף השדות לצורך יצירת פקדים זוסווקא= הסטקס ח00|68 5 080 הפוס וחוס ()61/816\/ וחזזס-] סנ5 סזפּעוזוק חן 5 1 הזוס זז 5 6!05!=ח חחוס 0חוז5 5 5836 וחום טפ וא הסח ד 080 הזוס 6+סא ]1 0313 וטו %ח1605.00=. = 6!05ו=ח 1 - 05|וח סד 0 = 1 וס סרחה ). (16|05)1=]. = 51436 החד 0 < זז (1)ץזוה\ט! 080 | (1)ץ 06 080 | 0 / 00ו1(.6 - 1)ץ8זו\אט + קסד.(1 - 1)ץ8ז\ = כסד.(1)אט 8% - 00801 = 66 ].(1)ץ8ו\ )אס סס ד.(1)ץ8 וס = ססד.(1)ץ8זהוטו - 1)ץ8זזהופ! = 1(.16%)ץ3זהוטו סד = 6|טופו/\.(1)ץ8ו\ )אס סד = 6!טופו/. (1)ץ8זזהוטו + 0חם 6ח5\8 = חסטכה1(.60)ץ8זזהוטו 586 = 0ו6ו8%3כ. (1)ץ8זזהוטו 1 )אסא וו\\ סח סחטסט(\. ץ8זז הס = 1 0 + 6000 (1)ץ8זס + קסד.(1)ץ8 הט = סס ד.חו8ז0 5 + 161006 חו0+91[3 + קס ד.חו01818 = 00%ו46]. סו 6 = 080 8פזופ טט5 0חם פרק 13: עבודה עם מערכי פקדים | 373 ()ו080 | וחזס-] סט5 6פעווק 6 = 080 56זוח סט 0ח= 9 קוד וה מוסיף תווית חדשה ותיבת טקסט עבור כל שדה אחרי השדה הראשון. פקדיס חדשיס מוצבים מתחת למערכת הפקדים האחרונה. לאחר מכן נקבעים מאפייני ח00ק68 של פקד התווית ו-60ו86כ של פקד תיבת הטקסט. לאחר שנתווספו כל השדות, התוכנית מציבה את פקד הנתונים מתחת לפקדים האחרים, ומשנה את גודל הטופס כך שיכיל את כל הפקדים. דוגמה לכך מוצגת בתרשים 13.8. תוכנית דוגמה היא ק580!62./8. הערה: בטופס מוגדר מסד הנתונים ט6ח.סוופום כממוקם ב- 60ח.סו|פו6:\/86\8. מסד נתונים זה הינו מסד נתונים לדוגמה שמגיע עם 8856 |1508/. אם מיקומו שונה אצלך במחשב, שנה את מיקומו במאפיין חהּאף85ַ8זכ, ראה תרשים 13.9. ופ אטח 800-105 1005 חזמזסמם ץופנ חנו טספ חפה 060% אפ 0% 6 ₪ ₪ 7 ש 5 ₪ ₪ ו | |= | ₪ ₪ שוח -5- [0006 חס - ןכ ו || וזו ( א 60) הס ב 6068סמ1 5 1 מצפ 1066065 25 16185תםמ מצפ שמ5001 3ג שעם50 מבפ תרשים 13.8: טופס הנתונים הכללי יכול לטפל כמעט בכל סוג רשומה 7-7 וה = מו5 8%16 משמד 0088ס5מגעם ססא 15 ו ₪ רו 4 סדנת לימוד 6.0 8\ וב 01374 - פסוזסקטזי [- 8 חו13 + ] ן | ו הזב 6חסא - 0 1-35 58 זו 6ס! - 0 1 5 6/0 - 0 2-6 (שחסו]) חב - 0 שטזד שעם! - 0 6 תרשים 13.9: מאפיין חהּ% הזכ של חב 5 3630350636 מ 33 3 זס] 363 ]0 66 זוס5 56 ]0 חס0ב06! חב הבח 6רל 5/5685הזטססת מכאן... בפרק זה, למדת מספר טכניקות בהן תוכל להרתיב את ביצועי תוכניותיך באמצעות שימוש בפקדיס. למדת כיצד לשפר את יכולות התכנות שלך על ידי שימוש במערכיס המקבצים יחדיו קבוצת פקדיס בעלי מכנה משותף. בנוסף, ראית כיצד להוסיף פקדיס בצורה גמישה במהלך ביצוע התוכנית. למידע נוסף על חלק מהנושאיס המדוברים בפרק זה, עיין בפרקים הבאים : > כדי לקבל מידע כללי נוסף על פקדים, ראה פרק 4 שימוש בפקדי ברירת המחדל של 83516 [150/, ופרק 12 הפקדים המשותפים של 6ס5סזסוו/. 5 בסיסי נתוניס ורשומות מוצגיס בפרק 24 יסודות מסד הנתונים, ומתואריס בצורה מפורטת יותר בפרק 26 שימוש באובייקטי גישה לנתונים (ס0). פרק 13: עבודה עם מערכי פקדים | 375 14 יצירת פקדי א6עו46% פרק 14: יצירת פקדי 606 | 377 בפרקיס הקודמיס למדת כיצד ליצור שילובי פקדיס הקיימיס ב- 8856 |8טפו\ כדי לבנות יישוס חזק. אחת האפשרויות המלהיבות ביותר של 8856 |50ו/\ היא האפשרות ליצור פקדים משלך. פקדים מותאמיס אישית אלה, הידועיס גס בשס פקדי א6עו46% (₪0!5ח60 6/6%ה), יכוליס לשמש כפקדים בכל יישוס 8856 |1503/\. (6%ע1ז6 הינו כינוי של חברת 167050% לקבוצת פריטים הכוללת פקדים, ספריות 11ם ומסמכי א6ע6). בנוסף ליתרון הברור בשימוש בקוד, ניתן להשתמש בפקדי 606% בדף 60/\ כדי לקבל תפקוד הדומה לפעולת תוכנית באינטרנט. בפרק זה תראה את הגישות שתוכל לנקוט וכמה מהדבריס שעליך לקחת בחשבון כאשר אתה יוצר פקדי 860/6%. המידע הקיים בפרק זה יורחב בפרק הבא, הרחבת פקדי א6עוז46 אשר ילמד אותך כיצד לבנות פקדים מתוחכמים יותר מסוג זה. מבוא ל-6%/ו46% כעת אתה כבר מכיר פקדים כגון פקד א80)א6ד ופקדי תוויות. כדי להשתמש בפקדיס אלה, עליך לשרטט אותם על טופס ולשלוט בצורה שבה הס יתנהגו בעזרת מאפייניהם, השגרות השייכות להס והאירועיס המקושרים אליהסם. כאשר אתה יוצר פקד 460/6% משלך, אתה יוצר אובייקט דומה, אולס אתה קובע מה יהיו מאפייניו, השגרות השייכות לו והאירועיס אשר יכוליס להפעיל אותו. לאחר יצירת הפקד, תוכלו אתה ואחריס להשתמש בו בפרויקטיס של 88516 |1508/, בדיוק כפי שאתה משתמש בפקדיס אחריס כגון פקד א16%080. למעשה, שימוש בפקד א6%ע460 מהווה את הדרך הטובה ביותר ליצור רכיב אשר ניתן יהיה להשתמש בו מתוך קוב> 5אם נפוצ מסוג שרת/לקות וכן על גבי האינטרנט. הצעדים בבניית פקדי 6%עו46% יצירת פקד 6%צ460 בשפת 8856 |08פו\ שונה מיצירת יישוס 5א5 רגיל. הנה תקציר הצעדיס הדרושיס לבניית פקד כזה: 1 החלט, ברמה פרטנית, מה יהיה השימוש בפקד שתיצור. פקד א8ש460 דומה לאובייקט עצמאי ולכן עליך לשאול את עצמך לאיוו מטרה אתה יוצר אותוז איך אתה רוצה להציג אותו על המסך! אילו מאפייניס, שגרות ואירועיס המקושרים לו יהיו זמיניס לתוכניתז 2 החלט אס תשתמש בפקדים אחרים כאבני בניין לפקד שלך. לדוגמה, תוכל ליצור פקד 606% אשר יכיל תצוגת רשת מפקד של חברה אחרת. כאשר אתה משתמש בפקדיס חיצונייס, קח בחשבון את נושא זכויות היוצריס על הפקד. 3 התחל פרויקט חדש מסוג |₪0ח60 6%ע460 ושרטט את הממשק עבורו. 4 הוסף קוד כדי ליצור מאפייניס, שגרות ואירועיס שתרצה שיהיו לפקד. 5 בנה פרויקט ניסיון ובחן את הפקד מתוך 8856 |1508/. ודא שהשתמשת בכל המאפיינים, שגרות ואירועיס שניתן להשתמש בהם עבור הפקד. 8 סדנת לימוד 6.0 8\ 6. הדר את הפקד לקובץ 06% ובצע את הבדיקות על גרסת הקובץ. אס אתה מפתח את הפקד עבור שימוש באינטרנט, בדוק את הפקד כשהוא מוצב על דף ב-65/\. 7 השתמש באשף ז%חסוחץס!ק6כ 6חה מְאַ8א6ק או בתוכנית שירות אחרת, כדי לבנות גירסה הניתנת להפצה המכילה את כל הקבציס הדרושיס לפקד. אסטרטגיות פיתוח בניית פקד 46006% ב- 88516 |1808/\ יכולה להיות משימה מורכבת או פשוטה בהתאס לבחירתך. רמת הקושי תלויה בשאלה אס אתה מתכוון להשתמש בפקדים קיימים, מה רמת תתכוס הממשק, וכמובן, בכמה קוד אתה מתכוון להשתמש. בכל מקרה, תוכל לבצע את תהליך הבנייה בשלוש דרכיס בסיסיות : + > בנה את הפקד מפקדים קיימים. גישה זו ידועה גס כבניית פקד מתוך פקדים קיימים (0₪015ח60 %ח50006ח600). דרך זו היא הקלה ביותר מפני שאתה מאחד למעשה פקדיס קיימים. לדוגמה, תוכל לארוז פקד אסם ספוח 60 ו- אסם )אשד יחד, ולכתוב קוד מינימלי אשר יגרוס להס לתקשר ביניהס בדרך הרצויה. > שפר פקד קיים. תוכל להשתמש בפקד קיים כנקודת הפתיחה ולשנות את מאפייניו לצרכיך. לדוגמה, תוכל לקחת פקד אסם 6%6ד ולהוסיף מאפיין אישי בשס 65 שיגרוס לטקסט להיות מוצג תמיד באותיות גדולות. שיטה זו חינה דרך טובה להשיג מהפקד את הפעולה המבוקשת בצורה מדויקת. % %* צור ושרטט פקד מותאם אישית. תוכל לשרטט את הממשק בעצמך בעורת פקודות גרפיות, וליצור פקד מקורי לחלוטין אשר אינו מכיל אף פקד קיים. תהליך ה דורש עבודה רבה יותר משתי השיטות הקודמות, אולס הוא מאפשר ליצור ממשק משתמש מקורי או שונה במקצת מהממשק הקבוע. פרק זה יציג בפניך את עולס יצירת פקדי א6%ש260. תלמד על כל אחת מהשיטות המתוארות כאן בעזרת פרויקטים לדוגמה, וכן תלמד כיצד להפיצ ולהדר את הפקד הסופי. פרק 15 הרחבת פקדי א6עו69, מציג בפניך כמה מהנושאיס המתקדמים יותר לגבי פקדי א860/6. יצירת פקד 6%שו46% בניית פקד 6%ש861 מפקדיס קיימים צופנת בחובה יתרונות רבים. קודס כל, כאשר אתה מוסיף פקד קיים לפקד שלך, אתה מקבל את יכולת הפעולה המלאה של הפקד הקיים - שיקול חשוב מבחינת כמות השגרות והמאפיינים הנתמכים על ידי פקד ממוצע. שנית, שילוב מספר פקדיס לפקד אחד מאפשרת להתייחס אליהם כיחידה בודדת, דבר העשוי להקל מנקודת מבט היישום. גישה זו מאפשרת גם לצייר את כל הפקדים על המסך בבת-אחת. יתרון נוסף הוא שלמשתמשים יהיה קל יותר להבין פקד הבנוי מפקדים המוכריס להם. פרק 14: יצירת פקדי אש60ה | 379 התחלת פרויקט פקד הדוגמה 4007655 כעת, לאחר שיש לך קצת רקע בנושא פקדי 60/6%ה, תוכל להתחיל לתרגל על ידי יצירת פקד א460/6% ראשון. הפקד שתבנה בסעיף זה יהיה פקד ₪00765560, המכיל אוסף תיבות טקסט המאפשרות למשתמש להקליד את שמו וכתובתו. דוגמה זו תספק לך דרך טובה להבין את הנושאיס הכלולים בפיתוח פקדי 6%ע60 בסביבת 8856 |8טפו. פקד 800765506 ייבנה כולו מפקדי תוויות ותיבות טקסט. ראשית, שרטט את ממשק המשתמש של הפקד והוסף קוד מינימלי כדי לאפשר לפקד לעבוד בסביבת העיצוב של 88516 |1508/\. |< ום). ‏ (01ז4ה115610:0) 1!סזוהס:5610 - ווס6ןסז מ |במשא ₪ אב תרשים 14.1: אובייקט |00ח60ז56 דומה לטופס, אולם אינו מכיל שוליים או אלמנטים המופיעים בחלון רגיל כדי לבנות את פקד 4007655, בצע את הפעולות הבאות. 1 היכנס לסביבת הפיתוח של 8856 |508ו/\ ובחר 66%[סיוק שפא מתפריט שוום. 2 מתוך תיבת הדו-שיח בחר 6%ע46%. דבר זה יגרוס ליצירת פרויקט חדש המכיל אובייקט |80ח050760\ בשם 0₪8011ח056760\, כמתואר בתרשים 14.1. 3 שנה את שס הפקד ל-46676556%8 בחלון המאפיינים. 4. בחר 00671165 0[66%זפ מתפריט 66%[סזפ כדי להציג את מאפייני 661[סזס. 5 ב- 8316 0[66%ז, שנה את שס הפרויקט (0[6601זק) ל-₪007655. 6. |מ] הוסף חמישה פקדי א80 16%. מחק את מאפיין א6ד שלהס וקרא להס: חא <* | %> ססוש‎ 6 ל ** סאשוק‎ 0 סדנת לימוד 6.0 8\ 7 הוסף חמישה פקדי תוויות לטופס ותן להם את ערכי המאפייניס הבאיס : מאפיין החסו2%ק63 מאפיין סוהבּא :3 סוחהּ )וטו הבוב ו :וס שוסופו ויב !מ :כ|2 מולוטו 8 סדר את התוויות ליד תיבות הטקסט המתאימות. לחי על אובייקט |%0ח60ז56 ושנה את גודלו כך שהפקדיס הנמצאיס יתאימו לגודל האובייקט. תוכל לשנות את גודל הפקד על ידי שימוש בידיות שינוי הגודל או שינוי מאפייני ₪48100% ו-חז0ו/\ בחלון המאפייניס. פקד הדוגמה אמור להיות בגודל של כ-4395 על 3600 5 שד והוא אמור להיראות כפי שמתואר בתרשים 14.2. 9 כמו שעשית בכל הפרויקטיס בשפת 88516 |1808/\, שמירת עבודתך הינה דבר חשוב ולכן עליך לעשות ואת לפני שתמשיך. תרשים 14.2: הקבוצה המלאה של הפקדים המאוחדים משורטטת על גבי פקד [0זחס5676\ הוספת קוד לשינוי גודל הפקד כפי שכבר ידוע לך משימוש בפקדים רגילים כגון פקד %80%א6ד, תוכל לקבוע את גודל הפקד בסביבת העיצוב על ידי שימוש בעכבר או על ידי קביעת מאפייני %ח0ו6 ו-חזסו\ שלו. פקד א%90א6ד מתוכנן להגיב לאירועים מסוג זה על ידי שרטוטו על גבי המסך בהתאם לגודלו החדש. כאשר אתה מעצב פקדי א6שו860 משלך ובייחוד פקדים הבנוייס מפקדיס קיימים, יש לשים דגש על נושא שינוי גודלס. כאשר אתה משנה את גודל הפקד, עליך לנקוט בצעדיס המבטיחים כי הפקדיס הכלולים בו לא יוסתרו מעיני המשתמש או יסודרו בצורה שתמנע את פעולתו היעילה של הפקד. פרק 14: יצירת פקדי א6ש60א | 381 כדי לטפל בפקד כזה, עליך להוסיף קוד שיידע להגיב לשגרת ₪65!26 של אובייקט (₪0ח60ז056!. קוד זה יופעל בכל פעס שמישהו ישרטט פקד זה בפרויקט 8856 |1508/\. כדי להוסיף את הקוד הנחוץ לפקד 1007655, בצע את הפעולות הבאות : 1. לת לחיצה כפולה על אובייקט |₪0ח60ז056, כפי שאתה לוח בדרך כלל על טופס רגיל. דבר זה יגרוס לפתיחת חלון הקוד. 2 בחר את שגרת ₪65126 מתוך תיבת השגרות של חלון הקוד. 3 הוסף את שורות הקוד הבאות לשגרת 26ו₪65 |₪0ח60ז056 : ()05126] |%70ח0567000\ סנ5 סזבּעווק (00ח56700\ וטו 5 50ח6רחו התטורתוחורח 66זס1חם ' 5 = 00%ו6. הסח ד 3615 > %חחוסרו. זז 5 = וסשו/\. חסחחך 2175 > חשסוש\. ]ז (₪0ח60 06 חס 00[6005 ₪6526' 0 - ה56816\/100. = ה0ו/\. סרחהּ\)אט 0 - 00ו//568!6. = ה57060.\/10%)אט 0 - ה568!6\/10%. = השססו\\. ואט 0 -- 2 / הז0ו\568!6. = הזסו/\\.סו2)א6 0 - 2 / ו568|6/100. = 060ו//\,. 656866 אס 60 2106006 606 שעסון' 0 + 2 / ה00ו/\568|6. = 6% |.0ו2)א 0 + 2 / ה00ו/\568|6. = 6% |.סולופו חזו\\ |ו0ח= 50 0חם 4 שמור את השינוייס שביצעת בפרויקט. הערה: המספרים המגדירים את גודל הפקדים בשגרת הדוגמה נקבעו בצורה שרירותית. מטרתם לשמור על תצוגה נאה של ממשק הפקד בעת שהמפתח משנה את גודלו. כאשר המשתמש משנה את מימדי פקד 007655, שגרת ₪656 מופעלת. שתי שורות הקוד הראשונות בדוגמה שהובאה כאן מונעות מהמשתמש מלהפוך את עותק הפקד לקטן מדי. השורות האחרות דואגות לשנות את גודל כל הפקדים בקבוצה תוך התחשבות בגודל אובייקט |₪0ח60ז56ש. 12 סדנת לימוד 6.0 8\ הוספת מאפיין חדש לפקד קיבוצ כמה תיבות טקסט בפקד א8460/6% מציג אותן בצורה מאוחדת ומאפשר לך לשרטט את כל תיבות הטקסט בטופס בפעולה בודדת. אולס, כדי שפקד 466% יהיה יעיל, עליך לגשת למאפייניו, שיטותיו (66650005) והאירועיס המקושרים אליו באותה צורה שבה הינך ניגש לפקד בודד. במילים אחרות, אס אתה מתכוון להתייחס לפקדיס הכלולים בו בצורה נפרדת כאשר אתה כותב את הקוד, לא עשית הרבה כשאיחדת אותס בפקד בודד. במקרה פקד 007655, מטרת הפקד היא לספק דרך לקבל את מידע הכתובת. מסיבה זו, תיצור מאפיין בשס 6 40076551 בפקד 655ז400, אשר יהיה דומה לפקד 16% בפקדי תיבות הטקסט. ההבדל הוא שמאפיין ‏ 6% 80076551 מחזיר את הטקסט מכל תיבות הטקסט בטופס כמחרוות בודדת. כדי לשמור על פשטות העניין, המאפיין יוגדר כניתן לקריאה בלבד על ידי שימוש בשגרת המאפיין 66% (מידע נוסף על שגרות מאפיינים ניתן למצוא בפרק 16, מחלקות: שימוש חוזר ברכיבים). ראה: "שגרות מאפיינים", פרק 16. כדי לקבוע את המאפיין, פתח את חלון הקוד עבור אובייקט |0ז5676000 והוסף את הקוד הבא : 0חוז5 5/ ()6 ] 4007655 6% ע+וסקסיק 6וופגוק 59 5 5 הזוס 8 שוחהּ\ס = 5 8 050706 8 5 = 5 + 8 000 8 5 = 5 + 86 050906 8 5 = 5 קושאס 8 5 = 5 5 = 6 ]4007655 ץדסקסזק 0ח= קוד שגרת המאפיין 66 אינו מתותכם. הוא משלב את תוכן הטקסט של קבוצת הפקדיס ומחזיר אותו כמחרוזת בודדת לתוכנית שקראה לו. אולס, ביצירת מאפיין זה הודגם רעיון לקיחת משימה (שילוב שדות הכתובת למחרוזת אחת) וביצועה תוך הוספת האלמנטים שלה לאובייקט (הפקד א6עו16). היתרון הוא שמפתחיס אחריס יוכלו להשתמש במאפיין וה ללא צורך בהבנת דרך הפעולה של מרכיביו. פרק 14: יצירת פקדי אש60א | 383 בדיקת פקד 6%עוז46% פקד 60/6% מגיע ללקוח בדרך כלל בצורת קוב מהודר מסוג 06%. קובץ זה, כאשר הוא נקלט במחשב משתמש אחר, יכול להתווסף לפרויקט 8856 [1508/\ או להיות מוצג בדף אינטרנט באמצעות דפדפן. אולס, בתהליך הפיתוח חייבת להיות לך דרך לבחון את פקדי א6ש460 ולנפות את השגיאות האפשריות בהס בתוך סביבת הפיתות של 6 |8פו/\. תהליך גה מורכב מעט יותר מניפוי שגיאות רגיל בפרויקט 5אם, מפני שעליך להתמודד עס שני חלקי קוד פעיל: פקד א6ש860 עצמו, והפרויקט המשתמש בפקד זה. בדיקה בעזרת קבוצת פרויקט הדרך הקלה ביותר לבחון רכיב 6%ש60 הוא להשתמש בקבוצת פרויקט 660[סוק קטסז6). בדוגמאות המוצגות בספר ּה, תעבוד עס פרויקט אחד בלבד בזמן נתון, כלומר שכאשר תבחר ביצירת פרויקט חדש מתוך תפריט 6!ו= של 88566 |הטפוצ, כל הפרויקטים אשר היו פתוחיס ייסגרו. סביבת העיצוב של 8856 |1808\ מאפשרת לך לפתוח כמה פרויקטים בעת ובעונה אחת. סידור זה ידוע כקבוצת פרויקטים והוא שימושי למצב שבו מבקשים לבדוק רכיבי 6%ע86. קבוצת פרויקט טיפוסית תכיל את רכיב א6ע60 עצמו, ופרויקט בדיקה (הבנוי כפרויקט 5אם רגיל). הוספת פרויקט בדיקה לקבוצה כדי להתחיל בבדיקת רכיב 00765560, עליך להוסיף פרויקט 5%5 רגיל מתוך תיבת 6% 6₪0ג2. חלון סייר הפרויקטים יתעדכן ויציג את שני הפרויקטים, כפי שניתן לראות בתרשים 14.3. טיפ: כ תוכל להוסיף פרויקט רגיל מסוג 5א5 על ידי לחיצה על הלחצן 0[60ז₪ ₪00. [קטוסזג) - קטסזג וספוסזק חס זספ0) 47% [=] (40076554-01.60) 076556 ₪ (8601[סזם) 8661[סזק 5:5 ם פוחזס= %-|=] (1חחזס=]) ו 3 תרשים 14.3: תוכל לפתוח פרויקט נוסף למטרות בדיקת הרכיב 4 סדנת לימוד 6.0 8\ יצירת פרויקט הבדיקה כאשר הוספת את פרויקט 5א5% לקבוצה, בוודאי הבחנת שנוסף סמל אפור (מעומעסם) לארגז הכלים. סמל זה מייצג את הפקד שלך והוא יישאר מנוטרל כל עוד הטופס (056760080) פתות. סגור את חלון |0056760080 ופתח את טופס ברירת המחדל של 601[סזם. הסמל המייצג את הפקד שלך יופיע בארגז הכליס ואמור להיות ומין. כאשר תציג את סמן העכבר מעליו יופיע שס פקד הדוגמה, 001765560 כמתואר בתרשים 14.4. | |8זפחסב תרשים 14.4: כדי להפוך את פקד א6ש460 שיצרת לזמין, סגור את חלון |סשחססז56\ כעת, פקד א26006 זמין. תוכל לצייר עותק ממנו על הטופס, כמו שאתה עושה עס שאר הפקדים. שים לב שהוא מופיע בדיוק בצורה שבה שרטטת אותו בחלון |₪0ח60ז56, אולם הוא מתנהג כמו פקד בודד. כל תיבות הטקסט בתוך הפקד זזות בתיאום, וכן אין אפשרות לבחור אחת מהן בנפרד מהשאר. בנקודה זו, אובייקט פקד א6שו8₪ טעון בויכרון ופועל. נסה לשנות את גודל פקד 8007655 בטופס. כאשר אתה משנה את גודלו בעזרת העכבר, הקוד בשגרת ₪6526 של אובייקט 5676000 שומר שגודל תיבות הטקסט השייכות לאובייקט, ישתנה בהתאם. אס תנסה להקטין את גובה הפקד בצורה קיצונית, הפקד יחזור לגודלו המינימלי, כמוצג בתרשיס 14.5. מצד שני, תוכל להגדיל את מימדי הפקד ללא הגבלה. 05500 | |ם) = [חזס] ₪ ב 3-3 שום תרשים 14.5: יישום הבדיקה מציג את פקד 4007655 כאשר הוא בגודלו המזערי פרק 14: יצירת פקדי אפש60 | 385 יצירת הפרויקט ההתחלתי כעת, לאחר ששרטטת עותק של הפקד על הטופס, תוכל להתחיל בבדיקת הפרויקט. בקבוצת פרויקטים, עליך להגדיר איזה פרויקט יהיה הפרויקט ההתחלתל (כ50300 %). 8856 |1808/\ מעבירה מיקוד לפרויקט זה, ומעלה את הפרויקטיס האחריס באופן אוטומטי. עליך לקבוע את פרויקט הבדיקה, 661[סזט, כפרויקט ההתחלתי, כדי לבדוק אותו יחד עס פקד 606% שיצרת. לח לחיצה ימנית על השס 6061[סזק בחלון סייר הפרויקטים, ובחר את האפשרות 00 +59 85 56% מתוך התפריט שיופיע, כמוצג בתרשיס 14.6. פרויקט 0[6001זק יודגש כסימול לכך שהוא הפרויקט ההתחלתי. [וסזג - קוסזב + (קפצ.655ו00) 2000655 לק -1 חס 056 65%[ (60, |-20076556)) |0076556-8 ₪ כן) 558% 85 56% פחזזסת 45% = .065זפקסז 0[6661זק זס>) הזוס 1 58%8 ןז 6שיסחחס 8 ו = 06 מ 6 תרשים 14.6: קבע פרויקט 5א5 כפרויקט ההתחלתי. פרויקט 466% יופעל אוטומטית הפעלת תוכנית הבדיקה כדי להפעיל את תוכנית הבדיקה, הפעל אותה בעזרת מקש 5" או על ידי לחיצה על הלחצן +59 של ₪856 |1508/\. הטופס ייטען לזיכרון ותיבות הטקסט של פקד 4007655 תהפוכנה זמינות. הקלד טקסט כלשהו בכל השדות והקש 6₪1+8768% כדי להעביר את הפרויקט למצב שבירה (1006!] א68ז8). פתח את חלון 60!806וחוח1 בהקשת 6+!60 והדפס את ערך מאפיין 6% 400176551 על ידי הקלדת הפקודה הבאה: 010655 1 |0076556-1 +חוזק אס תראה את הטקסט שהזנת בתיבות הטקסט, הרי שהפקד עובד כשורה. בנוסף, שיס לב שבהקלדת פקודת >6חוזק, 88516 |ה1508\ מציגה את כל המאפיינים השייכים לפקד ברשימה מוקפצת 1150 ק0-קסק). מאפיין 6% ז4007655 כלול ברשימה. אס לא תוכל להדפיס את ערך מאפיין 6% 8006551 בצורה נכונה, ודא שהקוד בשגרת המאפיין 661 הוקלד כראוי. כדי לקבל מידע נוסף על ניפוי שגיאות מתוכניות, ראה פרק 10, שליטה במהלך התוכנית. תוכל להשתמש בשיטות המתוארות כאן כדי לעבור על הקוד בשגרת המאפיין 6% 40076551 לבחון את ערכי המשתנים ולוודא תקינותם. ראה: "ניפוי שגיאות קוד", פרק 10. 6 סדנת לימוד 6.0 8\ בדיקת הפקד בעזרת זסיוס|קאם 6%חו6+חז בסעיף הקודס ראית כיצד תוכל להשתמש בפקד 007655 שיצרת בשילוב עס קבוצת פרויקטיס של 88516 |08פ1\. כפי שאתה כבר יודע, ניתן להשתמש בפקד 606% בצורתו המהודרת בדפדפן זסזס|קאם 6%חזססה1 בדף 60/). אולס, בגרסאות קודמות של 6 |ו\ תהליך הבדיקה מעין וה היה קשה. היה עליך ליצור קוב |אזת זמני מחוץ לסביבת הפיתוח של 8856 |1508/\ ולהפעיל את זסזס|קא= 6%חזססח1 בצורה ידנית. למזלנו, התהליך שופר בגירסה 6.0 של 8856 |808ו/. כעת תוכל להפעיל את ז6זס|קא= 6%חז6זח1 בצורה אוטומטית ולנפות את השגיאות מקוד פקד 868% מתוך סביבת העבודה של 88516 |1508/\. [< בו - ןייו | הסובת 00ב אשש ₪ ₪6 | ) ₪4 9 | ₪ 8 9. ב . | | 7890085 | ה0ו508 פחסו | 6098 ב וו מ 5 [+ [ותזר] 1- 98107555 סיו [8גופו/\ /50פזסו 155% הזב זטסז א וש חן זס)וקוחס 1 ₪ |<| ו | הטיס )הסחסקוחס= | חס | 1865 | |673ח6 5 66ןסזק 5וחז חפח/ש -ן 8 58 50 פ6תפחסקוחס6 זס] לוע 7+ 4 3 ] 3555 4 | חפ סז לזמ 97 :₪1 חלואו זספווסזם מז 7+ וי וס זט הפאש 6 שן תרשים 14.7: 8856 |ה150\ בגירסה 6.0 הופכת את תהליך בדיקת הפקדים למהיר על ידי הפעלה אוטומטית של הדפדפן פרק 14: יצירת פקדי אפש60א | 387 אס חלון קבוצת הפרויקטים עדיין פתוח, הסר את פרויקט 5%5 מהקבוצה. לחצ לחיצה ימנית על 661[סזס בחלון סייר הפרויקטים ובחר באפשרות 0[606זק 6/סוח₪6 מתוך התפריט שייפתח. הפרויקט היחיד שאמור להישאר הוא פקד ₪007655. הפעל את פרויקט הפקד על ידי הקשת 55 או על ידי לחיצה על הלחצן 5081 של 6 |1508/\. אס דפדפן זסזס|קא= 06%ז6לח1 מותקן, הוא אמור לפעול בצורה אוטומטית, כפי שמוצג בתרשים 14.7. הערה: בהפעלה ראשונה של הפקד תופיע כרטיסיית פַחוּפַאַטס6ס שבתיבת הדו-שיח של מאפייני הפרויקט, כמוצג בתרשים 14.07. כרטיסיה זו קובעת כיצד יופעלו רכיבי 606% כאשר מקישים 5=. (כדי לקבל מידע נוסף בעניין זה, ראה פרק 16, מחלקות: שימוש חוזר ברכיבים). לאחר לחיצה על 06 יופעל הדפדפן זפזס|קאם ז6חזסזח1. לאחר סיום בדיקת הפקד ב-זסזסוקאם 66חז6שח1, סגור את הדפדפן ועצור את הפרויקט. ראה: "עבודה עם טפסים מרובים", פרק 11. הידור הפקד עד כאן, למדת כיצד לבדוק את פרויקט הפקד כאשר הוא מופעל כקוד בסביבת העיצוב. אולס, כדי להשתמש בפקד מחוץ לסביבת העיצוב (כלומר, על מחשב המשתמש), עליך להדר את קוד המקור לפורמט קוב 06% ולארוז אותו כך שהוא יהיה מוכן להפצה. בצורה צו, יוכלו מפתחים אחריס להתקין את הפקד במחשביהס ולהשתמש בו בפרויקטיס שלהס בין אס הס מפתחים בשפת תכנות, מעצבים דף אינטרנט או משתמשים בכלי פיתוח אחר. יצירת קובץ 06% תהליך הידור (פחוווקוחס60) פקד 6%ע460 דומה לתהליך הידור פרויקט םאש רגיל למעט העובדה שהתוצאה הסופית של תהליך הידור פקד 460/6% הנה קובצ 06% ולא קוב 5אם. כדי ליצור קוב\ 06% עבור פקד 8007655, בצע את הפעולות הבאות: 1. בחר באפשרות 8386 מתוך תפריט ₪116 של 8516 |1508/. 2 כשתיבת הדו-שיח 0[605:ק ₪866 מופיעה, הזן את שס קובף\ למשל ₪55.06%סק\ (ייתכן ויהיה עליך לציין גס את שס תיקיה). 3 לתצ על א0. 88566 |1508\ תהדר הפקד ותכתוב את תוצאת ההידור בקוב\ 06% על הדיסק. לאחר שפקד א6שו846 עבר תהליך הידור, עליך לבדוק את הפקד המהודר. וזכור שפקד 66% שונה מיישוס 5%5 רגיל בכך שהוא אינו יכול לפעול בצורה עצמאית. כדי לבדוק את הפקד, עליך להשתמש בתוכנית שתכיל אותו. 8 סדנת לימוד 6.0 8\ בדיקת הקוד המהודר אחרי שהידרת את הפקד, עליו לפעול בדיוק בדרך שבה פועלים פקדים רגילים. התחל פרויקט %5ם חדש בסביבת הפיתוח של 8856 |פטפוצ (הסר את הפרויקטיס האחריס הקיימים בזיכרון אס ישנס). לאחר מכן, הצג את תיבת הדו-שיח 5ח6חסקו 60 על ידי הקשת +60 או על ידי בחירת האפשרות 8ח6חסקןוח60 מתוך תפריט 606[סזק. אס הפקד אינו מופיע ברשימה, לח על לחצן 87056 ובחר את קובצ 06% שלך. כאשר תסגור את תיבת הדו-שיח 06ח6חסקח60, יווצר סמל חדש בארגז הכלים. במצב וה תוכל לשרטט את הפקד שלך על הטופס כפי שעשית קודס לכן כאשר בדקת את הפקד בקבוצת פרויקטיס. הפעם, תוכל להשתמש בקוד מהודר (ראה סעיף קודם יצירת הפרויקט ההתחלת'). הערה: כאשר אתה משתמש בפקד מהודר ב- 8856 |הטפוצ, לא תוכל לנפות שגיאות בתוך הפקד עצמו או להציג את קוד התוכנית שלו. הפצת הפקד למחשב אחר פקדי 6%ע60 שלך יכולים לפעול על גבי מחשבי משתמשיס ומפתחים אחרים. אולס, תהליך העתקת קוב 06% סופי למחשב אחר אינו מספיק כדי לגרוס לו לפעול. כדי שהפקד יפעל על כל מחשב נתון, אתה חייב לדאוג להתקנת קבצי תמיכה נוספים. הסיבה לדרישה זו היא שהקוד הכתוב בשפת 8856 |8טפו\ משויך לקבוצת שפות תכנות מדור מתקדס הדורשות קבצי ספריות לשם הפעלתן (קבצי 1ופ). לדוגמה, אחד הקבציס הבסיסיים הדרושים להרצת כל תוכנית 8856 |%508 הוא הקובצ | |ס. 5/8/60 (6.0 6הוח136 |הטסזו/\ 88506 |508ו/ 67050%ו1!). אף תוכנית 8856 |הטפו\ אינה יכולה לפעול אס קוב זה לא יהיה מותקן במחשב. הערה: במחשב אשר בו מותקנת 8856 |1508/ (וקבצי התמיכה) ניתן יהיה להשתמש בפקד על ידי העתקת הקובץ למחשב ורישומו במערכת בעזרת פקודת 5565/832), כבדוגמה הבאה: 55.06%םאסס/2\זם ד5צ5\5)שססאז//ש\:6 ₪565/832. בשורה התחתונה, כדי שהפקד שלך יוכל לפעול בצורה תקינה, עליו להיות מותקן במערכת. תוכל להתקין אותו בשתי דרכים, בהתחשב בדרך שבה ישתמשו בו: 4%, + התקנה רגילה - אם פקד א8שו460 שלך מהווה חלק מפרויקט 8856 |טפו/ נוסף, הוא יותקן ויירשס במערכת כאשר קבצי היישוס יותקנו. <* התקנת אינטרנט - אם הפקד שלך מהווה חלק מדף 660/ו, עליך להציב תג < ז0850> מתאים בקוד שואדה. קובצ 06% וקבצי התמיכה, אשר חייביס להיות בתוך ארכיון מסוג 648 על גבי שרת האינטרנט, יועברו ויותקנו על ידי זסזס|קאם 6%חזססח]. פרק 14: יצירת פקדי אש60ה | 389 התקנת הפקד בתוכנית התקנה הדרך הקלה להתקין את הפקד במחשב אחר היא לבצע התקנה רגילה. בהתקנת קובצ == רגילה, המשתמש מריצ תוכנית בשס ם5אם.ם5510 אשר דואגת להתקנת הקבציס במחשב ורישומס במערכת. כאשר אתה יוצר קבצי התקנה עבור פרויקט 5אם רגיל, השתמש באשף %חסוחץס!60 6חג סְאַהּא6בּק. האשף יידע לטפל בקוב\ 06% שלך. אולס, אם אתה חושב שהקוב> שלך ידרוש קבצי תמיכה אשר אינס דרושים לשאר חלקי התוכנית, עליך ליצור קוב נתמך ((060₪ח606כ2) על ידי האשף. דרך השימוש באשף %חסוחץס!ק6כ 0ַח3 7868806 מתוארת בנספח 2, אריזּת היישום. ראה: "אריזת רכיבי 6%ש60", נספח 2. התקנת הפקד דרך האינטרנט כפי שידוע לך, יש להתקין את קבצי התמיכה כדי שהפקד יפעל במחשביס אחרים. אס אתה מתכוון להשתמש בפקד א460/6 שלך דרך האינטרנט, זפזסו|קאם 6%חזס%ח1 מסוגל להתקין את הפקד בצורה אוטומטית. אולס, צורת העברת הפקד בדרך זו שונה מדרך ההתקנה הרגילה. כאשר המשתמש ניגש לדף 60/\ המכיל פקד א6ע60ה, זסחזס)ח1 זסזסוקאם מוריד את קובצ הארכיון (60-648חו689) הדרוש מהשרת ולאחר מכן מתקין את רכיבי א6%ש8260. זהו אחד מהיתרונות בשימוש בדפדפן זסזס|קאם 6%חז6ח1. תוכל להפיץ פקדים מעודכניס על ידי התקנתס בשרת מרכזי אחד. אולס, כדי שהתהליך יפעל כשורה, עליך לספק לדפדפן את כל המידע הדרוש לו. ראשית, עליך ליצור קבצי 648 עבור פקד 866% שלך. קובצ 648 הינו קובצ מסוג מיוחד אשר מכיל קבציס דחוסים. לדוגמה, קובצ 648 בודד יכול להכיל את קובצ 06% המהודר וקבצי הפעלה מסוג ₪11 של 8856 |1508/. לא ניתן להשתמש בקבציס הנמצאיס בתוך קוב> 648 עד לתהליך חילוצם ט866שאם) במחשב המשתמש. תוכל להשתמש באשף +חסוחץסוק6 0ח8 0866806 כדי ליצור קוב 648, כמתואר בנספת 2, אריזת היישום. אולם, ייתכן ויהיה עליך לטפל בקבצי 648 בצורה ידנית. ערכת הפיתוח לאינטרנט של 116070050 (506 6160% 6חזסשח1), אשר ניתנת להשגה דרך אתר 0% באינטרנט, מספקת כלים לטיפול בקבצי 638 ממצב 05ס-15!. ניתן גס לשלב חתימה אלקטרונית בקבצי 648 הנוצריס על ידך. תוכל לרכוש קוב חתימה אלקטרונית, המאפשרת לכל אחד המשתמש בפקד שלך לקבל מידע אודותיך. קובצ וה משמש דרך לאבטחת המידע על מחשב המשתמש מפני שלפקד 6%ש60 יש גישה מלאה למחשב שעליו הוא פועל. אס לא תשלב קובצ חתימה אלקטרונית בקבצי 8 שתפיצ, משתמש זסזס|קאם 6חזסזח1 אשר ירצה להשתמש בפקד שלך יהיה חייב להוריד את הגדרות רמת האבטחה ב- זסזסו|כאם 6חז%6ח1 כדי לאפשר הפעלת פקדיס שאינס חתומים בצורה דיגיטלית. אחת מהתוכניות שבערכת 506 %ח6ו!6 6%חז67שח1, תוכנית בשם 516%0005, מאפשרת לשלב חתימה אלקטרונית בקבציס. כאשר אתה מהדר פקד א60/6 לקובצ 06%, המהדר נותן לו שס ייחודי - 6018-:00ח1606 6טשוחט [ב03ו6. מוהה גה דרוש לתהליך הוספת הפקד לדף ט6)\. כדי לדעת מהו השס הייחודי, תוכל להציצ בקובצ 0 סדנת לימוד 6.0 8\ אד שנוצר על ידי אשף חסוחץס|ק6כ 6חה 6ִחַ8688ק. ניתן לראות דוגמה לשימוש בתג <ז0860> בנספח 2. אחרי שאתה יודע את מזהה 6010 של הפקד, תוכל להשתמש בו כדי לשלב את הפקד בדף ס6/ו. ראה: "קבצים המיועדים לשימוש באינטרנט", נספח 2. השלב האחרון בתהליך הוא להציב את קוב 648 ואת דף ספש\ (!ואדה) על השרת. ודא שתג < ז0850> מכיל את שס קובצ 648, כמתואר בנספת 3. אחרי שכל הקבצים הוצבו במקומם, יוכלו משתמשים אחרים להשתמש בפקד. כדי לבדוק שהדף עובד בצורה תקינה, נסה לגלוש אליו מתוך מחשב שהפקד אינו מותקן בו. אס הפקד לא יותקן, בדוק את הדברים הבאים: + בכרטיסיה /566018, שבתיבת הדו-שיח 026005 +0%676ח1 (בתוך תפריט שש6:/) של וסיזס|קא= 10%6786%, הוסף את שס השרת שלך לרשימת השרתים האמיניס. הפעל את הדפדפן מחדש וטען את הדף. + התקן ורשום את הפקד בעורת תוכנית התקנה רגילה. בדרך זו, תוכל לוודא שהבעיה קיימת בקוב> הארכיון (648). כאשר אתה פותר בעיות הקשורות בפקדיס בדפדפן זסזס|קא= 6חז6שח1, כדאי שתמחק את הקבציס והאובייקטיס הנמצאיס בזיכרון המטמון (68606) כדי שתהיה בטות שאתה מקבל עותק ייעדכנייי בטעינה חדשה של הדף. תוכל למחוק את הקבציס הזמנייס על ידי לחיצה על לחצן 65!= 0616%6 שבכרטיסיה !66063 בתיבת הדו-שיח 5 ש%>06ה507ה1. אז תוכל להסיר את הפקד על ידי סימונו בתיקיה 5 ווובּיושסיזק (6נְבּס!ה/טסכפ \ פ/טססהועצ\ ובחירת 6טסוח6א מתוך תפריט שוו=. שיפור פקד 6%עו46% הסעיף הקודס הציג את רעיון יצירת פקד 6%ע860 על ידי ארגון פקדים קיימיס בתוך אובייקט |0שח60ז56. תוכל ליצור גס פקדיס "יחדשיסם'י על ידי הוספת אפשרויות לפקדים קיימים, כלומר, תוכל להשתמש בפקד מסוג מסויס ולהוסיף לו שגרות, שיטות ואירועים. לדוגמה, תוכל ליצור פקד פס גלילה (ז0|!88ז56) מיוחד אשר מציג אותיות במקוס במספרים, או ליצור תיבת טקסט שתקבל רק סימנים מסוימים. הצבת הקוד אשר יבצע את הפעולות הללו בפקדי 860/6% נפרדיס גורמת לכך שיהיה קל יותר להשתמש בקוד בתוכניות עתידיות. לדוגמה, במקוס להוסיף קוד מיוחד לכל פקד תיבת טקסט בתוכנית שלך, תוכל להשתמש בפקד היימשופריי שתיצור במקוס בפקד תיבת טקסט רגיל. כדי ליצור את הפקדיס המשופרים הללו, עליך להשתמש באותן הטכניקות שלמדת בסעיפים הקודמים: 1. התחל פרויקט חדש מסוג פקד א6צוזס. 2 הוסף את הפקד הבסיסי לחלון !0ז600%ז56. 3 הוסף קוד עבור המאפייניס, השיטות והאירועיס. פרק 14: יצירת פקדי א6ש60א | 391 הסעיפים הבאים יוליכו אותך דרך שלבים אלה, תוך שימוש בפקד תיבת טקסט כפקד הבסיסי. פקד תיבת הטקסט היימשופריי שלך יקבל את השם 76 ז86060ז0 60שוחז | אספ'י). יהיה לו מאפיין מיוחד אשר יאפשר למשתמש לבחור סט תוויס שהפקד יסכים לקבל בתיבה. מאפיין נוסף גה, בשס 608186660%, יאפשר למשתמש להגביל את הטקסט המוזן לתוכה לאותיות בלבד, מספריס בלבד, או שניהס יחד. יצירת הפקד הבסיסי השלביס ביצירת תיבת הטקסט המשופרת דומיס לפעולות שביצעת כדי ליצור את פקד 5, כדי ליצור את תיבת הטקסט המשופרת, בצע את השלביס הבאיס: 1 התחל פרויקט חדש מסוג פקד 6%ע461. 2 הוסף תיבת טקסט לחלון |80ח60ז56, ומקס אותה כשהפינה השמאלית-עליונה שלה במיקוס 0,0. 3 קרא לתיבת הטקסט בשס 9066037566 ונקה את מאפיין +אפד. 4 קבע את מאפייני הפרויקט ואת מאפייני אובייקט |₪0ח60ז056 לפי טבלה 14.1. טבלה 14.1: קביעת ערכים עבור תיבת הטקסט המותאמת 6 606[סזק (0ח60 66% 6חה\ 66[סזק 60 וחו |%+א6דך חסחק 656 666[ס-ק 6% 378600 660וחו | 107 אסם )אשד ץזסקסזק 6וחפ\] |סז%חה60 ז56\ אוו והַת%6אד ם |< ]ם]- | ה 1 תרשים 14.8: הפקד הבסיסי, המוצג כאן, ישופר כך שהוא יספק אפשרויות נוספות 12 סדנת לימוד 6.0 8\ .6 כדי לקבוע את שלושת הערכים הראשונים בטבלה, השתמש בתיבת הדו-שיח 65. כדי לקבוע את הערכים האחרים, סמן את אובייקט !0ז%ח60ז56ט והקש 4] כדי להציג את חלון המאפיינים. התוצאה הסופית, לאחר שקבעת את ממשק המשתמש של תיבת הטקסט, אמורה להיראות דומה לתרשים 14.8. כתוב קוד בשגרת ₪656 של אובייקט |0ח60ז58 כך שגודל תיבת הטקסט יתאיס לשטח שהמפתח ישרטט כאשר הוא ישתמש בפקד שלך. שגרת ₪6526 מוצגת בתוכנית הדוגמה 14.1. תוכנית דוגמה 14.1: ק8/.כםד1ו\11 - שימוש בשגרת 86526 כדי לוודא שהפקד ממלא את כל השטח הריק. ()05126] |070ח0-0ז56(\ סנ5 סזבּעוזוק 5686 |ס 105660 = 00%ו6ר. 56% הח אס הזו 568|6. !12567600 = 56/16 זה ))א6 50 0ח= שגרת₪65126 מכילה את כל הקוד הדרוש לממשק המשתמש של פקד הדוגמה. מטרתה לשמור שגודל תיבת הטקסט יהיה זהה לגודל אובייקט |%0ח60ז6פש. שמור את הפרויקט. לפני שתמשיך, בדוק את שגרת ₪656 על ידי ביצוע הפעולות הבאות : 1 2 3 סגור את חלון |600%0ז56. במידה וארגז הכלים גלוי לעין, יופיע עליו סמל חדש המייצג את הפקד שלך. בחר ₪70[66% 866 מתוך תפריט ₪116. לאחר מכן הוסף פרויקט שאם רגיל. שרטט את הפקד שלך על גבי טופס 1וחזס" ונסה לשנות את גודלו. המטרה בצעדיס אלה היא להרגיל אותך לרעיון שהקוד בפקדי 6%ע60ה שלך פועל גס במצביס שהפקד לא פועל בתוך תוכנית כלשהי. בזמן שאתה מפתת פקד אס6טט6א, זכור שהקוד שאתה כותב משמש גס בסביבת העיצוב בתוכנית שהפקד ישולב בה. כעת הסר את הפרויקט מסוג 5אם על ידי לחיצה ימנית עליו בחלון סייר הפרויקטיס ובחירת האפשרות 0[6001זק 6/סוח6ח. עכשיו הגיע הזמן לשפר את הפקד. שיפור הפקד הבסיסי השיפורים אשר תבצע בפקד תיבת הטקסט יהיו להגדיר מצביס שבהס הפקד יקבל כל תו מסוג שהוא, ספרות בלבד, או אותיות בלבד. תוכל לעשות זאת על ידי הוספת מאפיין משלך בשס זַמִף1606ז8ח6, אשר יהיה באחד מהמצביסם האפשרייס הבאיס: 4%, +. 4%, +. 0 0- הפקד יקבל כל תו. 1. הפקד יקבל ספרות בלבד. 2 - הפקד יקבל אותיות בלבד. פרק 14: יצירת פקדי א6ש60א | 393 יצירת מאפיין 6031666 כדי ליצור את מאפיין זמִססס1זה603, עליך להוסיף משתנה פנימי (סהּעוזק) אשר יכיל את ערך המאפיין בפקד. לשס כך עליך ליצור אותו באזור ההגדרות הכלליות של אובייקט [0חס6ז56! בצורה הבאה: 5 10660 בחר ס6העווק לאחר מכן, עליך ליצור את המאפיין החדש הנקרא זסִס8166ז8ח6. תוכל ליצור אותו על ידי כתיבת שגרות 66 ו-160 בצורה ידנית או על ידי בחירת האפשרות שזפקסזס מתוך 6זט660סזק 400 בתפריט 100|5. הקוד בשגרת המאפיין 68716666 קל להבנה. כאשר המפתח ירצה לשנות את ערך מאפיין 116666ז8ח6, שגרת המאפיין 66 תחזיר את ערך המשתנה הפנימי. כאשר ישתנה ערך המאפיין, שגרת 16% שלו תשנה את ערך המשתנה הפנימי לאחד מהערכים המותרים. הקוד הבא מיועד לשתי שגרות המאפיין: לחז 5 ( 68706606 6% ע+וסקסיק 6וופגוק רת = 66066 ץסקסזק 0חם (1000061 5 6ט|8/\שש6\ח | ץש )16060 החה6 ז6 | שוסקסזק =סוופגוס 6 /\/וס\]ח 6856 50166 2ַ 10 6856 6ט|ה//וס\ח = 606% זה חח 6 6856 0 = 816000₪6ח6וח סח "60" 060חההה0 וקסוק שסקסזק 0חם שיס לב לשימוש בשיטת 60080860/שוסקסזק. שיטה זו עובדת בתיאוס עס שגרות 5 ו-665 סק 6פוז/\, אשר מתוארות בסעיפיס הבאיס. כעת עליך להשתמש בשגרת ₪65ו6קסזקאוח1 של אובייקט |00ח56760 כדי לקבוע למאפיין ערך התחלתל: ()65דסקסזקוח1 |0זח056760\ 5 סזבּעוזוק 0 = 871600₪6ח₪6] 50 50 קוד ה מבטיח שלמאפיין יהיה ערך חוקי, אפילו אם המפתח לא דאג לקבוע לו ערך כלשהו. 4 סדנת לימוד 6.0 8\ שימוש באובייקט 830 ץזוסקסיוק עליך ליצור גס את הקוד עבור שגרות 0067065ז7ק₪680 ו-65!ז6כסזקסטוז\\ כדי לשמור את הגדרות העיצוב של מאפיין 1606₪0ז608. שתי שגרות אלו משתמשות באובייקט 0 כדי לשמור ולטעון את ערך מאפיין ז608766060. אובייקט 880עוסקסזק מאפשר לך לטפל בערך הניתן למאפיין ב1מן העיצוב. הקוד עבור שתי השגרות, המוצג בתוכנית הדוגמה 14.2, אינו קשה לפענוח. הדבר החשוב הוא לדעת מדוע יש לכתוב את הקוד. תוכנית דוגמה 14.2: ק8/.סםדזוא1! - טיפול בערך המאפיין (80/ סז 5 080 קסזק )65 סז 68 |ס ה56700(\ 50 סספעווק (60600 ה 06% םח ,"6 סו הט קסזק = 60606 הח וח 50 0חם (880/ז6ק0זק 5 880 סק )65ודוסקסקסט/\ |סח00ז56(\ 50 סספּעווק (06000 ו 061 וח 3766600 ח"ח" )וס סק סטו\\. הט קסזק |ו68 50 0ח= זכור כי קוד השייך לפקד 8606% מתחיל לפעול ברגע שאתה משרטט אותו על גבי טופס. נניח שאתה קובע ערך מאפיין כלשהו בסביבת העיצוב. בפקד הדוגמה, הבה נניח שאתה קובע את ערך מאפיין 681606 ל-1. תוכל לשנות אותו כמה פעמיס שתרצה בזמן שהתוכנית פועלת. בדרך כלל, בזמן סיוס התוכנית, ערכי הפקד חוזריס למצב שבו הס היו בסביבת העבודה, ולכן יש צורך בטיפול בשני מצבים שהמאפיין יכול להיות בהסם. אס ננסה להגדיר ואת בצורה פשוטה יותר, במקרה שאתה משנה ערך מאפיין כלשהו בסביבת העיצוב, יש לדאוג לכך שהפקד ידע להחזיר לעצמו את הערך בזמן פעולת התוכנית. על הפקד גם לדעת לתזור בחזרה לערך וה (אס השתנה) כאשר עובריס בחזרה למצב עיצוב. אובייקט 880/+ו6קסזק מאפשר לפקד 606% לשמור את ערכי המאפיינים שלו ובכך לענות על הדרישה שהצבנו. שיטת 6080860/ז6קסזק מאפשרת לנו לדעת שהמשתמש שינה ערך מאפיין כלשהו. כאשר ניתן לדעת באיזה מצב התוכנית נמצאת וכן האס הופעלה שיטת 860ה6008עו6קסזק, 8856 |508ו תוכל להפעיל ‏ את שגרות 5 ו-67165 68070 בזמן הנכון. ם הערה: בוודאי הבחנת בכך שעליך להוסיף כמות רבה של קוד כדי ליצור מאפיין בודד. בסעיף הבא תתוודע לאשף פקדי 6%ע60ה (המגיע כתוספת ל- 88566 |1808) אשר הופך את מלאכת הוספת מאפיינים ושגרות אירועים לקלה. אחרי שתסיים ליצור את פקד ץוחו וזאח:אד, המשך לקרוא כדי ללמוד כיצד להשתמש באשף זה. פרק 14: יצירת פקדי א6ש60 | 395 שינוי צורת התנהגות תיבת הטקסט השלב הבא בפרויקט הדוגמה הוא ליצור את הקוד ההופך את תיבת הטקסט המיוחדת למשהו העושה דבר שונה מפעולת תיבת טקסט רגילה. במקרה זה, תוכל להשתמש בשגרת 655זקץ6 של הפקד כדי לבדוק כל תו כאשר המשתמש מקליד אותו. |508ו/ 6 תעביר את קוד 45011 של התו דרך משתנה 66456 של השיגרה. בהתחשב בתו 1 ובערך מאפיין 166060ז8ח6, תוכל לקבל את התו או לשנות את ערך משתנה וו50/ץ6א ל-0, דבר המונע מתיבת הטקסט מלהציג אותו על המסך. בנוסף לעובדה שהתו לא יוצג על המסך, עליך לעדכן את התוכנית שקראה לשיגרה בעובדה שהמשתמש הקיש תו לא חוקי. תוכל לעשות זאת על ידי יצירת שיגרה בשס זסזום 50 כדי ליצור את השיגרה, הוסף את שורת הקוד הבאה לאזור ההגדרות הכללי של אובייקט |₪0ח₪050760: ()זסז507=7(! %ח6/ם 6ווסגוק שיגרה וו תתנהג כמו כל שיגרה הקיימת בפקד אחר. כל אחד המשתמש בפקד שלך יכול לכתוב קוד בתוכה. הדבר היחידי שעליך לעשות זה להפעיל את השיגרה על ידי שימוש בשיטת זח565/6ו₪₪. בגלל העובדה שקיימיס שלושה סטיס אפשרייס של תוויס, תוכל להשתמש בפקודת % כדי לטפל באפשרויות השונות. עוד דבר אשר יש לשיס לב אליו: עליך לאפשר שימוש במקש 880650866 (8 6006 45611) בכל אחד מהסטים המותרים. אחרת, המשתמש לא יוכל למחוק את התו הקודם. הקוד עבור שגרת 655זקץ6א מוצג בתוכנית הדוגמה 14.3. תוכנית דוגמה 14.3: ?111750./8! תכנות שגרת 655ז1קץ6א להצגת קלט המשתמש. (06061ח1 5/ [ו655)006/50זק ץ66 000566 סט5 סספעווק טטפ זוא חס ד 866 ץ6אפע = 50 ץ66 )1 הח וח 60856 50|606 6 15 63000 שחג' 0 6856 סטפ זוא 0 06 8 זססוהטח ץוחס' 1 6856 החד 9ץ6א פע => 86750 0ח3 0ץסאפע =< 50 ץ66 זז טטפ )וא 6 0 = |ו46/850 0 50( \ %ה5/6 8156 זז 0ח 6 סדנת לימוד 6.0 8\ 60 06 עְהח 6015 ץוחס' 2 6856 חח ד 2ץ6א פע => |ו50ץ6א הג ה ץ6אפע = < וספ ץסא זז טטפ זוא החד 122 => |50ץ6א 0 97 =< 6650 )561 טטפ זוא 6 0 = |ו46/850 קסם סז 56( | +ה6/- 8156 + 0חם סח 5 0ח= הקוד בתוכנית הדוגמה 14.3 פשוט למדי. תקפות |6/56א, אשר מייצג את התו שהוקלד, נבדקת על ידי פקודות 6856 :56166 ו-1. אס התו אינו נמצא בטווח הרצוי, הפקד גורס לצפצוף ומפעיל את שגרת זסזזםז56. בדיקת תיבת הטקסט המגבילה לאחר שהקלדת את כל הקוד עבור הפקד, תוכל לבדוק את פקד זוחו1ז8ח06ט על ידי ביצוע השלבים הבאים: 1 שמור את הקוד. 2 הוסף פרויקט 5א= רגיל לקבוצת הפרויקטיס (אםס לא עשית ואת עדיין). 3 סגור את חלונות העיצוב והקוד עבור אובייקט |₪0ח60ז056ו. שים לב לכך שמופיע סמל עבור הפקד שלך בארגז הכליסם. 4 הוסף עותק מפקד טוח 66081 לטופס ביישוס הבדיקה. 5 קבע את מאפייני הפקד. 6. הפעל את התוכנית ונסה את הפקד. נסה לקבוע את ערך מאפיין 6871006 בערכים שוניס כדי לוודא שהוא מקבל רק את התוויס הרצויים. אס אתה נתקל בבעיות בהפעלת הפקד, תוכל להשתמש באותן השיטות לניפוי שגיאות כדי לגלות את הבעיות בפקד כפי שאתה בודק שגיאות בתוכנית רגילה. תוכל לקבוע נקודות עצירה (06חו8768000) ולהפעיל את הקוד שורה אחרי שורה, בין אס בתוך פרויקט פקד א6ע60, או בתוך הפרויקט הרגיל מסוג 5%5 (ראה פרק 10, שליטה במהלך התוכנית). ראה: "ניפוי שגיאות מתוכניות", פרק 10. פרק 14: יצירת פקדי אפש60א | 397 בחירת סמל עבור ארגז הכלים בוודאי הבחנת שלכל הפקדים שיצרת יש אותו סמל בארגז הכלים. תכונה זו עלולה לגרוס לבלבול. תיאור הכלי מספק הסבר עבור הפקד, אך עדיף להגדיר סמלים שוניס לפקדים. תוכל להגדיר סמלים על ידי קביעת מאפיין ק₪033ו8א80!|ססד. מאפיין זה קובע מה יוצג בארגז הכליס. אס הוא נקבע כ-6חסא, הסמל הוא ברירת המחדל. תוכל לקבוע במאפיין כל תמונת כִ0ו8 שהיא, אולס קח בחשבון שגודל סמל ארגז הכלים הוא 6 נקודות (615א!5). לפיכך, מומלצ להשתמש בתמונות אשר נוצרו בגודל זה. אשף ממשק פקדי <6עצוז46 כאשר יצרת את מאפיין 6087866600 לתיבת הטקסט המשופרת, יצרת חלק מממשק הפקד. אך סביר להניח שהמשתמשים ירצו לגשת לרוב המאפיינים, השגרות והאירועיס הנפוציס השייכיס לתיבת הטקסט. לדוגמה, בוודאי הבחנת שמאפיין זאד אינו נגיש. זה הגיוני משוס שלא נכתב כל קוד עבור המאפיין. פקד א80זאפד מהווה אלמנט פנימי בפקד שלך. בשלב הקודם, יצרת את מאפיין 6087160606 באופן ידני, אולס כפי שתוכל לשער, דרך זו של יצירת עשרות מאפייני פקד בצורה ידנית מתישה. למזלנו, 88566 |1508\ מספקת כלי ההופך את התהליך לקל יותר: אשף ממשק פקדי 66% - 2870ו/\ 1866ו6זח1 |סיוזחס6 6%ע6ה. ראשית, עליך להגדיר לאשף את שמות כל המאפיינים שתרצה ליצור עבור הפקד. לאחר מכן הפקד מאפשר לך יילחבריי את מאפייני הפקד שלך למאפייני רכיב הנמצא בתוכו. במילים אחרות, האשף מסוגל לכתוב את קוד השיגרה עבורך ולגרוס לכך שמאפיין 6%ד של אובייקט |₪0ח60ז56 שלך יעדכן את מאפיין א6ד של תיבת הטקסט המוכלת בו. הוספת האשף לסביבת 83516 וַב1503\ כדי להשתמש באשף ממשק פקד א6%ע60ה, הוסף אותו קודס לכן לסביבת העיצוב. כדי לעשות זאת, תוכל להשתמש במנהל התוספות (וססְהח חו-00) של 88516 |הטפו\. כדי להפעיל את המנהל, בחר באפשרות זסחַהּח3ּ1!] חו-800 מתוך תפריט 5ח00-1. כדי להוסיף את אשף ממשק פקד א6%ע60ה, סמן את תיבת הסימון ליד שס האשף. בכך תודיע למנהל התוספות שברצונך לכלול את האשף בתפריט 400-105. לאחר מכן, לתצ על לחצן 0% כדי לצאת מנהל התוספות ולהוסיף את האשף לסביבת 8856 |1808/. כעת, כדי להדגים את דרך פעולת האשף, צור את תיבת הטקסט המשופרת מחדש: 1. התתל פרויקט חדש מסוג א6ש46%1 ושרטט תיבת טקסט בחלון |60060ז50. 2 קבע את השמות והגדליס באותה הדרך שבה קבעת אותם בדוגמה הקודמת (ראה סעיף יצירת הפקד הבסיסי). 3 הפעל את האשף על ידי בחירת 2316!ו// 671306:ה1 |סז+חס6 6%עש6א מתפריט 85,., האשף יופעל ויצייג את המסך ההתחלתי שלו הנראה בתרשים 14.9. 4.| לת על לחצן +א6א כדי להתחיל את מלאכת יצירת המאפיינים. 8 סדנת לימוד 6.0 8\ טיפ: כדי שהאשף יפעל בצורה הטובה ביותר, עליך להוסיף את כל הרכיבים הדרושים לפקד שלך לפני שאתה מפעיל אותו. הסווסטטסזוח! - 6זה2ו/\ 306!ז6)ח! |סזוחס:) %פצווסת 6 וס ]זסק סע 5קוסח ₪ ז23ו/\ 6]366סח1 |סזסחס-> 866% שח 83506 |98ו/\ חן |ססחס6 06% חב הַח67630 חו 55505 הַחואוס!0+ (05 חש ,005 ,65 קסזק) 306"ז6:חו חל הַחוח1/ט 0 -- ה חל זס] ₪006 הַחוו 6 הט 86 הַחו80 676 - ]חן 56 ||3 30360 6/יבח ספטוח פע ,חספ טסץ 76ס]₪6 :סססון 36 קה 0]'5 60 86 ו 38 503 5להשהחפ|ט. 5 וסקס 06866 0ם ה זה2ו/ שחש ע>זסקסזס 6 1056 :סססו .070!5ח256760\ זטסץ' ז10 .56/6605 ]וס סְהַחח6 50 חול עחה 35 886% 655 ח63 טס" .הוח סל 466 66ו6 16856 תרשים 14.9: אשף ממשק פקד 66% הופך את עבודת יצירת המאפיינים לפשוטה יותר על ידי יצירת חלק גדול מהקוד עבורך זנ 6 חן ח0ס507 פוחם פוא =[ בחירה ויצירה של מאפיינים השלב הבא בשימוש באשף הוא לבחור את המאפיינים, השיטות והאירועים אשר ברצונך להפוך לזמיניס עבור הפקד. באופן כללי, מאפייניס, שיטות ואירועיס ידועיס בשס חברים (0675 ח6ו). בתיבת הדו-שיתח 0675 16] %06806חה1 56!66%, המוצגת בתרשיס 14.10, האשף מכיל את שמות כל החבריס שתוכל למצוא בכל פקד בשפת 6 |1508/. כדי לבחור מאפיין או שיטה עבור הפקד שלן, סמן את שס החבר ברשימת החבריס הזמיניס ולחץ על לחצן החצ הימני כדי לבחור את החבר. בפקד הדוגמה, סמן את מאפיין א6ד בחלון השמאלי, ולחצ על לחצן הח הימני. טיפ: כ תוכל בנוסף לבחור חבר על ידי לחיצה כפולה על שמו ברשימה. 306]ז6)ח] 561601 - 0זב2ו/\ 306!זס)ח! |סזוחס:) >סצווסת נוסץ 503% 85חבח להשע= חב ,008ח166 , עזסקסזוק זט ל5ו| 8 15 וסוס .6060 זנוסץ חו 56 50 )חהיאי טוח ,6005 , 665זשקסזק 376 6-56|66550ז השפ 6/יבח 503% 5פחס שח סו|פנוכ 306 חספ 3630 6/יבח הרל 65ח6יש בחה. .605 חב ,1650005 ,65 זסקסזק הטוס זנוסץי 30 ספ זאשו >סו 56166560 3065: = ססות 0660 | ₪5 מחטשום חאוסס 6 ]חסעם 5 זי ץלזסססזק ץלזסקסזק תרשים 14.10: השלב הראשון ץזזסקסזק חב זה6קקה חס מנוץפ א | << ו ה ביצירת מאפיינים, שיטות ואירועים %חפשים חושיסי56נוסוי] הפע | 605|קחס-6806 56 )הפע סוי חש = 630010655 6חץ5 ו הפע ו 5 ץז קסזק 3 טפנו עבור הפקד שלך הוא להוס ףּ תוי הב | 365 > ₪- 16 6הַחה6/שזסקס ץחה | זבה | < 6 | 6% | 8 | וס שגרות עבור שמות החברים השכיחים פרק 14: יצירת פקדי אפש60א | 399 אחרי שהוספת את מאפיין 6% לרשימת השמות הנבחרים, לתץ על לחצן 6% כדי לעבור לדף הבא של האשף. לאחר שבחרת את המאפיינים, השיטות, והאירועיס עבור הפקד שלך, האשף יעביר אותך לדף שבו תוכל להזין פריטיס חדשיס המותאמיס אישית לפקד. תיבת הדו-שיח 65 %671866ח1 וח015%0 076806 מכילה רשימת כל החברים האישיים אשר ייווצרו עבור הפקד שלך (ראה תרשיס 14.11). )א 306]ז6)ח! הו0ז5ט-) 16316 - זה 2ו/\ 306!ז6)ח! |סזוחס:) אפצווסת זס] לחהו וסץ' 5לחשע= טוחה ,005ת166י] ,65זסקסזק השס זנוסץי ₪0 בח |סלחס6 זטוסץי 50 סטטוחנו 5זספוחפוח 6זה 7656 .וססחס6 זטסץ' 50605 5וסו/יזכ חן 56/5056 ע5/530 זסח שבח טפץ +08 5סחס תרשים 14.11: האשף מספק גם תיבת דו-שיח אשר בה ניתן להזין שמות פריטים אשר אינם מופיעים בתיבת הדו-שיח בחירת חברי הממשק אם יש לך מאפייניס או חבריס אחריס אשר הוגדרו מראש, הס יופיעו ברשימה זו כאשר אתה מגיע לתיבת הדו-שיח. מתוך תיבה זו, תוכל להוסיף חבריס חדשיס ולערוך או להסיר חברים קיימים. כדי להוסיף חבר חדש, לח על לחצן ש6א של האשף לפתיחת תיבת הדו-שיח הוספת חבר מותאם אישית. בתיבת דו-שיח זו, עליך לקבוע את שם וסוג החבר. צור את מאפיין 6087466001 על ידי הקלדת 60876060% בשדה 6וחהא ולתצ על לחצן 06. אחרי שתחזור לתיבת הוספת חבר מותאם אישית, צור את שגרת זסזזםז56(! באותה הדרך. לבסוף, לחצ על לחצן +א6א כדי להמשיך הלאה. מ אזהרה: אין לערוך או להסיר את חברי הפקד שהגדרת לפני כן בעזרת קוד בלבד מפני שאשף ממשק פקד א6ש46 פועל בדרך של ניתוח הערות הממוקמות על ידו בקוד. אין בטחון שהאשף יוכל להבין את הקוד הכתוב על ידך בצורה נכונה. 0 סדנת לימוד 6.0 8\ מיפוי המאפיינים השלב הבא בשימוש באשף ממשקי א6ש460 הוא להקצות את השמות הציבוריים של הפקדיס המותאמיס אישית לחברים הקבועיס בפקד שלך. תהליך וה נקרא מיפוי החברים (5ז6טוח6!] 6 פַחוסס18א). לדוגמה, במקוס ליצור מאפיין 6%ד משלך, תוכל למפות את מאפיין 6% של הפקד המותאס למאפיין 6% של 6008756%ט. תיבת הדו-שיח פַחוסק18 56%, המוצגת בתרשיס 14.12, מכילה רשימה של כל המאפייניס, שיטות והשגרות שהגדרת כחלק מהממשק הציבורי של הפקד שלך. שחוסקב א ]56 - הז23ו/\ 306]זטוח! וסזוחס:) אסצווס זט ,600005 ,65זסקסזם שח ]0 עשוה חסוס6חט 506 קבוח חב6 טסצי 60015 %ח506ח60 חו 5זפטוחשוח רל סל [סיפחס6 זטסץ חו פלחשעיט. ,65פזסקסז סוה זס שחס 56/6566 ,55| שהחב\ סוופטיק 86 החסז= שח 3 [סזלחס6 חל 561666 הפר חב ,5לחטעיט וס ,0005תלפח. .0 | קב ספ זחבואו וס .6% 0%ו₪1 .החוקקהוח הוחו" טסץ' השעש 305 ₪ = זחשעם וי ו +חסעם וע | 8 ] הפו חאוס6פנוסהי] %חסצם ]טסו תרשים 14.12: מיפוי החברים הציבוריים של הפקד גורמת חי )הפע תי [- > / לקישורם לחברי הפקדים הנמצאים = שחסשם בפקד | הפוחב < 4 | 6% | ו -5) סוס בתיבת הדו-שיח שתי תיבות לזיהוי הפקד וחבר הפקד שאליו החבר הציבורי אמור להחיות ממופה. כדי למפות חבר ציבורי יחיד בפקד, בצע את הפעולות הבאות: 1 בחר את החבר ברשימת השמות הציבוריים 1150 65וח8א 6ווטטפ). בדוגמה זאת, סמן את מאפיין )16% בצד השמאלי. 2 בחר את 060087560 מתוך רשימת הפקדים (רשימה זו מכילה את שמות כל הפקדים הסטנדרטיים בפקד שלך). 3 בחר את החבר השייך לפקד גה מתוך רשימת החברים. במקרה זה, מאפיין %א6ך ייבחר עבורך בצורה אוטומטית. תהליך זה מודגם בתרשיסם 14.12 עבור מאפיין ד השייך לפקד זוחו |זהח6)אז. 4.| לת על לחצן 60 כדי להמשיך לתיבת הדו-שיח האחרונה של האשף. תיבה זו, המוצגת בתרשים 14.13, מאפשרת לך לקבוע את ההגדרות עבור כל חבר ציבורי שאינו ממופה לפקד פנימי. הערה: בתיבת הדו-שיח פַחוסְטְ3ּ!! 56%, שים לב שתוכל למפות מספר חברים ציבוריים בפעם. יש אפשרות לבחור יותר משם ציבורי אחד. תוכל לבחור כמה שמות ואחר לבחור רכיב שאליו הם ימופו. כל שם ציבורי ימופה למאפיין או השיטה של הרכיב הנושא את אותו שם. לדוגמה, מאפיין 6%ד של הפקד האישי ימופה למאפיין 6%ד של תיבת הטקסט או התיבה המשולבת (א80 סטוחסס). פרק 14: יצירת פקדי אפא60ג | 401 וזו )56 - 6זה2ו/\ 306]זס)ח! |סזוחס:) אסצווס ה שח .5זססותסות 6קקב חנו 86 0 5פנופו300 56 56% חה6 טסץ* .31065 61/6 56 0565 פהַחה60 סח 00 פע טסופו נוסץ 3007100565 4056 זספותסוח שחל 0 שחחבח וסט חס 501666 ספ חש 636 זס] 6686 .3085 ו הסח חב פהַחח6 50 מחפצ 63 0 )חאו טס .6% 0110 300710665 פח5 בחוץ]וטיסוח הפוחו! נוי הפח/ור הסוסה 1 6פוופוזה. 6ב :]6/0 בוו 8 ] מק | %חפעם שוחוד ההוש סוחוד חנו וקסוק וט ]6 5 [‏ [+ ו [= | ששקסה ו 5 חשוחנחז ה חסוס 650 אסם 556 86 366075 זב הטוחצו 65הוחחזססטס. 6ב || ָ > | סוס 4 ץלזסססזק 4 תרשים 14.13: תוכל לקבוע את הגדרות המאפיינים והשיטות לפני השלמת קוד הפקד האשף מאפשר לך לקבוע הגדרות שונות בהתחשב בסוג החבר שאתה יוצר. עבור מאפיין, תוכל לקבוע את סוג המידע שהמאפיין יוכל להכיל, ערך ברירת המחדל של המאפיין וסוג הגישה המותר למשתמש בסביבת העיצוב ובזמן פעולת התוכנית. סוג הגישה המותר קובע אס תיווצר שגרת המאפיין 16%, שגרת המאפיין +66 או שניהס יחד עבור המאפיין. תוכל לבחור באפשרויות ץוח 6זחוש\ ,ץוח ₪680 ,6זו/\/₪680 או סחסו עבור הגישה בזמן פעולת התוכנית. עבור סביבת העיצוב, תוכל לבחור באפשרויות ץוח ₪680 ,1080/06 או סחסא. עבור פקד הדוגמה, קבע את סוג הנתונים של מאפיין 608146060 כ-ז0606ח1 ואת ערך ברירת המחדל שלו ל-0. תוכל להוסיף גם תיאור למאפיין בתיבת התיאור. תיאורי מאפיינים מופיעים בתחתית חלון המאפיינים בסביבת העיצוב. כעת, לאחר שהגעת לשלב האחרון של האשף, תוכל ללחו על לחצן חפוחום. סיום כתיבת הקוד לאחר שלחצת על הפוחו=, אשף ממשק פקד א6%ע460 יוצר מספר מודולי קוד בפקד שלך. בנוסף, הפקד גס מציג דף תקציר מידע המספק פרטים אודות השלבים שנשארו כדי לסיים את תהליך יצירת הפקד שלך. דוגמה לדף כזה מוצגת בתרשים 14.14. |< | 1םן | עזבּחוחו5 0זה2ו/ש\ 806]ז)ח! |סזוחס:) אסצווס ה כ > חב ,60 ,הַח5550 06 666!קוחס6 50 8זונוספיז פוחסמו ]0 115% ס סד 8 5 אוסוסב 801ח05676-0! זטוסץ ]0 הַחוּ]ססזם-ספ!וום 15910 זנוסץ זט הזב זהסזם 865% 3 076866 (ם ַחוח6ק36 ,וסחס-1586\ זנוסץ זט הזה זהסזק 165% 3 קט 56% סם עבצ סאשם סז שזפחד 06% חב 6768500 זס , 56 5530 3 חו וסשחס6 506 880 ז56חו טסץ זסתספחואי חס .| זס] 86[סזק |סטחס 3 קט 56% ||ואו 5555 חואיס!וס] שחל ,%סש[סזוק |סזסחט-) 6%/ו800 חב 0788560 טסץץ 1 חב זהסזק 65% .01חס-560\ זנוסץ 58% (1 006 חנז חו [סחס6 שר לוכ 80 , 6500 5]סלחס-105676 ונטס 056[ (2 ןז ₪6 5530370 3 300 ,86%[סזק 565% 3 663560 ץב63זוב >'חפיבח טסץ ]1 (3 . הפוח 6!= רל החסז] 016% 00 הַחו561660 עם ]0 66ח553חו חב 366|כ סל חס 5'|סיסחס-1(5676 ונטס >סו|6-6|פטסט ,אספוססד 6ח חז. (4 ₪- חב 6/יסוח ח63 טס ,6%פ[סזם == בז3חב5 6ח! חו , 1וחזס= חס [ססהס-25576\ זנוסץ תרשים 14.14: קרא את דף התקציר כדי לקבל ייעוץ כיצד לסיים את תהליך יצירת הפקד 2 סדנת לימוד 6.0 8\ אחרי שסקרת את דף התקציר, תוכל להביט בקוד שנוצר על ידי האשף. כדי לראות את הקוד לחצ על אובייקט |ס%ח0ס6 ז56 בחלון הפרויקט. אחר לת על 6006 צוסו/\. באזור ההגדרות הכלליות, האשף יצר קבועיס לערכי ברירת המחדל של כל המאפייניס שלא מופו. למאפיין +ק1666ז8ח6 ניתן ערך ברירת מחדל 0. בנוסף, האשף יצר משתנה פרטי בשסם ₪608746660%. אחר תופענה ההצהרות על כל שגרת אירוע שבקשת לכלול בפקד. דוגמה מהקוד מוצגת כאן. אס מיפית שגרות אירוע, תראה שהאשף הציב הערות כדי להראות כיצד האירועים ממופיס לשגרות אירועיס בפקדים שבפקד: 6%ו|קאם הסטקס ע+סקסזק !ופסכ 0 = זס|00א286 061 605% 0 = ז07600|0= 06% 605% 0 = 6876006 06% וח 605% :ה /\ ץהסססזק' פס ] 5 זסוס6א₪86 וח חוחוס 8חס ]! 35 זס|וס66זס] וח הזוס 5 370060 וח הזוס :60305 +חהסעש %- 87560,000008756 חס = 10ח81הוסכהּז' ()א6ו01 %חפעם ()68ו101טכ +חסעם ()זסזז567(! +חסעם (1050061 45 |ו50ש6א)655זק 66 +חסעם אחרי הצהרות המשתנים ושגרות האירועים תופענה שגרות המאפיינים. שגרות אלו נוצרות עבור מאפייניס אשר ממופים למאפיין של חבר וכן למאפיינים אשר נוצרו על ידך. כפי שתוכל לראות בקטע הקוד הבא, הקוד עבור מאפיין זא6ד שלם (גם אס פירוש הדבר שקיים שלד שיגרה בלבד עבור מאפיין +60876660): [פשאז | סש דאםוןו 60 6אששס וס שהוד צזססוא אס פטסויםח דסא ספ ושצזאה הצ - 1%‏ 96,00817560זהת-אס= +ח1טהוס סוי 50 45 ()6 ד 6% /ל+וסססזק ס6ווסגוק .56% = )אסך סקסזק סחם (8חו5 5 6 ך צוס\ |ב\ץם )אס ד 66| שוסקסזק 6ווסטוק ]ד 6 = ()א6 37560.7ח06א0 "זא ד" 860ַההח0/וסקסיק וסקסזק סחם זז 5 ()0060 637 06% /סזסכסזק 6ווטגוק 0% וח = 0660% ה זסקסזק סחם (ז100006 5 76000%הח צשס\ |3/\ץם )6060 בה 166 שזסססזםק 6ווטגוק הר עס = 6810060 וח "600" 860ההת0צוסססיק זסקסזק סחם פרק 14: יצירת פקדי 606% - 403 אס תרצה לשלב שיטות בפקד, האשף ייצור אותן כפונקציות ולא כתת-שגרות. לבסוף, הקוד עבור קריאה וכתיבה של ערכי מאפייניס לאובייקט 880שזסקסזס מיוצר בצורה אוטומטית : 6 ווחסזן פסט|/ע /וסקסזכן 080 [' (080/ סק סק 5 80 סק )65ו סק 68 |ס0ח56700(\ 500 סספּעווק (זס|60א₪86 061 ,"זסו86660" )סקס סה קסזק = זסו60א₪86 וח (ז600!0זס-] 066 וח ,"זס|ס660זס- ")סקס סה קסזק = זסוס66זס-] וח ("" ,"א ")סק סה קסזק = 6 .הח )6 806600(‏ 61 םח ,"066 סה םסק = 60006 הח וח 50 0חם 6 סס פסט|הע /שוסקסזכן בס" (80/ סז 5 80 קסזק )65ווסקסזוקססו\ |0-%ח56700(\ 50 סספּעווק (ז0ו00א286 066 וח ,זסו|ס6א₪86 וח ,"זסו60א886")ץסקסזקסו\. סה קסזק |ו68 (זס|660זס-] 061 וח ,הסוס66זס= וח ,"וסו660זס-" )סקס זקסטו\. סט קסזק |ו68 ("" ,6% 0837501.7ח0000 ,"זאם ד" )ץהסקסקסשו/\. 86 קסיק ||68 3000 061 6060 הח וח "ל06 ה" )סקס זקסס/\. הט קסיק ||68 50 0חם כדי להשלים את כתיבת הקוד עבור הפקד, עליך להוסיף את הקוד הנחו למאפיין ולשגרת 655זקץ6א, המוצגת בתוכנית דוגמה 14.4. תוכנית דוגמה 14.4: ?8/.ס= זוי ! השינויים הנחוצים בקוד אשר נוצר על ידי האשף. 5 ()8710600%ה 66% /סזסקסזק 6ווסגוק וח = 6300606 סקסזק סחם (06061ח1 45/ 6ט!3/\ששסצח | \ץם )6716660 6% | ץשוסססזק שווטגוק 6ט]3/\/ש0\ח 6856 561606 2 170 6856 86 סח = 76000%ו3ח6 וח 6 6856 0 = 6087166606 וח וח "006" 0ַ6חַחַהח60/וסססיק הטסוק סחם (10%60067 45 65506650 66 56%זהחה66ס 5 סספּעווק טפ זוא הסח ד 080% ץ6אפע = 50 ץ66 זז הח וח 6856 50|666 6 פו 6878000 שח 0 6896 סטפ זוא 60 06 עְהוח פזסטותטח ץוחס' 1 6856 חס ד 9ץ6) פע => |50ש66 0חה 0ץ6אפע =< 50 ץ6א זז טטפ זואם 4 סדנת לימוד 6.0 8\ 6 0 = |ו46/850 0 סז 5 \ +ה6/ 3156 + 0חם 0 06 עה 5ז60! ץוחס' 2 6856 החד 2ץ6א פע => 4650 סח הץס6אפע =< 50 ץ6א זז טטפ זואם החד 122 => 86750 0חג 97 =< 6056 1501 טטפ זואם 6 0 = |ו66/850 0 סז 5 \ +ה6/ 3156 + 0חם וח 50 0חם הוספת הקוד הסופי נחוצה מפני שהאשף יוצר יישלדיי בלבד עבור חבריס אלה. אחרי הכל, אס האשף היה מסוגל ליצור את כל מה שנחוצ, היית מחוסר עבודה! אשף דפי המאפיינים ראית את אשף דפי המאפיינים (0זה2ו\\ 5ספָהק שזסקסזוק) בעבר כאשר עבדת עס כמה מהפקדיס הפנימייס של 8856 |8טפו. תיבות דו-שיח אלו הופכות את פעולת קביעת המאפייניס השייכים לפקד מסויס לקלה על ידי סידור המאפייניס לפי קבוצות. תוכל ליצור דפי מאפייניסם עבור הפקדיס שלך תוך שימוש באשף דפי המאפיינים. כמו שעשית באשף ממשק פקד א6ע60, עליך להוסיף את אשף דפי המאפיינים לשולחן העבודה דרך מנהל התוספות. אחרי שביצעת ואת, תוכל להפעיל את האשף מתוך תפריט 800-105 של 8856 |ף8טפו/. כאשר תפעיל את האשף, תראה מסך המסביר את מטרת השימוש באשף. לחיצה על לחצן 6%\ במסך זה תעביר אותך לתיבת הדו-שיח הראשונה, במקוס אשר בו מתחילה מלאכת יצירת דפי המאפיינים. יצירת הדפים תיבת הדו-שיח 23065 ץזו6קסיוק 86+ 561661 מאפשרת לך ליצור את דפי המאפייניס (ראה תרשיס 14.15). אם כללת את מאפייני זחס= ו-זס|ס6 בפקד שלך, האשף ייצור שני דפים בעצמו: זסו087060ח508 ו-%ח0870-0ח508. אס אינך וקוק לדפיס אלה, כל שעליך לעשות הוא להסיר את הסימון מהתיבות הנמצאות ליד שמות הדפים כדי למחוק אותם מסט דפי המאפיינים. בנוסף לדפים המופיעים כברירת מחדל, תוכל להוסיף דפים חדשיס לתיבת הדו-שיח. לחיצה על לחצן 400 תגרוס להופעת תיבת הדו-שיח 6וח8א 0306 ץזוסקסזק, אשר בה פרק 14: יצירת פקדי 606 | 405 תוכל להקליד את שס הדף שברצונך ליצור. כאשר תסייס להזין את השסם, הוא יוצב ברשימת הדפים הזמינים ויקבל סימון. סדר שמות הדפיס ברשימה הוא הסדר אשר בו תופענה הכרטיסיות. תוכל לשנות את הסדר על ידי סימון דף ושימוש בלחצני החיציס כדי להזיז אותו ברשימה. 5 עוזסקסז?] 6ח] 56!601 - 6זה23ו/\ 306 עוזסקסזק הלוו 056 50 לחש טסץ' (5)סְחָב עשוסקסזוק 6ח5 56ססח 0ח60 56 זנוסץ 3 6סט\!חו סד .00 66% ,חב עלזסקסזס אופח 3 300 סד 6 )0 66| 56 50 אספ 606% 806 666% , סמב עשוסקסזק 6 56 לחבאו נוסץ' 65חַ3 ע>זסקסזט |ה .חָב0 עשזסקסזק 6 6חווחז0%6 60 פחסספום אוסזזב 806 056) 56166560 .5פַחָב ץ6זסקסזק זטסץ ]0 ז06זט 53037000 |ש] המשרהה תרשים 14.15: באפשרותך ליצור דפים חדשים או לשנות את שמות הדפים הקיימים באשף דפי המאפיינים אחרי שסיימת להוסיף דפיס לתיבת הדו-שיח, לחצ על לחצן 6% כדי לעבור לתיבת הדו-שיח הבאה. הוספת מאפיינים לדפים השלב הבא ביצירת דפי המאפייניס הוא להוסיף את המאפיינים הנחוציס לכל דף בתיבת הדו-שיח. תיבת הדו-שיח ₪65ז6קסזק 400 מוצגת בתרשיס 14.16. טפט 400 - 6זה2וש\ חב עוזסקסז סז ה636 חס 15013 50 לחהו סע 65זסקסזס 6חם 56160%. מ 6 שפח לחבע וס הסוחצו חס חב ע6זסקסזק שחש >סו> 3 016 הפר חב , עלזסקסזק 86 561665 , והסקקב ספ ע6זסקטזום חססוטופ 6/יסוח 010 6 0% חח3> 5חַבכ '5:30370' :סססו חב ץלזסקסזק 6|סב|\ה ה | 6חס-5:300810 | | == | ה | < 6 | 6% | | ו תרשים 14.16: תיבת הדו-שיח 65וםקסזק 00 מציגה את רשימת המאפיינים הזמינים ומראה את הדפים המוגדרים עבור תיבת הדו-שיח 6 סדנת לימוד 6.0 8\ כדי להוסיף מאפיין לדף כלשהו, לח על הכרטיסיה המתאימה לדף הרצוי, בחר את המאפיין מתוך רשימת המאפייניס הזמינים ולחצ על לחצן הח הימני. שים לב, בתרשיס 14.16, לכך שנוסף דף וקסוק |8ז8ח66 ובו מאפיין זא66ס1ַז608. בנוסף, אס הופיעו דפי ברירת מחדל, זס|5090087060 ו-0870-00%ח500, שיס לב לכך שהמאפיינים המתאימיס להם כבר נוספו. טיפ: ל תוכל לגרור מאפיין לכרטיסיה מסוימת כדי להציב אותו בדף המאפיינים הרצוי. לאחר שסיימת להוסיף מאפייניס לכל הדפים, לח על לחצן הפוח כדי לסיים את תהליך יצירתס. בדומה לאשף ממשק פקד א68ש6, אשף דפי המאפיינים מציג דף תקציר אשר מספק מידע נוסף שיעזור לך להשלים את יצירת הפקד שלך. שימוש בדפי המאפיינים ביישומים כדי להשתמש בדפי המאפייניס שיצרת, עליך להוסיף לפרויקט כלשהו עותק מהפקד שלך. לאחר מכן, בדף המאפיינים, לח על הלחצן בונה (שעליו שלוש נקודות) הנמצא בשורת המאפיין וחסזפט6. כעת תוצג תיבת הדו-שיח דפי המאפיינים כפי שהיא מופיעה בפקדיס אחריס ותאפשר למפתח לשנות את ערכי המאפיינים. בתרשים 14.17 מוצגת דוגמה לדף מאפייניס השייך לפקד מותאם אישית. |א 5 עוזסקסז] | חס | ]זה :6 שחס] ו - 5 [+ 561 5308 65 במ שמוזסטח. |[ ₪ -] סו -] סוומו!. =[ וק 5 15 53705 5] תרשים 14.17: דף המאפיינים שיצרת עוזר למשתמשים בו להתאים את פקד 6%אעו460 טיפ: תוכל גם להגיע לדפי המאפיינים על ידי לחיצה ימנית על הפקד ובחירת האפשרות 7 = 6/065ק0זק מתוך התפריט. פרק 14: יצירת פקדי אפא6₪ג | 407 יצירה ושרטוט פקד <6עו+46% שתי הדוגמאות הקודמות הראו לך כיצד ליצור פקדי 466% הבנוייס מפקדיס קיימיס. הסעיפיס הבאיס ייראו לך איך ליצור פקד אשר נוצר מההתחלה על ידי שרטוט הממשק בעזרת שיטות גרפיות ויצירת המאפיינים, שיטות ואירועים עבור הפקד. הפקד שתיצור בפרק זה יהיה לחצן פקודה בעל הגדרות צבע ורקע שונות, דבר שלא תוכל לעשות תוך שימוש בפקד קיים. למרות העובדה שלחצן פקודה הינו דוגמה פשוטה יחסית, תוכל להשתמש בה כדי להבין כיצד תוכל ליצור פקד משלך. התחלת הפרויקט כדי להתחיל ליצור את הלחצן הצבעוני, התחל פרויקט חדש מסוג פקד א6ש860. לאחר מכן, קבע את מאפייני הפרויקט ופקד המשתמש כפי שמתואר בטבלה 14.2. טבלה 14.2: מאפייני הפרויקט והפקד א חסוזס6567 6606[ס:ק חסאטם 6080 660ה8ַחחם זסוס6 +סססזס 6החהא |סזטחהס6 567 חזס!|ס6 יצירת ממשק המשתמש בדוגמאות קודמות, שרטטת את ממשק המשתמש של הפקד על גבי אובייקט (₪0ח56760(\ על ידי שימוש בפקדיס קיימיס. אולס, בפקד וה המשורטט על ידך, תוכל ליצור את הממשק בצורה עצמאית בעזרת הוספת קוד לשגרות |%0ח60ז56. עליך לכתוב את הקוד המשרטט את צורת הפקד בשגרת %חו8ק של אובייקט | ח60ז56ש. שיגרה זו תופעל בכל פעס שהחבר המכיל את הפקד שלך (כגון טופס התוכנית) משורטט. תוכל גם להפעיל את השיגרה בעצמך על ידי שימוש בשיטת ח05ז/₪6 השייכת לפקד. וכור כי ממשק לחצן הפקודה הינו למעשה תמונה בלבד. עליך להשתמש בשיטות גרפיות, כגון שיטת 6חו!, כדי לשרטט את התמונה שהמשתמש יראה על המסך. לדוגמה, כאשר המשתמש ילת על הפקד שיצרת, עליך לדאוג לכך שהתוכנית תשרטט קוויס באזור הלחצן בצורה שבה הס ייראו כאילו הלחצן נלח. כדי לקבל מידע נוסף בנוגע לשיטות גרפיות, פנה לפרק 19, שימוש במרכיבי התכנון הוויזואלי. ראה: "פקד 6חו1 ופקד 6כְ508", פרק 19. 8 סדנת לימוד 6.0 8\ כדי לשרטט לחצן פקודה משולש, תוכל להשתמש בשיטות 6חו] ו-א+חוזס בלבד. במקרה זה, הלחצן ימלא את כל שטת |%0ח60ז56\. בתהליך כתיבת הקוד עבור לחצן פקודה צבעוני יש שלושה שלביס : 1. השתמש בשיטת 6חו] השייכת לאובייקט |60080ז56\ כדי לשרטט תיבה מרובעת מלאה בגודל המלא של הפקד. כדי ליצור תיבת בגודל המתאים, השתמש במאפייני +6100 ו-חזסו/\ של הפקד כמשתני מימדיו בשיטת 6חו]. 2 כדי לדמות את המצב היימורס'י של הלחצן, שנה את צבעי השורות המרכיבות את התיבה המרובעת. פעולה זו מצריכה שימוש נוסף בשיטת 6חו] כדי ליצור קו לבן לאורך הגבולות עליון ושמאלי של הפקד וכן כדי לשרטט קו שחור לאורך הגבולות תחתון וימני. קוויס אלה מעניקיס ללחצן את הצורה היימורמתיי הרגילה שלו (כאשר הלחצן 'לחוצ'יי, עליך להחליף את מצבו על ידי החלפת מיקומי הקו הלבן עס הקו השחור). 3 שרטט את תוכן הלחצן על ידי שימוש בשיטת שחוזס. הקוד אשר יוצר את גוף הלחצן מוצג בתוכנית הדוגמה 14.5. יש להציב את הקוד בשגרת %חו8ק של אובייקט |₪0ח60ז56ש. תוכנית דוגמה 14.5: 82/.א6010₪1 - שיטת 6חו! לשרטוט הלחצן הצבעוני. ()חו8ק |%00ח56700(\ 500 סספעווק 5 הסח וחוס סח 35 הסוח וחוס |70ח0ז56\ השו\ סט 66 זס? ההססז 506 68/6 |' 0 - 600% = +חטוסוח 0 - וש = ה6סו/\ח אס 60זס|60 8 צוהז ,זס|ס6א86 0|'5זחה00ז50\ 66% 1 = ה6סו/\עטפזס. זס|60א86 חח! = זסוססווו=. 0 = 6ושפוווח. 5 ,השרוח ,וססו/ש\ח) - (0 ,0) 6חו ]וס 5660 ו 10% זסאוס! אובּזס' 3 = הססו/\\אופזס. חס ד 8|56= = הצוססספוסוזט + אע = זס|660וס=. 56 סוח/\\טע = זסו|ס66זו=. זז 0חם שרוח , הססו/\ח) -- סט הטוסרוח ,0) שח 1 וסהס56\ ( ווח , הססו\ח) - (0 ,הסוח שחו 1 !סט הס6ז5\ 5חו! 60%!-זסט אובּזס' חס ד 8|56= = הצוססספוסוזט + ס6וח/\פע = זס|ס66זס=. פרק 14: יצירת פקדי א609ג | 409 6 6% = ז600|0ס=. + 0חם (0 ,חז)סו/\ח) - (0 ,0) סח ]. וסזהס6ז56\ (000ו6וה,0) - (0 ,0) 6חז]. וסהס6ז56\ חס ופסכ הס 63 66 60 ססר |סחה אה1ט68|6' 2 / ((הסוזק68 וח )וזא ד.- הזסו/\.) = >סחסזטש. 5 = %חסזט0. החסחד 5 > %6שחסווטס. זז 2 / (( 63000 600 א ד - %חסו6.) = אחסזט6. 5 = ח6זווס. הסחד 5 > שזחסזוטש. + 63000 66 צובּזס' זס|ס66זס-טח! = זס|660זס=. סוס 63 רוח שחחחק. |סהס56\ חטו\\ 0ח= 50 0חם הקוד בתוכנית הדוגמה 14.5 קל להבנה. ראשית, מתבצעות כמה קריאות לשיטת 6חז] כדי לשרטט תיבה וכמה קוויס המייצגיס את לחצן הפקודה. לאחר מכן, תוכן הלחצן משורטט במרכז הפקד. שיס לב לכך שיש פנייה לכמה משתני מודול בשגרת זַחופק. לדוגמה, צבע הלחצן נקבע על ידי משתנה זסוס66ספטַח!, אשר מכיל את תוכן המאפיין זס|860. יש להצהיר על המשתניס הבאיס בסעיף ההגדרות הכלליות של אובייקט (70ה0ז56 0 : סחטסז60זס- הסטפ' חס | 35 זסוס66זס=פח! וחוס 8860000 חססטפ' פַחס | 45 זסוס6א6הפפח! חחוס 7 056 6 15' | ה200!68 35 הצוססספטסוזפ חחוס ההצהרות על ערכי המשתניס הנמצאיס ברמת המודול נחוצות לשגרות המאפייניס כדי שהשגרות תוכלנה לשנות אותם. המשתנה הבולאני, חושסס6פטסוזפ קובע אס הלחצן במצב י'לחוצ'י או יימורס'י. בתרשיס 14.18 מוצג הצבע הבסיסי של הפקד כפי שהוא נראה בטופס פרויקט הניסיון. |< |ם)= ‏ [חזס ]₪ תרשים 14.18: הקוד הקיים בשגרת +חו8? אחראי לשרטוט ממשק המשתמש של הלחצן 0 סדנת לימוד 6.0 8\ השלב הסופי ביצירת ממשק המשתמש הוא לקבוע ערכיס התחלתיים עבור צבעי הלחצן. כדי לעשות זואת, הקלד את הפקודות הבאות: ()26ו|108ח1 |00ח60ז56(\ 5 סזבּעוזוק חה8ץ6סע = זס|ס6א6הפפח | סופספ = זס|660זס-ח | 50 0ח= שורות קוד אלו מספקות הגדרות התחלתיות עבור שגרת זחו8ּק. יצירת מאפייני הלחצן כפי שהזכרנו קודס לכן, תוכל לשמור על עיצוב פשוט של הלחצן. ארבעת המאפייניס העיקרייס שלו הס %חס= ,ח00ק68 ,זס|60א286 ו-זסו660זס"]. שלושה מתוך ארבעת המאפייניס, +חס ,ס|886660 ו-זס|860זס=, יהיו מקושריס למאפייניס הרלוונטיס של פקד המשתמש. בנוסף, המאפיינים זס!|60א886 ו-זס|660זס יישמרו כמשתניםס המיועדיס לשימוש על ידי הקוד. כאשר אתה משתמש באשף ממשק פקד א6ע₪6, תוכל ליצור את המאפייניסם הדרושיס לך בקלות. עליך להוסיף את מאפיין ח00ס68 ולקבוע אותו כסוג ז6פוח6! וחסס5ט6 וכן למפות את מאפייני חס ,ס|00א886 ו-זס|660זס=] לאלה הנמצאים באובייקט |₪0חס5676. האשף ייצור את שגרות המאפייניס 160 ו-6% עבור ארבעת המאפיינים. קח, לדוגמה, את שגרת המאפיין +66 עבור מאפיין זס\886%60 : = 01 5 ()זס|ס6א286 06% שזסססזק ש6ווטגוק 660 |ס 56700 = זס|ו₪86660 שזסקסיוק סחם שיגרה זו מחזירה את ערך צבע הרקע עבור הפקד. ניתן להשתמש בה כפי שהיא כתובה כאן, אולס עליך להוסיף שורה נוספת לשגרת המאפיין 16%, כמתואר בשורות הקוד הבאות : (6010₪ 015 45 זס|ס8666 עעס\] |\ץם)זסו60א₪86 66 | שזסססזק שווטגוק זס|60א286 עס = ()זס|0ס58666. !560 \ זסו60א701.286ה56760(\ = זסוס4666פפח | "זס|0ס6א886" 0ספַההח0/סוסקסיוק ץסקסזק 0חם שיס לב לכך שנוספה שורה עבור שמירת ערך הצבע במשתנה זס|886660פַח!. שגרת %חו? משתמשת במשתנה זה, אשר קיימת עבורו הצהרה באזור ההצהרות הכלליות. למאפיינים הנותריס, המוצגיס בתוכנית הדוגמה 14.6, ישנו קוד הכתוב באופן דומה. פרק 14: יצירת פקדי 606% - 411 תוכנית דוגמה 14.6: ק8/.אד601088 - רוב שגרות המאפיינים נכתבו על ידי האשף. +חסת ₪5 ()זחס- 06% אוסססלק שווטגוק +ס .סח 56760! = %חס- 56% שסקסזק 0חם (טחס= 5 +חס= צוס\] |3/\ץם)חס- 56% עצ+וסססזק סוופגוק חס עס = +חס-. !056600 56% "זחס-]" 60פחהח0/סוסקסיוק ץסקסזק 0חם = 01 5 ()זסו660זס-] 06% עאוסססלק שוופגוק זס|660זס.ז0ו056700\ = זס|ס66זס= שזסקסיוק סחם (6010₪ 015 45 זסו|ס66זס- צו6\ |3/ץם)זסו|ס66זס- 6% | ץאסססלק שווסגוק זסו660זס= שוס\] = ()זס|660זס=. !5600 \ וסוס |0ח056760\ = וסוס660זס=וטחו "זס|ס60זס-]" 60פחהח0/סוסקסיק וקסוק סחם %חוזה/\ 25 ה0ו0ק68 06% עאוסססלק שווטגוק חסק68 וח = ה00ק68 שזסקסזק 0חם (ח8וזה/\ 5 הסוזק8 עשס\ |ה/\ץם)חסו 63 6% | ץאוסססלק שווסגוק חסוז0ק68 צו6] = 6800 ח +חופק |סיחה60ז56\ "6300" 60פחהח0 סוקסוק שזסקסוק סחם למרות העובדה שעליך להצהיר על המשתנים 6חטסז60זס8ח| ו-6חטסזסא8886חו, אשף ממשק פקד א6ש460 יוצר את הגדרת חסטק68 חח עבורך בצורה אוטומטית. הסיבה להבדל נעוצה בעובדה שמאפיין ח00ק68 אינו ממופה לאובייקט |₪0ח60ז56. תוכל גס לשנות את ערך הקבוע המכיל את תוכן ברירת המחדל,