SYSTEME From ORDSYS

From SageDev KB
Jump to navigation Jump to search

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

  1. Creazione di un file temporaneo univoco per l'utente [L]LEFIC = filpath('tmp',num$(adxuid(2)),0)