Hai Final,
deinen Code kannst Du wesentlich verkürzen und damit mögliche Fehler vermeiden. In der Berechnung ist ja nur das
Porto der verändernde Faktor. Also reicht es aus wenn Du dir in einer Variable den Betrag für das Porto speicherst und in den Berechnungen dann diese Variable verwendest:
Delphi-Quellcode:
procedure TForm1.btn_TestenClick(Sender: TObject);
var
netto : Extended;
mwst : Extended;
brutto : Extended;
porto : Extended;
Begin
porto := 0;
netto := strtofloat(edt_Betrag1.text)
+ strtofloat(edt_Betrag2.text)
+ strtofloat(edt_Betrag3.text);
if netto < 100 then
begin
porto := 7.5;
end;
lbl_Porto.Caption := FloatToStr(porto);
mwst := (netto + porto) * 0.16;
lbl_Summe1.caption := FloatToStr(mwst);
brutto := (netto + porto) * 1.16;
lbl_Summe2.caption := FloatToStr(brutto)
end;
Natürlich sollte verhindert werden das in den Editfeldern etwas anderes als gültige Zahlen stehen. Sonst würde bei der Umwandlung mit StrToFloat ein Fehler auftreten.
Immer eines Berücksichtigen:
Im
Quellcode ist der Dezimalseperator ein "." ist (3.56 oder 2.78 ). Bei der Umwandlung mit StrToFloat wird aber der in Windows eingestellte
DezimalSeperator verwendet. In Deutschland als 3,56 oder 2,78.
Stephan B.
"Lasst den Gänsen ihre Füßchen"