כיצד ליצור מחשבון עם Visual Basic

פתח את Visual Basic 6, ובחר "Standard EXE" מתפריט הפרויקט החדש. תראה טופס ריק מופיע על המסך.

שנה את שם הפרויקט והטופס שלך על ידי לחיצה על "פרויקט 1" בצד ימין של המסך, ברשימת הפרויקט, והזנת שם חדש בשורת "שם" של תיבת המאפיינים, שאמורה להופיע מתחת לרשימת הפרויקט על ידי בְּרִירַת מֶחדָל. הקש "Enter" כדי לקבל את השם החדש. עשה את אותו הדבר עבור הטופס שלך (שם הטופס המוצע הוא "CalculatorUI"), הקפד להזין שם דומה גם במאפיין "Caption", מה שישנה את הטקסט בסרגל העליון של הטופס. שמור את הפרויקט בתיקייה חדשה במחשב שלך.

הוסף כפתורים ותיבת טקסט לטופס. ראשית, הוסף תיבת טקסט, שבה יופיעו המספרים שהוזנו במחשבון, כמו גם תוצאות החישובים. עשה זאת על ידי בחירה בלחצן TextBox מסרגל הכלים בצד שמאל של המסך, ולאחר מכן גרור עם העכבר את הגודל והמיקום הרצויים עבור תיבת הטקסט. לאחר שהצבת את ה-TextBox תוכל לשנות את הגודל והמיקום על-ידי גרירתו למיקום אחר של הטופס או על-ידי גרירת הידיות (הריבועים הקטנים) לאורך גבול ה-TextBox. הקפד לשנות את השורות הבאות בחלון המאפיינים, כאשר תיבת הטקסט נבחרה: "(שם)" = tbResult, "יישור" = 1- יישר ימני, "פורמט נתונים" = (לחץ על כפתור "..." כדי לבחור) מספר, "נעול" = נכון, ו "טקסט" = 0.

בחר בסמל CommandButton בסרגל הכלים וצור את הכפתור הראשון באותו אופן שיצרת את תיבת הטקסט להוספת לחצנים. לעיון, השתמש במחשבון Windows בתצוגה רגילה (תוכניות > אביזרים > מחשבון) כבסיס לפריסת המחשבון שלך, תוך השארת הלחצנים "MC", "MR", "MS" ו-"M+". בכל כפתור, שנה את המאפיינים הבאים (באמצעות כפתור "+" כדוגמה): "(Name)" = btnPlus, "Caption" = +. בצע את אותו הדבר עבור שאר כפתורי המחשבון, ולאחר מכן שמור את עבודתך. הטופס שלך אמור כעת להיות דומה לדוגמא המוצגת כאן.

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

עמום sLeft כמחרוזת, sRight כמחרוזת, sOperator As String עמום iLeft ככפול, iRight ככפול, iResult As Double Dim bLeft כבולאני

כל חישוב מורכב מארבעה חלקים: מספר משמאל לאופרטור (sLeft, iLeft), אופרטור (sOperator), מספר מימין לאופרטור (sRight, iRight) ותוצאה (iResult). על מנת לעקוב אם המשתמש מזין את המספר השמאלי או הימני, עלינו ליצור משתנה בוליאני, bLeft. אם bLeft נכון, הצד השמאלי של החישוב מוזן; אם bLeft הוא שקר, הצד הימני מוזן.

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

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

כפי שאתה יכול לראות, פונקציה זו לוקחת פרמטר מחרוזת, sNumber, אשר יכיל את המספר שהמשתמש לחץ עליו. אם bLeft נכון, מספר זה מצורף למחרוזת שמייצגת את המספר המוזן, sLeft, ותיבת הטקסט, tbResult, מתעדכנת כדי להציג את המספר החדש. אם bLeft הוא false, אותה פעולה מבוצעת באמצעות sRight במקום זאת.

לבסוף, צור פונקציית אירוע קליק עבור כל מספר שקורא לשגרת המשנה AddNumber שלנו. אתה יכול לעשות זאת בקלות על ידי לחיצה כפולה על כל כפתור מספר, מה שייצור עבורך את מבנה המשנה. לאחר מכן הוסף את השיחה ל-AddNumber, החלף את המספר במרכאות במספר המשויך ללחצן. עבור כפתור האפס, הקוד שלך ייראה כך:

באופן דומה, עבור הכפתור האחד, הקוד שלך ייראה כך:

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

