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
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
Bon, allez! Je te donne la reponse! TDateTime indique un temp...en jours. Donc, ta boucle s'aretera dans 3000 jours.
Marsh Posté le 28-04-2006 à 02:19:44
marcellus911 a écrit : ok merci bcp, une otre kestion me taraude, |
un truc plus 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
++