Forum: Sonstige Fragen zu Delphi
Delphi
by x000x,
8. Jan 2010
Moin moin,
@Klaus: :thumb:
Ich gebe dir Recht, nur war ich wirklich überzeugt, dass meine Aussage bezüglich der "nachkommastellenignoranz" korrekt war
(warum auch immer). Ich hätte wohl erstmal versuchen sollen, den dahinter liegenden Algo zu verstehen :oops:
Forum: Sonstige Fragen zu Delphi
Delphi
by x000x,
7. Jan 2010
Moin moin,
Ich versuche es mal...
Vom übergebenen Datum interessiert ja nur der Datumteil, also die Stellen vor dem Komma.
Ob ich nun z.B. 40184 durch y teile oder 40184.xxxxx durch y, die Vorkommastellen vom Ergebnis bleiben gleich.
Und da bei ((A +8 -Day) - EncodeDate(Y, 1, 1)) / 7 nur unser übergebenes Datum Nachkommastellen haben könnte,
können wir auch bei dem Ergebnis den...
Forum: Sonstige Fragen zu Delphi
Delphi
by x000x,
6. Jan 2010
function DayOfWeekGerman(ADate: TDateTime): Integer;
begin
Result := DayOfWeek(ADate) -1;
if Result <= 0 then Result := 7;
end;
function WeekOfDate(A: TDateTime): Integer;
var
Day: Integer;
Y,M,D: Word;
Forum: Sonstige Fragen zu Delphi
Delphi
by x000x,
6. Jan 2010
Moin moin,
mir ist gestern aufgefallen, dass diese funktion wohl doch fehlerhaft ist.
Das Problem liegt wohl hier:
((Date + 8 - Day) - EncodeDate(Y, 1, 1)) / 7
Folgender aufruf zeigt den Fehler:
ShowMessage(IntToStr(WeekOfDate(StrToDateTime('06.01.2010 11:59:59')))+#13#10+
IntToStr(WeekOfDate(StrToDateTime('06.01.2010 12:00:00'))));