SYSTEM

Sommaire


Systempermet l'exécution d'ordres système en récupérant éventuellement la sortiestandard dans une variable Adonix.

 

Syntaxes

   System[ variable'=' ] [ ! | !! ] [ [ serveur ] @ ] expr_c

 

Paramètres

Elément

Description

Restrictions

variable

nom_de_variable.

Aucune.

serveur

Expression alphanumérique dont lerésultat est le nom d'un serveur

Aucune

expr_c

Expression alphanumérique dont lerésultat est un ordre système.

Aucune.

 

Exemples

   # Copie FICHIER1 -> FICHIER2 avecredirection de la sortie d'erreur
   # (sous Unix)
   System "cp"+FICHIER1+" "+FICHIER2-"2>/dev/null"

   # Liste de répertoire sur le serveuroù se trouve la première
   # application de référence (sous DOS).
    Char FICHIERS(100)(50)
    Char REPERTOIRE(100)
    REPERTOIRE = "D:\adonix\tmp"
   System FICHIERS =adxmac(1)+"@DIR/b/o:n"+REPERTOIRE
    Infbox num$(stat1)-"ligneslues"

   # Ouvrir un document word depuis untraitement Adonix
    Char FICHIERS(100)(50)
   System FICHIERS ='#@"C:\Program Files\MicrosoftOffice\Office\WINWORD.EXE"    
                      "E:\tmp\document.doc"'

Description et commentaires

"Systemexpr_c" exécute l'ordre système donné dansl'expression. On peut précisier la machine sur laquelle il doit être exécuté.

Si l'on utilise les deux caractères "!!" devant l'ordre système,les opérations suivantes sont réalisées :

1.  sauvegarde de l'écran,

2.  reparamétrage du terminal de sortie d'Adonix,

3.  envoi de la séquence de sortie d'Adonix,

4.  exécution de l'ordre système,

5.  envoi de la séquence de démarrage,

6.  reparamétrage du terminal de sortie d'Adonix,

7.  restauration de l'écran.

S'il n'y a qu'un "!" devant l'ordre système, les opérations 1 et 7seront supprimées.

S'il n'est pas nécessaire de reparamétrer la ligne, on ne mettra rien devantl'ordre système.

"Systemvariable = expr_c" lance un ordre système etrécupère la sortie standard de l'ordre dans la variable correspondante. S'il ya plusieurs lignes et que la variable correspondante est un tableau de chaînesde caractères, on retrouvera toutes les lignes correspondantes dans le tableausi celui-ci a été suffisamment dimensionné.

La variable système Adonix stat1renvoie le nombre de lignes lues (syntaxe avec affectation). Dans le cas d'unclient Unix exécutant une commande en mode local (ie @expr_c), stat1 contiendrale numéro de sortie (qui correspond souvent à un numéro d'erreur) de lacommande.

 

Remarques

Un appel système fait à un programme interactif (par exemple un traitementde textes) doit être impérativement fait en utilisant l'une des options"!" ou "!!" de l'ordre System. Si on néglige cette précaution,des problèmes liés au paramétrage de la ligne ou à un mauvais jeu de caractèrespourraient survenir au retour sous Adonix.

Il faut lancer des ordres système comptatibles avec le systèmed'exploitation de la machine visée en respectant les syntaxes propres à cesenvironnements.

Il est bon de rediriger la sortie d'erreur afin de ne pas polluer l'écran,voire de récupérer le message renvoyé par le système.

Attention : s'il faut changer de répertoire pour exécuter l'ordre système,il faudra le faire dans la même instruction system. Par défaut, l'ordre système estlancé dans le répertoire depuis lequel a été lancée la cession Adonix. Lafonction dir$ renvoie le chemin de ce répertoire.

L'ordre système est lancé par un interpréteur de commande dépendant dusystème d'exploitation et de son paramétrage.

 

Remarques

Lorsque l'ordre système est exécuté en mode interactif sur la machine locale( donc s'il commence par les caractères '!!@'), la variable [S]stat1 contientle numéro d'erreur Unix de l'ordre système exécuté si celui-ci échoue.

 

Erreurs associées

Erreur

Description

ERMODE(10)

expr_cou variable ne sont pas de type chaîne.

 

Mots-clés associés

STAT1ADXMAC - DIR$ - GETENV$ - FILPATH - FILINFO


SOMMAIRE

Adonix X3(r) L4G
Copyright (c) Adonix 1999 - All rights reserved