שלום לכולם. בפוסט שעבר סקרנו בקצרה את המושגים 'סקריפט' ו'פונקציה' והסברנו איך מריצים אותם מתוך תוכנת 'תג'.
במאמר הזה נסביר כיצד מתקינים סקריפטים ופונקציות לתוך התפריטים של תג, על מנת שנוכל להפעיל אותם בלחיצה עליהם כמו שאר הפקודות המופיעות בתפריט. ובנוסף נלמד כיצד מגדירים קיצורי מקשים להפעלת סקריפטים או פקודות למיניהם.
הוספת פקודות לתפריט 'תג'
לפני שנתחיל ראוי לציין שעד לא מזמן לא היה ניתן להוסיף פקודות לשום תפריט מלבד התפריט 'סקריפט' שבתוכנה. רק החל מהעדכון האחרון (גירסה 3.97) הורחבה האופציה לכל שאר התפריטים (מלבד התפריט 'קובץ', שבו עדיין אין אפשרות להוסיף פקודות). ועל כך תודתנו נתונה לר' דניאל וייסמאן שמשקיע רבות על מנת להפוך את השימוש בתוכנה לחוויה נעימה ונוחה יותר.
על מנת להוסיף פקודה או פונקציה לאחד מתפריטי תג, עלינו להוסיף מספר שורות קוד בקובץ הנקרא TAG.INI שבתיקיית 'תג'. ניתן לפתוח את הקובץ הנ"ל בכל כתבן שהוא, ואפשר ישירות מתוך תוכנת תג.
כדי לפתוח את הקובץ מתוך תוכנת 'תג', הקישו על 'קובץ'> 'פתח', דפדפו לכונן C, פתחו את התיקייה TAG, בשדה התחתון 'רשימת קבצים מסוג' בחרו באופציה 'הכל'. כעת דפדפו באיזור השמאלי של החלון כמעט עד לסוף הרשימה, הקליקו על הקובץ TAG.INI ולחצו על 'אישור' (או לחילופין הקליקו פעמיים ברציפות על שם הקובץ).
לאחר שפתחתם את המסמך דפדפו לסוף הקובץ, ושם הוסיפו את הקוד הבא, המהווה בעצם 'כותרת' של שם התפריט ('הצג', 'עריכה' וכו'), שתחתיה יש להוסיף את הפקודות אותם ברצונכם להוסיף לאותו תפריט:
- בכדי להוסיף פקודה בתפריט 'עריכה' הוסיפו את הקוד הבא:
[HEBREW EDIT MACROS]
- בכדי להוסיף פקודה בתפריט 'הצג' הוסיפו את הקוד הבא:
[HEBREW VIEW MACROS]
- בכדי להוסיף פקודה בתפריט 'חיפוש' הוסיפו את הקוד הבא:
[HEBREW SEARCH MACROS]
- בכדי להוסיף פקודה בתפריט 'סימון' הוסיפו את הקוד הבא:
[HEBREW MARKUP MACROS]
- בכדי להוסיף פקודה בתפריט 'תכונות' הוסיפו את הקוד הבא:
[HEBREW ATTRIBUTES MACROS]
- בכדי להוסיף פקודה בתפריט 'עיצוב' הוסיפו את הקוד הבא:
[HEBREW LAYOUT MACROS]
- בכדי להוסיף פקודה בתפריט 'סקריפט' הוסיפו את הקוד הבא:
[HEBREW SCRIPT MACROS]
- בכדי להוסיף פקודה בתפריט 'עזרה' הוסיפו את הקוד הבא:
[HEBREW HELP MACROS]
יוצאים מן הכלל שני תפריטים:
1. התפריט 'קובץ' – אם תרצו להוסיף פקודה לתפריט 'קובץ', עליכם לאתר בקובץ TAG.INI את השורה הזו: [HEBREW MACROS]
, ותחתיה להוסיף את הפקודה כמו שנראה בהמשך.
2. התפריט 'חלון' – שככל הנראה כרגע אין אפשרות להוסיף בו תפריטים משום מה…
שימו לב: כל הקודים הנ"ל מתייחסים למשתמשים אשר ממשק ה'תג' שלהם הינו בעברית. במידה ואתם משתמשים בממשק האנגלי של 'תג', הוסיפו את אותם קודים, בשינוי קטן כדלהלן: במקום המילה HEBREW
כתבו ENGLISH
.
עד כאן זוהי הוספת ה'כותרת'. מתחתיה יש להוסיף שורת קוד [שורה אחת לכל פקודה שברצונכם להוסיף…], המורכבת משני חלקים:
החלק הראשון הוא השם שברצונכם להעניק לאותה פקודה. הטקסט שתזינו כאן הוא הטקסט שיופיע בסופו של דבר בתוך התפריט אליו הוא נוסף [כזכור, כדי לכתוב בעברית יש להקיש Ctrl+L]. לאחר השם יש להוסיף סימון = שיהווה חוצץ בינו לבין פקודת ההרצה שלאחריו. אם נרצה להוסיף את הסקריפט 'maf.prg לדוגמא, ראשית נכתוב כך:
צור תוכן עניינים=
לאחר מכן נעתיק במדוייק את הפקודה המריצה את הסקריפט או המפעילה את הפונקציה אותה ברצונכם להוסיף, בדיוק כפי שהייתם מקלידים אותה בשורת הפקודה של 'תג'. לדוגמא:
Run file "maf.prg"
דוגמא נוספת: נניח שברצוננו להוסיף את הסקריפט 'ספירת מילים' של ר' ישורון קובי לתוך התפריט 'סימון', אלו הפקודות שעלינו לבצע:
- להוסיף את שם התפריט לקובץ TAG.INI – היות ואנו רוצים להוסיף את הפקודה לתפריט 'סימון', הפקודה שעלינו לכתוב היא:
[HEBREW MARKUP MACROS]
. - לכתוב את תיאור הפקודה כפי שתופיע מעתה בתפריט. לדוגמא:
ספירת מילים
. - להוסיף סימון
=
לאחר הפקודה. - להוסיף את פקודת ההפעלה של הסקריפט/ הפונקציה שרצוננו להוסיף, מתחת לשם התפריט שהוספנו קודם. במקרה שלנו:
run file "count.prg"
. - בסך הכל תיראה הפקודה כך:
ספירת מילים=run file "count.prg"
הוספת פונקציה לתפריט ב'תג'
הוספת פונקציה מתבצעת באותה הדרך בדיוק בה מוסיפים פקודת הרצה של סקריפט, אלא שמלבד שם הקובץ של הסקריפט, מוסיפים גם את שם הפונקציה, כמו שהסברנו בפוסט הקודם.
דוגמא להוספת פונקציה לתפריט ב'תג':
Run file "CLIP.LIB" func "paste"
הגדרת מקשי קיצור ב'תג'
על מנת להגדיר קיצור דרך לפקודה או לסקריפט מסוים, חובה שהפקודה תופיע קודם כל באחד מהתפריטים של 'תג'. זאת אומרת חייבים קודם כל לבצע את כל השלבים האמורים לעיל.
ולאחר מכן סימון =
ואת השם אותו ברצוננו להעניק לפקודה זו. בדוגמא שלנו: הדבק מחלונות לתג
לאחר שהפקודה כבר מופיעה באחד התפריטים, ניתן להגדיר לה קיצור מקשים כלדלהן:
- יש לפתוח את הקובץ 'TAG.INI', ולדפדף לתחתית הקובץ, לאיזור שתחת הכותרת
[MENU KEYS]
.
- כאן עליכם להוסיף את קיצור הדרך לפי הפרטים דלהלן. ראשית כל עליכם להזין את קיצור הדרך אותו ברצונכם ליצור:
- בכדי להגדיר קיצור המכיל את המקש 'קונטרול' (Ctrl) יש להזין את האות
C
, על מנת להגדיר קיצור עם המקש 'אלט' (Alt), יש להזין את האותA
, על מנת להזין קיצור עם המקש 'שיפט' (Shift), יש להזין את האותS
, ועל מנת להזין קיצור דרך לאחד ממקשי ה F שבראש המקלדת, יש להזין את שמו (לדוגמא:F3
), לאחר מכן מקישים רווח, ולאחריו את התו הנוסף שיצטרף למקשי הקיצור. כמובן, יש להזין את התו באנגלית בלבד.
שימו לב: ניתן להגדיר קיצור דרך לכל תו במקלדת, בצירוף אחד ממקשי המפתח (קונטרול/ אלט/ שיפט) בלבד. החריגים היחידים מכלל זה, הם מקשי ה F שבראש המקלדת (מעל שורת המספרים) אותם ניתן להגדיר כקיצורי דרך בפני עצמם וכנ"ל.
בכדי להגדיר את אחד ממקשי לוח המספרים הימני של המקלדת (לא בכל מקלדת יש), יש להזין את מקש המפתח הרצוי (קונטרול/ אלט/ שיפט), לאחריו רווח, לאחריו את האות N
, ולאחריה (בצמוד) את המספר הרצוי (לדוגמא: N1
).
- לאחר שהגדרנו את מקשי הקיצור, עלינו להגדיר איזו פקודה ברצוננו שהם יפעילו. חשם כך, לאחר כתיבת מקש הקיצור, יש להזין סימון
=
, ולאחריו את מספר התפריט ומספרה של הפקודה בתוך התפריט, עם הפסק נקודה ביניהם.
לדוגמא: לקביעת קיצור דרך להרצת הסקריפט 'צור קובץ מפתחות', יש להזין 8.6
– 8 בגלל שהפקודה 'צור קובץ מפתחות' נמצאת בתפריט 'סקריפט', שהוא התפריט השמיני במספרו בספירה מימין לשמאל. ו – 6 בגלל ש'צור קובץ מפתחות' זו הפקודה השישית ברשימה.
- לדוגמא: אם הוספנו את הסקריפט Tile.prg לתפריט 'הצג', והוא כעת מופיע בתפריט הנ"ל בשורה 15, ואנו רוצים להגדיר לו קיצור מקשים אלט+שיפט+H, כך זה אמור להיראות:
AS H=3.15
הוספת קיצורי מקשים בעדכון האחרון של 'תג'
זכינו שהר"ר יצחק רוזנבלום יקרא את הפוסט ויבשר אותנו בתגובות על עדכון חשוב שהתחדש בגירסא האחרונה של 'תג'.
במקום להוסיף שורה חדשה ולרשום את מספר התפריט ואת מספר הסקריפט בתפריט ואז לרשום את קיצור הדרך כמתואר לעיל, ניתן להוסיף את קיצור הדרך באותה שורה בה הוספנו את הסקריפט עצמו.
כמו שהסברנו בתחילת הפוסט ניתן להוסיף פקודות לתפריטים של תג, על ידי הכנסת פקודת ההרצה של הסקריפט במקום המתאים בקובץ TAG.INI.
בסוף השורה, לאחר כתיבת שם התצוגה של הפקודה ואת הפקודה עצמה ניתן להוסיף בסוגריים מסולסלות את קיצור הדרך הרצוי, ובכך לחסוך את הצורך להוסיף אותו בתחתית הקובץ בשורה בפני עצמה.
תועלת נוספת בהוספת קיצור דרך בשיטה הזו, היא שעד היום במידה והיינו שמוסיפים תפריטים מעל או מתחת הפקודה שיצרנו לה קיצור דרך, היינו גורמים בעצם לשינוי 'מספר התפריט' של אותה פקודה, דהיינו הפקודה שהייתה עד עכשיו מס' 15 ברשימה, נהפכת להיות 16, וממילא הקיצור דרך שהוגדר לפקודה מס' 15 חל על הפקודה הקודמת לה…
באופציה החדה לא משנה אם תוסיפו או תפחיתו פקודות ככל שתחפצו, קיצור הדרך נשאר משוייך לפקודה בכל אופן, כיון שהוא רשום באותה שורה שרשומה הפקודה בקובץ TAG.INI.
לדוגמא, כדי להוסיף את הסקריפט 'ספירת מילים' לתפריט ב'תג', ובנוסף להגדיר לו את קיצור המקשים Alt+Shift+Q נרשום את הפקודה הבאה:
Run file "count.prg" func "paste" {AS Q}
ו…גם לזה יש סקריפט!
לסיום נגלה את אזנכם שישנם שני כלים שגורמים (כמעט) לכל מה שכתבנו עד כה, להיות מיותר…
1. ר' ישורון קובי פיתח סקריפט ל'עמי ארצות', באמצעותו תוכלו להוסיף סקריפטים וכן להגדיר מקשי קיצור לפקודות מסויימות, מבלי 'לגעת בקוד', דהיינו מבלי לפתוח את הקובץ TAG.INI כלל.
את הסקריפט ניתן למצוא כאן, והוראות ההפעלה שלו פשוטים ביותר:
- מריצים את הסקריפט באמצעות שורת הפקודה, כמוסבר בפוסט הקודם.
- בחלקו העליון של הדיאלוג שנפתח בוחרים את סוג הסקריפט שברצוננו להוסיף (PRG/ LIB)
- ברשימה שמתחת בוחרים את התפריט אליו רוצים להוסיף את הסקריפט.
- בשדה שמתחת רושמים את שם הסקריפט המדוייק, ללא הסיומת
- מתחת לזה רושמים את שם התצוגה, הכיתוב הזה הוא בעצם השם שיופיע ברשימת התפריטים.
- לוחצים על 'החל' (Apply).
- סוגרים את תג ופותחים מחדש (או מרעננים ספריה), ו…הופ, הסקריפט מופיע בדיוק היכן שרצינו.
- במידה ורוצים להסיר סקריפט מסויים מהרשימה, מזינים את שמו המדוייק (כפי שהוא מופיע ברשימת התפריטים) בשדה התחתון שבדיאלוג, ולוחצים על 'מחק'.
בנוסף, ניתן באמצעות הסקריפט להגדיר או להסיר קיצורי מקשים לפקודות מסויימות:
- לוחצים על הכפתור שתחתית הדיאלוג.
- בוחרים מקשי מפתח (קונטרול/ אלט/ שיפט), אחד או כמה מהם.
- בוחרים ברשימה את התפריט בו מופיעה הפקודה אליה ברצוננו ליצור קיצור מקשים.
- מזינים את מספרה בתפריט (באיזו שורה מופיעה הפקודה הזו מתחילת התפריט, כמוסבר לעיל).
- מגדירים את המקש הרצוי לקיצור דרך.
- לוחצים על 'הקצה'. במידה וקיצור הדרך כבר משמש להפעלת פקודה אחרת, התוכנה תתריע על כך.
- במידה ורוצים למחוק קיצור מקשים קיים, מבצעים את שלבים 3 ו – 4 בלבד, ולוחצים על 'מחק'.
שתי החסרונות של השימוש בסקריפט (נכון לעכשיו): א. הוא תומך בהוספת סקריפטים רק לתפריטים 'קובץ' ו 'סקריפט', בעוד שכיום ניתן להוסיף פקודות גם לשאר התפריטים. ב. קשה לקבל תמונה ברורה על קיצרי המקשים הפנויים הזמינים. ז"א, לא ניתן לדעת אילו מקשים פנויים לשימוש ולא 'תפוסים' להפעלת פקודות אחרות.
הכלי השני שעומד לרשותינו, מיועד לניהול קיצורי מקשים לכל הפקודות שבכל התפריטים, נוסף לתוכנת 'תג' בגירסא האחרונה, ע"י יוצר התוכנה.
הכלי קרוי בשם 'מקש קיצור לתפריט', והוא נמצא בתפריט 'עזרה'. אופן השימוש בו פשוט בהחלט, ולכן לא נתעכב עליו (אלא אם כן יהיה ביקוש בתגובות…). רק נציין שניתן לצפות בקיצורים הפנויים למקש מסוים, על ידי לחיצה על 'קיצורים פנויים'. שם בוחרים את התו הרצוי, אות, ספרה או אחד ממקשי ה F ואז ברשימה הנגללת שמתחת תוכלו לראות את רשימת הצירופים הפנויים למקש זה.
עד כאן להיום חברים, נשמח לשמוע ביקורות ומחמאות בתגובות!
5 Responses
ב"ה
אני מתפעל מההסברים הברורים והבהירים, תודה רבה !!!
עוד נקודה בנוגע קיצורי-דרך;
כידוע בתג מאומץ הכלל של "תתאה גבר…" היינו ההגדרות שבתת-מחיצה שבו אנחנו עובדים כברירת מחדל מתגבר על ההגדרות של המחיצה הראשית (לפעמים בתנאי שמוגדר גם במחיצה הראשית ואכמ"ל).
ובכן, לפעמים אנחנו צריכים קיצורי-דרך שהם כבר בשימוש. כעת עם השדרוג של הקיצורי-דרך, ניתן להוסיף במחיצה הנוכחית שבו אנחנו עובדים קיצורי-דרך שהם כבר בשימוש, ורק במחיצה הזו זה יעבוד.
בגירסה האחרונה של תג ניתן גם להוסיף מקש קיצור-דרך באופן קל יותר, ע"י הוספת ההגדרות בסוף השורה אחרי הפקודה (שמכניסו בתפריט) בתוך צומדיים כגון {AS H}. כך לא צריכים לספור המספר שלו בתפריט וגם זה לא משתנה כשמוסיפים משהו בתפריט לפניו.
יישר כח על המידע החשוב! אוסיף את זה בגוף הפוסט.
ישר כח גדול!