L'heure dans un label

Résolu
cs_othland Messages postés 298 Date d'inscription jeudi 18 décembre 2003 Statut Membre Dernière intervention 9 février 2010 - 22 oct. 2006 à 11:11
Guillemouze Messages postés 991 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??

7 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
22 oct. 2006 à 13:33
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)
3
cs_othland Messages postés 298 Date d'inscription jeudi 18 décembre 2003 Statut Membre Dernière intervention 9 février 2010 1
22 oct. 2006 à 13:50
ok, ok, c'est ce que j'ai fait: TForm1.....
merci a vous tous!
0
Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 6
22 oct. 2006 à 16:44
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;
0
Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 6
22 oct. 2006 à 17:02
exact, je me suis trompé, le setter est :

procedure TMaClasse.SetMaProperty(const Value: integer);
begin
    FMaProperty := Value;
end;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_othland Messages postés 298 Date d'inscription jeudi 18 décembre 2003 Statut Membre Dernière intervention 9 février 2010 1
22 oct. 2006 à 18:38
thanks men!
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
22 oct. 2006 à 19:38
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.
0
Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 6
22 oct. 2006 à 20:35
ah, c'est bien dommage car c'est terriblement pratique, et je pense que je ne pourrais plus m'en passer aujourd'hui
0
Rejoignez-nous