PracticU

פרויקט ב-#C - מחשבון פשוט - חלק 12

בלי כתוביותעם כתוביות
PracticU › פרויקט מעשי ב-#C - בונים מחשבון פשוט › פרויקט ב-#C - מחשבון פשוט - חלק 12
מילון מושגים:
משתנה - שם שמפנה למקום בזיכרון שבו נשמר ערך שיכול להשתנות במהלך ריצת התוכנית, כמו מספר, טקסט או אובייקט.
תנאי - ביטוי לוגי בקוד שתוצאתו אמת או שקר, וקובע אילו פקודות יתבצעו בהתאם לערכו.
מאפיין - תכונה שמצמידים לרכיב ומתארת אותו או את התנהגותו, למשל מאפיין של תגית HTML או שדה באובייקט.

פרויקט ב-#C - מחשבון פשוט - חלק 12
השיעור מוסיף לתוכנה את פונקציות הזיכרון של המחשבון: M+ (הוספה לזיכרון), MS (שמירה), MR (שחזור) ו-MC (ניקוי). המרצה מדגים כל פעולה בדוגמה, ומשווה את ההתנהגות למחשבון של Windows.
השלבים העיקריים
1. שינוי הפריסה: מוסיפים לוח משמאל לתצוגה עם ארבעה כפתורי זיכרון ותווית M שמופיעה כשיש ערך בזיכרון.
2. פאנל מעוצב: משתמשים ב-Panel עם Border Style בסגנון Fixed 3D, כדי שהלוח ייראה כמו במחשבון. תווית M מוסיפים בתוך הפאנל כי לפאנל אין טקסט משלו.
3. משתנה זיכרון: מוגדר משתנה גלובלי מסוג float. בלחיצה על MS הערך מתעדכן מהתצוגה.
4. הצגת הסימן M: התכונה Visible של התווית מוגדרת לפי הערך: אם הזיכרון שונה מאפס, התווית נראית. בתנאי משתמשים בביטוי ישיר ולא במשפטים ארוכים.
5. MR: מעתיקים את הערך מהזיכרון לתיבת הטקסט עם ToString.
6. M+: מוסיפים לתצוגה לזיכרון, ומעדכנים את הנראות של התווית.
7. MC: מאפסים את הזיכרון ומסתירים את התווית.
שימו לב
- אחרי MR יש להוסיף נקודה עשרונית, כדי שהתצוגה תישאר עקבית עם מנגנון הנקודה הקיים.
- כשמשנים מאפיין של פקד בזמן פיתוח, התוצאה נראית רק אחרי הרצה מחדש.
- המרצה מציין שאפשר לכתוב את הבדיקה בשתי דרכים, מפורטת או מקוצרת, ושהמקוצרת קריאה יותר לרוב.
השיעור הבא בקורס: פרויקט ב-#C - מחשבון פשוט - חלק 13

פרקי ההרצאה: פרויקט ב-#C - מחשבון פשוט - חלק 12

  1. 00:00

    הכרת פונקציות הזיכרון במחשבון של Windows

  2. 00:43

    דוגמה: אחסון ושחזור מספר בזיכרון

  3. 02:38

    הוספת ארבעה כפתורי זיכרון לממשק

  4. 03:38

    מתן שמות לכפתורי הזיכרון

  5. 05:24

    פאנל ו-Label להצגת סימן M

  6. 08:24

    משתנה זיכרון מסוג float

  7. 10:23

    הפיכת סימן M לנראה בזמן הפעלה

  8. 12:54

    פעולת Memory Store והצגת הסימן

תמלול ההרצאה: פרויקט ב-#C - מחשבון פשוט - חלק 12

