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

Résolu
bobstien Messages postés 38 Date d'inscription lundi 4 avril 2005 Statut Membre Dernière intervention 1 mars 2007 - 19 avril 2006 à 14:57
Matt 261 Messages postés 1173 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 10 septembre 2011 - 22 avril 2006 à 10:18
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

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
19 avril 2006 à 15:21
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
3
Matt 261 Messages postés 1173 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 10 septembre 2011 3
19 avril 2006 à 15:25
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
3
Matt 261 Messages postés 1173 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 10 septembre 2011 3
19 avril 2006 à 15:26
Cirec à (ENCORE) été plus rapide... décidément...
Cirec, l'homme qui répond plus vite que son ombre...

Matt
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
19 avril 2006 à 15:35
@ 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
0

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

Posez votre question
Matt 261 Messages postés 1173 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 10 septembre 2011 3
19 avril 2006 à 15:44
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.
0
bobstien Messages postés 38 Date d'inscription lundi 4 avril 2005 Statut Membre Dernière intervention 1 mars 2007 1
20 avril 2006 à 07:00
Merci beaucoup, c est exactement ce qu il me fallait.
0
DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 2
20 avril 2006 à 22:27
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.
0
Matt 261 Messages postés 1173 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 10 septembre 2011 3
21 avril 2006 à 07:08
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.
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
21 avril 2006 à 11:27
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
0
DeltaFX Messages postés 449 Date d'inscription lundi 19 avril 2004 Statut Membre Dernière intervention 8 avril 2009 2
21 avril 2006 à 13:53
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.
0
Matt 261 Messages postés 1173 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 10 septembre 2011 3
22 avril 2006 à 10:18
"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...
0
Rejoignez-nous