Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Automatische Rechenoperationen (https://www.delphipraxis.net/49818-automatische-rechenoperationen.html)

sandrocm 16. Jul 2005 11:56


Automatische Rechenoperationen
 
Hi ichhabeein Problem:

Ich würde gerne dem Benutzer die Möglichkeit geben selber aus bestehenden Variabeln (z.b. Groesse und Gewicht) Formeln zu erstellen. Dazu sollte erauseiner Box Parameter aussuchen. Anschliesend soll er durch plusminus oder andere Rechenzeichen eine Formel bildenkönnen (auch klammern sollten möglich sein). Ich habe mir Gedanken gemacht wie man das realiseren kann, aber habe keine Idee?

Kann mir jemand helfen, danke im Voraus
Markus

r2c2 16. Jul 2005 14:32

Re: Automatische Rechenoperationen
 
Hallo sandrocm :hi:
das ganze ist etwas aufwändiger. Da wirst du wohl ums parsen nicht drum herumkommen.

Zurze Erklärung zum Parsen:
Du gehst einzeln Zeichen für Zeichen deine Formel, die der User in ein Edit eingegeben hat, durch und hängst jede Variable und jeden Operator in ne Baumstruktur ein. Statt der Baumstrucktur, kannst du auch den eizelnen Teilen der Formel "Wertigkeiten"(Punkt-Opertionen haben eine höhere Wertigkeit als Strichopertationen, Potenzen sind noch höher anzusiedeln und Klammern müssen auch beachtet werden!) verteilen, oder du lässt dir sonstwas einfallen.
Dann kannst du die Baumstruktur auch wieder einzeln durchgehen(u.U. rekursiv), die Variablen durch Zahlen ersetzten und anfangen zu rechnen.

Alles in allem nicht trivial aber machbar.

Such einfach mal hier im Forum und bei Google nach parsen, Formeln, Taschenrechner, etc. Da findest du bestimmt was. Ich meine ich könnte mich sogar an einen Thread hier erinnern, der genau das selbe Thema(allerdings mit nem Taschenrechner glaub ich) hatte.

mgh

Christian


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz