Powerd911 – Numéro #1 au Canada

Suspendre l’exécution d’un script à l’aide d’un délai d’attente

Routine en Visual Basic permettant de suspendre l’exécution d’un script selon le nombre de secondes passé en paramètre.

Étapes:

  1. Vous sauvegardez le script delai.vbs sous « C:PowerAMC VB Scriptsdelai.vbs »
  2. Vous lancez la routine Delai (10) – 10 secondes de délai d’attente

Compatible avec PowerDesigner/PowerAMC 16.5

Delai(10) - 10 secondes de délai d'attente
 
Sub Delai(Seconds)
Dim objShell
Dim strCmd
    Dim ErrorCode
set objShell = CreateObject("wscript.Shell")
'objShell.Run cmdline, 1,  False

' La méthode Wscript.sleep utilise comme argument des millisecondes. Nous multiplions donc par 1000 pour avoir des secondes.
Seconds = Seconds * 1000

' Utilisation de la variable logique %comspec% qui retourne la location de l'interpréteur de commande approprié au système d'exploitation
' Si nous sommes sous Windows NT, il retourne CMD.exe. Pour Windows 9x, il va retourner command.com.
' Il va aussi appeler la bonne version dépendament de l'architecture de l'OS 32 ou 64 bits.

' Les paremètres /K et /C permettent de spécifier si la fenètre de commande restera ou non ouverte une fois que le programme aura complété.
' /K : Lorsque l'on désire que la fenêtre reste ouverte à la fin de l'exécution du programme
' /C : Lorsque l'on désire que la fenêtre du programme se ferme automatiquement à la fin de l'exécution du programme.

' cscript - Execute un VB Script (extension .vbs)

strCmd = "%COMSPEC% /c cscript ""C:PowerAMC VB Scriptsdelai.vbs"" " & Seconds

' intWindowStyle => Optionel. Entier indiquant l'apparence de la fenêtre. Ce ne sont pas tous les programmes qui font une utilisation de ce paramètre
'     Si la valeur est à 1 : Affiche la fenêtre. Si utilisé avec le paramètre /K permet de voir la trace de sortie du programme
' bWaitOnReturn => Optionel. Valeur booléenne indiquant si le script devra attendre que le programme termine son exécution avant de continuer
'     Si la valeur est à TRUE le script attend la fin de l'exécution du programme avant de continuer. La méthode "Run" retourne le code d'erreur du programme
'     Si la valeur est à FALSE (le défaut). La méthode "Run" retourne immédiatement après avoir démarrer le programme avec un code d'erreur de 0
'     compte tenu que la méthode n'as pas été en mesure d'interprété une erreur, s'il y a lieu.
' Plus d'information : https://msdn.microsoft.com/en-us/library/d5fk67ky%28v=vs.84%29.aspx

ErrorCode = objShell.Run (strCmd,0,TRUE)

' Affiche le message d'erreur
if (ErrorCode <> 0 ) Then
Output "Erreur : " & ErrorCode
End If
End Sub

Fichier : delai.vbs

Le script suivant permet de suspendre l’exécution d’un programme selon le délai passé en paramètre.

'On vérifie qu'il y a au moins 1 argument
if WScript.Arguments.Count = 0 then
WScript.Echo "Il manque un paramètre"
end if
Wscript.sleep WScript.Arguments(0)

Tableau : IntWindowStyle =>Valeurs accepté par la méthode Run afin de déterminer le style de fenêtre

ValeurDescription
0Masque la fenu00eatre et en active une autre
1Active et affiche une fenu00eatre. Si la fenu00eatre est ru00e9duite ou agrandie, le systu00e8me lui redonne sa taille et sa position d'origine. Une application doit spu00e9cifier cette indication lors du premier affichage de la fenu00eatre
2Active la fenu00eatre et l'affiche en taille ru00e9duite
3Active la fenu00eatre et l'affiche en taille agrandie
4Affiche une fenu00eatre en respectant sa taille et sa position les plus ru00e9centes. La fenu00eatre active reste active
5Active la fenu00eatre et l'affiche d'apru00e8s sa taille et sa position actuelle
6Ru00e9duit la fenu00eatre spu00e9cifiu00e9e et active la fenu00eatre de niveau supu00e9rieur suivante dans l'ordre alphabu00e9tique
7Affiche la fenu00eatre sous l'aspect d'une fenu00eatre ru00e9duite. La fenu00eatre active reste active
8Affiche la fenu00eatre dans son u00e9tat actuel. La fenu00eatre active reste active
9Active et affiche la fenu00eatre. Si la fenu00eatre est ru00e9duite ou agrandie, le systu00e8me lui redonne sa taille et sa position d'origine. Une application doit spu00e9cifier cet indicateur lors de la restauration d'une fenu00eatre ru00e9duite
10Du00e9finit l'u00e9tat d'affichage en fonction de l'u00e9tat du programme qui a du00e9marru00e9 l'application

Laisser un commentaire