Dans une application, j'ai un timer qui se déclenche toutes les 15mn environ.
J'aimerai savoir s'il y a la possibilité de connaitre le temps restant entre le moment où l'on execute le timer et sa prochaine exécution ?
Dans une application, j'ai un timer qui se déclenche toutes les 15mn environ.
J'aimerai savoir s'il y a la possibilité de connaitre le temps restant entre le moment où l'on execute le timer et sa prochaine exécution ?
Modérateur Delphi
Le guide du bon forumeur :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
Salut
Tu peux initialiser une var.
à chaque execution de ton Timer,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 var MaDerniereExec: TDateTime; // var globale procedure MaForm.TimerTimer; begin MaDerniereExec := Now; ... end;
Puis, à un moment donné, la prochaine exécution sera
et ceci, même si le délai du timer est modifié entre-temps, puisque là, tu reviens au moment de la derniere exec...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Now - MaDerniereExec + DelaiTimer
je sais pas si je réponds à ta question... ?
Section Delphi
La mine d'or: La FAQ, les Sources
Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
Notre revanche ? l'inverse est aussi vrai ;-)
Pas vraiementEnvoyé par TicTacToe
Mon timer ne se declenche que toutes les 15mn, ce que j'aimerai savoir c'est s'il existe un moyen (fonction/ Message/ etc ...) pour connaitre combien de ces 15mn il reste avant le prochain d'eclanchement du OnTimer et l'afficher via une progressbar ou un label ?
Est ce que je vais être obligé d'utiliser un autre Timer qui va se declancher toutes les x secondes et générer l'affichage ?
Modérateur Delphi
Le guide du bon forumeur :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
C'est ce que je feraisEnvoyé par Malatar
Ou bien un thread... mais bon, c'est un marteau-piqueur pour écraser une noix dans ce cas précis (une jauge de temps restant)...
Section Delphi
La mine d'or: La FAQ, les Sources
Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
Notre revanche ? l'inverse est aussi vrai ;-)
Salut,
Je vois peut-être la solution d'utiliser ton Timer en le déclenchant toutes les minutes, tu en profites pour mettre à jour ton ProgressBar, puis au 15° déclenchement du fait ton traitement.
Non, à ton avis ?
@+
C'est une bonne idée effectivementEnvoyé par Claudius40
Mais je garderai le 2eme timer quand meme pour les raisons suivantes:
- traitement de la jauge, indépendante du traitement du timer original
- dans 1 an, ce sera plus 1/4 d'heure mais 20 minutes. Il faudra se ré-investir dans la compréhension du prog, pour savoir, qu'il faut modifier une var. globale pour vérifier le compteur, alors qu'il est plus simple de modifier directement le délai du timer original, de 15 à 20 minutes, ce qui est plus logique et visuel.
mais je chippote
Section Delphi
La mine d'or: La FAQ, les Sources
Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
Notre revanche ? l'inverse est aussi vrai ;-)
Ouais, ouais ! Ca se défend.
Et WM_TIMER ça donne quoi, pour revenir au but initial de Malatar.
@+
Re,
J'ai trouvé ce composant Estimated Timer Component chez Torry qui pourrait répondre à ton problème.
@+ Claudius
Merci, mais je voudrais eviter d'avoir encore un enieme composant exterieur.Envoyé par Claudius40
Je laisse encore en non résolu un petit temps pour voir si quelqu'un ne sortierai pas un solution de derriere les fagos ^^
Modérateur Delphi
Le guide du bon forumeur :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager