Einzelnen Beitrag anzeigen

Codix32

Registriert seit: 23. Apr 2009
137 Beiträge
 
Delphi 2005 Personal
 
#6

AW: CompareDate gibt immer 1 aus...

  Alt 25. Mai 2015, 22:20
Trage jeweils deine Testdaten ein, mit denen bei Dir angeblich '1' rauskommt.
Dein Beispiel funktioniert bei mir richtig.

Aber hier:
Delphi-Quellcode:
function TForm1.Tagedazwischen(vor, nach:TDate):Integer;
begin
 if compareDate(vor,nach) >= 0 then Result:= daysbetween(vor,nach)
 Else if compareDate(vor,nach) < 0 then Result := -1;
end;
Das Ergebnis bleibt immer 1.
Und eine Meldung lautet:
[Warnung] Unit1.pas(94): W1035 Rückgabewert der Funktion 'TForm1.Tagedazwischen' könnte undefiniert sein

Warum?

Aufgerufewn wird die Funktion hier:
Delphi-Quellcode:
procedure TForm1.Zeitraum(dt:TDate);
var
  vorTag:TDate;
begin
Gauge1.Progress:=0; Gauge2.Progress:=0;Gauge3.Progress:=0;
 vorTag:= strtoDate('17.04.2015');
  if wievieltePackung(Tagedazwischen(dt, vorTag)) >= 1 then
     Gauge1.Progress:= round(100 / 28 * Tagedazwischen(dt, vorTag));
Dabei spielt es keine Rolle ob ich Zeitraum(Now) oder Zeitraum(Date) schreibe.
  Mit Zitat antworten Zitat