Zwischenergebnis

Diskutiere Zwischenergebnis im Developer Network Forum im Bereich Hardware & Software Forum; Hallo, bin irgendwie wieder einmal total aufm Schlauch. Wollte zwischenergebinsse haben, damit ich bei 3 + 3 + 3 + 3 + 3 auch das richtige...
  • Zwischenergebnis Beitrag #1
Metrodominon

Metrodominon

Bekanntes Mitglied
Dabei seit
26.06.2003
Beiträge
400
Reaktionspunkte
0
Ort
Deutschland
Hallo,

bin irgendwie wieder einmal total aufm Schlauch.
Wollte zwischenergebinsse haben, damit ich bei 3 + 3 + 3 + 3 + 3 auch das richtige ergebnis habe und nicht das von den ersten beiden.

Mein Code ist :
Sub addnum(ByRef a As String)
If Anzeige.Text = "" Then
Anzeige.Text = a
Else
Anzeige.Text = Anzeige.Text & a
End If
If stat = 1 Then
Anzeige.Text = a
stat = 0
End If
End Sub

Nun muss ich da doch dann noch ein 2tenschritt einbauen bzw. ans(mein ausrechnen befehl) + die aktuelle zahl im Anzeige text. Oder nicht ?
 
  • Zwischenergebnis Beitrag #2
T

TrµMAn

Bekanntes Mitglied
Dabei seit
23.10.2006
Beiträge
4.882
Reaktionspunkte
2
Ort
Wuppertal
hmm dein Code hier beinhaltet ja noch keine Rechnung oder sehe ich das falsch?
 
  • Zwischenergebnis Beitrag #3
fox99

fox99

Bekanntes Mitglied
Dabei seit
27.11.1999
Beiträge
3.948
Reaktionspunkte
27
Ort
Omicron Persei 8
ich denke du sollst einen taschenrechner programmieren...

ich würde noch 2 textfelder einbauen.
das 1. würde ich zwischenspeicher nennen
das 2. rechenoperation.

wenn du jetzt die taste für plus drückst, wird anzeige nach zwischenspeicher kopiert, und in rechenoperation könntest du "+" schreiben.
beim druck auf "=" kannst du jetzt rechenoperatin auswerten und auf zwischenspeicher und anzeige anwenden.
 
  • Zwischenergebnis Beitrag #4
Metrodominon

Metrodominon

Bekanntes Mitglied
Dabei seit
26.06.2003
Beiträge
400
Reaktionspunkte
0
Ort
Deutschland
Ja mit 2 Textfeldern und + und - ist es ja einfach :) Will ja dass er so funktioniert wie der Windows Taschenrechner.
Er rechnet so alle normal mitlerweile aus. Aber wenn ich nun von 3+3+3 * 6 nimmt er nur den letzten errechneten Eintrag und nicht die grad eingegeben Zahl, also ich meine damit er rechnet dann 6 * 6 und ignoriert die dritte 3.

Also stimmt ja irgendw irgwendwas an mein Code nicht (ist jetzt nur der reine rechenschritt):
Sub confirm()
stat = 1
first = +Anzeige.Text
End Sub
Sub action()
Select Case sign
Case "+"
ans = first + Anzeige.Text
Case "-"
ans = first - Anzeige.Text
Case "*"
ans = first * Anzeige.Text
Case "/"
ans = first / Anzeige.Text
Case Else
End Select
stat = 1
Anzeige.Text = ans
End Sub
Sub addnum(ByRef a As String)
If Anzeige.Text = "" Then
Anzeige.Text = a
Else
Anzeige.Text = Anzeige.Text & a
End If
If stat = 1 Then
Anzeige.Text = a
stat = 0
End If
End Sub


 
  • Zwischenergebnis Beitrag #5
T

TrµMAn

Bekanntes Mitglied
Dabei seit
23.10.2006
Beiträge
4.882
Reaktionspunkte
2
Ort
Wuppertal
Was passiert denn, wenn man auf das "*" klickt? wird dann von der vorherigen Rechnung schon das Ergebnis ermittelt?
Eingabe: 3
Drücken: + // Variable "Zwischenergebnis" sollte hier den Wert 3 (die Eingabe) erhalten
Eingabe: 3
Drücken: + //an dieser Stelle muss dann schon das Ergebniss der vorherigen Rechnung errechnet werden: also "Zwischenergebnis" = "Zwischenergebnis" + Eingabe
Eingabe: 3
Drücken: * //hier sollte (optimalerweise) noch nicht gerechnet werden (Punkt vor Strich) sondern die 3 sollte in einem weiteren Zwischenergebnis gespeichert werden
Eingabe: 6
Drücken: = //hier müsste zuerst das 2. Zwischenergebnis mit der neuen Eingabe verrechnet werden (3*6) und dann das ergebnis + das 1. Zwischenergebnis

vielleicht hilft dir das schon weiter ... du musst also bei jedem Tastendruck die Eingabe in einem Zwischenergebnis verrechnen und danach die Ausgabe wieder anpassen
 
  • Zwischenergebnis Beitrag #6
fox99

fox99

Bekanntes Mitglied
Dabei seit
27.11.1999
Beiträge
3.948
Reaktionspunkte
27
Ort
Omicron Persei 8
dann setz doch die sichtbarkeit der zusätzlichen felder auf versteckt.
wenn du noch weitere rechenregeln wie z.b. "punkt vor strich" brauchst, wird das alles ein wenig komplizierter.

du machst also folgende eingaben:
  • 3
  • +
  • 3
  • +
  • 3
  • *
  • 6
  • =

folgendes müsste passieren:
  • 3 auf die anzeige
  • zwischenspeicher = anzeige , + in rechenoperation
  • 3 auf die anzeige
  • zwischenspeicher = zwischenspeicher <rechenoperation> anzeige, + in rechenoperation
  • 3 auf die anzeige
  • zwischenspeicher = zwischenspeicher <rechenoperation> anzeige, * in rechenoperation
  • 6 auf die anzeige
  • zwischenspeicher = zwischenspeicher <rechenoperation> anzeige, zwischenspeicher auf die anzeige
 
Zuletzt bearbeitet:
  • Zwischenergebnis Beitrag #7
Metrodominon

Metrodominon

Bekanntes Mitglied
Dabei seit
26.06.2003
Beiträge
400
Reaktionspunkte
0
Ort
Deutschland
vielen dank für die hilfe. dann werde ich mich mal ans werk und euch dann mitteilen wie es ausgegangen ist :)
 
  • Zwischenergebnis Beitrag #8
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Ein gewöhnlicher Taschenrechner macht das auch genauso; er zeigt die Zwischenergebnisse beim Drücken einer Operationstaste an.
z.B. nach Eingabe von 3+3 und einem weiteren + steht 6 da (und keine Null - obwohl schon die nächste Eingabe erwartet wird). Die erste gedrückte Zifferntaste überschreibt dann dieses Ergebnis.

Ergo muss du bei jedem Drücken einer Operationstaste das Ergebnis berechnen und anzeigen. Außerdem ein Flag setzen, dass die nächste Ziffer dieses Ergebnis überschreibt und nicht hinten dran gehängt wird.

z.B. so:
eine Variable für das letzte Zwischenergebnis, initialisiert mit 0, z.B. ans=0,
eine für die auszuführende Rechenoperation, initialisiert mit z.B. op='=' (Sinnvoll wäre sicher eine Enum-Auflistung für die möglichen Operationen)
ein Flag für das Überschreiben der Anzeige, initialisiert auf überschreiben: z.B. overwrite=1
Bei Drücken einer Zifferntaste wird im Fall von overwrite=1 diese Zahl ins display geschrieben (und overwrite=0 gesetzt), ansonsten angehängt.
Beim Drücken einer beliebigen Operationstaste wird ans mit display entsprechend der gewählten Operation op verrechnet und der Wert in ans und ins display geschrieben. Außerdem wird die Operation für die aktuelle Taste in op gespeichert. Dadurch berechnet jede Operationstaste immer das Ergebnis der vorherigen Operation. Zusätzlich wird noch overwrite=1 gesetzt, damit die nächste Ziffer das Zwischenergebnis überschreibt.
 
  • Zwischenergebnis Beitrag #9
Metrodominon

Metrodominon

Bekanntes Mitglied
Dabei seit
26.06.2003
Beiträge
400
Reaktionspunkte
0
Ort
Deutschland
So ich habe was neues :) Neue Version neue möglichkeiten :D

Ich werde nun alles komplett ändern und auf Enum umsteigen.
Muss mich da grad mal ein bissl rein lesen. Werde zum späteren abend heute mal den Code posten wenn es denn geklappt hat :)
 
  • Zwischenergebnis Beitrag #10
Metrodominon

Metrodominon

