Quand je compile le projet l'heure, les minutes et les secondes s'affichent comme je voulait mais je voulais aussi que sa fassent un peu comme une horloge, que le temps avance et qu'il ne reste pas tout le temps le mme.
-------------------------------
Rponse au message :
-------------------------------
La première réponse quivient à l'esprit est effectivement d'utiliser un TTimer. Or, celui-ci consomme des ressources machine alors qu'il existe un moyen d'optimiser l'utilisation du CPU en lui demandant de travailler quand il n'a rien à faire.
Je m'explique :
L'objet Application possède un évènement OnIdle dans lequel on peut indiquer une ou plusieurs tâches à acccomplir quand l'application est au repos.
Exemple on ne peut plus classique : dans l'évènement OnCreate de la fiche principale, on assigne une procédure à l'évènement OnIdel de Application :
Application.OnIdle := AppIdle;
On déclare une procédure dans la partie publique de la fiche
public
procedure AppIdle(Sender: TObject; var Done : Boolean);
Dans cette procédure, on inscrite le code suivant (par exemple):
procedure AppIdle(Sender: TObject; var Done : Boolean);
begin
//inscrire la date et l'heure sur Button1
Button1.Caption : = DateTimeToStr(Now);
//Recommencer au prochain temps mort
Done := False;
end;
J'ai pas trop compris les expliquationde delphiprog alors je me suis dbrouill avec un Ttimer .
Merci de m'avoir rpodu aussi vite.
-------------------------------
Rponse au message :
-------------------------------
La première réponse quivient à l'esprit est effectivement d'utiliser un TTimer. Or, celui-ci consomme des ressources machine alors qu'il existe un moyen d'optimiser l'utilisation du CPU en lui demandant de travailler quand il n'a rien à faire.
Je m'explique :
L'objet Application possède un évènement OnIdle dans lequel on peut indiquer une ou plusieurs tâches à acccomplir quand l'application est au repos.
Exemple on ne peut plus classique : dans l'évènement OnCreate de la fiche principale, on assigne une procédure à l'évènement OnIdel de Application :
Application.OnIdle := AppIdle;
On déclare une procédure dans la partie publique de la fiche
public
procedure AppIdle(Sender: TObject; var Done : Boolean);
Dans cette procédure, on inscrite le code suivant (par exemple):
procedure AppIdle(Sender: TObject; var Done : Boolean);
begin
//inscrire la date et l'heure sur Button1
Button1.Caption : = DateTimeToStr(Now);
//Recommencer au prochain temps mort
Done := False;
end;
en fait je cre un petit reveil j'y ai mis un Tedit, un bouton, un label (qui affiche l'heure). Voil un bout du code qui ne marche pas comme je l'aurais souhait:
procedure TForm9.Button1Click(Sender: TObject);
var
heure:string;
begin
heure:= edit1.Text;
if
heure=label1.caption then
begin
showmessage('salut');
end;
Je pensai qu'en faisant ce code je pourrais mettre l'heure du reveil dans le Tedit et que le message salut s'affiche au momment au l'heure est atteinte. Mais en fait sa ne marche pas car quand on veut tre rveiller 7 heure il faut que le label soit ausi 7 heure (un peu bizarre pour un reveil;-)). Comment puis-je faire pour que j'indique par exemple 17:45:75 dans le Tedit alors qu'il est 17 heures et que le reveil affiche le message 17:45:75?
-------------------------------
Rponse au message :
-------------------------------
J'ai pas trop compris les expliquationde delphiprog alors je me suis dbrouill avec un Ttimer .
Merci de m'avoir rpodu aussi vite.
-------------------------------
Rponse au message :
-------------------------------
La première réponse quivient à l'esprit est effectivement d'utiliser un TTimer. Or, celui-ci consomme des ressources machine alors qu'il existe un moyen d'optimiser l'utilisation du CPU en lui demandant de travailler quand il n'a rien à faire.
Je m'explique :
L'objet Application possède un évènement OnIdle dans lequel on peut indiquer une ou plusieurs tâches à acccomplir quand l'application est au repos.
Exemple on ne peut plus classique : dans l'évènement OnCreate de la fiche principale, on assigne une procédure à l'évènement OnIdel de Application :
Application.OnIdle := AppIdle;
On déclare une procédure dans la partie publique de la fiche
public
procedure AppIdle(Sender: TObject; var Done : Boolean);
Dans cette procédure, on inscrite le code suivant (par exemple):
procedure AppIdle(Sender: TObject; var Done : Boolean);
begin
//inscrire la date et l'heure sur Button1
Button1.Caption : = DateTimeToStr(Now);
//Recommencer au prochain temps mort
Done := False;
end;