Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   wie auf bestimmte zeit reagieren?? (https://www.delphipraxis.net/107114-wie-auf-bestimmte-zeit-reagieren.html)

lbccaleb 23. Jan 2008 15:18

Re: wie auf bestimmte zeit reagieren??
 
Zitat:

Zitat von SirThornberry
Zitat:

Zitat von lbccaleb
nee das ist es ja wollte die anwendung so klein wie möglich halten und deswegen möglichst keine extra units ausser windows, messages und sysutils!!!

Wenn die Anwendung klein bleiben soll ist sysutils fehl am platz. Ansonsten ist es das einfachste du schaust einfach in die Quelltext deiner Enterprice-Version :-) Das ist schließlich der Vorteil von dieser das du schauen kannst wie es in der vcl umgesetzt wurde.

und wonach soll ich dort suchen?? und vor allem nach was??

naja mit sysutils hab ich noch nicht so die probleme liege damit bei ner datei grösse von rund 50 kb, das ist noch vertretbar...

SirThornberry 23. Jan 2008 15:24

Re: wie auf bestimmte zeit reagieren??
 
suchen nach nichts. Wenn du zum Beispiel bei einer VCL-Anwendung GetTime aufrufst brauchst du einfach nur die Implementation der Funktion GetTime anschauen. Die VCL ist schließlich auch nur eine Kapselung rund um die verfügbaren Funktionen von Windows.

lbccaleb 23. Jan 2008 15:39

Re: wie auf bestimmte zeit reagieren??
 
aso das meinst, jaja so schlau währe ich auch gewesen, aber was ist denn die kapselung von einem zeitvergleich??? dann würd ich mir das dort auch mal raus suchen... und naja den rest mit gettime und so das hab ich alles schon erledigt (ganz untätig war ich ja nicht) ;-)

sirius 23. Jan 2008 16:11

Re: wie auf bestimmte zeit reagieren??
 
Aus GetSystemtime bekommst du doch einen record mit Stunde, minute, sekunde,....
Und in deinem Edit steht (so nehme ich an) "12:30". Also bastelst du mit pos und copy die Zeit auseinander in 12, 30 und 0 und vergleichst die Werte mit denen des Records. Oder du rechnest dir eine Zahl aus, welche die Uhrzeit repräsentiert und vergleichst die.

lbccaleb 23. Jan 2008 16:24

Re: wie auf bestimmte zeit reagieren??
 
wie genau stell ich denn sonn vergleich an?? zuerst die stunden miteinander vergleichen und dann die min und dann die sek??

lbccaleb 24. Jan 2008 14:31

Re: wie auf bestimmte zeit reagieren??
 
ok ich hab es jetzt erst mal geschafft die unit sysutils zu entfernen und alles läuft super.. das hat mir wieder 25kb ersparrt^^

aber in sachen zeitstring zerlegen und kontrollieren ob die zeit schon ist bin ich immer noch nicht weiter.. es muss doch jemanden geben der mit tsystemzeit ein wenig erfahrung hat und mir vllt auch nen kleinen code geben??!!

Tyrael Y. 24. Jan 2008 14:41

Re: wie auf bestimmte zeit reagieren??
 
Wenn du GetSystemTime benutzt hast, dann hast du ja jetzt einen Record, wo die Daten drin stehen, wenn du jetzt damit Addieren/Subtrahieren möchtest, dann musst du wie in der Hilfe vorgegeben vorgehen....

SYSTEMTIME ist der Record den GetSystemTime liefert

Zitat:

Remarks
It is not recommended that you add and subtract values from the SYSTEMTIME structure to obtain relative times. Instead, you should

1. Convert the SYSTEMTIME structure to a FILETIME structure.
2. Copy the resulting FILETIME structure to a ULARGE_INTEGER structure.
3. Use normal 64-bit arithmetic on the ULARGE_INTEGER value.

Edit (Das ganze mal auf "Deutsch"):

1. GetSystemTime benutzen
2. den Record hier heraus in SystemTimeToFileTime als Parameter übergeben
3. mit memcpy den Record aus SystemTimeToFileTime auf einen int64 kopieren

-> jetzt hast du einen int64 mit dem du rechnen kannst ;)

DeddyH 24. Jan 2008 14:46

Re: wie auf bestimmte zeit reagieren??
 
Delphi-Quellcode:
var jetzt, vergleich: TSystemTime;
begin
  with vergleich do
    begin
      wYear := 2008;
      wMonth := 1;
      wDay := 24;
      wHour := 14;
      wMinute := 43;
      wSecond := 15;
    end;
  GetSystemTime(jetzt);
  if (jetzt.wYear >= vergleich.wYear) and
     (jetzt.wMonth >= vergleich.wMonth) and
     (jetzt.wDay >= vergleich.wDay) and
     (jetzt.wHour >= vergleich.wHour) and
     (jetzt.wMinute >= vergleich.wMinute) and
     (jetzt.wSecond >= vergleich.wSecond) then
    ShowMessage('Zeitüberschreitung')
  else
    ShowMessage('Hat noch Zeit');
end;

lbccaleb 24. Jan 2008 14:57

Re: wie auf bestimmte zeit reagieren??
 
hey danke, ich denke das wird mir erstmal weiter helfen...

lbccaleb 24. Jan 2008 15:41

Re: wie auf bestimmte zeit reagieren??
 
mmhhh jetzt steh ich vor noch nem problem, wie kann ich jetzt aus tsystemzeit herrausbekommen, welcher wochentag an dem und dem tag ist?? bzw währe im kalender??


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:24 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz