17735
Goto Top

(VB 6) Komplexer Taschenrechner

Hallo,

ich habe folgendes vor:

Eine Visual Basic 6-Applikation bietet ein Formular mit einem Textfeld und diversen Buttons für die Zahlen 0-9 bzw. Klammern () und mathematische Funktionen sin(), log() usw an - ähnlich wie der Windows-Taschenrechner.

Nun gibt der User in das Textfeld (entweder per Tastatur oder per Buttons) eine mathematische Aufgabe ein, z. B. 2+3*5-log(7)^3. Diese Rechnung steht genau so, also mit allen Funktionszeichen in der Textbox. Anschließend klickt der User auf den Button = bzw. drückt die [Enter]-Taste und die von ihm eingegeben Rechnung wird nach allen mathematischen Regeln berechnet (also Klammern vor Potenz vor Punkt vor Strich usw.) und das Ergebnis steht anschließend in der Textbox.

Wie kann man das realisieren?

Gruß,
Ahnenforscher

Content-ID: 61537

Url: https://administrator.de/forum/vb-6-komplexer-taschenrechner-61537.html

Ausgedruckt am: 22.04.2025 um 14:04 Uhr

16568
16568 16.06.2007 um 18:14:23 Uhr
Goto Top
Indem Du zuerst alle Funktionen programmierst, und dann bei entsprechendem Knopfdruck diese abrufst.

Du wirst doch wohl nicht von uns erwarten, auch noch den Source hierzu zu coden, oder?


Lonesome Walker
pulse
pulse 16.06.2007 um 18:28:57 Uhr
Goto Top
sehe das genau so wie lonesome walker.
des weiteren solltest du bevor du die eingegebene aufgabe berechnest einen schön ausführlichen fehlerabfang schreiben.
dann gehst du die aufgabe durch und analysierst diese.
du kannst z.b die einzelnen operatoren priorisieren und mit dem stack arbeiten.
also überlegt dir einfach wie du eine aufgabe auf einem stück papier rechnen würdest,
und schreib dir dann den algorithmus auf.
die funktionen etc musst du schon selber schreiben
bastla
bastla 16.06.2007 um 18:32:09 Uhr
Goto Top
Hallo Ahnenforscher!

In VBS würde
MsgBox Eval("2+3*5-log(7)^3")  
funktionieren, für VB6 siehe etwa hier.

Grüße
bastla
17735
17735 16.06.2007 um 18:35:02 Uhr
Goto Top
Hallo,

nein keine Sorge, so meinte ich dass nicht, dass ihr mir den Code hier posten solltet. Mein Frage mit "Wie kann man das realisieren?" war eher von der Vorgehensweise gemeint, also z. B.: Soll die Funktion beim Aufruf (über =-Button) den String splitten und dann berechnen oder auf eine andere Weise?

Indem Du zuerst alle Funktionen programmierst, und dann bei entsprechendem Knopfdruck diese abrufst.

Wie meinst du das? Noch vor dem Drücken des =-Buttons oder bei der Berechnung?

Gruß,
Ahnenforscher
17735
17735 17.06.2007 um 19:44:57 Uhr
Goto Top
Hallo bastla,

sowas in der Art habe ich gesucht - Danke.

Gruß,
Ahnenforscher