Executer

Description...
Exemple...
Voir aussi...
Traduction...

Fonction Optimiser(Invariant) Executer(Commande : Nul Ou Caractere, Synchrone : Booleen, Cacher : Booleen, NumeroProcessusFils : Entier Sortie, RepertoireInitial : Nul Ou Caractere=Nul, EcrireEntree : Nul Ou Fonction() Retourner Nul Ou Caractere=Nul, LireSortie : Nul Ou Procedure(M:Caractere)=Nul) Retourner Entier;

La fonction Executer permet d'exécuter un nouveau programme en lançant la commande Commande. Cette commande doit comporter à la fois le programme à lancer et les paramètres nécessaires à son lancement. Ce programme ne peut pas être une instruction de l'interpréteur de commandes du système d'exploitation.

Si la valeur d'un paramètre comporte le caractère espace, alors celle-ci doit être encadrée de caractères guillemet " ou de caractères apostrophe '.

Si Commande est Nul, alors le résultat est zéro.

Si Cacher est Vrai, alors l'exécution est cachée de l'utilisateur. Ce paramètre est particulièrement important pour les applications fenêtrées.

Si Synchrone est Vrai, alors l'exécution est synchronisée. Ainsi, la fonction Executer retourne uniquement quand l'exécution du sous-programme est terminée. En ce cas, le résultat de Executer est le code-retour du programme. Si Synchroniser est Faux, alors l'exécution est asynchrone et s'effectue en parallèle du programme courant. Ainsi, la fonction Executer retourne dès que l'exécution du sous-programme est lancée. En ce cas, le résultat de Executer est zéro.

Quel que soit le mode d'exécution, NumeroProcessusFils recueille le numéro de processus du nouveau programme.

Si RepertoireInitial est précisé, alors le répertoire initial du nouveau programme correspond à cette valeur. Sinon, il s'agit du répertoire courant.

Il est possible de rediriger les entrées-sorties du programme depuis ou vers des fichiers. Cela s'effectue de la manière suivante :

Il est possible d'écrire dans l'entrée standard du nouveau processus et de lire dans la sortie standard du nouveau processus. Ainsi, les valeurs écrites par EcrireEntree() du programme courant seront lues par les instructions Clavier.Lire() du nouveau programme ; les valeurs écrites par Ecran.Ecrire() du nouveau programme seront lues par LireSortie() du programme courant. Ceci est le principe tuyaux anonymes (anonymous pipes). Les appels aux procédures et fonctions EcrireEntree() et LireSortie() sont gérées de manière asynchrone par Up ! System. Ces mécanismes lecture et écriture ont priorité sur la redirection des entrées-sorties.

Revenir en haut de la page...

Principal
Variable Debut
...
?=Executer("notepad.exe", Faux, Faux, PIdNotePad);
/* Lance le bloc-notes. */
?=Executer("cat < c:/tmp/ListeFichiers.txt > c:/tmp/Sortie.txt", Faux, Faux, PIdNotePad);
/* Concatène le contenu des fichiers énumérés dans 'c:\tmp\ListeFichiers.txt' au moyen de la commande 'cat'. Le résultat de la concaténation est redirigée dans le fichier 'c:\tmp\Sortie.txt'. */
...
Fin Principal

Revenir en haut de la page...

LireCodeRetour pour récupérer le code-retour d'un programme exécuté en asynchrone. DemarrerService pour démarrer un service du système d'exploitation.

Revenir en haut de la page...

DurchFuhrenExecute执行Realizar----

Revenir en haut de la page...