Program ma sie uruchomic po okreslonym czasie....

0

Hej. W jaki sposob napisac program w Delphi aby uruchamial sie, tzn zaczely dzialac operacje w nim zapisane, po okreslonym czasie...np po czasie wczesniej podanym przez uzytkownika...innymi slowy jakie polecenie jest odpowiedzialne za operacje na "czasie" w Delphi???

0

Wykorzystaj komponent TTimer i daj mu polecenie, żeby się wyłączył po n czasie... Później w procedurach sprawdzaj czy Timer.Enabled = False, jeśli tak to wykonaj polecenie...

0

Najlepszym, sposobem będzie chyba zarejestrowanie timera w systemie (NIE, nie chodzi o TTimer sprawdzający co sekundę czy jest ta godzina, co trzeba), z częstotliwością ustawioną na różnicę czasu obecnego i czasu podanego przez użytkownika, trzeba oczywiście zrobić obsługę komunikatu (WM_TIMER? - nie pamiętam). Taki sposób będzie napewniejszy i najmniej obciąży komputer. Szczegóły - Windows SDK.

[dopisane]
Detox, grozi ci czarna lista osób nie umiejących używać VCL: najlepszym sposobem używania tego ustrojstwa jest nieużywanie go - wtedy, kiedy inna metoda będzie znacznie lepsza, a niewiele mniej pracochłonna. Nie każę rejestrować okna i wszystkich kontrolek funkcjami WinAPI itp, ale pewne rzeczy lepiej zrobić czymś innym.

0

Do my_nick : post Michała nie wskazuje na to że jest on zbyt doświadczonym programistą (przynajmniej nie orientuje sie w Delphi). Mówienie takim ludziom o rejestrowaniu Timera w systemie jest conajmniej nie na miejscu. A biblioteka VCL jest m.in po to żeby nie trzeba było sie bawić API tylko napisać coś szybko i ŁATWO.

0

(NIE, nie chodzi o TTimer sprawdzający co sekundę czy jest ta godzina, co trzeba

Chyba zartujesz!!

Help Delphi:
TTimer encapsulates the Windows API timer functions.

{...}

Description

TTimer is used to simplify calling the Windows API timer functions SetTimer and KillTimer, and to simplify processing the WM_TIMER messages.

0

Fakt, trochę przesadziłem. Ale są sytuacje, w których użycie WinAPI bez dodatków jest bardziej praktyczne - np. jeśli trzeba jednocześnie, ale niezależnie użyć kilku timerów. Wtedy wstawianie masy komponentów na formę to nieciekawe rozwiązanie, a z API wystarczy jedna procedura rozróżniająca timery po parametrze wiadomości. Można też tworzyć komponenty w tablicy, ale to z kolei byłoby chyba bardziej pracochłonne niż użycie API. Poza tym każdy taki komponent zajmuje te swoje kilkadziesiąt bajtów w pamięci...

PS. W tym przypadku się za bardzo czepiałem i przepraszam, ale nadal nie będę miał litości dla ludzi wymyślających jakieś cuda w stylu TMemo z Visible na False, żeby zapisać tekst do pliku...

1 użytkowników online, w tym zalogowanych: 0, gości: 1