Bekanntes Mitglied
Dabei seit
26.06.2003
Beiträge
400
Reaktionspunkte
0
Ort
Deutschland
So habe es nun so gemacht, läuft ohne probleme :

Code:
[FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]
[/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Private[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] Var1 [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Double
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Private[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] Var2 [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Double
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Private[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [Operator] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]String
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Private[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] Status [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Double
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Private[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] period [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Boolean
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Public[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Sub[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] Calculate()
var2 = [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]CDbl[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2](TextBox1.Text)
[/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [Operator] = [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"Add"[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Then
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]Var1 = Var1 + var2
[/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]ElseIf[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [Operator] = [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"Sub"[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Then
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]Var1 = Var1 - var2
[/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]ElseIf[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [Operator] = [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"Mult"[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Then
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]Var1 = Var1 * var2
[/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]ElseIf[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [Operator] = [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"Div"[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Then
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]Var1 = Var1 / var2
[/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]ElseIf[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [Operator] = [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"Sqrt"[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Then
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Exit Sub
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]ElseIf[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [Operator] = [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"Pow"[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Then
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]Var1 = System.[/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af]Math[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2].Pow(Var1, var2)
[/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]ElseIf[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [Operator] = [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515][FONT=Consolas][SIZE=2][COLOR=#a31515]"Inve"[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Then
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Exit Sub
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]If
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]TextBox1.Text = [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]CStr[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2](Var1)
Status = [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]True
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Sub
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT]
 
  • Zwischenergebnis Beitrag #11
Metrodominon

Metrodominon

Bekanntes Mitglied
Dabei seit
26.06.2003
Beiträge
400
Reaktionspunkte
0
Ort
Deutschland
grrr, das gibt es doch nicht. Bei mir ist der Wurm drin.

Meine Zahlen die ich über mein NumPad eingeben will gehen nicht.
Alle anderen Zahlen habe ich erst einmal ignoriert da die ja schon nicht gehen.

Zudem habe ich noch das Problem dass auf teufel komm raus nicht mein Komma akzeptiert wird.

Code:
[FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]
[SIZE=2][FONT=Consolas][COLOR=#0000ff]Class[/COLOR][/FONT][/SIZE][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af]MainWindow[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Private[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] Memory1 [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Double[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] = 0[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Private[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] Memory2 [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Double[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] = 0[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Private[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] LastOperator [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af]Operators[/COLOR][/SIZE][/FONT]
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Private[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] Result [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Double[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] = 0[/SIZE][/FONT]
[SIZE=2][FONT=Consolas][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Private[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Sub[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] KeyPressed([/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]ByVal[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] UsedKey [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af]Key[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2])[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Select[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Case[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] UsedKey[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Case[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af]Key[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2].NumPad0 [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]To[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af]Key[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2].NumPad9[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] Ziffer [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Double[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] = [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]CInt[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2](UsedKey) - 74[/SIZE][/FONT]
[SIZE=2][FONT=Consolas]Memory1 = Memory1 * 10 + Ziffer[/FONT][/SIZE]
[SIZE=2][FONT=Consolas]UpdateDisplay(Memory1)[/FONT][/SIZE]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Case[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af]Key[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2].Add[/SIZE][/FONT]
[SIZE=2][FONT=Consolas]Compute([/FONT][/SIZE][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af]Operators[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2].Addition)[/SIZE][/FONT][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]....[/SIZE][/FONT][/SIZE][/FONT]
 
[FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Private[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Enum[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af]Operators[/COLOR][/SIZE][/FONT]
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]Addition[/SIZE][/FONT]
[SIZE=2][FONT=Consolas]Substraction[/FONT][/SIZE]
[SIZE=2][FONT=Consolas]...[/FONT][/SIZE]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Enum[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT]
[FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]......[/COLOR][/SIZE][/FONT]
[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2]
[FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Private[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Sub[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] Compute([/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]ByVal[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] ActualOperator [/SIZE][/FONT][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af]Operators[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2])[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Select[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Case[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2] LastOperator[/SIZE][/FONT]
[/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff][FONT=Consolas][SIZE=2][COLOR=#0000ff]Case[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af][FONT=Consolas][SIZE=2][COLOR=#2b91af]Operators[/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][/COLOR][/SIZE][/FONT][FONT=Consolas][SIZE=2][FONT=Consolas][SIZE=2].Addition[/SIZE][/FONT]
[SIZE=2][FONT=Consolas]...[/FONT][/SIZE]
[/SIZE][/FONT][/SIZE][/FONT][/SIZE][/FONT][/FONT][/SIZE][/SIZE][/FONT]

Meine Frage ist was für ich denn im Case
Case
Key.Decimal
Irgendwie komm ich damit nicht klar grad.
Also er rechnet es schon, soll ich nun einfach das Komma in eine "Zahl" umwandeln?
Rechner er dann überhaupt noch genau auch bei sehr großen und komplexen rechnungen?

 
  • Zwischenergebnis Beitrag #12
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Wie im anderen Thread schon gesagt:
Bitte lass diese bunte Formatierung weg (im blauen Boardstyle kaum zu lesen) und mach lieber Einrückungen, indem du das [ code ]-Tag verwendest.

So macht es echt keinen Spaß, den Code zu lesen um dir zu helfen.
 
  • Zwischenergebnis Beitrag #13
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Zur Sache mit dem Komma:
Du kannst einfach einen Zähler verwenden, der zählt, bei welcher Nachkommastelle du gerade bist (oder auch gleich deren Wertigkeit). D.h. der Zähler wird bei einer neuen Eingabe mit 0 initialisiert. Solange der 0 ist, greift deine gewöhnliche Logik, die den aktuellen Wert mal 10 nimmt und die neue Stelle dazuaddiert. Das geht bei den Nachkommastellen leider nicht so einfach, weil die in der entgegengesetzten Reihenfolge eingegeben werden (d.h. du müsstest die letzte Stelle zuerst haben und dann immer durch 10 dividieren).
Wenn jetzt das Komma eingegeben wird, dann wird der Zähler auf 10 gesetzt. Die nächste Ziffer wird dann durch den Zähler dividiert und zum aktuellen Wert dazugezählt; außerdem wird der Zähler mit 10 multipliziert. D.h. die erste Nachkommastelle wird durch 10 dividiert, und der Zähler ist dann 100. Die nächste Stelle wird dann durch hundert dividiert, die dritte durch 1000, usw.
Du kannst natürlich den Zähler auch bei 1 starten lassen und jeweils 1 dazuzählen, dafür durch 10^zähler dividieren - läuft aufs gleiche raus.

Oder aber du merkst dir bei Eingabe des Kommas die aktuelle Position, verfährst wie gewöhnlich und dividierst die Zahl am Schluss durch 10^(Anzahl der Nachkommastellen). Also z.B. bei Eingabe von 123.456: Du könntest beim Komma anfangen, die Stellen zu zählen - das wären dann 3. Wenn die Zahl verarbeitet wird, dann ist die Zahl 123456 und dein Zähler 3. 10^3 = 1000, also ist das Ergebnis 123456/1000 = 123.456. Allerdings hast du dabei das Problem, dass die Zahl erst am Schluss korrekt ist, und du dir was für die Anzeige während der Eingabe überlegen musst..
 
  • Zwischenergebnis Beitrag #14
Metrodominon

Metrodominon

Bekanntes Mitglied
Dabei seit
26.06.2003
Beiträge
400
Reaktionspunkte
0
Ort
Deutschland
Tausend dank, an allen die mir geholfen haben !
 
  • Zwischenergebnis Beitrag #15
Metrodominon

Metrodominon

Bekanntes Mitglied
Dabei seit
26.06.2003
Beiträge
400
Reaktionspunkte
0
Ort
Deutschland
Hm, es ist zum verzweifeln.

Ich habe es nun soweit geschafft.
Wenn ich bei meinen Rechner etwas Ausrechne kommt das richtige Ergebnis.
Wenn ich dann einen meiner Operatoren (+, -, /, *) drücke und danach eine Zahl Rechnet er auch normal weiter.

Nun ist es so. Ich wollte gerne dass wie auf dem Windows-Taschenrechner, wenn ich Nachdem ich mein Ergebnis habe eine Zahl drücke dann den Operator und dann wieder eine Zahl es das Berechnet wird.
Dies macht er aber nicht. Wenn ich nach dem Ausrechnen 3 + 4 = eingebe kommt nicht 7 sondern eine ander Zahl bei raus.

Bräuchte da irgendwie denkhilfe bei den Rechenschritt.

Hier ist der Code :
Code:
    Private Sub Compute(ByVal ActualOperator As Operators)
        Select Case LastOperator
            Case Operators.Addition
                Memory2 = Memory2 + Memory1
            Case Operators.Divison
                Memory2 = Memory2 / Memory1
            Case Operators.Multiplication
                Memory2 = Memory2 * Memory1
            Case Operators.Substraction
                Memory2 = Memory2 - Memory1
        End Select
        CommaCounter = 0
        Commaflag = False
        UpdateDisplay(Memory2)
        Memory1 = 0
        If Result = 0 Then
            UpdateDisplay(Memory2)
        Else
            UpdateDisplay(Result)
        End If
    End Sub
    Private Sub Ausrechnen(ByVal ActualOperator As Operators)
        Select Case LastOperator
            Case Operators.Addition
                If Result = 0 Then
                    Result = Memory1 + Memory2
                Else
                    Result = Result + Memory1
                End If
            Case Operators.Divison
                If Result = 0 Then
                    Result = Memory1 / Memory2
                Else
                    Result = Result / Memory1
                End If
            Case Operators.Multiplication
                If Result = 0 Then
                    Result = Memory1 * Memory2
                Else
                    Result = Result * Memory1
                End If
            Case Operators.Substraction
                If Result = 0 Then
                    Result = Memory1 - Memory2
                Else
                    Result = Result - Memory1
                End If
        End Select
        Memory2 = 0
        UpdateDisplay(Result)
    End Sub
 
  • Zwischenergebnis Beitrag #16
fox99

fox99

Bekanntes Mitglied
Dabei seit
27.11.1999
Beiträge
3.948
Reaktionspunkte
27
Ort
Omicron Persei 8
also du tippst 1+1= ein und es wird das ergebnis berechnet
wenn du jetzt 5+5= eintippst kommt was falsches?

ich denke du musst beim druck auf = den lastoperator löschen.
 
  • Zwischenergebnis Beitrag #17
Metrodominon

Metrodominon

Bekanntes Mitglied
Dabei seit
26.06.2003
Beiträge
400
Reaktionspunkte
0
Ort
Deutschland
genau, er geht quasi nicht weiter im code.
Wenn ich 1+1 rechne kommt normal 2 raus, wenn ich dann wieder auf = gleich klicke kommt 3 raus und so weiter.

Aber wenn ich dann quasi erneut 3+3 eingebe rechnet er mir nur die letzte +3 auf mein vorheriges ergebnis.

Ich bin der meinung es ist einfach nur ein dummer denkfehler meinerseits aber ich komm da einfach nicht hinter.

Er soll so rechnen wie der Windows Rechner. Der Verhält sich so wie ich es gerne hätte :)
 
  • Zwischenergebnis Beitrag #18
cmddegi

cmddegi

Bekanntes Mitglied
Dabei seit
12.07.2001
Beiträge
4.740
Reaktionspunkte
0
Ort
Austria
Wann wird Compute ausgeführt, wann wird Ausrechnen ausgeführt, mit welchen Parametern werden sie aufgerufen, wie sind die Variablen deklariert, ...
Ohne den GANZEN Code kann man dir nicht weiterhelfen. Ehrlich, wirklich, echt nicht!
Und ein paar Kommentare wären auch ganz hilfreich, damit man weiß, was der Code tun sollte (musst du dir sowieso angewöhnen). So kann man nur raten, was du dir dabei gedacht hast.

z.B. wird in Compute die Variable result auf Null geprüft, die wird aber in der ganzen Routine nicht zugewiesen. Dafür steht das Ergebnis scheinbar in Memory2.
 
  • Zwischenergebnis Beitrag #19
Metrodominon

Metrodominon

Bekanntes Mitglied
Dabei seit
26.06.2003
Beiträge
400
Reaktionspunkte
0
Ort
Deutschland
Ich habe hier fast den ganzen Code nun rein gestellt. Da ich die funktion der Buttons nicht so wichtig finde da ich die quasi nur auf die "Key" befehle verweise.

Also bei Compute Rechne ich einfach nur was passiert wenn ich + - und sowas drücke und bei Ausrechnen was passiert wenn ich auf gleich drücke.
Hier ist noch einmal der ganze Code :

Code:
Class MainWindow
    Private Memory1 As Double = 0
    Private Memory2 As Double = 0
    Private LastOperator As Operators
    Private ActualOperator As Operators
    Private Result As Double = 0
    Dim Commaflag As Boolean
    Dim CommaCounter As Integer = 0
    Private Sub KeyUsed(ByVal UsedKey As Key)
        Select Case UsedKey
            Case Key.D0 To Key.D9
                Dim Ziffer As Double = CInt(UsedKey) - 34
                If Commaflag = False Then
                    Memory1 = Memory1 * 10 + Ziffer
                Else
                    CommaCounter += 1
                    Memory1 = Memory1 + Ziffer / 10 ^ CommaCounter
                End If
                UpdateDisplay(Memory1)
            Case Key.NumPad0 To Key.NumPad9
                Dim Ziffer As Double = CInt(UsedKey) - 74
                If Commaflag = False Then
                    Memory1 = Memory1 * 10 + Ziffer
                Else
                    CommaCounter += 1
                    Memory1 = Memory1 + Ziffer / 10 ^ CommaCounter
                End If
                UpdateDisplay(Memory1)
            Case Key.Add
                Compute(Operators.Addition)
            Case Key.Subtract
                Compute(Operators.Substraction)
            Case Key.Multiply
                Compute(Operators.Multiplication)
            Case Key.Divide
                Compute(Operators.Divison)
            Case Key.Return, Key.Enter
                Ausrechnen(ActualOperator)
            Case Key.Escape, Key.Back
                Result = 0
                Memory1 = 0
                Memory2 = 0
                CommaCounter = 0
                Commaflag = False
                UpdateDisplay(Memory1)
            Case Key.OemComma, Key.Decimal
                Commaflag = True
                UpdateDisplay(Memory1)
        End Select
    End Sub
    Private Sub Compute(ByVal ActualOperator As Operators)    'Was passiert wenn ich +-etc drücke
        Select Case LastOperator
            Case Operators.Addition
                Memory2 = Memory2 + Memory1
            Case Operators.Divison
                Memory2 = Memory2 / Memory1
            Case Operators.Multiplication
                Memory2 = Memory2 * Memory1
            Case Operators.Substraction
                Memory2 = Memory2 - Memory1
        End Select
        CommaCounter = 0
        Commaflag = False
        LastOperator = ActualOperator
        UpdateDisplay(Memory2)
        Memory1 = 0
        If Result = 0 Then
            UpdateDisplay(Memory2)
        Else
            UpdateDisplay(Result)
        End If
    End Sub
    Private Sub Ausrechnen(ByVal ActualOperator As Operators)   'Wenn ich gleich drücke
        Select Case LastOperator
            Case Operators.Addition
                If Result = 0 Then
                    Result = Memory1 + Memory2
                Else
                    Result = Result + Memory1
                End If
            Case Operators.Divison
                If Result = 0 Then
                    Result = Memory1 / Memory2
                Else
                    Result = Result / Memory1
                End If
            Case Operators.Multiplication
                If Result = 0 Then
                    Result = Memory1 * Memory2
                Else
                    Result = Result * Memory1
                End If
            Case Operators.Substraction
                If Result = 0 Then
                    Result = Memory1 - Memory2
                Else
                    Result = Result - Memory1
                End If
        End Select
        Memory2 = 0
        UpdateDisplay(Result)
    End Sub
    Private Sub UpdateDisplay(ByVal Number As Double)

        Dim DisplayValue As String
        DisplayValue = Number.ToString
        If Commaflag And CommaCounter = 0 Then
            DisplayValue &= ","
        ElseIf Commaflag And CommaCounter > 0 Then
            Dim DisplayValueSplit() As String = DisplayValue.Split(","c)
            If DisplayValueSplit.Length = 1 Then
                'kein Komma vorhanden
                DisplayValue &= ","
                For i As Integer = 1 To CommaCounter
                    DisplayValue &= "0"
                Next
            Else
                'Komma vothanden
                For i As Integer = DisplayValueSplit(1).Length + 1 To CommaCounter
                    DisplayValue &= "0"
                Next
            End If
        End If
        DisplayTextBox.Text = DisplayValue
    End Sub
    Private Enum Operators
        Addition
        Substraction
        Multiplication
        Divison
    End Enum

Hätte ihn gestern abend schon gepostet sitze aber derzeit ohne PC oder Laptop zuhause :(
 
  • Zwischenergebnis Beitrag #20
Metrodominon

Metrodominon

Bekanntes Mitglied
Dabei seit
26.06.2003
Beiträge
400
Reaktionspunkte
0
Ort
Deutschland
Kann es sein dass ich dort irgendwie eine Boolean für das Ergenis setzen sollte?
Also wenn ich nur mem1 + mem2 eingebe dann auf (=) wird ein mem3 erzeugt +1 equal boolean?
 
Thema:

Zwischenergebnis

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.171
Mitglieder
55.876
Neuestes Mitglied
RamiroGarn
Oben