הטקסט המלא של הדקות הראשונות בהרצאה «פרויקט ב-#C - מחשבון פשוט - חלק 12» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:07

    היום אנחנו רוצים לטפל במשהו שנקרא memory החלק השמאלי פה של המחשבון רובנו לא יודעים להשתמש בו, אז בואו קודם כל נלמד איך משתמשים בו בואו נצמצם רק את זה זה המחשבון שלנו, נעזוב אותו רגע זה המחשבון של הווינדאוז איך משתמשים בזיכרון, בפונקציות הזיכרון של המחשבון אז בואו נגיד אותם בעל פה

  2. 00:30

    אז יש פה memory פלוס, הוספה לזיכרון, הוספת ערך לזיכרון ממורי סטור, אחסון מספר בזיכרון ממורי ריקול, שחזור מספר מהזיכרון ממורי קליר, ניקוי הזיכרון והפאנל הזה שמציג פה אם כאשר אנחנו זוכרים משהו בזיכרון בואו ניקח דוגמה, בואו ניקח את הספרה אחת ונגיד לו ממורי סטור עכשיו הוא מציג לנו פה את האם הזו

  3. 00:59

    נגיד לו קליר, זה יתאפץ אבל הממורי עדיין נשאר נגיד לו ממורי ריקול, אז הוא זוכר את האחד בוא נגיד לו 56 memory store אז הוא זוכר את ה-56 clear memory recall 56 בוא נגיד לו עכשיו תוסיף ל-56 95 נגיד לו memory פלוס זאת אומרת תיקח את ה-56 זה כבר נהיה מסובך memory recall 56 בוא נוסיף ל-56 1 אז אני אומר לו תוסיף ל-56 1 אבל הוא לא מגיע

  4. 01:36

    לי פה בדיספליי אני ממשיך לתפקד ביום יום שלי אני ממשיך פה את הפעולות חשבון שלי ומדי פעם אני יכול להגיד לו תוסיף עוד משהו עכשיו כרגע ממורי ריקול כמובן זה 57 ממורי קליר מנקה את מה שיש עכשיו אין שום דבר כך שממורי ריקול מחזיר לי 0 אז ממורי פלוס מוסיף למה שיש בזיכרון את מה שמופיע פה ממורי סטור מאחסן לזיכרון את מה שמופיע לי פה

  5. 02:06

    ממורי ריקול משחזר לי את מה שיש בזיכרון לכאן ממורי קליר מנקה לי מהזיכרון הכל והפאנל הזה מציג לי M כאשר יש לי משהו בזיכרון טוב, אז בואו ננסה לעשות את זה אצלנו אז אנחנו רוצים שהמחשבון שלנו ייראה יותר דומה למחשבון של הווינדאוז אז אנחנו נפנה בצד שמאל מקום לממורי

  6. 02:42

    ניקח את האזור הזה ונזיז אותו נגיד לכאן כרגע שוב נציג את המחשבון, אז האמת שאדומים אלה אדומים, והם בדיוק ארבעה, אז ניקח את הארבעה האלה האדומים שלנו ונשכפל אותם.

  7. 03:06

    אז נגיד לו copy וpaste, משהו כזה, יפה. אז לפי הסדר, mplus, ms, mr, mc.

  8. 03:38

    בואו נעשה ככה אולי, זה אמור להיות mplus, נקרא לו memoryplus, פלוס, שני זה ms, ms, נקרא לו memory store, memory store, שלישי זה memory recall, נקרא לו קודם, memory recall, mr, ואחרון זה mc, memory clear, אז mc, mc, clear, אוקיי, ודבר נוסף שאנחנו צריכים לדעת על הדבר הזה, זה מסתבר שזה פאנל, אז יש לנו ב-common

  9. 05:01

    controls כל מיני דברים, אבל בקונטיינרים יש לנו, נגלול עוד טיפה למטה, פאנל. אני לוקח פאנל, מסמן ובואו פשוט נסמן פה ריבועון, משהו שכזה, יפה.

  10. 05:24

    אבל פאנל הוא לא בדיוק נראה אותו דבר, זה נראה משוקע. והאמת היא, אם אני אריץ את זה כמו שזה, אפילו את הקבקוב לא יראו, לא יראו כלום.

  11. 05:34

    אז מה שאני אשים פה, אני אשנה לו את ה... רגע, אני אגע בו. ויש לו Border Style ונבחר Fixed 3D וזה נראה הרבה יותר טוב.

  12. 05:50

    בואו נריץ את זה, זה מתחיל להיראות די דומה. אם נקטין את זה קצת אז זה די דומה. אוקיי, עכשיו לגבי הפונקציונליות. הבעיה היחידה היא שבפאנל, ניגע בפאנל, אם נחפש כאן משהו, פרופרטי שהיא קשורה לטקסט של הפאנל לא נמצא ב-T, תג, תג, אין פה טקסט.

  13. 06:27

    לפאנל אין טקסט. לא ניתן לכתוב ישירות לפאנל. אז אם אנחנו רוצים שה-M הזו תופיע בפאנל שלנו, אנחנו חייבים לקחת משהו כמו Label.

  14. 06:37

    אז בואו ניקח Label, נשנה את הערך של ה-Label, את הטקסט שלה ל-M גדולה, ונשים את ה-M בתוך הפאנל שלנו. נזיז אותה עם העכבר קצת כדי שהיא תהיה יותר ממורכזת כי אחרת היא לא תהיה ממורכזת.

  15. 06:59

    יפה. לפאנל שלנו, האמת היא שאני קורא לה פאנל אחד, ללייבל שלנו, אני גם קורא ללייבל אחד. בדיוק על אותו משקל של הטקסטבוקס שלי, אני קורא טקסטבוקס אחד.

  16. 07:14

    מניסיוני, לא צריך לתת שם לפקד או למשתנה, כאשר אין מהסוג שלו יותר מאחד. אז טקסטבוקס יש רק אחד, אז בסדר, שיקראו לו טקסטבוקס אחד. לייבל יש רק אחד, אז נקרא לו לייבל. הוא לא מתנגש בשם שלו בלייבל אחר.

  17. 07:35

    הפאנל לא מתנגש בשם שלו בפאנל אחר. הטקסטבוקס לא מתנגש. אבל הבטנים מתנגשים וחצי. והאמת היא שגם בטן אחד לא מתנגש, כי השם הטבעי שלו הוא שם מצוין.

  18. 07:47

    אז לא משנים שם של פקד, אלא אם כן יש סיבה. טוב, אז בואו נתחיל לעבוד על הקוד. בואו נגדיל פה את זה. אז מה בעצם אנחנו רוצים לעשות ב-memory store?

  19. 08:00

    נתחיל, נראה מה שהכי פשוט, memory store, memory store. אנחנו רוצים לקחת את הטקסטבוק, שהגיע הזמן קצת להגדיל אותו, ואולי את המחשבון, את הטופס, קצת להקטין.

  20. 08:14

    אבל אנחנו רוצים לקחת את מה שיש בטקסטבוקס ולשים אותו בתוך ה-memory, בתוך איזשהו משתנה גלובלי של memory. עכשיו, מבחינתנו המשתנה הזה צריך להיות float, כי אם נחזור רגע למחשבון של Windows ונגיד לו 12.35 memory store, ונגיד לו memory call, אני זוכר 12.32 או מה אמרתי לו?

  21. 08:39

    19.32 ממורי סטור ממורי כן כמובן בקיצור אז הוא זוכר גם פלוטים אז בעצם אנחנו צריכים איזשהו משתנה שיהיה מסוג פלוט אז נלך לממורי סטור האמת היא שבאותה הזדמנות כבר נגדיר ריג'ן עבור הממורי אז נגיד לו סראונד וויז ריג'ן ממורי קונטרול סי קונטרול וחצי שמאלה ואז קונטרול סי ונלך פה ידנית פה נעשה

  22. 09:20

    אנטר פה אנד רווח ופייסט עכשיו האמת היא שאת השם של הריג'ן אני לא חייב באנד ריג'ן לשים גם את השם של הריג'ן האמת היא שאני בכלל לא צריך לשים לא מחויב לשים שם לריג'ן אני פשוט אוהב שיש שם בהתחלה ושם בסוף לי נראה יותר סביר טוב, אז מה אנחנו רוצים לעשות? אנחנו רוצים לשמור במשתנה גלובלי את ה-memory.

  23. 09:45

    אז נלך לאזור של המשתנים הגלובליים, אז נגלול פה למעלה ל-Variables, ויש לנו פה משתנים. נגדיר float memory, זה הכל. נגלול בחזרה למטה ונגיד ש-memory ול-float.parts של textbox.text, זה הכל.

  24. 10:17

    אבל אחרי ששמענו את זה אנחנו צריכים להדליק את ה-M של ה-Memory אז האמת היא שכשהמחשבון מתחיל לרוץ, ה-M בכלל לא אמורה להיות Visible ה-M הזו, כשהמחשבון עולה, אז תכונה שנקראת Visible צריכה להיות בפולס תכונה Visible יכולה להיות או True או False, היא מסוג בוליון, אני יכול לבחור בפולס

  25. 10:43

    האמת היא שכשאני רוצה להפוך מ-True ל-False, מ-False ל-True, אני יכול לעשות דאבל קליק גם והוא מתחלף האמת היא שאני יכול לעשות דאבל קליק כאן והוא מתחלף אז נשים אותו בפולט, זאת אומרת שהמחשבון עולה אז הוא לא ויזיבל בואו נריץ את זה, מחשבון עלה, האם לא ויזיבל

  26. 11:07

    אני אגיד לו 12, ממורי סטור, כן, טוב זה לא עבד, למה זה לא עבד? בואו נלך לקוד, בואו נשים כאן ברייק פוינט ועוד פעם נגיד לו ממורי סטור, אוקיי, אה כי לא הפכנו את האם לוויזיבל אז בואו נעשה את זה, אז נגיד לו label.visible, התכונה ה-visible של ה-label תקבל את הערך, ואם נרחף מעל ה-visible נראה שהוא אומר

  27. 11:45

    שהוא מסוג false. בואו נעשה שיפט F5, נעצור את הריצה ושוב נרחף מעל ה-visible, אם אנחנו מסתכלים כתוב בול control.visible, זאת אומרת שה-visible היא תכונה של קונטרול ומסוג visible והוא גם הוא מסביר גם ש-gets or sets a value indicating whether the control is displayed.

  28. 12:06

    הוא נותן או מקבל ערך שאומר אם הקונטרול הוא מוצג. עכשיו, מה זה הקונטרול הזה? הקונטרול למעשה זה הבסיס של ה-label, אבל לא רק של ה-label, אלא של כל הפקדים. כל הפקדים בסופו של דבר יורשים מקונטרול.

  29. 12:31

    קונטרול זה האבא של כל הפקדים מבחינת ההיררכיה שלהם. עוד על ירושה ועוד הרבה מאוד על ירושה כמובן בהמשך ההכשרה שלכם, אבל כרגע רק בשביל הקריאות של אם אנחנו קוראים את זה שזה לא יבלבל אותנו, ויזוגו לתכונה שאנחנו, שלייבל יורש מקונטרול.

  30. 12:54

    זה מה שבעצם כתוב פה ומסוג בוליון. בוליון זה אומר שאני יכול לתת לו ערך true או false. במקרה הזה אני אתן לו כמובן true. טוב אז בואו ננסה עכשיו להריץ ושוב נגיד לו 12 memory store נסיר את הברייק פוינט ניתן לו לרוץ וה-M נהיה ויזיבול יפה הדבר הבא כמובן זה memory clear שירוקן את

  31. 13:25

    ה-M וגם יעשה את המשתנה שלנו ל-0 נחזור לגוי memory clear אז מאוד דומה אז קודם כל memory שווה ל-0 ו-label.visible שווה ל-false, בואו נריץ,

לקורס המלא: פרויקט מעשי ב‑#C אונליין

ההרצאה הקודמת: פרויקט ב-#C - מחשבון פשוט - חלק 11

ההרצאה הבאה: פרויקט ב-#C - מחשבון פשוט - חלק 13

הרצאות קשורות מקורסים אחרים

  • בניית מחשבון של חלונות
  • מחשבון מחירים של Azure
  • יצירת פרויקט Maven - חלק 1
  • מרכיבים של פרויקט ג'אווה

קורסים נוספים במסלול

  • קורס WinForms - תוכנות רגילות בווינדוס
  • פרויקט מעשי ב-#C - ספר טלפונים
  • פרויקט מעשי ב-#C - תוכנת צייר
  • קורס ADO.NET - חיבור אתר למסד נתונים
  • קורס תכנות מתקדם - #Advanced .NET C
  • קורס WCF - תקשורת למתקדמים בדוט-נט