Faire une PAUSE dans un script / DELAY on script

Pages d'aide sur les fonctions scripts
Répondre
Stéphane Charbonnel
Messages : 360
Enregistré le : 18 juin 2009, 16:24
Contact :

Faire une PAUSE dans un script / DELAY on script

Message par Stéphane Charbonnel » 04 oct. 2018, 22:10

Bonjour

Il y a différents moyens de faire une pause dans un script. Il y a la pause qui permet de faire par exemple du traitement avant la fin de la pause (couple DELAY / WAITFORENDDELAY) et la pause "exclusive" qui bloque toute évolution du programme ensuite (soit DELAYBLOCK, soit WAIT_UNTIL).

Syntaxes :
DELAY Timer_milliseconds
DELAYBLOCK Timer_milliseconds
WAIT_UNTIL Day$ Time$
WAITFORENDDELAY

Voici un exemple de programme qui illustre la différence entre ces pauses :

Code : Tout sélectionner

Timer_MilliSeconds=5000

PRINT "Beginning of the pause with treatments inside"
DELAY Timer_MilliSeconds
For i=1 10
   STR i i$
   PRINT i$
Next i
WAITFORENDDELAY
PRINT "End of pause"

PRINT "One second pause"
DELAYBLOCK Timer_MilliSeconds
PRINT "End of the second pause"

PRINT "Third type of pause"
Date$="2018/10/30"
Time$="12:15:11"
WAIT_UNTIL Date$ Time$
PRINT "It's finished !"

Olivier Thizy
Messages : 29
Enregistré le : 21 juin 2009, 09:34
Contact :

Re: Faire une PAUSE dans un script / DELAY on script

Message par Olivier Thizy » 01 déc. 2018, 10:57

Bonjour,

pour des délais longs, j'ai fait le script suivant:

Code : Tout sélectionner

/////////////////////////////////////////////////////////////////////////////////
//
// Wait several minutes (for long waiting time)...
//
/////////////////////////////////////////////////////////////////////////////////

WaitForMinutes:
	//MinutesToWait=5

	str MinutesToWait MinutesToWait$

	Now Date
	Datetostr Date Date$
	print "[" Date$ "] Start waiting for " MinutesToWait$ " minutes"

	Now DateBegin

	WaitForMinutesLoop:
	Now Date
	Ecart=(Date-DateBegin)*24.0*60.0
	if Ecart<MinutesToWait then
	goto WaitForMinutesLoop:
	endif

	Now Date
	Datetostr Date Date$

	print "[" Date$ "] Fin (MinutesToWait=" MinutesToWait ")"
return

Cordialement,
Olivier

Marc DELDEM
Messages : 853
Enregistré le : 20 juin 2009, 01:01

Re: Faire une PAUSE dans un script / DELAY on script

Message par Marc DELDEM » 01 déc. 2018, 12:48

Olivier,
Ce n'est pas trop une instruction qui fait une pause, cela consomme plutôt du temps CPU...

Marc

Répondre