אם למשל, יש לנו משתנה מסוג מחרוזת שערכו "Ronen " וברצוננו לכתוב למסך בעזרת Response.Write את ערך המשתנה ואחריו תוספת מחרוזת, יהיה עלינו לשרשר את המשתנה ואת המחרוזת. שרשור מחרוזות ב-VBScript מתבצע בעזרת התו &
להלן דוגמא בה יש לנו משתנה name שניתן לו ערך מחרוזת ונדפיס למסך את ערך המשתנה ותוספת מחרוזת:
name = "Ronen"
Response.Write name & " Liwski"
התוצאה שנקבל היא Ronen Liwski
כמובן שהיינו יכולים להגיע אל אותה תוצאה בדיוק גם ללא השרשור, בצורה הבאה:
Response.Write name
Response.Write " Liwski"
אבל בדיוק בשביל זה ניתן לשרשר, בשביל לקצר. שרשור גם תורם רבות להבנת הקוד מכיוון שהוא מאפשר לנו לרשום בשורת קוד אחת הרבה מחרוזות ומשתנים ביחד ולא כל אחד בשורה נפרדת. אחרת היינו נתקלים במצבים בהם נצטרך לכתוב שורות קוד רבות ע"מ לכתוב שורה בודדת למסך, אבסורדי - לא?
מתי משרשרים?
כאשר ברצוננו לחבר בין ערכי משתנים לערכים, לכל שימוש. לכתיבה למסך, להכנסת הערך למשתנה חדש, לקריאה לפונקציה, וכו...
בכל מעבר בין משתנה לערך, נבצע את השירשור בעזרת התו &, לדוגמא:
Response.Write VarStr & " String " & VarNum & 973
כמו כן, שימוש רב נעשה בשרשור ע"מ לחבר בין מחרוזות לבין ערכים שנשלחו אל אותו דף. הדוגמא הבאה כותבת את השם שנשלח בתוספת טקסט:
Response.Write "Your name is " & Request("the_name")
במידה ואנו רוצים לשרשר מחרוזת ארוכה, אך מטעמי נוחיות או ויזואליות, אנו לא רוצים שתיווצר לנו שורה ארוכה מאוד, ניתן להשתמש בצרוף התויים &_ בצורה הבאה:
name = "Ronen " &_
"Liwski"
Response.Write name
במידה ונשרשר מחרוזת ומספר, המספר יהפוך באופן אוטומטי למחרוזת, כאילו עשינו לו המרה בעזרת הפקודה CStr.
בעיית גרשיים
בעיה נפוצה בקרב המתכנים, היא בעת שרשור מחרוזת הכוללת גרשיים. במקרה כזה, מה שקורה הוא שמחשב מבין שהמחרוזת נגמרת בעת ההופעה השניה של הגרשיים וגורמת להופעת שגיאה עקב המשך המחרוזת ללא כל סימן. על תופעה זו ניתן להתגבר בקלות ע"י הכפלה של הגרשיים. כך מבין המחשב שברצוננו להזין גרשיים בתוך מחרוזת.
text = "My name is Adam Liwski and I am an "ASP Developer""
טעות, מכיוון שהמחשב חושב שהמחרוזת נגמרת פה ^
text = "My name is Adam Liwski and I am an ""ASP Developer"""
זה נכון,שימו לב להכפלת הגרשיים שבתוך המחרוזת.
טעויות שרשור הן טעויות נפוצות ביותר וגם מתכנתים מנוסים מאוד טועים בשרשור. עם הזמן לומדים לטעות פחות ולזהות טעויות במהירות.
אז לא להתייאש, לתרגל - והרבה!
אם אתם משתמשים ב-Visual InterDev אז יש לי גם טיפ שיכול לעזור לכם לזהות טעויות עוד בשלב הכתיבה.
ניתון להגדיר צבע למחרוזות ואז בזמן שתוחמים מחרוזת, צבעה ישתנה. זה יעזור לנו לראות שבאמת תחמנו את המחרוזת ושביצענו את השרשור כמו שצריך.
בכדי לבצע את הגדרת הצבעים, יש ללכת לתפריט Tools -> Options... -> Text Editor -> Font and Colors
ב- Display items: לבחור String ואז בתיבת הגלילה item foreground: לבחור איזה צבע שבא לכם וללחוץ על OK.
מעכשיו כל מחרוזת תהיה בצבע אותו בחרתם.
לסיכום, אין כמעט אפליקציה בה לא נבצע שרשור, שרשור הוא דבר בסיסי שיש לשלוט בו ולדעת לבצע אותו מבלי לאמץ את תאי המח יותר מידי. שליטה שכזו תזרז את תהליך כתיבת הקוד ותשמש אותנו לאורך כל הדרך...
בהצלחה!
|