Curso de dBASE II
Entrada de dados


Você está em: MarMSX >> Cursos >> dBASE II - Programável

3. Entrada de dados

Neste capítulo iremos abordar os comando GET e READ, que juntos permitem que um sistema obtenha dados do usuário.

3.1. O comando GET

O comando GET tem como objetivo imprimir o conteúdo de uma variável ou campo de uma tabela. Deve ser precedido pelo @, com o uso do SAY opcional. Sua sintaxe [2] é:

@ y,x [SAY "<texto>"] GET <variável ou campo do registro> [PICTURE <formato>]

Exemplo de uso:

. store 40 to TEMP
. @ 0,0 say "O valor da temperatura é: " GET TEMP

O exemplo a seguir utiliza a tabela alunos do curso básico de dBASE II.

. use alunos
. go 1
. @ 0,0 SAY "Nome " GET nome

Saída no topo da tela:

Nome :Pablo Goncalves                :

Observe que a saída do GET é delimitada sempre pelo caractere dois pontos ":".

Assim como o comando SAY possui a formatação através da cláusula USING, o comando GET é formatado através da cláusula PICTURE. As formatações desta cláusula [2] são apresentadas a seguir.

O comando GET será utilizado em parceria com o comando READ, no qual terá papel fundamental na formatação da entrada de dados pelo comando READ.

3.2. O comando READ

O comando READ tem como finalidade ler dados do usuário a partir do teclado. Ele só é valido após um ou mais comandos GET.

Exemplo:

store "          " to data
@ 0,0 SAY "Data " GET data picture "99/99/9999"
read

Ao rodar o programa acima, a seguinte mensagem surge no topo da tela, juntamente com o cursor na posição da data.

Data :  /  /    :

Ao digitarmos os números, o cursor salta automaticamente as barras de separação. Pode-se utilizar os comandos do editor CONTROL + D ou CONTROL + S para movimentar o cursor.

Quando o usuário tecla o último caractere, a interação é finalizada e o conteúdo variável utilizada no comando GET (neste caso a variável "data") é atualizado com o valor digitado pelo usuário. Veja o exemplo a seguir.

Data :01/02/2024:

. ? data
01/02/2024

Podemos exigir que o dBASE II confirme a sua digitação através do comando SET CONFIRM ON. A partir do momento em que o comando for dado, todas as leituras do par GET / READ necessitarão da tecla RETURN para terminar o preenchimento do campo e saltar para o campo seguinte (se houver).


Podemos empilhar uma sequência de GETs, para o comando READ ler todos de uma só vez. Veja o exemplo a seguir.

store "               " to nome
@ 0,0 SAY "Nome " GET nome picture "XXXXXXXXXXXXXXX"
store "          " to data
@ 1,0 SAY "Data " GET data picture "99/99/9999"
read

Saída:

Nome :               :
Data :  /  /    :

O comando CLEAR GETS impede que os comandos GETs imediatamente acima deste comando sejam utilizados pelo comando READ.

store "               " to nome
@ 0,0 SAY "Nome " GET nome picture "XXXXXXXXXXXXXXX"
clear gets
store "          " to data
@ 1,0 SAY "Data " GET data picture "99/99/9999"
read

O programa imprime tanto o nome como a data, mas o cursor vai direto para a data. Somente a data terá interatividade.

3.3. O comando INPUT

O comando INPUT permite a leitura de dados do tipo numérico diretamente para uma variável. Sintaxe:

INPUT [<mensagem>] to <variável>

Exemplo:

. input "Valor do produto" to valor
Valor do produto:150.32
 150.32

3.4. O comando ACCEPT

O comando ACCEPT permite a leitura de dados do tipo alfanumérico diretamente para uma variável. Sintaxe:

ACCEPT [<mensagem>] to <variável>

Exemplo:

. accept "Nome" to nome
Nome:Laura
Laura

3.5. Eliminando variáveis

O comando RELEASE permite apagar da memória uma ou mais variáveis. Sintaxe:

RELEASE <variáveis>
RELEASE ALL [LIKE/EXCEPT <chave>] 

Onde:

Exemplos:

. release nome
. release all
. release all like no*

O último exemplo remove da memória todas as variáveis que começarem pelos caracteres "no".

3.6. Salvando e recuperando variáveis no dBASE II

O comando SAVE permite gravar em disco as variáveis de memória. Sintaxe:

SAVE to <arquivo> [ALL LIKE/EXCEPT <chave>]

Para gravar todas as variáveis da memória em disco, fazemos:

. save to variav

A cláusula ALL deverá ser utilizada juntamente com as outras cláusulas LIKE ou EXCEPT.


O comando RESTORE permite recuperar as variáveis de memória de um arquivo. A cláusula opcional ADDITIVE mantém as variáveis atuais. Caso seja omitida esta cláusula, as variáveis de memória são apagadas. Sintaxe:

RESTORE from <arquivo>

Exemplo:

. restore from variav

O comando DISPLAY MEMORY permite visualizar as variáveis armazenadas na memória.

. display memory
NOME        (C)  MSX
VERSAO      (N)   1.1


Referências:

[1]- dBASE II PLUS para MSX interativo - curso prático, Nelson Casari, Ed. Atlas, 1990.

[2]- dBASE II PLUS para MSX programável - curso prático, Nelson Casari, Ed. Atlas, 1989.

[3]- dBASE III PLUS. Curso Data Rio, Rio de Janeiro, 1990.