SYSTEME From ORDSYS
Appunti
Chiamate per far eseguire dei comandi al sistema operativo
Subprog SYSTEME2(MACHINE,ORDRE,OPT,STAT,RESULT)[edit]
Questa chiamata serve per eseguire un comando e recuperarne l'output nella variabile RESULT
Call SYSTEME2(MACHINE,ORDRE,OPT,STAT,RESULT) From ORDSYS
Value Char MACHINE() Value Char ORDRE() Value Char OPT() Variable Integer STAT : # = fstat1 Variable Char RESULT()()
- MACHINE() Dove verrà eseguito il comando (se lasciato vuoto o se c'è l'opzione ! usa la macchina corrente)
- ORDRE()
- ORDRE(0) comando da eseguire o nome del file contenente i comandi da eseguire se c'è l'opzione f
- ORDRE(1) eventuale file di log (se è indicato l'esecuzione sarà impostata come silenziosa, nel caso ci sia z tra le opzioni l'eventuale file già esistente viene azzerato)
- OPT: !fs&b (conversationnel/fichier/silence/backround/backround dos)
- se si contiene "!" (interattiva) il parametro MACHINE non sarà considerato: la macchina sarà obbligatoriamente quella corrente
- se contiene f c'è un file con i comandi da eseguire.
- se contiene s esegue in modalità silenziosa
- se contiene & esegue in modalità background
- se contiene b esegue in modalità background sotto dos (per esempio server batch)
Subprog SYSTEME(MACHINE,ORDRE,OPT,STAT)[edit]
Call SYSTEME(MACHINE,ORDRE,OPT,STAT) From ORDSYS
Value Char MACHINE() : # Où sera exécuté l'ordre système Value Char ORDRE() : # ORDRE(0) = ordre à exécuter ou nom d'un fichier de commande si option "f" : # ORDRE(1) = fichier de trace éventuel Value Char OPT() : # Options !fs&b (conversationnel/fichier/silence/backround/backround dos) Variable Integer STAT : # = 0
Esempio
Local Integer YSTAT Call SYSTEME("",'c:\DIR\Comando.exe PARAM1 PARAM2',"",YSTAT) From ORDSYS
EXECLI(COMMAND,RETOUR)From ORDSYS[edit]
Usa l'istruzione base Askui; esegue comando su client
Subprog EXECLI(COMMAND,RETOUR) Value Char COMMAND Variable Char RETOUR Askui RETOUR="" With "UIAsk="+chr$(1)+"AskExecShell", & "UILocalShell="+chr$(1)+COMMAND End
System[edit]
E' l'istruzione base delle chiamate SYSTEME e SYSTEME2
Per esempio, per aprire un pdf
System '#@cmd /C start C:\"Documents and Settings"\User\"My Documents"\Tmp\test.pdf'
varie[edit]
dir$ adxdir$ adxpid adxuid restituisce un identificativo univoco di ogni utente - sia di adonix che di una applicazione adxtlk permette di conoscere il nome del file dei lock Adxtct permette di conoscere il nome del file dei contatori adxtms permette di conoscere il nome del file dei messaggi applicativi adxmbm fissa il numero di memorie tampone (buffer) allocate alla memorizzazione dei messaggi applicativi maxmen mess messname contiene il nome del file dei messaggi di sistema errmes$ restituisce un messaggio di errore errp permette di conoscere il nome del programma nel quale si è prodotto l'errore errl permette di conoscere il numero di riga di un errore o di un'interruzione generata all'esecuzione di un programma Adonix errn permette di conoscere il numero di un errore generato in un programma Adonix errm permette di conoscere la seconda parte del messaggio di errore.
actihgup permette di definire le azioni associate ad un'interruzione in caso di disconnessione. actihgup(0) contiene il nome del programma chiamato in caso di time-out della sessione X3. actihgup(1) contiene il nome del programma chiamato su interruzione volontaria (x rossa, o bottone "fine"), su una caduta accidentale della linea.
Onintgo permette di dichiarare in un programma l'etichetta in cui si svolgerà l'esecuzione dell'elaborazione dopo che si è premuto il tasto di interruzione.
Inter permette di rendere un programma arrestabile da tastiera o viceversa renderlo non arrestabile.
Un programma Adonix può essere interrotto nel corso della sua esecuzione premendo una sequenza di tasti chiamata 'sequenza di interruzione soft'. Si utilizza comunemente la sequenza di tasti <CTRL> + <ALT> + a tale scopo. Il tasto
è definito di default nel file di configurazione X3.INI ed è modificabile.
Esiste una parametrizzazione relativa al time-out di una sessione X3: TIMEHGUP1 - TIMEHGUP2 - TIMEHGUP3
filpath$ getenv$ permette di recuperare in una variabile di tipo Char il valore di una determinata variabile nell'ambiente che ha lanciato adonix. Mess - Messname - Adxmbm - Adxtct - Adxtlk
- Creazione di un file temporaneo univoco per l'utente [L]LEFIC = filpath('tmp',num$(adxuid(2)),0)