So erstellen Sie einen Taschenrechner mit Visual Basic

Öffnen Sie Visual Basic 6, und wählen Sie "Standard EXE" aus dem neuen Projektmenü. Auf dem Bildschirm wird ein leeres Formular angezeigt.

Benennen Sie Ihr Projekt und Ihr Formular um, indem Sie in der Projektliste auf der rechten Bildschirmseite auf "Projekt1" klicken. und geben Sie in der Zeile "Name" des Eigenschaftenfelds einen neuen Namen ein, der unter der Projektauflistung von. erscheinen soll Ursprünglich. Drücken Sie "Enter", um den neuen Namen zu akzeptieren. Machen Sie dasselbe für Ihr Formular (ein vorgeschlagener Formularname ist "CalculatorUI") und stellen Sie sicher, dass Sie auch in der "Caption"-Eigenschaft einen ähnlichen Namen eingeben, wodurch der Text in der oberen Leiste des Formulars geändert wird. Speichern Sie das Projekt in einem neuen Ordner auf Ihrem Computer.

Fügen Sie dem Formular Schaltflächen und ein Textfeld hinzu. Fügen Sie zunächst ein Textfeld hinzu, in dem die in den Taschenrechner eingegebenen Zahlen sowie die Ergebnisse der Berechnungen angezeigt werden. Wählen Sie dazu die Schaltfläche TextBox aus der Symbolleiste auf der linken Seite des Bildschirms aus und ziehen Sie dann mit der Maus die gewünschte Größe und Position für die TextBox. Nachdem Sie die TextBox platziert haben, können Sie die Größe und Position ändern, indem Sie sie an eine andere Position im Formular ziehen oder indem Sie die Ziehpunkte (die kleinen Quadrate) entlang des Rahmens der TextBox ziehen. Stellen Sie sicher, dass Sie die folgenden Zeilen im Eigenschaftenfenster ändern, während die TextBox ausgewählt ist: "(Name)" = tbResult, "Ausrichtung" = 1- Rechtsbündig, "Datenformat" = (zum Auswählen auf die Schaltfläche "..." klicken) Zahl, "Gesperrt" = Wahr und "Text" = 0.

Wählen Sie das Befehlsschaltflächensymbol auf der Symbolleiste aus, und erstellen Sie die erste Schaltfläche auf dieselbe Weise, wie Sie das Textfeld zum Hinzufügen von Schaltflächen erstellt haben. Verwenden Sie als Referenz den Windows-Rechner in der Standardansicht (Programme > Zubehör > Rechner) als Grundlage für Ihr Rechnerlayout und lassen Sie die Schaltflächen "MC", "MR", "MS" und "M+" weg. Ändern Sie auf jeder Schaltfläche die folgenden Eigenschaften (am Beispiel der Schaltfläche "+"): "(Name)" = btnPlus, "Caption" = +. Machen Sie dasselbe für den Rest der Taschenrechnertasten und speichern Sie dann Ihre Arbeit. Ihr Formular sollte nun dem hier gezeigten Beispiel ähneln.

Fügen Sie den Code hinzu. Beachten Sie, dass Sie, wenn Ihre Schaltflächen und Ihr Textfeld nicht den gleichen Namen haben, wie der hier aufgeführte Code erwartet, benötigen um die Namen so zu ändern, dass sie Ihren Schaltflächen und Ihrem Textfeld entsprechen, oder ändern Sie Ihre Schaltflächen und Ihr Textfeld so, dass sie damit übereinstimmen Code. Zuerst müssen wir einige Variablen für die Verarbeitung der Taschenrechnereingaben erstellen:

Dim sLeft As String, sRight As String, sOperator As String Dim iLeft As Double, iRight As Double, iResult As Double Dim bLeft As Boolean

Jede Berechnung besteht aus vier Teilen: einer Zahl links vom Operator (sLeft, iLeft), einem Operator (sOperator), einer Zahl rechts vom Operator (sRight, iRight) und einem Ergebnis (iResult). Um zu verfolgen, ob der Benutzer die linke oder rechte Zahl eingibt, müssen wir eine boolesche Variable, bLeft, erstellen. Wenn bLeft wahr ist, wird die linke Seite der Berechnung eingegeben; wenn bLeft false ist, wird die rechte Seite eingegeben.

