Einzelnen Beitrag anzeigen

Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: problem mit rocedure

  Alt 26. Jan 2010, 16:46
Hallo gangs-taas,

das Problem liegt in der Rekursion selber. Du veränderst einen var Parameter innerhalb einer Rekursion. Eine Rekursion braucht aber immer ihren eigenen kleinen "Arbeitsbereich". Das ganze lässt sich damit so lösen:
Delphi-Quellcode:
    function ErsterTagDerWoche(Datum : TDateTime): TDateTime;
    var
      i : integer ;
    begin
      i := DayOfTheWeek(Datum);
      If i <> 1 Then
      begin
        result := ErsterTagDerWoche(IncDay(Datum,-1));
      end else
      begin // Rekursionsabbruch vergessen :-(
        result := Datum;
      end;
    end;
Der Beitrag von Medium zeigt, wie man eine Rekursion aber auch einfach auflösen kann

Greez, Chris

[Edit]Rekursionsabbruch vergessen [/Edit]
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat