Auxílios do VisualAge Generator

EZESTOKN

EZESTOKN procura o token seguinte em uma cadeia e copia-o em um item.

Tokens são subcadeias separadas por caracteres delimitadores. Por exemplo, dada cadeia 'CALL PROGRAM ARG1,ARG2, ARG3 ' e os caracteres delimitadores espaço (' ') e vírgula (',') os tokens serão 'CALL', 'PROGRAM', 'ARG1', 'ARG2' e 'ARG3 '.

>>-resultado--=---EZESTOKN---(--destino--,---fonte--,----------->
 
>----índice da subcadeia de origem--,--------------------------->
 
>----comprimento da subcadeia de origem--,---------------------->
 
>----delimitador de caractere--)--;----------------------------><
 

Atributo Descrição

resultado

Um item de dados numéricos que irá conter o valor do resultado devolvido pela função. É um item binário de quatro bytes. Os seguintes valores são devolvidos:

+n
O tamanho do token copiado no item de destino.
0
Não há token na subcadeia fonte.
-1
Token truncado quando copiado para o item de destino.

destino

Item da cadeia de destino.

fonte

Item ou literal da cadeia de origem.

índice da subcadeia de origem

Índice que identifica o byte inicial dentro do item de origem no qual a pesquisa deve começar para os caracteres delimitadores. É um item binário de quatro bytes. Seu valor para o primeiro byte do item de cadeia é 1.

Quando a correspondência é encontrada, o valor no índice da subcadeia é transformado no índice do caractere após o token correspondente.

comprimento da subcadeia de origem

Tamanho da subcadeia de origem em bytes. É um item binário de quatro bytes.

Quando a chamada é bem sucedida, o valor do comprimento da subcadeia de origem é alterado para o comprimento da subcadeia que permanece, após o token que foi retornado.

delimitador de caractere

Item que contém os caracteres delimitadores.

Como os valores de índice de origem e comprimento de origem são atualizados a cada chamada bem sucedida, uma seqüência de chamadas pode ser efetuada para recuperar cada um dos tokens em uma subcadeia na ordem em que aparecem sem redefinir o índice de origem e o comprimento da origem antes de cada chamada.

Considerações sobre definição

Eis os valores que o código de exceção retorna:

8
Índice menor que 1 ou maior que o comprimento da cadeia
12
Comprimento menor que 1

Ambientes de Destino

Suportado em todos os ambientes sem considerações de compatibilidade.

Exemplo de
ARGLEN = EZESTOKN(TOKEN,INPUT_LINE,NEXT,REMAINING_LEN,' ,');
IF TOKEN = 'CALL';
   ARGLEN = EZESTOKN(PROGRAM_NAME,INPUT_LINE,NEXT,REMAINING_LEN,' ,');
   ARGCOUNT = 0;
   WHILE ARGLEN > 0;
      ARGCOUNT = ARGCOUNT + 1;
      ARGLEN = EZESTOKN(ARG(ARGCOUNT),INPUT_LINE,NEXT,REMAINING_LEN,' ,');
END;
   ARGCOUNT = ARGCOUNT - 1;
END;


[ Início da Página | Página Anterior | Próxima Página | Índice ]