Initialisieren Sie die bLeft-Variable. Wir tun dies, indem wir eine Form_Load-Subroutine erstellen, die Sie entweder wie hier aufgelistet eingeben oder automatisch erstellen können, indem Sie auf einen Teil des Formulars doppelklicken, der nicht von einer Schaltfläche oder einem Textfeld abgedeckt wird. Innerhalb der Funktion müssen wir bLeft auf True setzen, da die erste eingegebene Zahl der linke Teil ist:

Erstellen Sie ein Unterprogramm, das das Klicken auf eine der Zifferntasten handhabt. Wir erstellen dies als Unterprogramm, da wir für jede Schaltfläche identischen Code verwenden und die Verwendung eines Unterprogramms bedeutet, dass derselbe Code nicht zehnmal wiederholt werden muss. Geben Sie unter der End Sub-Zeile der Subroutine Form_Load Folgendes ein:

Wie Sie sehen, benötigt diese Funktion einen String-Parameter, sNumber, der die Zahl enthält, auf die der Benutzer geklickt hat. Wenn bLeft wahr ist, wird diese Zahl an die Zeichenfolge angehängt, die die eingegebene Zahl darstellt, sLeft, und das Textfeld tbResult wird aktualisiert, um die neue Zahl anzuzeigen. Wenn bLeft false ist, wird dieselbe Operation stattdessen mit sRight ausgeführt.

Erstellen Sie schließlich eine Click-Ereignisfunktion für jede Nummer, die unsere AddNumber-Subroutine aufruft. Sie können dies ganz einfach tun, indem Sie auf jede Nummernschaltfläche doppelklicken, wodurch die Unterprogrammstruktur für Sie erstellt wird. Fügen Sie dann den Aufruf zu AddNumber hinzu und ersetzen Sie die Nummer in Anführungszeichen durch die Nummer, die der Schaltfläche zugeordnet ist. Für die Null-Schaltfläche sieht Ihr Code so aus:

Ebenso sieht Ihr Code für die eine Schaltfläche so aus:

Behandeln Sie die Operatoren: plus, minus, mal und dividieren. Wir werden dies wie im letzten Schritt tun und eine Unterroutine erstellen, die in den Click-Ereignissen für die Operator-Schaltflächen aufgerufen wird. Das Unterprogramm sieht wie folgt aus:

Wenn bLeft wahr ist, was bedeutet, dass der Benutzer gerade den linken Teil der Berechnung eingegeben hat, setzt dieses Unterprogramm die sOperator-Variable, die wir in Schritt 5 erstellt haben, um dem eingegebenen Operator zu entsprechen, der als String an AddOperator übergeben wird sNewOperator. Der zweite Schritt besteht darin, bLeft auf False zu setzen, da die Eingabe eines Operators bedeutet, dass der Benutzer mit der Eingabe der linken Seite der Gleichung fertig ist. Um Einträge zu verarbeiten, die mehrere Operatoren aneinanderreihen, wie z. B. 9 * 3 * 2 * 6, müssen wir Überprüfen Sie auch, ob bLeft falsch ist, d. h. der Benutzer hat einen Operator eingegeben, bei dem wir einen erwarteten gleicht. Zuerst rufen wir das Click-Ereignis für die Gleichheitsschaltfläche auf (beschrieben im nächsten Schritt), das die Berechnung durchführt und tbResult auf das Ergebnis der bereits Eingegebenen setzt. Dann löschen wir sRight, damit der Benutzer die nächste Zahl eingeben kann, und setzen bLeft auf False, damit das Programm weiß, dass wir als nächstes die rechte Seite der Berechnung eingeben.

Fügen Sie schließlich dem Click-Ereignis jeder Operatorschaltfläche einen AddOperator-Aufruf hinzu. Verwenden Sie dabei dieselbe Methode wie in Schritt 7, um die Click-Ereignisse für die Ziffernschaltflächen zu erstellen. Ihr Code für die Plus-Schaltfläche sieht so aus:

Erstellen Sie das Click-Ereignis für die Gleichheitsschaltfläche, den komplexesten Code in diesem Programm. Erstellen Sie die Unterroutinenstruktur wie für die anderen Schaltflächen, indem Sie in Ihrem Formular auf die Gleichheitsschaltfläche doppelklicken. Ihre Subroutine sieht so aus, wenn Sie den Code eingegeben haben:

Die ersten drei Codezeilen prüfen, ob beide Seiten der Berechnung zusammen mit einem Operator eingegeben wurden. Wenn nur die linke Seite und ein Operator eingegeben werden, wird der Wert der linken Seite nach rechts kopiert, damit wir nachahmen können das Standardverhalten des Taschenrechners für die Behandlung einer Eingabe wie 9 * =, die 9 mit sich selbst multipliziert, um ein Ergebnis von 81 zu erhalten. Der Rest des Codes wird nur ausgeführt, wenn links, rechts und Operator eingegeben werden, und beginnt mit dem Kopieren die Zahlenketten in unsere iLeft- und iRight-Variablen vom Typ Double, die das eigentliche tun können Berechnungen. Die Select Case-Anweisung ermöglicht es uns, unterschiedlichen Code auszuführen, je nachdem, welcher Operator eingegeben wurde, und führt die eigentliche Berechnung durch, wobei das Ergebnis in iResult platziert wird. Schließlich aktualisieren wir die Textbox mit dem Ergebnis, kopieren das Ergebnis in sLeft, setzen sRight zurück und setzen bLeft = True. Diese letzten Zeilen ermöglichen es uns, das Ergebnis der Berechnung zu verwenden und es für eine weitere Berechnung zu verwenden.

Behandeln Sie die letzten drei Bedientasten: sqrt, % und 1/x. Für das Click-Ereignis der Quadratwurzel-Schaltfläche sieht Ihr Code so aus:

Die ersten 11 Codezeilen stellen sicher, dass, wenn für keine Seite der Gleichung ein Wert eingegeben wurde, Wir ersetzen null, anstatt zu versuchen, eine leere Zeichenfolge in iLeft oder iRight zu kopieren, was ein erzeugt Error. Die mittleren Linien führen die Quadratwurzelfunktion für den aktuellen Teil der Berechnung aus, entweder links oder rechts. Schließlich kehren wir die Prüfungen zu Beginn um, sodass eine Null als leerer String zurück in sLeft und sRight kopiert wird.

Für die Prozent-Schaltfläche ist der Code ähnlich, mit einer Ausnahme: Die Prozent-Operation kann nur ausgeführt werden, wenn sowohl die linke als auch die rechte Seite eingegeben wird.

Schließlich das 1/x- oder Bruch-Click-Ereignis, das dem obigen Code sehr ähnlich ist:

Fügen Sie Code hinzu, um die Tasten C und CE zu handhaben. C löscht alle Eingaben in den Taschenrechner, wohingegen CE nur die gerade eingegebene Zahl löscht.

Führen Sie Ihr Taschenrechnerprogramm aus und führen Sie jede gewünschte Berechnung durch. Dieser Taschenrechner kann leicht erweitert werden, um mehr Operationen, komplexere Berechnungen durchzuführen oder sogar mit ein wenig zusätzlichem Aufwand ein wissenschaftlicher Taschenrechner zu sein.

Spitze

Wenn Fehler auftreten, überprüfen Sie Ihren Code Zeile für Zeile, konzentrieren Sie sich auf die Zeilen, die VB als fehlerhaft bezeichnet hat, und vergleichen Sie ihn mit dem obigen Code. Der in diesem Artikel enthaltene Code wurde vollständig auf Fehlerfreiheit getestet. Wenn Sie ihn also originalgetreu kopieren, erhalten Sie ein funktionsfähiges Programm. Wenn Sie eine frühere Version von Visual Basic verwenden, können einige Probleme auftreten, bei denen Änderungen an der Sprache zwischen den Versionen vorgenommen wurden. Frühere Versionen von VB verwendeten beispielsweise Math. Sqrt() statt Math. Sqr(), um eine Quadratwurzeloperation durchzuführen. Überprüfen Sie die Referenzen für Ihre spezifische Version, um festzustellen, ob Änderungen erforderlich sind.