Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!

IIF()

Propósito

Retornar um valor correspondente a validação de uma expressão.

Sintaxe

IIF (<exp.L>, <exp1>, <exp2>)

Argumentos

<exp.L>

representa uma expressão lógica a ser avaliada.

<exp1>

representa o valor a ser retornado se <exp.L> for verdadeira (.T.).

<exp2>

representa o valor a ser retornado se <exp.L> for falsa (.F.). Deve se do mesmo tipo de <exp1>.

Utilização

Retorna o valor de uma expressão, a partir do resultado de uma condição testada.

Útil para converter valores lógicos em outro tipo qualquer, diminuir o código-fonte de programas simplificando ninhos de IFs, na impressão de relatórios para converter valores de qualquer cadeia de caracteres, etc...

Exemplos

O exemplo a seguir mostra-nos a utilização desta função para exibir o estado de um cliente.

? IIF(devedor="s","Em atraso com PAGAMENTO",;

"Em dia com PAGAMENTO")

O exemplo a seguir mostra-nos como utilizar esta função para centralizar a exibição de uma linha ou não .

* Se a variável lógica centra for verdadeira (.T.) o texto 

* será centralizado caso contrario será exibido a partir da 

* coluna 0

@ ROW (), IFF (centra = "s",(80 - LEN (texto))/2,0);

SAY texto

O exemplo a seguir mostra-nos como utilizar esta função para formatar dados lógicos.

? IIF (var_log = "s" , "S", "N")

Consulte

IF.

INKEY()

Propósito

Retornar o código ASCII correspondente uma tecla pressionada.

Sintaxe

INKEY ()

Utilização

A função INKEY () representa um estado de espera. Ao ser executada, aguarda que uma tecla seja pressionada e retorna um valor numérico correspondente ao código ASCII da tecla.

Para que a função INKEY () não aguarde a digitação de uma tecla, utilize o comando SET NOWAIT ON.

Pode-se executar qualquer PROCEDURE indicada no comando SET KEY.

Muito útil para confeccionar menus próprios ou aguardar a digitação de valores, possibilitando criticar caracter por caracter.

Exemplos

O exemplo a seguir mostra-nos a utilização desta função para criar um menu de opções.

@ 23,01 SAY "Inclui, Altera, Exclui"

DO WHILE .T.

  var_num = INKEY ()

  IF var_num = 27 && Tecla {ESC}

    QUIT (0)

  ENDIF

  DO CASE

    CASE UPPER (CHR (var_num)) = "I"

      DO inclui

    CASE UPPER (CHR (var_num)) = "A"

      DO altera

    CASE UPPER (CHR (var_num)) = "E"

      DO exclui

  ENDCASE

END DO

Consulte

SET NOWAIT, SLEEP, WAIT, ASC(), CHR(), LASTKEY() e READKEY().

Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!