Forum
Tipps
News
Menu-Icon

Visual Basic Taschenrechner

Hallo zusammen;
ich soll einen taschenrechner programmieren;
das ist mein quellcode:
wie kann ich die zahlen speichern?
die zahlen gehen immer wieder weg!
und wie kann ich zb addieren?
ich habe eine anleitung bekommen von dem prof aber da steht nur die deklaration von variablen beschrieben zb aber nichts was hilft;
kann mir jemand schreiben wie es geht?
danke!


Private Sub Command1_Click()
Text1.Text = "="
End Sub

Private Sub Command2_Click()
Text1.Text = "-"
End Sub

Private Sub Command3_Click()
Text1.Text = "/"
End Sub

Private Sub Command4_Click()
Text1.Text = "*"
End Sub

Private Sub Command5_Click()
Text1.Text = "+"
End Sub

Private Sub Command6_Click()
Text1.Text = ","
End Sub

Private Sub NB0_Click()
Text1.Text = 0
End Sub

Private Sub NB1_Click()
Text1.Text = 1
End Sub

Private Sub NB2_Click()
Text1.Text = 2
End Sub

Private Sub NB3_Click()
Text1.Text = 3
End Sub

Private Sub NB4_Click()
Text1.Text = 4
End Sub

Private Sub NB5_Click()
Text1.Text = 5
End Sub

Private Sub NB6_Click()
Text1.Text = 6
End Sub

Private Sub NB7_Click()
Text1.Text = 7
End Sub

Private Sub NB8_Click()
Text1.Text = 8
End Sub

Private Sub NB9_Click()
Text1.Text = 9
End Sub

 


Antworten zu Visual Basic Taschenrechner:

Hallo,

Schreiben wird dir niemand auf deine Frage, aber ich kann dir mal sagen das du zuerst Variablen deklarieren muss, wenn du dann die Variablen hast kannst du die Zahlen was du eingibst auf die Variablen speichern, addieren kann du dann auch wenn z.B. jetzt eine Variable mit dem namen: Zahl1 und Zahl2 hast.Kannst du einfach Zahl1 + Zahl2  und dann kannst du das Ergebniss über die  Messagebox ausgeben, kenn mich nicht so gut aus mit VB programmiere Lieber in Ruby

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
2 Leser haben sich bedankt

Dein Problem ist hier auch, dass du immer komplette Zuweisungen machst. Angenommen, du willst eine "14" eintippen, dann klickst du auf die 1, die 1 wird dem Textfeld zugewiesen (.Text = 1). Danach klickst du auf die 4 und die 4 wird dem Textfeld zugewiesen (.Text = 4).

Bei der zweiten Zuweisung ersetzt du allerdings das Attribut Text komplett, anstatt die zweite Zahl anzuhängen.
Die Lösung ist hier, die Zuweisung nicht vollständig zu machen, sondern die Zahlen an das bereits vorhandene anzuhängen:

Entweder Text1.Text = Text1.Test + "4"
oder die Kurzform:  Text1.Text += "4"

Weiterhin solltest du darauf achten, dein Typecasting richtig zu machen. Mit Textattributen vom Typ String lässt sich nicht rechnen, daher musst zu die Zuweisung zwar als String machen, beim Rechnen diese aber wieder umwandeln.

Die Rechenoperationen kannst du dir bei dem entsprechenden Klick in einer Variable speichern, damit dein Programm weiss, was der Anwender für einen Button geklickt hat. Beim Klick auf "=" wird dann die entsprechende Operation durchgeführt. Natürlich muss man hier noch alle möglichen Fehler abfangen, die der Anwender machen kann (nur eine Zahl eingegeben und dann auf Gleich geklickt, 3 Zahlen eingetippt usw.), aber für den Anfang sollte man so beginnen. Die eingegebenen Zahlen solltest du dir in extra Variablen merken. Sprich, was steht in dem Feld, sobald auf den Rechenoperator geklickt wird? Das wird gespeichert als z.B. Zahl1, danach gibt der Anwender wieder eine Zahl ein, welche beim Klick auf "=" als Zahl2 gespeichert wird.

Für Ganzzahlen (float, double usw. jeweils entsprechend deklarieren) also in etwa:
int Zahl1 = Text1.Text;

Hoffe, das hilft dir weiter, dein Programm vollends selbst zu bauen.

« Letzte Änderung: 15.02.11, 08:56:36 von Bredator »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Meine Quellcodes waren immer da grauen zum Nachlesen...
In VB(A) mit Access schauts so aus

Function Taste(t)
    If t = "0" Then
        If Forms!Formular1![Ausgabe] = "0" Then
            Forms!Formular1![Ausgabe] = Forms!Formular1![Ausgabe]
        Else
            Forms!Formular1![Ausgabe] = Forms!Formular1![Ausgabe] & t
        End If
    ElseIf t = "," Then
        If Forms!Formular1![Ausgabe] = "0" Then
            Forms!Formular1![Ausgabe] = Forms!Formular1![Ausgabe] & t
        ElseIf Forms!Formular1![Ausgabe] = "" Then
            Forms!Formular1![Ausgabe] = "0" & t
        ElseIf InStr(1, Forms!Formular1![Ausgabe], ",") = 0 Then
            Forms!Formular1![Ausgabe] = Forms!Formular1![Ausgabe] & t
        End If
    ElseIf Forms!Formular1![Ausgabe] = "0" Then
        Forms!Formular1![Ausgabe] = t
    Else
        Forms!Formular1![Ausgabe] = Forms!Formular1![Ausgabe] & t
    End If
End Function

Kein Plan mehr, wies genau ging und vor allem: warum,aber der Rechner funktioniert...wenn Bedarf besteht,lade ich die Datei hoch (Umwandlung in Hex, inär, Quadrat, Wurzel,Vorzeichen umkehren und all son Schrott ;)

« Letzte Änderung: 03.03.11, 02:25:56 von Epinephrine »

« code aus flash objekt extrahierenSrollbar C# »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Private Session
Private Session ist ein Modus, in dem kein Verlauf oder Chronik angelegt wird. Diese Funktion gibt es bei den üblichen Internet Browsern wie Internet Explorer, Apple...

Subnetz
Ein Subnetz, (englisch "Subnet"), ist ein eigenständiger und abgetrennter Teil eines größeren Netzwerks. Die Aufteilung eines großen Netzwerks in kl...

Hypertext
Hypertext ( zu Deutsch: Übertext) ein ein von dem Informatiker Theodore L. Nelson in den sechziger Jahren geprägter Begriff für Text, der dreidimensional g...