Faire une pose avant l'éxecution d'une instruction

Résolu
Signaler
Messages postés
38
Date d'inscription
lundi 4 avril 2005
Statut
Membre
Dernière intervention
1 mars 2007
-
Messages postés
1173
Date d'inscription
mercredi 2 novembre 2005
Statut
Membre
Dernière intervention
10 septembre 2011
-
Bonjour,

J ai un programme qui met mon écran en veille lorsque je click sur un
bouton, le prob c est que lorsque l on bouge la souris en cliquant la
veille s enlève. J aimerais savoir comment faire une ptite attente (10
secondes environ) juste avant la mise en veille.

Merci d'avance.

11 réponses

Messages postés
3827
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
16 décembre 2021
46
Salut,
essaye un Sleep(10000);
// lancer l'écran de veille
ton programme serat figé pendant 10 secondes
où alors par timer
Timer1.Enabled := True;

et dans l'évènement OnTimer:

Time1.Enabled := False;
// lancer l'écran de veille

@+
Cirec
Messages postés
1173
Date d'inscription
mercredi 2 novembre 2005
Statut
Membre
Dernière intervention
10 septembre 2011
3
Je pense que tu devrais utiliser un Sleep(10000) 1000=1s donc 10000=10sec et comme ça ton application va attendre pendant 10sec avant d'attaquer autre chose. Moi c'est comme ça que je ferais...

@+
Matt
Messages postés
1173
Date d'inscription
mercredi 2 novembre 2005
Statut
Membre
Dernière intervention
10 septembre 2011
3
Cirec à (ENCORE) été plus rapide... décidément...
Cirec, l'homme qui répond plus vite que son ombre...

Matt
Messages postés
3827
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
16 décembre 2021
46
@ Matt
ce coup là c'est moi, mais je suis souvent pris de vitesse par d'autres membres qui sont bien plus rapide que moi
ps : Le teste de ta source (ClubIn.scr) a été fait sous XP pro SP2

@+
Cirec
Messages postés
1173
Date d'inscription
mercredi 2 novembre 2005
Statut
Membre
Dernière intervention
10 septembre 2011
3
Moi aussi y'a des sujets ou j'aimerais beacoup répondre et ou d'autres ont répondus avant moi...
Merci beaucoup Cirec pour le test de ma source.
Messages postés
38
Date d'inscription
lundi 4 avril 2005
Statut
Membre
Dernière intervention
1 mars 2007
1
Merci beaucoup, c est exactement ce qu il me fallait.
Messages postés
449
Date d'inscription
lundi 19 avril 2004
Statut
Membre
Dernière intervention
8 avril 2009
2
Ou alors code une tite fonction Snooze (faire un PETIT somme), moins autiste que Sleep qui te bloque toute ton appli.

procedure Snooze(Duration,Step:integer);
var i:integer;
begin
for i:=0 to (Duration div Step -1) do
begin
sleep(Step);
Application.ProcessMessages;
end;
end;

Ca fait strictement pareil, sauf que l'appli respire.
Messages postés
1173
Date d'inscription
mercredi 2 novembre 2005
Statut
Membre
Dernière intervention
10 septembre 2011
3
Avec Sleep elle fait de l'apnée du sommeil, elle ne respire plus pendant qu'elle dort tu as résonds DeltaFx... mais si on veut tout bloquer on bloque tout... tout dépend de ce que l'on veut faire.
Messages postés
3827
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
16 décembre 2021
46
D'accord avec Matt sur ce coup,
ici Bobstein demande que son application marque un temps d'arrêt avant d'exécuter une autre commande et pas de répondre au messages windows pendant la pose.
"moins autiste que Sleep qui te bloque toute ton appli"
je crois que c'est ce qu'on lui demande : (quand je dors je ne répond pas au téléphone ni au message)

ceci dit ta procedure peut être très utile (si on a besoin d'un répondeur lol)
si on a besoin de traiter les messages pendant une pose.
Mais attention ce n'est plus une vrai pose, en effet, si tu cliques sur un bouton pendant cette pose, l'action sera exécuté !!!

Comment figer une application sans la figer (où comment laver plus blanc que blanc c'est du même tonneau)
à ce compte là on peut utiliser un timer qui fait le même travail non

@+
Cirec
Messages postés
449
Date d'inscription
lundi 19 avril 2004
Statut
Membre
Dernière intervention
8 avril 2009
2
Ah.... bon ben j'avais pas capté ca comme ca.

Le probleme de bobstien si je comprend bien, c'est qu'il veut que l'utilisateur ai fini de remuer la souris quand l'ecran démarre, donc laisser 1-2 secondes d'attente le temps de lacher le maudit mulot. Et ca, ca peut se faire avec un sleep ou un snooze.

Ou en poussant le vice, démarrer un timer de N seconde, et mettre un code dans le mouseMove de la form qui réinitialise le timer. Là tant que la souris est pas immobile depuis au moins l'intervale du timer, l'ecran se lance pas.
Messages postés
1173
Date d'inscription
mercredi 2 novembre 2005
Statut
Membre
Dernière intervention
10 septembre 2011
3
"D'accord avec Matt sur ce coup," pour une fois je me suis pas planté (lol) je crois que Sleep c'est l'une des premières choses que j'ai connu (après 2 mois de prog bien sur).

<hr size="2" width="100%">La paresse est la mère du génie...