Procedura o Ustalonej godzinie...

0

mam takie cos

Present := Now;
DecodeTime(Present, Hour, Min, Sek, MSec);
if (Hour = a) and (Min = b) and (Sek = c ) then
ShowMessage('Czas cos zrobic');

a,b,c - zmienne string(teksty z editow). jesli chodzi o wykonanie w okreslonej godzinie to dziala bez problemu. nie wiem natomiast jak zrobic, aby cos sie dzialo troche wczesniej... np 15 minut wczesniej...

Present := Now;
DecodeTime(Present, Hour, Min, Sek, MSec);
if (Hour = a) and (Min = b-15) and (Sek = c ) then
ShowMessage('Za 15 cos sie stanie');

tak jak widac b-15 nie chce dzialac... co z tym zrobic ?

0

moze sproboj tak:

Present := Now;
DecodeTime(Present, Hour, Min, Sek, MSec);
if (Hour = a) and (Min = StrToInt(b)-15) and (Sek = c ) then
ShowMessage('Za 15 cos sie stanie');
0

no tak dziala ;) tylko mam problem, ze np ustawie godzine na 10:05:00 - dam, aby 15 minut wczesniej pokazal sie komunikat... wtedy juz sie nie pokazuje, bo wartosc w minutach jest -10 :(

a powinno sie pokazac o 9:50:00...

0

Przekonwertuj czas na sekundy, odejmij określoną liczbę sekund i ponownie przekonwertuj na hh:mm:ss

0

ok smiga :) tylko jeszcze pytanie jak z zmiennych Word przejsc na Integer ?

0

konwersja z Word na Integer jest dokonywana automatycznie podczas przypisania. Zakres Word w całości mieści się w zakresie Integer, więc nie ma problemu.

0

cos nie moge uwierzyc, poniewaz nie moge na tym robic ani dzialan, ani wyswietlic w formie wiadomosci... musze to jakos przekonwertowac na integer, albo chociaz string...

0

To nie jest kwestia wiary, ale znajomości jasno sprecyzowanych podstaw na temat typów danych. Word to 16-bitowy typ całkowity o zakresie 0..65535, Integer to 32-bitowy typ całkowity i zakresie -2147483648..2147483647. Nie trzeba być programistą żeby zauważyć, że można śmiało zmieścić zakres Worda w Integerze. Co do wyświetlania liczb jako tekst... polecam zapoznanie się z funkcjami modułu Sysutils

0

bardzo ciekawe... bo ja nadal nie potrafie przejsc z Word -> Integer...

Sec:word
b:integer

b:=Sec - nie dziala...

0
sebuschlebus napisał(a)

b:=Sec - nie dziala...

Nie ma prawa nie działać... :>

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