Hallo Rayzer,
Wie kann ich diese Formel in Delphi berechnen:
EndPreisDieb = (AnfPreisDieb * FaktorDieb^StufeDieb)
(vobei ^ = hoch ist
Habe schon sämtliche Varianten durchprobiert und auch schon
viel Zeit mit suchen verbracht, aber bin zu keiner Lösung
gekommen.
Hast Du auch diese Variante probiert (für die Potenz):
http://www.dsdt.info/tipps/?id=619
Ja hab ich schon probiert, rausgekommen ist das:
AnfPreisDieb := 2500;
StufeDieb := StrToInt(LblStufe.Caption);
EndPreisDieb := AnfPreisDieb*Power(0.97, StufeDieb)
Error: Incompatible types: got „Extended“ expected
"LongInt"
" Zeile im
Quellcode.
(Ja ich weis das ich euch auf die Nerven gehe komm aber
wirklich nicht weiter bei dem ****)
Das Nerven hält sich in Grenzen und kann bei der nächsten Anfrage gewaltig reduziert werden wenn Du gleich alle Fehlermeldungen mitteilst. Es geht also gar nicht direkt um das Potenzieren sondern um Typvereinbarungen
Also, wie ich an deinem StrToInt sehe, weisst Du ja, dass man in Delphi genau auf die Typen (String, int usw.) achten muss. Soweit, so gut. Was Du offenbar nicht beachtet hast, ist, dass die Funktion Power für alle Werte Variablen vom Typ extended erwartet, also besonders genaue Fliesskommazahlen. Wenn Du also statt
tufeDieb := StrToInt(LblStufe.Caption);
ein
tufeDieb := StrToFloat(LblStufe.Caption);
nimmst, und dann die anderen Variablen praktischerweise auch als Extended deklariert sind, müsste das ganze eigentlich klappen. Habe gerade kein Delphi zur Hand, um das zu überprüfen
Ich hoffe, Du hast mich verstanden, wenn nicht, nimm dein Delphi-Lehrbuch zur Hand und lies mal das Kapitel über Typvereinbarungen ganz genau durch.
Oder such dir hier ein Tutorial raus:
http://www.dsdt.info/links/links.php?id=354
Viel Erfolg
Klaus Bernstein