שלום לכולם. בעקבות שאלות ששלחו לי לאחרונה כמה משתמשים, הבנתי שמדברים כאן באתר הרבה על 'סקריפטים' ועל מקשי קיצור, אבל חלק ניכר מהמשתמשים ב'תג' בכלל לא יודע מה זה 'סקריפט' ובאיזו ארוחה אוכלים אותו…, אז בשביל כל הנבוכים – פוסט קצר בנושא מהו סקריפט, מהי פונקציה, איך מתקינים אותם ואיזו פקודה יש לכתוב כדי להריץ אותם.
אז קודם כל – מהו 'סקריפט'?
'סקריפט' בתרגום חופשי פשוט הוא בעצם פיסת קוד המבצעת באופן אוטומטי פקודות מסויימות בתוכנה במקום המשתמש. הסקריפט בעצם מהווה תוספת לתוכנה בכך שהוא מאפשר פונקציות נוספות שלא קיימות בה.
כך למשל אחד הסקריפטים הפופולאריים ל'תג', הסקריפט 'צור קובץ מפתחות', שולף מכל המסמך קטעים המסומנים בקוד מסויים (את כל הכותרות של הפרקים, למשל), ומעתיק אותם למסמך חדש בתוספת ציון מספר העמוד בו הם ממוקמים. כך ניתן ליצור בקלות 'תוכן עניינים' לספר.
אילולא הסקריפט היה המעמד צריך לעבור על המסמך כולו, לאתר את הכותרות, להעתיק אותם אחת אחת למסמך חדש, ולציין ליד כל אחת מהם את מספר העמוד בו היא מופיעה. עבודה מורכבת ודי מציקה, ללא ספק…
כך הסקריפט באמצעות מספר שורות קוד, חוסך לנו דקות ארוכות ולפעמים אפילו שעות של עבודה קשה ומיותרת, ומיקל עלינו את החיים.
ומה זה 'פונקציה'?
'פונקציה' היא הגדרה לתהליך מסויים מתוך מספר תהליכים אותם מבצע הסקריפט.
לדוגמא: בעת הרצת הסקריפט 'העתק הדבק' של ר' יצחק רוזנבלום, נפתח דיאלוג ובו מספר לחצנים, כאשר אחד מהלחצנים מיועד להעתקת טקסט מ'תג' ל'וורד', ואחד להדבקת טקסט מ'וורד' ל'תג'.
בעת הלחיצה על הפקודה 'העתק' למשל, הסקריפט מפעיל את הפונקציה 'Copy' שהיא רק אחת מהפונקציות שהסקריפט יודע לבצע. כאשר תלחצו על הכפתור 'הדבק' תופעל הפונקציה 'Paste', וכן על זו הדרך. אפשר לומר שרוב ככל הסקריפטים מחולקים למספר פונקציות בצורה הנ"ל.
הפעלת 'פונקציה' באופן ישיר, בעצם מקצרת את הדרך עוד יותר, במקום להריץ את הסקריפט ואז ייפתח דיאלוג ואז ללחוץ על כפתור מסויים, מריצים ישר את אותה הפונקציה שהכפתור ההוא מפעיל, ומקבלים את אותה תוצאה בלי דיאלוג ובלי בלאגן…, תג הרי ידועה כתוכנה לעצלנים כרוניים.
השתכנעתי…, אז איך מפעילים סקריפט?
בשביל להריץ סקריפט ב'תג' יש צורך שקובץ הסקריפט (בסיומת PRG או LIB) יהיה ממוקם באחד משני המקומות הבאים:
- בספריית תג. 'ספריית תג' הוא 'שם הקוד' לתיקייה TAG שבה בעצם ממוקמים קבצי ההפעלה של תוכנת 'תג'. בדרך כלל (אלא אם כן שיניתם את הגדרות המיקום בעת ההתקנה) תיקייה זו ממוקמת בכונן C.
- בספרייה הפעילה כעת בתג. שימו לב, אין המדובר באותה התיקייה בה נמצא הקובץ שכרגע פתוח לכם בתוכנה, כי לא בהכרח שהתיקייה בה ממוקם הקובץ הפתוח כעת היא המוגדרת כ'ספרייה הפעילה' ב'תג'. אם ברצונכם לוודא מה הספרייה הפעילה ב'תג' כעת, תוכלו לראות זאת בתחתית החלון בצד שמאל.
לאחר שווידאנו שהסקריפט מונח במקומו הראוי לו, עלינו להזין את הפקודה שתפעיל אותו.
ב'תג' ישנה חלונית מיוחדת בה ניתן להזין פקודות שונות, גם פקודות עיצוביות וגם פקודות להפעלת סקריפטים או פונקציות. חלונית זו היא החלונית השמאלית ביותר בתפריט העליון של 'תג', זו שממוקמת מימין הכפתור G.
לאחר שהצבנו את הסמן בחלונית הפקודה של 'תג', עלינו להזין את פקודת ההרצה של הסקריפט כדלהלן. נשתמש בסקריפט 'צור קובץ מפתחות' כדוגמא, שבכדי להפעיל אותו עלינו להזין את הפקודה הבאה:
Run file "maf.prg"
פירוש הפקודה הוא – בתרגום פשוט מאנגלית – הרץ את הקובץ הנקרא maf.prg. אם נסתכל רגע בתיקיית 'תג' נוכל לראות ששמו המלא של הסקריפט 'צור קובץ מפתחות' הוא 'maf.prg'. לכן, בכתיבת הפקודה דלעיל, ביקשנו בעצם מהתוכנה להריץ את הסקריפט הזה.
חשוב לדעת שאין הבדל בין אותיות קטנות לגדולות בעת כתיבת הפקודה, אבל כן חשוב להקפיד על האיות המלא של שם הקובץ כולל הסיומת, וכן לשים מרכאות לפניו ואחריו.
לאחר כתיבת הפקודה הנ"ל ניתן לבצע את הפקודה באחת משלושת האופציות הבאות:
- בלחיצה על Enter ('אנטר').
- בלחיצה על הכפתור G שמשמאל לשורת הפקודה.
- בהקשת צמד המקשים Ctrl+G.
כל אחת מהאפשרויות הנ"ל תגרום לביצוע הפקודה שהזנתם בשורת הפקודה. במידה וכתבתם את הפקודה כמו שצריך, פעולת הסקריפט אמורה להתבצע ללא תקלות, ובדרך כלל ייפתח לכם הדיאלוג של הסקריפט (אלא אם כן הפעלתם סקריפט שמבצע פעולה מסויימת ללא פתיחת דיאלוג, כמו הסקריפט Tile.prg למשל).
במידה והזנתם את הפקודה בצורה שאינה תקינה, 'תג' תקפיץ לכם הודעת שגיאה עם הכיתוב 'Invalid expression', שפירושה בעברית היא: 'ביטוי לא חוקי'.
אם הזנתם את הפקודה כראוי אבל תג לא מצאה את הסקריפט באחת משתי המקומות הנזכרים לעיל, תקבלו הודעת שגיאה האומרת 'לא יכול לפתוח קובץ ……', שפירושה כי התוכנה חיפשה את הקובץ שביקשתם להפעיל, אך לא מצאה אותו ולכן אינה יכולה להפעילו.
הפעלת 'פונקציה' מסויימת בסקריפט
בכדי להפעיל 'פונקציה' מסויימת בסקריפט, עליכם לדעת במדוייק את שמה. וזאת באחת משני דרכים:
- במידה והסקריפט בסיומת PRG תוכלו לעיין בו על ידי פתיחתו ב'תג', ושם לאתר את הפונקציה הרצויה ולהעתיק את שמה.
- אם הסקריפט בסיומת LIB שמגינה על הקובץ מפני העתקה וקריאה, לא תוכלו לפתוח אותו, ולכן תצטרכו להיעזר ביוצר הסקריפט שיגלה את אוזנכם מהם הפונקציות שמכיל הסקריפט, ומה שמותיהם. בדרך כלל כאשר רוכשים סקריפט מקבלים מסמך הוראות קצר בו מפורטות הפונקציות ופקודות ההרצה שלהם.
לאחר שבידינו שם הפונקציה, נוכל להפעיל אותה באופן ישיר, על ידי הזנת הפקודה הבאה בשורת הפקודה של 'תג'. גם כאן לשם המחשה נשתמש בסקריפט 'העתק הדבק' של רוזנבלום, בסקריפט זה לצורך הפעלת הפונקציה הנקראת 'Paste', עלינו להזין את הפקודה הבאה:
Run file "CLIP.LIB" func "paste"
פקודה זו מבקשת מהתוכנה להפעיל את הפונקציה 'Paste' שבקובץ "CLIP.LIB".
שימו לב שגם כאן אין הבדל בין שימוש באותיות גדולות לקטנות, אך יש להקפיד על נתינת מרכאות קודם ולאחר שם הפונקציה.
במידה ונזין את שם הפונקציה שלא כראוי, נקבל הודעת שגיאה המבשרת כי 'Called function doesn't exist', שפירושה: 'הפונקציה שנקראה אינה קיימת', דהיינו הפונקציה שקראת לשימוש אינה קיימת בקובץ סקריפט הנ"ל.
זהו, עד כאן להערב. בפוסט הבא נלמד כיצד להוסיף סקריפטים או פונקציות לתוך אחד התפריטים של 'תג' ('עריכה', 'הצג', 'חיפוש' וכו'), וכן כיצד ניתן להגדיר מקש קיצור להפעלת סקריפט או פונקציה מסויימת.
נשמח לשמוע את חוות דעתכם כאן בתגובות…, בהצלחה!