Einzelnen Beitrag anzeigen

Emilio

Registriert seit: 14. Dez 2003
65 Beiträge
 
#29

Re: komplexe Berechnungen von abhängigen Datenbankfeldern

  Alt 17. Feb 2006, 12:11
Hi Marabu,

eigentlich ist es egal, welchen Eingabewert für diese Procedure nimmt.

Aber trotzdem

ekneu = StroFloat(cxTextEdit1.Text) = 1000,00

dann sollte [ekaender] errechnet werden, als OnEditChange in cxTextEdit1 (da das Ergebnis von [ekaender] auf der Form1 in der Zeile von EKAlt und ekneu steht.

EKalt = 1200,00

Also [ekaender] = ((ekneu/EKAlt)-1)*100 = -16,67

dann wählt man aus der cxCombobox1 einen zuschlagsatz [zuschlag] aus z.B.: 10

Also [bpneu] = ekneu+(ekneu*zuschlag/100) = 1100,00

[bpaender] ist dann wie bei [ekaender] ((bpneu/BPAlt)-1)*100.

Als Vorschlag für den Wert [lvpneu] ist die Formel ekneu/55*100 hinterlegt

[lvpaender] ist dann wiederum lvpneu/LVPAlt

usw.

Solange ich alles in einer Unit behalte und nicht in eine "CalcRule" packe (d.h. Funktionen im interface-Abschnitt deklariert, alle Werte mit denen gerechnet wird als Variablen im Implementation-Abschnitt ganz oben, funktioniert alles prima.
Also habe ich vermutlich bei der Umsetzung Deines Vorschlags einen Aufruffehler verbaut (der u.a. bewirkt, dass die Variablen nicht initialisiert werden), den ich nicht finde.

Dennoch würde ich gerne die Trennung in 2 Units bevorzugen, da es übersichtlicher und sicher nützlicher ist, da ja der User auch einen lvpneu( neuer Verkaufspreis) und eine margeprozneu (Marge in % vom neuen Verkaufspreis) als Basisdaten eingeben möchte und alle anderen Felder errechnet werden sollen.

Ich werde jetzt den Code in der UnitMain so fertigmachen und dann den Versuch mit der Trennung neu starten.

Falls Du den Fehler finden solltest - ich freu mich riesig auf Deine Antwort!

VG
Emilio

by the wy: deutsch ist eine furchtbar umständliche Sprache!
  Mit Zitat antworten Zitat