L'heure dans un label [Résolu]

Messages postés
301
Date d'inscription
jeudi 18 décembre 2003
Statut
Membre
Dernière intervention
9 février 2010
- - Dernière réponse : Guillemouze
Messages postés
1015
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
29 août 2013
- 22 oct. 2006 à 20:35
slt tlm;
je voulais afficher l'heure dans un TLabel, et j'ai trouvé dans le forum une réponse interessante puisqu'elle ne repose pas sur l'utilisation d'un TTimer, mais elle consistait à faire ceci:
/////////////////////////////////////
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;
//////////////////////////
le problème c'est que ça me genère une erreur en m'affichant:
[Erreur] Unit1.pas(36): Déclaration forward ou external non satisfaite : 'TForm1.AppIdle'
dans la ligne des déclarations publiques!!
qlq peut m'aider svp??
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
4307
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
33
3
Merci
procedure Tform1.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;

<hr size="2" width="100%" />Croc (click me)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de f0xi
Messages postés
314
Date d'inscription
dimanche 31 octobre 2004
Statut
Membre
Dernière intervention
31 décembre 2006
2
0
Merci
Salut
C'est simple tu a oublié de mettre form1 devant AppIdle :

procedure form1.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;

voilà, maintenant tu devrais plus avoir d'erreur.

Bonne continuation.

N'oubliez d'aller voir le règlement de C-S ici
N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!
Commenter la réponse de cs_sim51
Messages postés
301
Date d'inscription
jeudi 18 décembre 2003
Statut
Membre
Dernière intervention
9 février 2010
0
Merci
ok, ok, c'est ce que j'ai fait: TForm1.....
merci a vous tous!
Commenter la réponse de cs_othland
Messages postés
1015
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
29 août 2013
6
0
Merci
petite astuce : lorsque tu declare des procedures, property, ... dans une classe, tu peux les completer automatiquement en faisant CTRL+SHIFT+C (enfin c'est ce raccourci chez moi, ca doit etre un truc du genre "completer le code sous le curseur), avec le curseur a l'intrieur de ta classe. Petit exemple:

TMaClasse = class
private
public
    property MaProperty: integer;
  | constructor create;
    destructor Destroy; override;
    procedure MaProcedure(param: boolean);
end;

te donnera en faisant ctrl+shift+c (| est le curseur, en bleu ce qui est rajouté) :

TMaClasse = class

private
    FMaProperty: integer;
    procedure SetMaProperty(const Value: integer);

public

    property MaProperty: integer read FMaProperty write SetMaProperty;

    constructor create;

    destructor Destroy; override;

    procedure MaProcedure(param: boolean);

end;

procedure TMaClasse.SetMaProperty(const Value: integer);
begin

end;

constructor TMaClasse.create;
begin

end;

destructor TMaClasse.Destroy;
begin

    inherited;
end;

procedure TMaClasse.MaProcedure(param: boolean);
begin

end;
Commenter la réponse de Guillemouze
Messages postés
314
Date d'inscription
dimanche 31 octobre 2004
Statut
Membre
Dernière intervention
31 décembre 2006
2
0
Merci
Re,
Ha oui j'avais oublié le T devant form1 dsl :( (merci f0xi :d).
Sinon c'est sympas ce raccourci, je pensais bien qu'il existait quelque chose de ce genre sous delphi pour facilité la création d'objet. (sous eclipse -pour le java - il y a une opton qui le fait automatiquement et qui en prime fait le code des getter et setter !!!).

N'oubliez d'aller voir le règlement de C-S ici
N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!
Commenter la réponse de cs_sim51
Messages postés
1015
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
29 août 2013
6
0
Merci
exact, je me suis trompé, le setter est :

procedure TMaClasse.SetMaProperty(const Value: integer);
begin
    FMaProperty := Value;
end;
Commenter la réponse de Guillemouze
Messages postés
301
Date d'inscription
jeudi 18 décembre 2003
Statut
Membre
Dernière intervention
9 février 2010
0
Merci
thanks men!
Commenter la réponse de cs_othland
Messages postés
4580
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
26
0
Merci
Pour info uniquement : "Compléter la classe sous le curseur" est une fonctionnalité bien pratique mais hélas pas disponible dans l'édition personnelle de Delphi.

May Delphi be with you !
<hr color="#008000" />
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Commenter la réponse de cs_Delphiprog
Messages postés
1015
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
29 août 2013
6
0
Merci
ah, c'est bien dommage car c'est terriblement pratique, et je pense que je ne pourrais plus m'en passer aujourd'hui
Commenter la réponse de Guillemouze

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.