Du weißt ja, ich denke kompliziert.
Delphi-Quellcode:
type
TPraemie = class
private
FGrundPraemie: Currency;
FJahrPraemie: Currency; //Unter 10
FJahrPreamie10: Currency;
FAlter: Word;
FBetriebsJahre: Word;
function Berechnung: Currency;
public
property GrundPraemie: Currency read FGrundPraemie;
property JahrPraemie: Currency read FJahrPraemie;
property JahrPreamie10: Currency read FJahrPreamie10;
property Alter: Word read FAlter write FAlter;
property BetriebsJahre: Word read FBetriebsJahre write FBetriebsJahre;
property Summe: Currency read Berechnung;
constructor Create;
end;
constructor TPraemie.Create;
begin
inherited;
FGrundPraemie := 100;
FJahrPraemie := 50;
FJahrPreamie10 := 60;
end;
function TPraemie.Berechnung: Currency;
begin
if FBetriebsJahre > 0 then
begin
if FBetriebsJahre <= 3 then
Result := FGrundPraemie
else
begin
if FBetriebsJahre <= 10 then
Result := FGrundPraemie + ((FBetriebsJahre - 3) * FJahrPraemie)
else
Result := FBetriebsJahre * FJahrPreamie10;
end;
if FAlter >= 50 then
Result := Result * 1.5;
end
else
Result := 0;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
Praemie: TPraemie;
begin
Praemie := TPraemie.Create;
try
Praemie.BetriebsJahre := StrToInt( Edit1.Text );
Edit3.Text := FloatToStr( Praemie.Summe );
finally
Praemie.Free;
end;
end;