Composant horloge

Signaler
Messages postés
228
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
25 octobre 2006
-
Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
-
Salut,

A l'instar du composant TTimer qui permet de généré un événement toutes les x millisecondes, je cherche un composant qui générerait un événement à une heure bien précise.

Quelqu'un a une idée? Merci.

Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans

13 réponses

Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
7
Hello,

Essaye ce lien :
http://www.phidels.com/php/index.php3?page=../php/pagetelechargementzip.php3&id=213

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
ou alors tout bete, dans un TTimer, enabled, interval 900 (au cas ou)
tu mets :
var
 Alarme: string;

alarme := '17:05:00'; // heure de l'alarme


procedure TForm1.Timer1OnTimer(Sender: TObject);
begin
 if TimeToStr(now)=alarme then Showmessage('Alarme !!');
end;


bien sur, possibilité de gerer un array etc en cas de plusieurs alarmes :D

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
mmm interval 1000 tout compte fait :D

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
7
Je suis à 100% daccord avec toi plutot que d'ajouter un composant non standard à delphi autant passer par ta méthode.

LOL ouais je pense qu'avec un interval de 1000 ca fonctionnera mieux.

Je vote pour cette méthode. Qu'en penses tu Vincents?

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Messages postés
702
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
1 octobre 2009
3
Etant total parano, je ferais gaffe à l'égalité. Une seconde, c'est vite passé, et comme le timer n'est pas trop précis.....
C'est, je suppose, ce que tu as pensé en mettant l'intervalle à 900ms.
Je serais plutot partisant de

var
  Alarme : TDateTime;

procedure TForm1.Timer1OnTimer(Sender: TObject);
begin
if now>=alarme then
begin
  Showmessage('Alarme !!');
  Timer1.Enable:= False;  // ou mise à jour de la variable alarme 
end;
end;


Ken@vo
____________________
Code, Code, Codec !
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
oui j'y ai pensé mais si pendant la seconde il ne deconne pas, il risk de lancer 2 fois l'alarme. perso en dessous de 500ms j'utilise le TmmTimer de Kenavo :D
euh sinon comment oses-tu comparer des string avec => !? c possible ça ??
alors si c possible je suis sur le cux, si c'est une erreur de ta part, je propose de verif les 5 premier caracteres avec un copy()
ça donne :

var
Alarme: string;


alarme := '19:05';


procedure TForm1.Timer1OnTimer(Sender: TObject);
begin
if Copy(TimeToStr(now), 1, 5)=alarme then Showmessage('Alarme !!');
end;


voila et mon timer continue de tourner pour les prochaines alarmes :p

ps : avec un Interval de 1000; sur ce $#@*é& de TTimer :)

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
gros ps : kevano : j'ai rien dit tu compares des TDateTime et pas des strings :p dsl

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
Messages postés
702
Date d'inscription
vendredi 21 mars 2003
Statut
Membre
Dernière intervention
1 octobre 2009
3
Salut JulioDelphi,

J'ai hésité à laisser la comparaison de chaînes. C'est une comparaison alphabétique, qui dans certains cas peut donner des résultats corrects, et ici en particulier dans la comparaison d'heure et à condition que chaque paramètre soit bien codé sur deux digits : la chaîne '05:55:55' est inférieure à '10:20:30', mais '5:55:55' est supérieure à '10:20:30'.
Donc méfiance ! (pour les dates "à la française" c'est pas bon du tout , le 1er de chaque mois sera "avant" le 2 janvier !)

Et pour éviter la répétition de l'alarme, j'ai rajouté, lors du premier déclenchement :
Timer1.Enabled := False;


Ken@vo
____________________
Code, Code, Codec !
Messages postés
228
Date d'inscription
lundi 5 avril 2004
Statut
Membre
Dernière intervention
25 octobre 2006

J'y avais pensé, mais alors il faut un timer qui tourne dans un thread pour être le plus précis possible.

Ce que je cherche c'est quelque chose qui comparerait l'horloge du PC.
Et comme je suis un peu :sleepy) je cherche du tout fait.

Et comme disait ma grand-mère : il y a toujours du soleil derrière les nuages.

Vincent Stryckmans
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
mais non :p prends le composant TmmTimer de kenavo, il est 99.99999999% précis :D l'interval 1 ms est respectée (elle au moins)

avec ce timer là, impossible que la seconde saute ! promis :D (et c du tout fait lol)

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
7
Tiens ca m'interesse ca tu pourrais filer le lien vers le timer de kenavo stp Julio?

Merci.

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
bon on va dire que tu as pas posté et que tu as toi meme cliqué sur la belle tete de kenavo (pour voir son profil) et que tu as cliqué sur "ses sources" et que tu as trouvé tout seul son timer... :)

pis on va dire ke g pas repondu :p

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
Messages postés
1119
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
4 octobre 2006
7
Lol effectivement je pense que je mérite une calote plombée. Désolé la nuit à été difficile et je me réveille doucement.

Merci Julio.

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.