![]() |
Re: wie auf bestimmte zeit reagieren??
wDayOfWeek ist ein Feld des Records ;)
|
Re: wie auf bestimmte zeit reagieren??
ok das klappt alles bestens, jetzt aber noch nen kleines problem, wenn ich nun den wochentag von morgen, übermorgen, sonstwann haben will wie mach ich das in dem fall??
|
Re: wie auf bestimmte zeit reagieren??
Für diese Lösung brauchst Du aber wieder SysUtils (ich war zu faul zum Rechnen :mrgreen: ):
Delphi-Quellcode:
[edit] Viel zu kompliziert gedacht :mrgreen:
var SysTime: TSystemTime;
dtTime: TDateTime; Tag: string; begin GetSystemTime(SysTime); dtTime := SystemTimeToDateTime(SysTime); dtTime := dtTime + 1; DateTimeToSystemTime(dtTime,SysTime); case SysTime.wDayOfWeek of 0: Tag := 'Sonntag'; 1: Tag := 'Montag'; 2: Tag := 'Dienstag'; 3: Tag := 'Mittwoch'; 4: Tag := 'Donnerstag'; 5: Tag := 'Freitag'; 6: Tag := 'Samstag'; end; ShowMessage('Morgen ist ' + Tag); end;
Delphi-Quellcode:
[/edit]
function WhichDayOfWeek(st: TSystemTime; const DaysToAdd: Integer): string;
begin st.wDayOfWeek := (st.wDayOfWeek + DaysToAdd) mod 7; case st.wDayOfWeek of 0: Result := 'Sonntag'; 1: Result := 'Montag'; 2: Result := 'Dienstag'; 3: Result := 'Mittwoch'; 4: Result := 'Donnerstag'; 5: Result := 'Freitag'; 6: Result := 'Samstag'; end; end; procedure TForm1.FormCreate(Sender: TObject); var SysTime: TSystemTime; begin GetSystemTime(SysTime); ShowMessage(Format('Morgen ist %s',[WhichDayOfWeek(SysTime,1)])); end; |
Re: wie auf bestimmte zeit reagieren??
naja so falsch gedacht war das nicht, denn wie im anderen post geschrieben funktioniert das leider nicht mit den aufaddieren der tagen, das macht er nicht... wenn ich die funktion dann auf dem 31 benutzen würde, hätte er den 38.01.2008 in seiner list ;-( und den gibs nicht ;-)
|
Re: wie auf bestimmte zeit reagieren??
das vergleichen der systemtime hab ich jetzt gelöst, auf einem ähnlichen weg wie es schon "Tyrael Y." vorgeschlagen hat! in der api konnte ich allerdings noch ein paar funktionen für einen leichteren schnelleren weg finden...
Delphi-Quellcode:
die ausgabe ist dann:
function IsTimeRunningOut(TimeToCompare: TSystemTime): Boolean;
var Now, TempTime: TFileTime; begin; GetSystemTimeAsFileTime(Now); SystemTimeToFileTime(TimeToCompare, TempTime); case CompareFileTime(Now, TempTime) of -1: result := False; 0: result := True; 1: result := True; end; end; false wenn die zeit "TimeToCompare" noch nciht erreicht ist true wenn die zeit erreicht oder überschritten wurde vllt hilft es ja noch jemand ;-) edit noch mal überarbeitet und eine boolean variable draus gemacht.. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz