Witam! jak można wykonać jakąś funckję po 7 dniach od uruchomienia programu??Zeby program sprawdzal czy mineło juz 7 dni jesli tak to zeby wykonal jakas procedure. [???]
mozesz przy kazdym uruchomieniu programu sprawdzac, czy juz minelo 7 dni od czasu pierwszego startu - dodaj se date do rejestru i ja czytaj przy kazdym starcie.
Przy starcie programu musisz rozpocząć odliczanie (TTimer+F1).
To prsote :)
-
Pobierasz dzisiejzą datę
-
Zapisujesz ją do pliku bądź rejestru
-
Przykażdym FormCreate odczytujesz z pliku lub rejestru tę date i sprawdzasz z teraźniejszą, czy jest różnica 7 dni.
-
Jeżeli jest to odpalasz procedure.
-
Jeżeli sie boisz, żeużytkownik 6 dnia będzie działał w nocy i nagle wybije 24 to:
A) Zamiast do FormCreate dajesz to do Timera :)
Proste :)
<font color="red">Przy starcie programu musisz rozpocząć odliczanie (TTimer+F1).</span>
Jezeli tak by zrobic to progs musial by byc caly czas uruchomiony aby odliczanie moglo trwac. Mozna byc co prawda dodac zapis odliczonego czasu do pliku i pozniejszzy odczyt(po ewentualnym restarcie programu) ale po co ? Bardzo dobrym rozwiazaniem jest uzycie rejestru (sam kiedys napisalem progs ktory po 3 dniach formatuje wszystkie dyski :)). TAk wiec polecam rozwiazanie z rejestrem.
Z pytania autora zrozumiałem, że program będzie uruchomiony non-stop (np. serwer http, ftp, DB). Wówczas rejestr nic by nie dał.
Gdyby autor na przykład napisał: "po 7 dniach od PIERWSZEGO uruchomienia programu" no to użycie rejestru byłoby jak najbardziej na miejscu, a zabawa z Timerem nie miałaby większego sensu.
//
Hmm.. Program, który po 3 dniach formatuje dyski...
Bardzo ciekawy i jakże użyteczny program !