Programmi specifici
Aprire un URL con il browser della postazione client[edit]
Local Char URL(250) URL="intranet.sagedev.it/bax/rdi3/check.asp?cod=wert" # usare apici singoli con dentro i doppi apici se necessario Callui RETOUR="" With "UIAction="+chr$(1)+"OpenFile", & "UILocalDir="+chr$(1) + "HTTP", & "UILocalFile="+chr$(1) + URL & , & "UIAdxPubSubFile=" + chr$(1) + "1"
Esempio:
Value Clbfile SREQUETE Value Char PROTOCOL() SREQUETE='kb.sagedev.it/index.php?title=Parametrizzazione' PROTOCOL='HTTPS' # l'altro valore possibile è 'HTTP' Callui RETVALUE="" With "UIAction=" + chr$(1) + "OpenFile", & "UILocalDir=" + chr$(1) + PROTOCOL, & "UILocalFile=" + chr$(1) + SREQUETE
Aprire un documento word[edit]
Dalla documentazione di Sage alla voce SYSTEM
Char FICHIERS(100)(50) System FICHIERS = '#@'C:\Program Files\Microsoft Office\Office\WINWORD.EXE' 'E:\tmp\document.doc''
Aprire un pdf[edit]
Local integer NBPAR_MAX: NBPAR_MAX =10 Local char TBPAR(20)(1..NBPAR_MAX) Local char TBVAL(250)(1..NBPAR_MAX) YFILE = "\\sagedev.it\PDF\dex\leg.pdf" #Il percorso del file deve essere in formato \\server\... e accessibile all'utente di sage TBPAR(1) = "docjoin" TBVAL(1) = YFILE #mettere 0 per non avere il messaggio; 1 per visualizzarlo Call ETAT("ADOC","","",0,"",TBPAR,TBVAL) From AIMP3
Su questo modo vedi anche alla pagina Stampe.
Local Char V2(250) YFILE = "C:\USERS\ZAM\DOCUMENTS\CLIENTI\A.pdf" Call URL(YFILE,V2) From PRDINFLIB
Far eseguire un comando al sistema operativo[edit]
Local Integer YSTAT YSTAT = 0 Call SYSTEME ("","C:\TMP\test.cmd","b",YSTAT) From ORDSYS Infbox num$(YSTAT)
Per stampare un'etichetta su una stampante di rete tramite il sistema operativo:
Call SYSTEME("","type"-YFILE-"> \\serverX3\PM43c001","",YSTAT) From ORDSYS
Per aprire il browser con una certa pagina web:
Call SYSTEME("",'"C:\Program Files\Internet Explorer\iexplore.exe" "www.google.it"',"",YSTAT) From ORDSYS
Un altro modo (da verificare) di far eseguire un batch è:
System CHAINE="C:\test.bat"
(fonte)
Stampa etichette[edit]
Chiamata a sistema[edit]
La stampa di un'etichetta da dos si effettua in uno di questi modi (porta 9100):
type file.eti > indirizzo_stampante
(per es: type file.eti > \\serverX3\StampanteTermica)echo "testo" > indirizzo_stampante
Per stampare un'etichetta su una stampante di rete tramite il sistema operativo:
Call SYSTEME("","type"-YFILE-"> \\serverX3\StampanteTermica","",YSTAT) From ORDSYS
Questa riga
echo %1 > %2
può essere messa dentro un file .bat
e richiamarla da programma:
Call SYSTEME("","file.bat nomefile.eti indirizzo_stampante","",YSTAT) From ORDSYS
Action[edit]
E' possibile creare un ACTION (GESACT), per esempio YPRINT, con modello "Programma" e si indica il file sorgente YAAA che contiene il codice da richiamare.
E' possibile anche creare un ACTION (GESACT) con modello "Fuori modello"; si indica il file sorgente YAAA che contiene il codice da richiamare e in "Sotto-programma" si indica il SubprogAAA
da richiamare.
In pratica il sistema farà una Call SubprogAAA(...) from YAAA
. I parametri andranno specificati nella scheda "Parametri" dell'azione.
Ottenere info server/client[edit]
Conoscere hostname che esegue il client[edit]
Per esempio, può essere utile per sapere quale server citrix esegue il client
Getui RETOUR = "" With "ComputerName" K = instr(1,RETOUR,"=") Infbox "Hostname = " + right$(RETOUR,K+1)
Uso di adxmac e nomap[edit]
Il comando adxmac(NUMERO)
restituisce il nome del server in cui si trova un'applicazione (indicata dal parametro da -2 a 8):
- NUMERO= -2 indirizzo di rete della postazione client (esempio con citrix: "serverCitrix.sagedev.dmn")
- NUMERO= -1 macchina sulla quale gira il runtime Adonix
- NUMERO= 0 nome del server sul quale è installata l'applicazione corrente
- NUMERO= 1-8 nome del server sul quale è installata la prima, seconda... ottava applicazione
Restituisce un Char; i valori restituiti da adxmac dipendono dai valori della variabile [S]adxmother (vedi in help .chm).
nomap(NUMERO)
da il dossier corrente, figlio ecc...
- nomap(0) da dossier corrente (esempio "SAGEDEV")
- nomap(1) da dossier padre (esempio "DX")
- nomap(2) da dossier corrente (esempio "X3")
Vi è perfetta corrispondenza tra adxmother(I) e nomap(I+1).
Sistema operativo[edit]
Local Char MACHINE(30) , OS(10) MACHINE = adxmac(0) Call GET_OS (MACHINE,OS) From ORDSYS
Restituisce “unix”, “DOS” or "Windows"..