
הטקסט המלא של הדקות הראשונות בהרצאה «הדגמה של Singleton - חלק 8» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אוקיי, בשיעור של היום אני רוצה לדון באפשרות של חלון שהוא סינגלטון. נקרא, אולי גם נתרגם את המילה סינגלטון, יחידאי.
כן, יחידאי כאילו אומר שהוא אחד, אבל זה יכול להיות גם אפס, או מספר קבוע כמו שראינו. אבל בוא נגיד שאנחנו רוצים חלון סינגלטון, יחידאי.
זאת אומרת, כשהמערכת עולה, אז זה בעצם יתעלה בלי חלון. אבל מה שהיא כן תציג, היא תציג כאן למטה אייקון. זה נקרא סיסטם אייקון.
סליחה. בלחיצה על הסיסטם אייקון, רק אז יוצג החלון הראשי. וגם אז, רק אז הוא ייווצר. עכשיו, בשיעור הבא אנחנו נאפשר הקפצה של החלון, או יצירה והקפצה של החלון הראשי, גם בתנאי אחר, לתנאי שנכנסת שיחה.
אז גם מערכת התקשורת תרצה ליזום יצירה של החלון הראשי. אבל זה יהיה קצת יותר מורכב, אז אני עוד לא יודע מתי נספיק לעשות את זה. אבל כרגע אנחנו רוצים שבעליית המערכת לא יעלה חלון, אבל כן ייווצר סיסטם אייקון, שזה משהו אחר יחסית לגמרי, משהו נפרד.
בלחיצה על הסיסטם אייקון ייווצר ויקפוץ החלון בפעם הראשונה. ואנחנו נראה שבעצם אנחנו ממחזרים את הרעיון של הקוד של הסינגלטון שראינו בהרצאות הקודמות.
אוקיי, אז בואו נפתח את הפרויקט שעשינו עד עכשיו, ובואו נריץ אותו, נראה שהכל תקין, שלא קלקלנו בינתיים כי שיחקתי איתו קצת. אז לוגין יוצר ולוגאוט לא יוצר, מצוין, ואני יכול לבחור אודיו והוא יוצר אותו, פעם ראשונה, פעם שנייה לא, מצוין, נראה פשוט.
בסדר גמור, יש שם breakpoint, לא מעניין, בסדר. אז בואו נסגור את זה ובואו עכשיו נשנה את התוכנית. אז ניגש לפרוגרם, מה שאנחנו רוצים זה ליצור כאן System Icon.
אז איך עושים דבר שכזה? כי אנחנו רוצים לא רק ליצור System Icon, אנחנו גם לא רוצים ליצור כאן את החלון. מזה אנחנו רוצים להיפטר וגם מזה. לא רוצים את זה עכשיו מסתבר שכבר את זה אני יכול להריץ זאת תוכנית שניתן להריץ במקרה קונסול אם היינו מגדירים את התוכנית לא כקונסול אז לא היינו רואים את הקונסול אבל עדיין התוכנית
הייתה רצה אפשר לגשת לפרופרטיז ולהגדיר את התוכנית לא כקונסול אלא כווינדוס אפליקיישן ואז אותה להריץ תוכנית למעשה רצה כרגע הנה אני יכול לעצור אותה אבל אין לה שום חלון אבל היא רצה כרגע מה רץ רץ רצה כרגע לולאה אינסופית כן run היא לולאה אינסופית היא מחכה לסגירה של חלון ראשי נניח לארכיטקטורה נניח לאיך היא עובדת אבל כרגע התוכנית רצה
בוא נעצור אותה ונחזיר את הקונסול אנחנו רוצים את הקונסול בשביל ההודעות שאנחנו מדפיסים כדי לראות שדברים עובדים נכון יפה אז מה מה שאנחנו רוצים זה אנחנו רוצים ליצור את החלון אבל לא כאן אלא מתישהו מתישהו בפעם הראשונה שאנחנו מתייחסים אליו אז אנחנו רוצים ליצור אותו אוקיי אז לשם כך אין דרך לבדוק את זה אין לי שום דרך להגיד לחלון תיווצר
אלא אם אני מגדיר סיסטם אייקון או טריי אייקון אז איך את זה עושים זה נורא פשוט הולכים לחלון הראשי וגוררים או לוחצים על Notify, כן? זה נקרא Notify אייקון.
דאבל קליק על Notify אייקון, אז עכשיו הוא הוסיף לנו כאן Notify אייקון. עכשיו, לנוטיפיי אייקון הזה אני חייב להגיד Choose Icon, אני חייב לתת לו אייקון, והורדתי מהאינטרנט את הציור הזה, את הקובץ אייקון הזה, מאתר שנקרא Icon Archive, יש שם אייקונים בחינם.
אז זה האייקון שאני נותן לו, כן? זה אייקון של, זה נראה כמו וידאו קונפרנס כזה. חיפשתי תחת המילה קונפרנס, אז זה אחד מהדברים שהופיעו שם.
הורדתי אותו, שמתי אותו על שולחן העבודה, אז גם אתם יכולים. זה קובץ אייקון, זה הסוג שלו. סליחה, אני אומר לו אופן, ואם עכשיו אני עוד לא אריץ, בואו רגע נחזיר את התוכנית למצב הקודם, רק כדי לראות שיש לנו את האייקון, בואו נריץ, וכשאני מריץ עכשיו מופיע לי כאן האייקון.
כשאני מרחף מעליו, אז הוא אומר לי Notify Icon. אוקיי, אבל זה לא כל כך טוב, כי מופיע לי החלון בעליית המערכת, ואני לא רוצה שיופיע החלון בעליית המערכת.
אוקיי, אז נבטל את עליית החלון בעליית המערכת, אבל מה שהצלחנו לעשות זה שמנו כאן Notify Icon. המטרה היא לא שיהיה כאן Notify אייקון, המטרה היא בסך הכל לגנוב את הקוד, כן, אפשר ללכת פה לקוד הזה, לדיזיינר, ובדיזיינר יש לנו כאן את הקוד הזה, וכאן יש לנו את היצירה של ה-Notify אייקון, שזה מה שרציתי,
ולקראת הסוף יש לנו את השורות האלה, שגם אותן רציתי. זה הקוד שאני רוצה לקחת, או לפחות לראות. אז מה שאנחנו רוצים זה ליצור Notify אייקון חדש, אולי נכתוב את זה בעצמנו כדי שתראו את זה.
אז בעליית המערכת אנחנו ניצור Notify אייקון, אז Notify אייקון ני שווה New Notify אייקון ונגלול למטה ונראה איזה שדות חשובים, אז השדה אייקון הוא חשוב אז ני.אייקון שווה New אייקון וכאן הוא רוצה את הנתיב.
אני גם שמתי את הקובץ כאן וזה פחות חשוב, אני אפילו לא אשתמש בו אפילו. הוא כבר מופיע לי פה כל הנתיב, ניקח אותו, עכבריימני וקופי. וכאן נשים שטרודל ופייסט, אז זה הנתיב, זה האייקון.
השדה הבא שחשוב זה טקסט וויזיבל. אז ni.text שווה וידאו קונפרנס ו-ni.visible שווה true. אם את זה אני מריץ, F11, F11, 11, 11, אני מחכה כאן לראות שיופיע לי האייקון, F11, 11, והנה הוא הופיע, והוא כבר מתפקד, יפה.
F5, והוא נשאר פה למטה, מצוין. בואו נסגור, מה שאני רוצה עכשיו להוסיף זה תגובה ללחיצה,