
Debug.Assert, שבודקת תנאי בזמן פיתוח.Remove מסירה תו אחד במיקום שנקבע. המיקום הוא האורך פחות אחד.0. כמו במחשבון.Debug.Assert מוודא שהתו האחרון הוא ספרה, ומציג הודעה אם התנאי לא מתקיים.Debug.Assert פועל רק בזמן פיתוח ולא נשאר בגרסה הסופית.char.IsDigit.הטקסט המלא של הדקות הראשונות בהרצאה «פרויקט ב-#C - מחשבון פשוט - חלק 11» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אז זה Backspace, בואו נריץ את המחשבון של Windows, יפה, איך עושים Backspace, או מה זה בעצם Backspace? אז אם אני אומר לו 123, ואז אני עושה Backspace, אז במקום 123 יש לי 12, ועוד Backspace יש לי 1, ועוד Backspace יש לי 0.
ואם אני אגיד לו שוב 123.321, ואני אגיד לו Backspace, במקום .321, .320 Backspace, .3 Backspace, .Backspace, עדיין 123 נקודה.
Backspace נוסף, 120. שוב, ושלוש נקודה, Backspace לא עושה כלום. Backspace כן עושה. זאת אומרת, מיד אחרי הנקודה הוא בעצם זוכר משהו, ואז אני אומר לו, לא משנה מה, כשאני עושה Backspace, Backspace, Back, עוד Back אחד, אוקיי, הוא מוחק את העובדה שזו הייתה נקודה עשרונית,
ומפה אני יכול להמשיך בלי נקודה עשרונית. נקודה יסרונית חוזר עד לנקודה הזו שוב הנקודה יסרונית השתמרה חוזר מוריד את הנקודה היסרונית ממשיך בלי נקודה יסרונית יפה זה מין כזה נתיב הולך אחורה חוזר קדימה טוב אז בואו נעשה backspace מחשבון שלנו נשכפל איזה צבע הוא אדום עם המילה backspace מלאה יפה אז נעשה
לו copy ו-paste והאמת היא שיש פה עוד איזה CE אחד שאני לא יודע מה עדיין לא הבנתי מה זה CE אז בוא נגיד שזה יהיה ה-CE clear entry או משהו כזה ונעשה פה עוד פייסט אחד וזה יהיה ה-בקספייס בגודל של שני כפתורים לא כפתור וחצי זה פשוט הכפתורים שלהם טיפה יותר גדולים יפה אז זה נקרא בקספייס מילה מלאה אז זה בקפייס יפה בדיוק יצא וגם פה בקפייס וזה CE עד שאני לא יודע בדיוק מה זה בדיוק
בדיוק CE, אני ארשום פשוט CE, או אני יודע שזה קליר משהו, קליר E, ו-CE, יפה. אז ניגש ל-Backspace, דאבל קליק. אוקיי, אז מה זה בעצם Backspace?
אז Backspace בעצם לוקח את התו הימני ביותר ומסיר אותו. טוב, זה הוא עושה, כן, אם יש לי 1, 2, 3, התו הימני ביותר זה הנקודה העשרונית. אם אני עושה Backspace הוא מסיר, הוא לא מסיר את הימני ביותר.
אם הוא 123.321 אז הוא מסיר את הימני ביותר, זאת אומרת אם יש לנו if float שווה ל true וגם בקיצור אם את נגיד את זה ככה 123.321 אם הספרה הימנית ביותר היא ספרה היא לא נקודה יסרונית אז הוא יסיר את הימנית ביותר טוב האמת היא בוא נתחיל רק מאינט רגיל אז 123, Backspace מסיר לא את התו האחרון, אלא צעד אחד שמאלה.
אז בואו נעשה את זה. אז בואו נסיר, אז טקסט בוקס, נקודה טקסט, נקודה רימוב. נסיר, נשתמש באוברלוד השני.
נסיר, טוב, נסיר רק תו אחד. השאלה היא מאיזה מקום. איזה מקום? המקום לא הימני ביותר, אחד לפני. זה בואו נגדיר כאן int המקום האחרון ביותר זה last זה הימני ביותר ואותו אני לא רוצה בואו נגדיר במשתנה remove את מי להסיר אנחנו רוצים להסיר את המקום הימני ביותר פחות אחד אנחנו רוצים להסיר את last last זה הימני
ביותר פחות אחד מי זה last אז נגדיר עוד משתנה last ולאסט זה טקסטבוקס נקודה טקסט נקודה לנקס זה האורך פחות אחד כי האורך איך שאני אומר הוא לא מסיר את הרווח מפה כי האורך זה מספר התווים ומספר התווים זה לא אנחנו אנחנו הרי אפס בייסט אנחנו מתחילים באפס כשאני אומר לו פה תסיר את מישהו אז זה על בסיס אפס אז פה אני אגיד לו תסיר את
מי שרימוב את מי שהגדרנו כרימוב אז זה עוד פעם last זה המקום הימני ביותר, שזה הלנקס, שזה מספר התווים פחות אחד כי אנחנו אפס בייסט, הלנקס הוא אחד בייסט, נתחיל באחד אז יש לי את המקום הימני ביותר, שאם הייתי אומר לו תסיר את המקום הימני ביותר, את last, הוא היה מסיר את הנקודה העשרונית רימוב ולאס פחות אחד זה
טיפה שמאלה, בואו ננסה את זה 123 backspace, הוא לא מסיר לי כלום, למה הוא לא מסיר לי? אז בואו נשים breakpoint ונדבק אותו backspace אז בואו נראה אז 0 טוב אני כבר עליתי על הבעיה הכל בסדר רק מה הפונקציה רימוב אם נרחף מעליה שיפט F5 נסיר את הברייקפוינט נרחף מעל
רימוב ונראה שרימוב מחזירה סטרינג ואולי אני אציג את זה ככה יותר קריא רימוב מחזירה סטרינג זה הסטרינג החדש זאת אומרת רימוב בעצמה לא משפיע על הטקסט המקורי היא מחזירה סטרינג חדש שהוא בלי, כן, הוא מחוסר התו שביקשנו להחסיר.
אז נגיד ככה, טקסט בוקס נקודה טקסט שווה למה שרימוב תחזיר. F5, 123, Backspace יפה, Backspace יפה, Backspace לא יפה. או, אז אם נשארנו עם נקודה אחרי הרימוב, אז אנחנו רוצים לעשות כמו קליר, 0 נקודה, שזה ייראה יפה.
יפה. אז אם אחרי ה-remove, אם טקסטבוקס נקודה טקסט שווה לנותרנו עם נקודה עשרונית בלבד, אז טקסטבוקס נקודה טקסט שווה ל...
נקודה פסיק, שווה לאפס נקודה. F5, 123, Backspace, Backspace, Backspace, מצוין, יפה. 123.321 Backspace, ונראה כאילו הוא החסיר משהו, אבל שימו לב, 123.331 במקום 32, נכון?
נעשה שוב Backspace, ויש במקום 123.3 יש נקודה 1, מה בעצם קורה פה? אנחנו מסירים את התו, נחזיר מההתחלה, 123.321, אנחנו רוצים להסיר את האחד, אבל הוא יסיר את השתיים, הוא לא יסיר את האחד.
כשאני אומר לו backspace, הוא מסיר את השתיים. זאת אומרת, אם אנחנו במצב של isFloat שווה ל-true, וגם התו הימני ביותר הוא ספרה, שנייה אחת, אוקיי, אז מה אנחנו רוצים לעשות?
אז ככה, לגבי מספרים רציונליים, אם אנחנו כרגע מדברים על מספר רציונלי, זאת אומרת אם is float שווה ל true וגם הספרה הימנית ביותר היא ספרה אז אנחנו לא רוצים להוריד את remove אנחנו רוצים להוריד את last ואם הספרה הימנית ביותר או התו הימני ביותר הוא נקודה עשרונית אז אנחנו לא רוצים לעשות כלום אנחנו רוצים
להגיד לו שis float שווה ל false אז בואו נעשה את זה יפה אז לפני ההחלטה את