Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Abschreibungsprocedur in Delphi

  Alt 2. Jul 2008, 17:27
Herzlich willkommen in der Delphi-PRAXiS, DelphiE46.

Du musst in der Schleife den Wert korrigieren, wenn er den Restwert reflektieren soll:

Delphi-Quellcode:
const
  SP_JAHR = 0;
  SP_AFA = 1;
  SP_REST = 2;

procedure TDemoForm.ButtonClick(Sender: TObject);
var
  iJahr, nJahre: Integer;
  cAfa, cWert: Currency;
  d: Double;
begin
  if TryStrToFloat(WertEdit.Text, d)
  and TryStrToInt(JahreEdit.Text, nJahre) then
    with StringGrid do
    begin
      cWert := d;
      RowCount := nJahre + FixedRows;
      cAfa := Trunc(cWert / nJahre);
      for iJahr := 1 to nJahre do
      begin
        if iJahr = nJahre then
          cAfa := cWert;
        cWert := cWert - cAfa;
        Cells[SP_JAHR, Pred(FixedRows + iJahr)] := IntToStr(iJahr);
        Cells[SP_AFA, Pred(FixedRows + iJahr)] := Format('%m', [cAfa]);
        Cells[SP_REST, Pred(FixedRows + iJahr)] := Format('%m', [cWert]);
      end;
    end;
end;
Freundliche Grüße
  Mit Zitat antworten Zitat