Da ich nur D7 habe muß ich mich auf den Sourcecode beschränken:
Delphi-Quellcode:
begin
if Waren.Warenverkauf>=10 then
checkboxRabatt.Checked:=true;
if checkboxRabatt.Checked then
Waren.StPreis:=((Waren.StPreis)-1);
checkboxRabatt.Checked:=false;
MessageDlg(format(Preismeldung,[(Waren.Verkaufspreis),(Waren.Nettopreis),(Waren.MWSt)]),mtInformation,[mbOk],0);
end;
das
checkboxRabatt.Checked:=false;
gehört auf den ersten Blick noch zu
if checkboxRabatt.Checked then
was nach genauerem hinschauen Blödsinn ist, aber warum unnötig verkomplizieren?
Warum diese "Checkboxrabatt"-Orgie?
Wenn Du mehr als 10Stk verkaufst gibt es Rabatt egal ob die Checkbox gecheckt ist oder nicht?
Wenn ein Rabatt gewährt werden soll, dann sollte dies die Checkbox ändern. Es könnte sein, daß die Rabattgewährung nicht möglich ist. Das weiß aber Waren daher sollte Waren den Status der Checkbox setzen.
Delphi-Quellcode:
if (Waren.aktBestand)<0 then
begin
showMessage(mehrWaren);
checkbox1.Checked:=true;exit;
end;
Showmessage
soll informieren, daß es nicht mehr genug Waren gibt. Warum überprüft die Oberfläche dies und nicht die Klasse Waren?
Und wer ist
checkbox1
Gruß
K-H