Tivoli Service Desk 6.0 Developer's Toolkit - Guia do Criador de Interface
Na posição atual do cursor, limpa o campo e, em seguida, digita na cadeia determinada, truncando o comprimento, se determinado.
conn: EMUCONNECTION str : STRING EXPRESSION length: INTEGER EXPRESSION
Parâmetro | Descrição |
conn | A conexão deve ser inicializada com EMUConnect. |
str | Cadeia a ser colocada no campo atual. |
length | Opcional. O comprimento máximo do campo Cadeia de entrada pode ser truncado para se ajustar. |
INTEGER
A cadeia é digitada na posição atual do cursor. A posição final do cursor está localizada após o último caractere da cadeia, exatamente como se um usuário tivesse digitado a cadeia em um teclado. Esta função executa a tarefa equivalente a chamar EMUPressKey com $EMUClear e, em seguida, chamar EMUTypeIn.
VARIABLES rc :INTEGER; conn:EMUCONNECTION; str :STRING; ACTIONS rc := EMUConnect(conn, 'A'); -- conn está associado com a sessão A agora IF (rc < 1) THEN -- tratamento de erro ELSE str := 'HELLO WORLD!'; rc := EMUClrTypeIn(conn,str); IF (rc < 1 ) THEN -- tratamento de erro END; EMUDisConnect(conn); -- libera recursos para conn. END; END;
Inicializa uma conexão do EHLLAPI, tornando ativa a sessão de terminal especificada por sessName.
conn: EMUCONNECTION sessName: STRING EXPRESSION
Parâmetro | Descrição |
conn | Este identificador é inicializado com vários atributos de terminal. Não transmita o identificador para EMUConnect mais de uma vez em um aplicativo, a não ser que você deseje que a inicialização anterior do identificador seja sobreposta. |
sessName | O nome curto da sessão de terminal do Communications Manager (geralmente 'A,' 'B,' 'C,' para sessões de terminal 3270). Esta sessão de terminal deve ser iniciada no Communications Manager antes da chamada para EMUConnect. |
INTEGER
Este comando deve ser executado antes que o identificador de conexão transmita para outro comando do EHLLAPI.
VARIABLES rc :INTEGER; conn:EMUCONNECTION; str :STRING; ACTIONS rc := EMUConnect(conn, 'A'); -- conn está associado com a sessão A agora IF (rc < 1) THEN -- tratamento de erro ELSE str := 'HELLO WORLD!'; rc := EMUClrTypeIn(conn,str); IF (rc < 1 ) THEN -- tratamento de erro END; EMUDisconnect(conn); -- libera recursos para conn. END; END;
Desativa a sessão de emulação conectada, liberando os recursos alocados para o identificador de conexão.
conn: EMUCONNECTION
Parâmetro | Descrição |
conn | O identificador de conexão a ser liberado. |
INTEGER
O identificador de conexão é $Unknown após este comando ser executado. A função EMUConnect deve ser chamada para reinicializar o identificador de conexão.
VARIABLES rc :INTEGER; conn:EMUCONNECTION; str :STRING; ACTIONS rc := EMUConnect(conn, 'A'); -- conn está associado com a sessão A agora IF (rc < 1) THEN -- tratamento de erro ELSE str := 'HELLO WORLD!'; rc := EMUClrTypeIn(conn,str); IF (rc < 1 ) THEN -- tratamento de erro END; EMUDisconnect(conn); -- libera recursos para conn. END; END;
Lê uma cadeia da tela de terminal na posição determinada com o comprimento determinado.
conn: EMUCONNECTION row : INTEGER EXPRESSION col : INTEGER EXPRESSION length: INTEGER EXPRESSION inStr : STRING PARAMETER
Parâmetro | Descrição |
conn | O identificador de conexão que especifica qual sessão o Interpretador do TSD Script deve utilizar para obter a cadeia. |
row | A linha da tela do terminal. Geralmente, este número está entre um e 24. A linha um é a linha superior da tela. |
col | A coluna da qual obter os caracteres. As colunas válidas são geralmente de um a 80. A coluna um na tela de um texto é a coluna mais à esquerda. |
length | O número de caracteres a copiar da tela. |
inStr | A cadeia na qual os dados são copiados. |
INTEGER
A posição do cursor do host é irrelevante neste comando. O cursor não é movido por este comando. O Interpretador do TSD Script pode executar este comando mesmo se a sessão estiver "ocupada," (o Inibidor de Entrada é mostrado na OIA).
VARIABLES rc :INTEGER; str :STRING; conn:EMUCONNECTION; ACTIONS rc := EMUConnect(conn,'A'); IF (rc < 1) THEN -- tratamento de erro ELSE rc := EMUFillBuffer(conn,1,1,20,str); IF (rc < 1 ) THEN -- tratamento de erro ELSE WinMessageBox($DESKTOP,'FillBuff',$MBOK, 'Row 1, Col 1 '& 'first 20 chars is:'& str); END; EMUDisconnect(conn); END; END;
Lê um arquivo de texto na tela do host iniciando na posição atual do cursor. No final de cada linha do arquivo de texto, o código de tecla especificado é pressionado.
conn: EMUCONNECTION filename: STRING EXPRESSION keycode: INTEGER EXPRESSION
Parâmetro | Descrição |
conn | Especifica uma sessão conectada que é o destino do arquivo de entrada. |
filename | O nome do arquivo de texto a ser lido na tela do host. |
keycode | Um dos códigos de tecla válidos para o EHLLAPI. |
Esta tecla é pressionada após cada linha do arquivo ser lida na tela.
INTEGER
VARIABLES rc :INTEGER;
ACTIONS rc := EMUConnect(conn, 'A'); IF (rc < 1) THEN -- tratamento de erro ELSE rc := EMUInFile(conn,'EXAMPLE.TXT', $EMUTab); IF (rc < 1 ) THEN -- tratamento de erro END; EMUDisconnect(conn); END; END;
Suponha que EXAMPLE.TXT contenha:
Esta é uma descrição. Outra linha de descrição. Finalmente, a terceira linha de descrição.
Se a tela for parecida com:
BLGRRR==================================== In===>______________________________________________ 12/12/93
Primeiro: __________________ Último: ______________________ Descrição: _________________________________________ ______________________________________________________ ______________________________________________________ ______________________________________________________ ______________________________________________________
========================================
Suponha que o cursor esteja na primeira posição da descrição.
Após o código de exemplo ser executado, você veria:
BLGRRR==================================== In===>______________________________________________ 12/12/93
Primeiro: __________________ Último: _____________________ Descrição: Esta é uma descrição. Outra linha de descrição. Finalmente, a terceira linha de descrição. ______________________________________________________ ______________________________________________________
========================================
Faz download de uma tela de dados, conforme especificado pelo mapa determinado.
conn: EMUCONNECTION mapName : STRING EXPRESSION downloadBuff: ANY
Parâmetro | Descrição |
conn | Especifica a sessão da qual deve ser feito download de dados. |
mapName | O nome do arquivo de mapa a ser utilizado no processo de download. |
downloadBuff | Uma estrutura de registro que contém (pelo menos) os campos denominados no arquivo de mapa. Os dados são lidos da posição especificada no mapa e colocados no campo de registro que tem o mesmo nome que o nome de campo determinado no arquivo de mapa. |
INTEGER
Notas
EMUMapDownload substitui a utilização de muitos comandos EMUFillBuffer conforme os mapas fornecem uma forma rápida para converter tipos de dados para tipos de TSD Script. Por exemplo, se você utilizar EMUFillBuffer para obter dados de uma tela, todos os dados serão uma cadeia do TSD Script. Você deverá, então, converter os dados um campo de cada vez.
Para os tipos TIME, DATE, INTEGER e REAL, EMUMapDownload elimina o espaço branco inicial e final (espaços em branco) dos campos de dados antes de colocar valores nos campos de registro. Para os tipos STRING, os dados são copiados como estão da tela do host para o campo de registro (de forma semelhante 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 -- tratamento de erro ELSE rc := EMUMapDownload(conn,'EX1.MAP',rec); IF (rc < 1 ) THEN -- tratamento de erro ELSE -- faça alguma coisa com os dados em rec agora. END; EMUDisconnect(conn); END; END;
Suponha que EX1.MAP contenha:
*FIELDS NAME 5 12 10 SYSFORMAT DEFAULT_FORMAT AGE 6 6 3 SYSFORMAT DEFAULT_FORMAT
Suponha que a tela do host seja parecida com:
========================================
NOME COMPLETO: Jon Rigsby IDADE: 18
========================================
Dadas as condições no exemplo, após EMUMapDownload ser executado, a variável rec teria o nome Jon Rigsby e a idade de 18.
Faz upload de uma tela cheia de dados, conforme especificado pelo arquivo de mapa determinado.
conn: EMUCONNECTION mapName : STRING EXPRESSION uploadBuff: ANY
Parâmetro | Descrição |
conn | Especifica a sessão para a qual deve ser feito upload de dados. |
mapName | Especifica o nome de um arquivo de mapa que determina o posicionamento e a conversão de dados durante um upload. |
uploadBuff | A variável que contém dados dos quais deve ser feito upload para a tela. O tipo desta var pode ser um tipo simples de TSD Script (TIME, DATE, INTEGER, STRING) ou um tipo de registro definido pelo usuário. |
INTEGER
Se um valor for $Unknown durante o upload, o campo será ignorado.
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 -- tratamento de erro 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 -- tratamento de erro END; EMUDisconnect(conn); END; END;
Suponha que EX1.MAP contenha:
*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
Suponha que a tela do host seja parecida com:
========================================
PRIMEIRO NOME: __________ SOBRENOME: ____________________ IDADE: ___ DATA DE NASCIMENTO: __________
========================================
Após EMUMapUpload ser executado com êxito, a tela do host se parece com:
========================================
PRIMEIRO NOME: John SOBRENOME: Doe IDADE: 30 DATA DE NASCIMENTO: 08/06/1963
========================================
Move o cursor do host para a linha e coluna determinadas.
conn: EMUCONNECTION row : INTEGER EXPRESSION col : INTEGER EXPRESSION
Parâmetro | Descrição |
conn | Identifica a sessão de terminal na qual o cursor deve ser movido. |
row | A linha da tela do host para a qual o cursor deve ser movido. A linha superior da tela é a linha um. |
col | A coluna para a qual o cursor deve ser movido. A coluna um é a coluna mais à esquerda na tela do host. |
INTEGER
O cursor não pode ser movido quando o host exibe Entrada Inibida. Uma linha ou coluna que está fora do intervalo retorna um código de erro.
VARIABLES rc :INTEGER; conn:EMUCONNECTION; ACTIONS rc := EMUConnect(conn, 'A'); IF (rc < 1) THEN -- tratamento de erro ELSE rc := EMUMoveCursorTo(conn, 10, 10); IF (rc < 1 ) THEN -- tratamento de erro ELSE EMUClrTypeIn(conn, 'THIS STARTS AT POSITION 10,10'); END; EMUDisconnect(conn); END; END;
Descarrega uma parte retangular da tela do host (definida pelas coordenadas fornecidas) para o arquivo denominado.
conn: EMUCONNECTION filename: STRING EXPRESSION topRow : INTEGER EXPRESSION leftCol : INTEGER EXPRESSION botRow : INTEGER EXPRESSION rightCol: INTEGER EXPRESSION
Parâmetro | Descrição |
conn | Especifica a sessão de terminal da qual capturar a parte do texto. |
filename | O nome do arquivo para o qual o texto deve ser descarregado. Se o arquivo já existir, os novos dados substituirão os anteriores. Se o arquivo não existir, ele será criado. |
topRow | A linha do host que é a linha superior da parte retangular do texto. |
leftCol | O número da coluna do terminal que é a última coluna à esquerda do texto gravado no arquivo. |
botRow | A linha da tela do host que é a linha inferior da parte retangular do texto. |
rightCol | A coluna do host que serve como a coluna mais à direita da parte retangular do texto. |
INTEGER
Se o arquivo não existir quando este comando for executado, o arquivo será criado. Se ele existir, os novos dados serão anexados no final do arquivo.
VARIABLES rc :INTEGER; conn:EMUCONNECTION; msg :STRING; ACTIONS rc := EMUConnect(conn, 'A'); IF (rc < 1) THEN -- tratamento de erro ELSE rc := EMUFillBuffer(conn, 3, 1, 5, msg); IF (rc < 1 ) THEN -- tratamento de erro ELSE IF (msg = 'ERROR') THEN -- capturar a tela para um arquivo EMUOutFile(conn, 'ERRFILE.TXT',1,1,24,80); END; END; EMUDisconnect(conn); END; END;
Pressiona a tecla de controle especificada por um código de teclas. Os códigos de teclas podem ser um dos inteiros definidos pelo sistema do TSD Script ($EMUClearKey, $EMUEnter).
conn: EMUCONNECTION keycode: INTEGER EXPRESSION
Parâmetro | Descrição |
conn | Identifica a sessão de terminal em que as pressões de teclas devem ser enviadas. |
keycode | A tecla a ser pressionada. |
INTEGER
As teclas não podem ser pressionadas quando o host exibe Entrada Inibida.
VARIABLES rc :INTEGER; conn:EMUCONNECTION;
ACTIONS rc := EMUConnect(conn, 'A'); IF (rc < 1) THEN -- tratamento de erro ELSE rc := EMUPressKey(conn, $EMUPF3); IF (rc < 1 ) THEN -- tratamento de erro ELSE EMUClrTypeIn(conn, 'JON_R'); EMUPressKey(conn, $EMUTab); EMUClrTypeIn(conn, 'mypasswd'); rc := EMUPressKey(conn, $EMUEnter); IF (rc < 1 ) THEN -- tratamento de erro, início de sessão falhou. END; END; END; END;
Obtém a posição atual do cursor do host.
conn: EMUCONNECTION row : INTEGER PARAMETER col : INTEGER PARAMETER
Parâmetro | Descrição |
conn | Especifica a sessão de terminal da qual obter a posição do cursor. |
row | A linha na qual o cursor está posicionado no momento da execução deste comando. |
col | A coluna na qual o cursor do host está posicionado. |
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;
Retorna o tamanho da tela nas linhas e colunas do texto.
conn: EMUCONNECTION row : INTEGER PARAMETER col : INTEGER PARAMETER
Parâmetro | Descrição |
conn | Especifica a sessão de terminal para a qual obter o tamanho. |
row | Este parâmetro obtém a altura da tela do host. |
col | Contém o número de colunas na tela do host. |
INTEGER
VARIABLES rc :INTEGER; conn:EMUCONNECTION; r,c:INTEGER; ACTIONS ... -- neste ponto no código, você decide -- se precisa capturar a tela do host inteira para um arquivo. EMUQuerySession(conn, r, c); EMUOutFile(conn,'ERRFILE.TXT',1,1,r,c); END;
Varre a sessão de terminal para a cadeia especificada. Se encontrar, retorna a posição inicial da cadeia no formato de linha, coluna.
conn: EMUCONNECTION row : INTEGER PARAMETER col : INTEGER PARAMETER
Parâmetro | Descrição |
conn | A sessão de terminal a ser varrida |
row | Se a cadeia for encontrada, este parâmetro conterá a linha em que começa a cadeia |
col | A coluna na qual a cadeia encontrada começa |
INTEGER
Transmitir uma cadeia em branco ou $Unknown para EMUScanForString não é uma função válida. A varredura também faz distinção entre maiúsculas e minúsculas.
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 -- ocorreu algum outro erro END; ELSE WinMessageBox($DESKTOP,'Found',$MBOK,'Found '& 'JON RIGSBY at row '& r &' column '& c); END;
END;
Define o tempo limite para quaisquer comandos Wait que seguem esta chamada.
conn: EMUCONNECTION timelimit: INTEGER EXPRESSION
Parâmetro | Descrição |
conn | Sessão de terminal para a qual definir o tempo limite. |
timelimit | Tempo máximo (em milissegundos) que qualquer um dos comandos EMUWait aguarda antes de ser cancelado. |
INTEGER
O limite de tempo padrão é de 500 milissegundos. O limite de tempo que você define com EMUSetWatchTimeLimit é utilizado para todos os comandos EMUWait que seguem (para essa conexão). É válido para definir um limite de tempo de 0. Neste caso, as funções EMUWait retornam imediatamente com códigos de retorno indicando se a condição foi satisfeita.
VARIABLES rc :INTEGER; conn:EMUCONNECTOIN; ACTIONS .. rc := EMUSetWatchTimeLimit(conn,1000); -- 1 second IF (rc < 1) THEN -- tratamento de erro ELSE rc := EMUWaitForNoX(conn); END; END;
Digita a cadeia determinada na posição atual do cursor.
conn: EMUCONNECTION str : STRING EXPRESSION length: INTEGER EXPRESSION
Parâmetro | Descrição |
conn | A sessão de terminal na qual a cadeia deve ser digitada. |
str | A cadeia a ser digitada na posição atual do cursor. |
length | (Opcional) Especifica um comprimento máximo para a cadeia de entrada. A cadeia será truncada se for maior que o comprimento permitido. |
INTEGER
Se a cadeia de entrada estiver em branco, o código de retorno será 5008. Nenhum caractere é digitado na tela do 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 -- tratamento de erro END; END;
Pausa o aplicativo até que o cursor do host apareça na posição designada ou até que o limite de tempo de vigilância expire.
conn: EMUCONNECTION row : INTEGER EXPRESSION col : INTEGER EXPRESSION
Parâmetro | Descrição |
conn | Especifica a sessão de terminal na qual aguardar. |
row | A posição da linha na qual espera-se que o cursor apareça. |
col | A posição da coluna na qual espera-se que o cursor apareça. |
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 -- espera parada ELSE -- erro END; ELSE -- continuar com processamento normal END; END;
Pausa a execução até que o cursor do host não esteja na posição especificada ou até que o limite de tempo de vigilância tenha expirado.
conn: EMUCONNECTION row : INTEGER EXPRESSION col : INTEGER EXPRESSION
Parâmetro | Descrição |
conn | A conexão de terminal na qual aguardar. |
row | A linha da qual o cursor deve desaparecer. |
col | A coluna da qual o cursor deve desaparecer. |
INTEGER
VARIABLES rc :INTEGER; conn:EMUCONNECTION; ACTIONS ... EMUPressKey(conn, $EMUPF3); rc := EMUWaitForCursorNotAt(conn, 10,10); IF (rc < 1) THEN IF (rc = 1010) THEN -- espera parada ELSE -- outro erro END; ELSE -- continuar com processamento normal END; END;
Pausa a execução até que o indicador de Entrada Inibida do host desapareça da OIA. Se for determinado o tempo de estabelecimento, o Interpretador do TSD Script garantirá que o indicador desapareça por todo o tempo de estabelecimento antes de retornar.
conn: EMUCONNECTION settleTime: INTEGER EXPRESSION
Parâmetro | Descrição |
conn | A conexão de terminal para a qual aguardar. |
settleTime | Opcional. O tempo que o Interpretador do TSD Script aguarda após o X desaparecer, para certificar-se de que o indicador X tenha "estabelecido." |
INTEGER
VARIABLES rc :INTEGER; conn:EMUCONNECTION; ACTIONS ... -- preencher os dados na tela EMUMoveCursorTo(conn, 10, 10); EMUClrTypeIn(conn, 'JON RIGSBY'); EMUPressKey(conn, $EMUTab); EMUClrTypeIn(conn, '1901 Niagara Drive'); EMUPressKey(conn, $EMUTab); EMUClrTypeIn(conn, 'Ontario, Canada'); -- pressionar enter para aceitar os dados EMUPressKey(conn, $EMUEnter); rc := EMUWaitForNoX(conn); IF (rc < 1) THEN IF ((rc = 1011) OR (rc = 1012)) THEN -- espera parada ELSE -- algum outro erro END; ELSE -- continuar processamento normal END; END;
Pausa a execução até que a cadeia determinada de pesquisa apareça com seu primeiro caractere na linha e coluna determinadas ou até que o limite de tempo de vigilância expire.
conn: EMUCONNECTION str : STRING EXPRESSION row : INTEGER EXPRESSION col : INTEGER EXPRESSION
Parâmetro | Descrição |
conn | Conexão de terminal na qual aguardar. |
str | A cadeia para a qual aguardar. |
row | A linha do host na qual a cadeia aparece. |
col | A coluna na qual a cadeia aparece. |
INTEGER
Se a cadeia de pesquisa estiver em branco ou for $Unknown, um código de retorno de erro será retornado imediatamente.
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 -- espera parada ELSE -- outro erro geral END; ELSE -- continuar processamento normal END;
END;
Pausa a execução até que a cadeia determinada desapareça da posição designada do host ou até que o limite de tempo de vigilância expire.
conn: EMUCONNECTION str : STRING EXPRESSION row : INTEGER EXPRESSION col : INTEGER EXPRESSION
Parâmetro | Descrição |
conn | A conexão de terminal na qual aguardar. |
str | A cadeia que desaparece da tela do host. |
row | A linha da qual a cadeia desaparece. |
col | A coluna da qual o primeiro caractere da cadeia desaparece. |
INTEGER
Se a cadeia de pesquisa estiver em branco ou for $Unknown, aparecerá um código de retorno de erro.
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 -- espera parada ELSE -- outro erro geral END; ELSE -- continuar processamento normal END; END;
Tivoli Service Desk 6.0 Developer's Toolkit - Guia de APIs Existentes