אם bLeft נכון, כלומר המשתמש נכנס זה עתה לחלק השמאלי של החישוב, תת-השגרה הזו מגדירה את משתנה sOperator שיצרנו בשלב 5 כדי להיות שווה לאופרטור שהוזן, אשר מועבר ל-AddOperator כמחרוזת sNewOperator. השלב השני הוא להגדיר את bLeft ל-False, מכיוון שהזנת אופרטור פירושה שהמשתמש סיים להזין את הצד השמאלי של המשוואה. על מנת לטפל בערכים המחברים אופרטורים מרובים יחד, כגון 9 * 3 * 2 * 6, עלינו בדוק גם אם bLeft הוא false, כלומר המשתמש הזין אופרטור שבו ציפינו ל- שווים. ראשית אנו קוראים לאירוע Click for the equals (מתואר בשלב הבא), שעושה את החישוב ומגדיר את tbResult לתוצאה של מה שכבר הוזן. לאחר מכן אנו מנקים את sRight כדי שהמשתמש יוכל להזין את המספר הבא, ומגדירים את bLeft ל-False כדי שהתוכנית תדע שאנו נכנסים לצד ימין של החישוב הבא.

לבסוף, הוסף קריאה AddOperator לאירוע קליק של כל כפתור מפעיל, תוך שימוש באותה שיטה שבה השתמשנו בשלב 7 ליצירת אירועי קליק עבור לחצני המספרים. הקוד שלך עבור כפתור הפלוס ייראה כך:

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

שלוש שורות הקוד הראשונות בודקות אם שני הצדדים של החישוב הוזנו יחד עם אופרטור. אם מזינים רק את הצד השמאלי ואופרטור, הערך של הצד השמאלי מועתק לימין, כדי שנוכל לחקות התנהגות המחשבון הסטנדרטית לטיפול בערך כמו 9 * =, שמכפיל 9 בעצמו כדי לקבל תוצאה של 81. שאר הקוד יפעל רק אם מזינים שמאל, ימין ואופרטור, ומתחיל בהעתקה מחרוזות המספרים לתוך משתני ה-iLeft וה-iRight הדו-טיים שלנו, שיכולים לעשות את המציאות חישובים. הצהרת Select Case מאפשרת לנו להפעיל קוד שונה בהתאם לאופרטור שהוזן, ומבצעת את החישוב בפועל, תוך מיקום התוצאה ב-iResult. לבסוף, אנו מעדכנים את תיבת הטקסט עם התוצאה, מעתיקים את התוצאה ל-sLeft, מאפסים את sRight ומגדירים bLeft = True. שורות אחרונות אלו מאפשרות לנו לקחת את תוצאת החישוב ולהשתמש בה לביצוע חישוב נוסף.

טפל בשלושת לחצני הפעולה האחרונים: sqrt, % ו-1/x. עבור אירוע קליק של כפתור השורש הריבועי, הקוד שלך ייראה כך:

11 שורות הקוד הראשונות מוודאות שאם אין לנו ערך שהוזן עבור שני הצדדים של המשוואה, אנו מחליפים אפס במקום לנסות להעתיק מחרוזת ריקה לתוך iLeft או iRight, מה שיגרום ל- שְׁגִיאָה. הקווים האמצעיים מבצעים את פונקציית השורש הריבועי בחלק הנוכחי של החישוב, שמאלה או ימינה. לבסוף, אנו הופכים את הבדיקות שעשינו בהתחלה כך שאפס יועתק כמחרוזת ריקה בחזרה ל-sLeft ו-sRight.

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

לבסוף, אירוע 1/x, או שבר, קליק, שדומה מאוד לקוד שלמעלה:

הוסף קוד לטיפול בכפתורי C ו-CE. C מנקה את כל הקלט למחשבון, בעוד ש-CE מנקה רק את המספר המוזן כעת.

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

עֵצָה

אם אתה נתקל בשגיאות, בדוק את הקוד שלך שורה אחר שורה, תוך התמקדות בשורות ש-VB קרא כמכילות שגיאות, והשווה אותו לקוד שלמעלה. הקוד הכלול במאמר זה נבדק במלואו כדי להיות נקי משגיאות, כך שהעתקה נאמנה שלו תגרום לתוכנית פונקציונלית. אם אתה משתמש בגרסה קודמת של Visual Basic, אתה עלול להיתקל בבעיות מסוימות שבהן בוצעו שינויים בשפה בין הגרסאות. גרסאות קודמות של VB, למשל, השתמשו במתמטיקה. Sqrt() במקום Math. Sqr() לביצוע פעולת שורש ריבועי. בדוק את ההפניות עבור הגרסה הספציפית שלך כדי לראות אם יש צורך בשינויים כלשהם.