Comandos Parte 9

09/06/2019


FILL

Gerar uma string com caracteres repetidos x vezes.

/* exemplo 1 - menor código possível */
MESSAGE FILL('Abc',10).

/* exemplo 2 - definir uma variável e atribuir 100 asteriscos */
DEF VAR c AS CHAR.

c = FILL('*',100).

MESSAGE c.

REPLACE

Substituir uma ou mais letra por outra(s) letra(s)

MESSAGE REPLACE('TESTES','ES','A').

UPPER

Transformar um texto em maiúsculo.

MESSAGE UPPER('teste').

LOWER

Transformar um texto em minúsculo.

MESSAGE LOWER('Abc').

WHERE

Selecionar registros no FIND ou FOR EACH.

/* exemplo 1 - utilizar num FOR EACH */
FOR EACH customer WHERE
         customer.custNum = 1 NO-LOCK:
    /* comandos aqui */
END.

/* exemplo 2 - utilizar num FIND */
FIND customer WHERE
     customer.custnum = 230.
MESSAGE customer.name.

NOW

Retornar a data ou o datetime atual.

/* exemplo 1 - menor código possível */
MESSAGE NOW.

/* exemplo 2 - testando as várias possibilidades */
DEF VAR wd AS DATE.
DEF VAR wd2 AS DATETIME.

wd = NOW.
wd2 = NOW.

MESSAGE wd wd2 DAY(NOW)

KEYCODE

Retornar o código ASCII das teclas

MESSAGE KEYCODE('cursor-up').

&SCOPED-DEFINE

Definir uma constante a ser substituída no momento da compilação.

/* exemplo 1 - menor código possível */
&SCOPED-DEFINE nivel 1
MESSAGE {&nivel}.

/* exemplo 2 - substituir FOR EACH por f e MESSAGE por m */
&SCOPED-DEFINE f FOR EACH
&SCOPED-DEFINE m MESSAGE

{&f} customer:
     {&m} customer.custNum.
END.

SQRT

Retornar raíz quadrada de um número.

MESSAGE SQRT(100).