Routine en Visual Basic permettant de suspendre l’exécution d’un script selon le nombre de secondes passé en paramètre.
Étapes:
- Vous sauvegardez le script delai.vbs sous « C:PowerAMC VB Scriptsdelai.vbs »
- 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
Valeur | Description |
---|---|
0 | Masque la fenu00eatre et en active une autre |
1 | Active 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 |
2 | Active la fenu00eatre et l'affiche en taille ru00e9duite |
3 | Active la fenu00eatre et l'affiche en taille agrandie |
4 | Affiche une fenu00eatre en respectant sa taille et sa position les plus ru00e9centes. La fenu00eatre active reste active |
5 | Active la fenu00eatre et l'affiche d'apru00e8s sa taille et sa position actuelle |
6 | Ru00e9duit la fenu00eatre spu00e9cifiu00e9e et active la fenu00eatre de niveau supu00e9rieur suivante dans l'ordre alphabu00e9tique |
7 | Affiche la fenu00eatre sous l'aspect d'une fenu00eatre ru00e9duite. La fenu00eatre active reste active |
8 | Affiche la fenu00eatre dans son u00e9tat actuel. La fenu00eatre active reste active |
9 | Active 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 |
10 | Du00e9finit l'u00e9tat d'affichage en fonction de l'u00e9tat du programme qui a du00e9marru00e9 l'application |
Pages: 1 2