Manuale per la progettazione d'interfaccia Tivoli Service Desk 6.0 Developer's Toolkit
Con il cursore in questa posizione, viene ripulito il campo, quindi viene immessa la stringa data troncata alla lunghezza specificata, se fornita.
conn : EMUCONNECTION str : STRING EXPRESSION length: INTEGER EXPRESSION
Parametro | Descrizione |
conn | E' necessario inizializzare la connessione con EMUConnect. |
str | La stringa da collocare nel campo corrente. |
length | Facoltativo. La lunghezza massima della stinga di Immissione campo può essere troncata per adattarsi. |
INTEGER
La stringa viene immessa nella posizione corrente del cursore. La posizione finale del cursore è dopo l'ultimo carattere della stringa, come se un utente avesse immesso la stringa dalla tastiera. Questa funzione esegue l'attività equivalente a chiamare EMUPressKey con $EMUClear, quindi chiama EMUTypeIn.
VARIABLES rc :INTEGER; conn:EMUCONNECTION; str :STRING; ACTIONS rc := EMUConnect(conn, 'A'); -- conn is associated with session A now IF (rc < 1) THEN -- error handling ELSE str := 'HELLO WORLD!'; rc := EMUClrTypeIn(conn,str); IF (rc < 1) THEN -- error handling END; EMUDisConnect(conn); -- frees resources for conn. END; END;
Inizializza una connessione EHLLAPI, rendendo attiva la sessione di terminale specificata da sessName.
conn : EMUCONNECTION sessName: STRING EXPRESSION
Parametro | Descrizione |
conn | Questa handle viene inizializzata con diversi attributi di terminale. Non far passare l'handle per EMUConnect più di una volta in un'applicazione, a meno che non si desidera che la precedente inizializzazione dell'handle venga sovrascritta. |
sessName | Il nome breve della sessione di terminale CM (generalmente 'A,' 'B,' 'C,' per le sessioni di terminale 3270). Questa sessione di terminale deve essere avviata in CM prima di chiamare EMUConnect. |
INTEGER
Questo comando deve essere eseguito prima che l'handle di connessione passi a un altro comando EHLLAPI.
VARIABLES rc :INTEGER; conn:EMUCONNECTION; str :STRING; ACTIONS rc := EMUConnect(conn, 'A'); -- conn is associated with session A now IF (rc < 1) THEN -- error handling ELSE str := 'HELLO WORLD!'; rc := EMUClrTypeIn(conn,str); IF (rc < 1) THEN -- error handling END; EMUDisconnect(conn); -- frees resources for conn. END; END;
Disattiva la sessione di emulazione connessa, liberando le risorse assegnate all'handle di connessione.
conn : EMUCONNECTION
Parametro | Descrizione |
conn | L'handle di connessione da liberare. |
INTEGER
L'handle di connessione è $Unknown dopo che questo comando viene eseguito. E' necessario chiamare la funzione EMUConnect per inizializzare nuovamente l'handle di connessione.
VARIABLES rc :INTEGER; conn:EMUCONNECTION; str :STRING; ACTIONS rc := EMUConnect(conn, 'A'); -- conn is associated with session A now IF (rc < 1) THEN -- error handling ELSE str := 'HELLO WORLD!'; rc := EMUClrTypeIn(conn,str); IF (rc < 1) THEN -- error handling END; EMUDisconnect(conn); -- frees resources for conn. END; END;
Legge una stringa dallo schermo di terminale alla posizione data con la lunghezza fornita.
conn : EMUCONNECTION row : INTEGER EXPRESSION col : INTEGER EXPRESSION length: INTEGER EXPRESSION inStr : STRING PARAMETER
Parametro | Descrizione |
conn | L'handle di connessione che specifica quale sessione TSD Script Interpreter deve utilizzare per ottenere la stringa. |
row | La riga dello schermo di terminale. Solitamente, questo numero è compreso tra 1 e 24. La riga uno è quella all'inizio dello schermo. |
col | La colonna da cui ottenere i caratteri. Le colonne valide sono, di solito, da 1 a 80. La colonna uno su uno schermo di testo è quella all'estrema sinistra. |
length | Il numero di caratteri da copiare dallo schermo. |
inStr | La stringa in cui vengono copiati i dati. |
INTEGER
La posizione del cursore host è irrilevante per questo comando. Il cursore non viene spostato da questo comando. TSD Script Interpreter può eseguire questo comando anche se la sessione è "occupata", (l'Inibitore di immissione viene visualizzato nell'OIA).
VARIABLES rc :INTEGER; str :STRING; conn:EMUCONNECTION; ACTIONS rc := EMUConnect(conn,'A'); IF (rc < 1) THEN -- error handling ELSE rc := EMUFillBuffer(conn,1,1,20,str); IF (rc < 1) THEN -- error handling ELSE WinMessageBox($DESKTOP,'FillBuff',$MBOK, 'Row 1, Col 1 '& 'first 20 chars is:'& str); END; EMUDisconnect(conn); END; END;
Legge un file di testo nello schermo host a partire dalla posizione corrente del cursore. Alla fine di ogni riga del file di testo, viene premuto il codice chiave specificato.
conn : EMUCONNECTION filename: STRING EXPRESSION keycode: INTEGER EXPRESSION
Parametro | Descrizione |
conn | Specifica una sessione connessa che è la destinazione del file di immissione. |
filename | Il nome del file di testo da leggere nello schermo host. |
keycode | Uno dei codici chiave validi per EHLLAPI. |
Questa chiave viene premuta dopo che è stata letta ogni riga del file nello schermo.
INTEGER
VARIABLES rc :INTEGER;
ACTIONS rc := EMUConnect(conn, 'A'); IF (rc < 1) THEN -- error handling ELSE rc := EMUInFile(conn,'EXAMPLE.TXT', $EMUTab); IF (rc < 1) THEN -- error handling END; EMUDisconnect(conn); END; END;
Supporre che EXAMPLE.TXT contenga:
This is a description. Another line of description. Finally, the third line of description.
Se lo schermo appare come segue:
BLGRRR==================================== In===>______________________________________________ 12/12/93
First: __________________ Last: ______________________ Description: _________________________________________ ______________________________________________________ ______________________________________________________ ______________________________________________________ ______________________________________________________
========================================
Supporre che il cursore si trovi nella prima posizione della descrizione.
Una volta eseguito il codice di esempio, verrà visualizzato:
BLGRRR==================================== In===>______________________________________________ 12/12/93
First: __________________ Last: _____________________ Description: This is a description. Another line of description. Finally, the third line of description. ______________________________________________________ ______________________________________________________
========================================
Scarica uno schermo di dati, come specificato dalla definizione data.
conn : EMUCONNECTION mapName : STRING EXPRESSION downloadBuff: ANY
Parametro | Descrizione |
conn | Specifica la sessione da cui i dati devono essere scaricati. |
mapName | Il nome del file di definizione da utilizzare nel processo di scaricamento. |
downloadBuff | La struttura di un record che contiene (almeno) i campi denominati nel file di definizione. I dati vengono letti dalla posizione specificata nella definizione e collocati nel campo record con lo stesso nome del nome campo fornito nel file di definizione. |
INTEGER
Note
EMUMapDownload sostituisce l'utilizzo di molti comandi EMUFillBuffer poiché le definizioni forniscono un modo veloce di convertire i tipi di dati in tipi TSD Script. Ad esempio, se si utilizza EMUFillBuffer per ottenere i dati da uno schermo, tutti i dati saranno una stringa TSD Script. E' necessario, quindi, convertire i dati un campo per volta.
Per i tipi TIME, DATE, INTEGER, e REAL, EMUMapDownload elimina gli spazi bianchi di testa e di coda (spazi vuoti) dai campi di dati prima di collocare i valori nei campi record. Per i tipi STRING, i dati vengono copiati come dallo schermo host nel campo record (analogamente a EMUFillBuffer).
TYPES SomeRec IS RECORD Name:STRING; Age :INTEGER; END;
VARIABLES rc :INTEGER; rec :SomeRec; conn:EMUCONNECTION; ACTIONS rc := EMUConnect(conn, 'A'); IF (rc < 1) THEN -- error handling ELSE rc := EMUMapDownload(conn,'EX1.MAP',rec); IF (rc < 1) THEN -- error handling ELSE -- do something with data in rec now. END; EMUDisconnect(conn); END; END;
Supporre che EX1.MAP contenga:
*FIELDS NAME 5 12 10 SYSFORMAT DEFAULT_FORMAT AGE 6 6 3 SYSFORMAT DEFAULT_FORMAT
Supporre che lo schermo host appaia come di seguito:
========================================
FULL NAME: Jon Rigsby AGE: 18
========================================
Forniti i parametri nell'esempio, dopo l'esecuzione di EMUMapDownload, la variabile rec avrà il nome Jon Rigsby e l'età 18.
Carica uno schermo completo di dati, come specificato dal file di definizione fornito.
conn : EMUCONNECTION mapName : STRING EXPRESSION uploadBuff: ANY
Parametro | Descrizione |
conn | Specifica la sessione per cui i dati devono essere caricati. |
mapName | Specifica il nome del file di definizione che determina la posizione e la conversione dei dati durante un caricamento. |
uploadBuff | La variabile che contiene i dati da caricare sullo schermo. Il tipo di questa variabile può essere un tipo TSD Script semplice (TIME, DATE, INTEGER, STRING) o un tipo di record definito dall'utente. |
INTEGER
Se un valore è $Unknown durante il caricamento, il campo viene saltato.
TYPES SomeRec IS RECORD first:STRING; last :STRING; age :INTEGER; bday :DATE; END;
VARIABLES rc :INTEGER; conn:EMUCONNECTION; rec :SomeRec; ACTIONS rc := EMUConnect(conn, 'A'); IF (rc < 1) THEN -- error handling ELSE rec.first := 'John'; rec.last := 'Doe'; rec.age := 30; rec.bday := {8/6/1963}:DATE; rc := EMUMapUpload(conn, 'EX1.MAP', rec); IF (rc < 1) THEN -- error handling END; EMUDisconnect(conn); END; END;
Supporre che EX1.MAP contenga:
*FIELDS FIRST 3 14 10 SYSFORMAT DEFAULT_FORMAT LAST 4 12 20 SYSFORMAT DEFAULT_FORMAT AGE 5 6 3 SYSFORMAT DEFAULT_FORMAT BDAY 6 13 10 SYSFORMAT DEFAULT_FORMAT
Supporre che lo schermo host appaia come di seguito:
========================================
FIRST NAME: __________ LAST NAME: ____________________ AGE: ___ BIRTH DATE: __________
========================================
Una volta eseguito EMUMapUpload con esito positivo, lo schermo host appare come di seguito:
========================================
FIRST NAME: John LAST NAME: Doe AGE: 30 BIRTH DATE: 08/06/1963
========================================
Sposta il cursore host sulla colonna e riga specificata.
conn : EMUCONNECTION row : INTEGER EXPRESSION col : INTEGER EXPRESSION
Parametro | Descrizione |
conn | Identifica la sessione di terminale in cui deve essere spostato il cursore. |
row | La riga dello schermo host su cui deve essere spostato il cursore. La riga all'inizio dello schermo è la riga uno. |
col | La colonna su cui deve essere spostato il cursore. La colonna uno è quella all'estrema sinistra dello schermo host. |
INTEGER
Non è possibile spostare il cursore quando l'host visualizza Immissione inibita. Una riga o colonna al di fuori dell'intervallo restituisce un codice di errore.
VARIABLES rc :INTEGER; conn:EMUCONNECTION; ACTIONS rc := EMUConnect(conn, 'A'); IF (rc < 1) THEN -- error handling ELSE rc := EMUMoveCursorTo(conn, 10, 10); IF (rc < 1) THEN -- error handling ELSE EMUClrTypeIn(conn, 'THIS STARTS AT POSITION 10,10'); END; EMUDisconnect(conn); END; END;
Scarica una parte rettangolare dello schermo host (definita dalle coordinate fornite) sul file denominato.
conn : EMUCONNECTION filename: STRING EXPRESSION topRow : INTEGER EXPRESSION leftCol : INTEGER EXPRESSION botRow : INTEGER EXPRESSION rightCol: INTEGER EXPRESSION
Parametro | Descrizione |
conn | Specifica la sessione di terminale da cui catturare la parte di testo. |
filename | Il nome del file su cui il testo deve essere scaricato. Se il file già esiste, i nuovi dati sostituiscono i precedenti. Se il file non esiste, viene creato. |
topRow | La riga host all'inizio della parte rettangolare di testo. |
leftCol | Il numero della colonna di terminale che è l'ultima colonna a sinistra del testo scritto sul file. |
botRow | La riga dello schermo host alla fine della parte rettangolare di testo. |
rightCol | La colonna host all'estrema destra della parte rettangolare di testo. |
INTEGER
Se quando viene eseguito questo comando il file non esiste, viene creato. Se esiste, i nuovi dati vengono accodati alla fine di esso.
VARIABLES rc :INTEGER; conn:EMUCONNECTION; msg :STRING; ACTIONS rc := EMUConnect(conn, 'A'); IF (rc < 1) THEN -- error handling ELSE rc := EMUFillBuffer(conn, 3, 1, 5, msg); IF (rc < 1) THEN -- error handling ELSE IF (msg = 'ERROR') THEN -- capture the screen to a file EMUOutFile(conn, 'ERRFILE.TXT',1,1,24,80); END; END; EMUDisconnect(conn); END; END;
Preme il tasto comando specificato da un codice chiave. I codici chiave possono essere uno dei numeri interi definiti dal sistema TSD Script ($EMUClearKey, $EMUEnter).
conn : EMUCONNECTION keycode: INTEGER EXPRESSION
Parametro | Descrizione |
conn | Identifica la sessione di terminale dove deve essere inviato key presses. |
keycode | La chiave da premere. |
INTEGER
Non è possibile premere le chiavi quando l'host visualizza Immissione inibita.
VARIABLES rc :INTEGER; conn:EMUCONNECTION;
ACTIONS rc := EMUConnect(conn, 'A'); IF (rc < 1) THEN -- error handling ELSE rc := EMUPressKey(conn, $EMUPF3); IF (rc < 1) THEN -- error handling ELSE EMUClrTypeIn(conn, 'JON_R'); EMUPressKey(conn, $EMUTab); EMUClrTypeIn(conn, 'mypasswd'); rc := EMUPressKey(conn, $EMUEnter); IF (rc < 1) THEN -- error handling, login failed. END; END; END; END;
Richiama la posizione corrente del cursore host.
conn : EMUCONNECTION row : INTEGER PARAMETER col : INTEGER PARAMETER
Parametro | Descrizione |
conn | Specifica la sessione di terminale da cui richiamare la posizione del cursore. |
row | La riga in cui è posizionato il cursore al momento dell'esecuzione di questo comando. |
col | La colonna in cui è posizionato il cursore host. |
INTEGER
VARIABLES rc :INTEGER; conn:EMUCONNECTION; r,c :INTEGER; ACTIONS ... EMUPressKey(conn,$EMUEndKey); EMUQueryCursor(conn,r,c); IF (c > 59) THEN EMUPressKey(conn, $EMUTab); END; EMUTypeIn(conn,'Is this on new field?');
END;
Restituisce la dimensione dello schermo nelle colonne e nelle righe di testo.
conn : EMUCONNECTION row : INTEGER PARAMETER col : INTEGER PARAMETER
Parametro | Descrizione |
conn | Specifica la sessione di terminale di cui richiamare la dimensione. |
row | Questo parametro richiama la dimensione in altezza dello schermo host. |
col | Contiene il numero di colonne nello schermo host. |
INTEGER
VARIABLES rc :INTEGER; conn:EMUCONNECTION; r,c :INTEGER; ACTIONS ... -- at this point in the code, you decide -- that you need to capture the entire host screen to a file. EMUQuerySession(conn, r, c); EMUOutFile(conn,'ERRFILE.TXT',1,1,r,c); END;
Esegue la scansione della sessione di terminale per la stringa specificata. Se trovata, restituisce la posizione iniziale della stringa nel formato colonna, riga.
conn : EMUCONNECTION row : INTEGER PARAMETER col : INTEGER PARAMETER
Parametro | Descrizione |
conn | La sessione di terminale di cui eseguire la scansione. |
row | Se la stringa viene trovata, questo parametro contiene la riga in cui comincia la stringa |
col | La colonna in cui comincia la stringa trovata |
INTEGER
Passare una stringa vuota o $Unknown per EMUScanForString non è una funzione valida. La scansione è anche sensibile al maiuscolo-minuscolo.
VARIABLES rc :INTEGER; conn:EMUCONNECTION; r,c :INTEGER;
ACTIONS ... rc := EMUScanForString(conn,'JON RIGSBY',r,c); IF (rc < 1) THEN IF (rc = -24) THEN WinMessageBox($DESKTOP,'Not Found',$MBOK, 'Did not find '& 'JON RIGSBY'); ELSE -- some other error has occurred END; ELSE WinMessageBox($DESKTOP,'Found',$MBOK,'Found '& 'JON RIGSBY at row '& r &' column '& c); END;
END;
Imposta il supero tempo per ogni comando di Attesa che segue questa chiamata.
conn : EMUCONNECTION timelimit: INTEGER EXPRESSION
Parametro | Descrizione |
conn | La sessione di terminale per cui impostare il limite di supero tempo. |
timelimit | Il tempo massimo (in millesimi di secondo) che ogni comando EMUWait attende prima di essere annullato. |
INTEGER
Il limite di tempo di default è 500 millesimi di secondo. Il limite di tempo impostato con EMUSetWatchTimeLimit viene utilizzato per tutti i comandi EMUWait che seguono (per quella connessione). Impostare il limite di tempo su 0 è un'operazione valida. In questo caso, le funzioni EMUWait restituiscono immediatamente codici di ritorno che indicano se la condizione è stata soddisfatta.
VARIABLES rc :INTEGER; conn:EMUCONNECTOIN; ACTIONS .. rc := EMUSetWatchTimeLimit(conn,1000); -- 1 second IF (rc < 1) THEN -- error handling ELSE rc := EMUWaitForNoX(conn); END; END;
Immette la stringa fornita nella posizione corrente del cursore.
conn : EMUCONNECTION str : STRING EXPRESSION length: INTEGER EXPRESSION
Parametro | Descrizione |
conn | La sessione di terminale in cui deve essere immessa la stringa. |
str | La stringa da immettere nella posizione corrente del cursore. |
length | (Facoltativo) Specifica la lunghezza massima per la stringa di immissione. La stringa viene troncata se è maggiore della lunghezza consentita. |
INTEGER
Se la stringa di immissione è vuota, il codice di ritorno è 5008. Non viene immesso nessun carattere sullo schermo host.
VARIABLES rc :INTEGER; conn:EMUCONNECTION;
ACTIONS ... EMUMoveCursorTo(conn, 10,10); EMUTypeIn(conn,'JON RIGSBY',20); EMUPressKey(conn,$EMUTab); EMUTypeIn(conn,'18'); EMUPressKey(conn,$EMUTab); EMUTypeIn(conn,'1901 Niagara Drive',30); rc := EMUPressKey(conn, $EMUEnter); IF (rc < 1) THEN -- error handling END; END;
Sospende l'applicazione fino al momento in cui il cursore host non appare nella posizione designata o fino a che il limite di tempo del watch non scade.
conn : EMUCONNECTION row : INTEGER EXPRESSION col : INTEGER EXPRESSION
Parametro | Descrizione |
conn | Specifica la sessione di terminale in cui attendere. |
row | La posizione della riga in cui si prevede che venga visualizzato il cursore. |
col | La posizione della colonna in cui si prevede che venga visualizzato il cursore. |
INTEGER
VARIABLES rc :INTEGER; conn:EMUCONNECTION; ACTIONS ... EMUPressKey(conn, $EMUPF3); rc := EMUWaitForCursorAt(conn, 1, 5); IF (rc < 1) THEN IF ((rc = 1010) or (rc = 1011)) THEN -- wait gave up ELSE -- error END; ELSE -- continue with normal processing END; END;
Sospende l'esecuzione per il periodo di tempo in cui il cursore host non si trova nella posizione specificata o fino a che il limite di tempo del watch non è scaduto.
conn : EMUCONNECTION row : INTEGER EXPRESSION col : INTEGER EXPRESSION
Parametro | Descrizione |
conn | La connessione di terminale in cui attendere. |
row | La riga da cui il cursore deve scomparire. |
col | La colonna da cui il cursore deve scomparire. |
INTEGER
VARIABLES rc :INTEGER; conn:EMUCONNECTION; ACTIONS ... EMUPressKey(conn, $EMUPF3); rc := EMUWaitForCursorNotAt(conn, 10,10); IF (rc < 1) THEN IF (rc = 1010) THEN -- wait gave up ELSE -- other error END; ELSE -- continue with normal processing END; END;
Sospende l'esecuzione fino a quando l'indicatore host di Immissione inibita non scompare dall'OIA. Se viene fornita la durata intervallo, TSD Script Interpreter si assicura che l'indicatore scompaia durante tutta la durata intervallo prima della restituzione.
conn : EMUCONNECTION settleTime: INTEGER EXPRESSION
Parametro | Descrizione |
conn | La connessione di terminale da attendere. |
settleTime | Facoltativo. Il periodo di tempo che TSD Script Interpreter attende dopo la scomparsa della X, per assicurarsi che l'indicatore X sia "fisso." |
INTEGER
VARIABLES rc :INTEGER; conn:EMUCONNECTION; ACTIONS ... -- fill in the data on the screen EMUMoveCursorTo(conn, 10, 10); EMUClrTypeIn(conn, 'JON RIGSBY'); EMUPressKey(conn, $EMUTab); EMUClrTypeIn(conn, '1901 Niagara Drive'); EMUPressKey(conn, $EMUTab); EMUClrTypeIn(conn, 'Ontario, Canada'); -- press enter to accept the data EMUPressKey(conn, $EMUEnter); rc := EMUWaitForNoX(conn); IF (rc < 1) THEN IF ((rc = 1011) OR (rc = 1012)) THEN -- wait gave up ELSE -- some other error END; ELSE -- continue normal processing END; END;
Sospende l'esecuzione fino a che la stringa di inquiry fornita non compare con il primo carattere nella riga e nella colonna specificate o fino a che il limite di tempo del watch non scade.
conn : EMUCONNECTION str : STRING EXPRESSION row : INTEGER EXPRESSION col : INTEGER EXPRESSION
Parametro | Descrizione |
conn | La connessione di terminale in cui attendere. |
str | La stringa da attendere. |
row | La riga host in cui appare la stringa. |
col | La colonna in cui appare la stringa. |
INTEGER
Se la stringa di inquiry è vuota o $Unknown, viene immediatamente restituito un codice di ritorno di errore.
VARIABLES rc :INTEGER; conn:EMUCONNECTION; ACTIONS ... EMUPressKey(conn, $EMUPF3); rc := EMUWaitForStringAt(conn,'ENTER YOUR LOGIN NAME:', 3, 5);
IF (rc < 1) THEN IF (rc = 1010) THEN -- wait gave up ELSE -- other general error END; ELSE -- continue normal processing END;
END;
Sospende l'esecuzione fino a quando la stringa fornita non scompare dalla posizione host designata, o fino a quando il limite di tempo del watch non scade.
conn : EMUCONNECTION str : STRING EXPRESSION row : INTEGER EXPRESSION col : INTEGER EXPRESSION
Parametro | Descrizione |
conn | La connessione di terminale in cui attendere. |
str | La stringa che scompare dallo schermo host. |
row | La riga da cui la stringa scompare. |
col | La colonna da cui scompare il primo carattere della stringa. |
INTEGER
Se la stringa di inquiry è vuota o $Unknown, viene visualizzato un codice di ritorno di errore.
VARIABLES rc :INTEGER; conn:EMUCONNECTION; ACTIONS ... EMUMoveCursorTo(conn, 10, 10); EMUClrTypeIn(conn,'JONATHAN K. RIGSBY'); EMUPressKey(conn, $EMUEnter); rc := EMUWaitForStringNotAt(conn, 'JONATHAN K. RIGSBY', 10, 10); IF (rc < 1) THEN IF (rc = 1010) THEN -- wait gave up ELSE -- other general error END; ELSE -- continue normal processing END; END;
Manuale Tivoli Service Desk 6.0 Developer's Toolkit Legacy API