Je souhaite afficher une boite de message 15 minutes après l'appui sur un bouton. Il faut employer Gettickcount mais quelle est la formule ?
Me faut-il un Timer également ?
D'avance Merci,
Denis
Je souhaite afficher une boite de message 15 minutes après l'appui sur un bouton. Il faut employer Gettickcount mais quelle est la formule ?
Me faut-il un Timer également ?
D'avance Merci,
Denis
Salut
Tu as le choix:
Soit tu utilises un Timer qui se déclenche au bout de 15 minutes (ou bien toutes les n secondes jusqu'à ce que les 15 minutes soient passées)
Soit tu fais une boucle avec un GetTickCount et tu déclenches lorsque les 15 minutes sont passées.
Par contre, l'utilisation d'une boucle avec GetTickCount va pas mal te bouffer des ressources Il faudrait que tu nous dises dans quel cadre tu voudrais faire ça.
Pedro
Aucune réponse aux sollicitations techniques par MP
Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)
Les pages Source C'est bon. Mangez-en!
Le défi Delphi
Règles du forum - FAQ Delphi - Pensez au chtit
Aéroclub Bastia Saint-Exupéry
Salut
Un simple Timer fera l'affaire.
Tu définis ton timer sur 15 minutes que tu actives (Enabled := True) lors de l'appui sur ton bouton.
Ne pas oublier de désactiver le timer, si tu ne veux pas répéter l'évènement toutes les 15 mn.
[Edit]
Ouais, c'est pas bête ça !Envoyé par Pedro
@+ Claudius
Merci pour la réponse
ok pour le timer. mais je met quoi comme code dans le Timer ?
il faut que je détermine si les 15 minutes sont passées ou non
il faut alors peut être comparer avec gettickCount non ?
Denis
Salut,
Voici ce qu'il faut mettre dans ton Timer :
Et voici comment on le déclenche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 procedure TForm1.Timer1Timer(Sender: TObject); begin ShowMessage('Coucou'); Timer1.Enabled:=false; // On arrête le Timer end;
Il faut vérifier, en mode Design Time que le Timer à la propriété Enable à false pour éviter que l'événément se déclenche au lancement de l'application.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 procedure TForm1.Button1Click(Sender: TObject); begin Timer1.Enabled:=true; end;
Sinon, tu mets dans le OnCreate de ta forme :
Ensuite, il faut s'assurer de bien avoir défini l'intervalle soit en Design Time en mettant la valeur 900000 à la propriété Interval du Timer, soit par code (que tu peux mettre dans le OnCreate) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 procedure TForm1.FormCreate(Sender: TObject); begin Timer1.Enabled:=false; end;
J'espère que celà répond à tes questions
Code : Sélectionner tout - Visualiser dans une fenêtre à part Timer1.Interval:=900000; //15 minutes
Re,
OK grillé par ero-sennin !
A part que j'inverserais les 2 instructions, comme cela si l'utilisateur est parti prendre un café le timer ne se redéclenche pas avant qu'il ne referme le dialogue.
@+ Claudius
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 procedure TForm1.Timer1Timer(Sender: TObject); begin Timer1.Enabled:=false; // On arrête le Timer ShowMessage('Coucou'); end;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager