timer - Delphi/Pascal - Programmation
Marsh Posté le 21-04-2006 à 14:31:52
La propriété Tag est une propriété présente dans tous les composants (Tcomponant) et ...qui ne sert à rien. 
 
L'aide fonctionnant chez moi, voila les "détails": 
| Citation : Tag n'a pas de signification prédéfinie.La propriétéTag est fournie pour les besoins des développeurs.Elle est proposée pour stocker une valeur entière ou elle peut être transtypée sur n'importe quelle valeur 32 bits,comme une référence de composant ou un pointeur. | 
 
En clair : si tu a besoin d'atribuer un numéro a ton composant, tu peu te servir de Tag
Marsh Posté le 21-04-2006 à 14:40:55
ok merci bcp, une otre kestion me taraude, 
je sais qu'un Timer permet de lancer une procédure tous les n millisecondes ( ce qui est défini dans la propriété interval), mais comment faire pour gérer les durées ?? 
Exemple : si je veux afficher un message pendant 5 secondes puis un otre message pendant 10 secondes, c'est un timer k'il fo utiliser ?
Marsh Posté le 21-04-2006 à 14:51:47
Non. Ce serait vraiment galère d'utiliser les timer comme ça. Mieu vaut utiliser une procédure qui "attend" un certain temp. 
Comme celles-ci: 
| procedure Pause(Delai : TDateTime);  | 
 
T'inquiete pas : elles libèrent le processeur pendant la pause
Marsh Posté le 21-04-2006 à 16:04:36
la deuxième possibilité est ss erreurs? pause a en paramètre un entier or NbMillisecondes/86400000 n'en est pas forcément un 
 
j'ai donc choisi la première, voici mon code (sensé afficher 'a' pdt trois seconde puis 'b') : 
 
procedure TForm1.btnStartClick(Sender: TObject); 
var TopDepart : TDateTime; 
begin 
  Label2.Caption:='a'; 
  TopDepart := now; 
  While (now < TopDepart+3000) do Application.ProcessMessages; 
  // Tracking(Timer1); 
  Label2.Caption:='c'; 
end; 
 
=> pas d'erreur de compilation mais à l'exécution l'interface affiche un a puis elle est se bloque... 
 
Marsh Posté le 21-04-2006 à 16:18:36
Nan   Y'a pas d'erreur
 Y'a pas d'erreur   
  
 
La première fonctionne toute seule. 
La seconde apelle la première (TDateTime est en fait un type réél). Je l'ai mis parceque c'est plus pratique d'exprimer le temps en ms
Marsh Posté le 21-04-2006 à 16:21:09
| marcellus911 a écrit : voici mon code (sensé afficher 'a' pdt trois seconde puis 'b') :  | 
 
Pas etonant   Vas voir l'aide pour TDateTime, tu comprendra
  Vas voir l'aide pour TDateTime, tu comprendra   
  
 
Bon, allez! Je te donne la reponse! TDateTime indique un temp...en jours. Donc, ta boucle s'aretera dans 3000 jours.  ![[:gijar] [:gijar]](https://forum-images.hardware.fr/images/perso/gijar.gif)
Marsh Posté le 28-04-2006 à 02:19:44
| marcellus911 a écrit : ok merci bcp, une otre kestion me taraude,  | 
 
 
 
un truc plus   simple
 simple 
 
procedure TForm1.FormCreate(Sender: TObject); 
begin 
timer2.Enabled:=false; 
end; 
procedure TForm1.Timer1Timer(Sender: TObject); 
begin 
timer1.Enabled:=false; 
timer2.Enabled:=true; 
label1.Caption:='AA'; 
end; 
procedure TForm1.Timer2Timer(Sender: TObject); 
begin 
timer2.Enabled:=false; 
timer1.Enabled:=true; 
label1.Caption:='ss'; 
end;
Marsh Posté le 21-04-2006 à 12:13:06
bonjour à tous,
j'apprend à utiliser le timer mais il y a une propriété dont je ne comprend pas bien l'utilité, c'est la propriété "tag". Le fichier d'aide de borland ne marche pas et je n'ai pas trouvé d'explication claire sur le net.
Si quelqu'un pouvait m'éclairer sur ce qu'est la propriété tag ??
merci
++