System permet l'exécution d'ordres système en récupérant éventuellement la sortie standard dans une variable Adonix.
System [ variable '=' ] [ ! | !! ] [ [ serveur ] @ ] expr_c
Elément | Description | Restrictions |
variable | nom_de_variable. | Aucune. |
serveur | Expression alphanumérique dont le résultat est le nom d'un serveur | Aucune |
expr_c | Expression alphanumérique dont le résultat est un ordre système. | Aucune. |
# Copie FICHIER1 -> FICHIER2 avec redirection de la sortie d'erreur
# (sous Unix)
System "cp "+FICHIER1+" "+FICHIER2-"2>/dev/null"
# Liste de répertoire sur le serveur où 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)-"lignes lues"
# Ouvrir un document word depuis un traitement Adonix
Char FICHIERS(100)(50)
System FICHIERS = '#@"C:\Program Files\Microsoft Office\Office\WINWORD.EXE"
"E:\tmp\document.doc"'
"System expr_c" exécute l'ordre système donné dans l'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 7 seront supprimées.
S'il n'est pas nécessaire de reparamétrer la ligne, on ne mettra rien devant l'ordre système.
"System variable = expr_c" lance un ordre système et récupère la sortie standard de l'ordre dans la variable correspondante. S'il y a plusieurs lignes et que la variable correspondante est un tableau de chaînes de caractères, on retrouvera toutes les lignes correspondantes dans le tableau si celui-ci a été suffisamment dimensionné.
La variable système Adonix stat1 renvoie le nombre de lignes lues (syntaxe avec affectation). Dans le cas d'un client Unix exécutant une commande en mode local (ie @expr_c), stat1 contiendra le numéro de sortie (qui correspond souvent à un numéro d'erreur) de la commande.