Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Den String '+' als Operator verwenden? (https://www.delphipraxis.net/27372-den-string-als-operator-verwenden.html)

ibp 9. Aug 2004 10:13

Re: Den String '+' als Operator verwenden?
 
dann handel alle felder nacheinander ab nachdem du den ok-button gedrückt hast und schick wert1, wert2 und operator zur funktion in der die caseabfrage steht und übergebe den berechneten wert zurück!

gruß rené

xineohp 9. Aug 2004 10:17

Re: Den String '+' als Operator verwenden?
 
du könntest auch einfach einen Parser verwenden, der dir einen Term ausrechnet, den du ihm als String übergibst... einfach mal suchen ... zur Not kannste auch meinen haben (müsste ihn nur mal suchen :roll: ).

Rackergen2 9. Aug 2004 10:26

Re: Den String '+' als Operator verwenden?
 
an dem Parser wäre ich auch interessiert... bitte Mail oder PN an mich ;)

xineohp 9. Aug 2004 10:40

Re: Den String '+' als Operator verwenden?
 
Liste der Anhänge anzeigen (Anzahl: 1)
moin,

der Parser ist eine Arbeit für den Info Unterricht gewesen und ist nicht 100% ausgereift.
Die Fehler Erkennung/Behandlung bei unsinnigen Eingaben ist schlicht unvollständig.
Zudem sind die Richtlinien der OOP nicht strikt eingehalten, zum einen, damit im Demoprojekt der Baum visuel angezeigt werden kann zum anderen, weils so einfacher war :roll:


EDIT: interessant ist auch der Parser von dizzy: klick!

dizzy 9. Aug 2004 12:05

Re: Den String '+' als Operator verwenden?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von xineohp
EDIT: interessant ist auch der Parser von dizzy:

...und den gibt es jetzt in noch ausgereifter :)
(Einziges Manko: Die Formel darf nicht länger als 255 Zeichen werden (ShortString), und negative Werte müssen in Klammern gefasst werden. 1-2 geht, 1*-2 muss 1*(-2) sein!)

Anbei die DLL-Version mit Wrapperunit, und auch die komplette .pas-Version.

DiscMix 17. Aug 2004 08:56

Re: Den String '+' als Operator verwenden?
 
Ich muss hier nochmal nachfragen:

Ich habe 20 Editfelder auf einer Form (untereinander). Ab Feld 2 stehen neben den Feldern
19 DropDownFelder mit den Werten +,-,*,/ (Wers genau wissen will: Ist ein Kalkulationsmodul)
Nun wird nach Eingabe in einem Editfeld von Editfeld 1 bis Editfeld 20 durchgerechnet; mit
den Operatoren in den DropDownFeldern. Wird eine neuer Werte in den Editfeldern eingetragen,
wird wieder durchgerechnet. Wird ein Werte in den DropDownFeldern geändert, wird wieder
von Edit 1 bis Edit 20 mit den entsprechenden Operatoren in den DropDownFelder durchgerechnet.

Mit case-Abfragen wird das ganze sehr unübersichtlich...
Gibt es eine (Denkanstoss) Möglichkeit/ Funktion / Methode das einfacher zu berechnen?

Danke fürs Feedback ;)

fkerber 17. Aug 2004 09:18

Re: Den String '+' als Operator verwenden?
 
Hi!

Eigentlich ist es doch nur eine einzige Case-Abfrage.
Du schreibst dir eine Funktion, die immer den bisherigen Wert der Rechnung, den Wert des nächsten Edit-Feldes und den "Wert" der Combobox erhält. Dann ermittelst du mit Case, was du tun musst und verarbeitest dementsprechend bisherigen Wert und den neuen.

Ciao Frederic


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:30 Uhr.
Seite 2 von 2     12   

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