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-Key: 61537

Url: https://administrator.de/contentid/61537

Printed on: May 14, 2024 at 20:05 o'clock

Mitglied: 16568
16568 Jun 16, 2007 at 16:14:23 (UTC)
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
Member: pulse
pulse Jun 16, 2007 at 16:28:57 (UTC)
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
Member: bastla
bastla Jun 16, 2007 at 16:32:09 (UTC)
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
Mitglied: 17735
17735 Jun 16, 2007 at 16:35:02 (UTC)
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
Mitglied: 17735
17735 Jun 17, 2007 at 17:44:57 (UTC)
Goto Top
Hallo bastla,

sowas in der Art habe ich gesucht - Danke.

Gruß,
Ahnenforscher