Академический Документы
Профессиональный Документы
Культура Документы
Este tutorial apresenta uma breve descrição do ambiente de trabalho do FoxBase e a descrição, com
exemplos, de seus principais comandos e funções.
Iniciando
Ao entrar no FoxBase (digitando FOX na linha de comando), será apresentada a tela abaixo:
Nesta tela, podemos observar a linha de comando (Command Line), na qual serão sempre
apresentadas informações importantes das operações realizadas no FoxBase.
Comandos Básicos
A seguir serão apresentados alguns comandos básicos disponíveis no FoxBase. Vale lembrar que
são aceitos os quatro primeiros caracteres dos comandos, sem ter a necessidades de digitá-los
completamente. Ex: DISPLAY STRUCTURE, pode ser digitado como DISP STRU.
• CREATE <arquivo>
Cria um novo arquivo de dados, cuja extensão padrão é DBF. Através deste comando define-se a
estrutura do arquivo, informando NOME DO CAMPO, TIPO, TAMANHO e CASAS DECIMAIS (para
campos numéricos).
TIPO (type)
Character : Também chamados de campo String em certas linguagens e banco de dados. Permite
qualquer caractere (letras, números e símbolos). Se um campo caractere possuir um número como
conteúdo, não será possível utiliza-lo para cálculos numéricos, exceto se antes for convertido para
numérico através de uma função de conversão (que será apresentada mais adiante). Este tipo de
dado pode ser definido com tamanho de 1 à 254 caracteres.
Numeric: Tipo de dado utilizado para campos com valores, como salário, preço, quantidade,
percentual, etc. Tem como limite de tamanho 19 dígitos, incluídos neste limite o ponto e casas
decimais. Portanto, um campo numérico definido com tamanho 12 e duas casas decimais tem um
limite de 999.999.999,99.
Logic: Campo para armazenar dados lógicos (True e False). Possui tamanho fixo de um caractere e
só são permitidos como valor T (true) ou F (false).
Memo: É um tipo de campo especial utilizando para armazenamento de uma quantidade maior de
caracteres, como um texto explicativo, por exemplo. Este campo permite armazenar até 64 kbytes por
registro. Para isso, os dados deste campo ficam armazenados em um arquivo auxiliar, cuja extensão
é DBT, com o mesmo nome do arquivo DBF.
Abre um arquivo de dados no formato DBF. Opcionalmente, pode-se definir uma lista de arquivos
índices referentes (discutidos mais tarde) à este DBF e também um Alias.
Um Alias é um apelido dado ao arquivo e tem como objetivo normalmente definir uma referência mais
prática, curta e simples ao arquivo. Por exemplo:
• APPEND [BLANK]
Insere um registro na base de dados. A diferença entre APPEND e APPEND BLANK é que o primeiro
abre uma tela para que sejam inseridos os valores em cada um dos campos do registro inserido e o
segundo insere automaticamente um registro em branco, com todos os campos vazios.
• EDIT
O comando DISPLAY tem como função listar registros (em tela ou impressora) de diversas formas, de
acordo com as opções do comando utilizadas. As opções são:
<escopo> - Escopo é a abrangência de registros que serão listados. Como escopo pode-se informar:
FIELDS – Determina quais campos serão listados. Se não informado , todos os campos do arquivo
serão listados.
FOR – Específica uma condição a ser atendida para que um registro seja listado.
WHILE – Tem a mesma função de FOR, com a diferença que FOR analisará se cada um dos
registros, a partir do registro atual, atende a condição estipulada. Já WHILE listará os registros
enquanto a condição for satisfeita, já a partir do registro atual. Se o registro atual não atender a
condição, nada será listado, ao passo que com FOR, o primeiro registro é ignorado e a verificação
lógica é feita para os demais registros, até o final.
OPERADORES CONDICIONAIS
Para se trabalhar com as cláusulas FOR ou WHILE, como as existentes nos comandos LIST e
DISPLAY (e em outros como REPLACE, por exemplo) é necessário conhecer os operadores
condicionais. São eles:
= IGUAL A
<> DIFERENTE DE
> MAIOR QUE
< MENOR QUE
>= MAIOR OU IGUAL A
<= MENOR OU IGUAL A
Exemplos:
* Quando for fazer referência à uma expressão do tipo caractere (string), deve-se informá-la entre
aspas, simples ou duplo.
São operadores que permitem estabelecer uma relação entre várias condições a serem avaliadas.
São eles:
.OR. OU lógico
.AND. E lógico
.NOT. NÃO lógico
Ex:
VARIÁVEIS DE MEMÓRIA
A regra para nome de variável segue a regra para nomes de campos em arquivos (descrita no
comando CREATE).
Ex:
A = 10 -> Foi criada a variável A, armazenando o valor 10. É, portanto, uma variável numérica.
EMP=”GZ SISTEMAS” -> Criada a variável EMP, do tipo caractere.
DATA=CTOD(“30/01/2004”) -> Criada a variável DATA, do tipo Date.
SN = .T. -> Variável do tipo lógica, armazenando o valor True
X=A*32/7-> A variável X armazenará o resultado da operação que irá multiplicar o valor armazenado
em A por 32 e em seguida, dividirá o resultado da multiplicação por 7. O valor armazendo em X seria
de 45.71
Obs: Para atribuir uma data é necessário o uso da função CTOD, que converte uma expressão
caractere para data. É necessário passar à esta função um texto em forma de uma data válida para
que seja realizada a conversão. Se for informado simplesmente “30/01/2004”, trata-se de uma
informação do tipo TEXTO. Caso seja informado 30/01/2004, trata-se de uma expressão matemática,
o que resultaria no armazenamento do valor 0.01
Ex:
USE CLIENTES
DDDCLI=”011”
CIDCLI=”JUNDIAI”
CEPCLI=”13200000”
REPL DDDCOM WITH DDDCLI, CEP WITH CEPCLI FOR MUNIC=CIDCLI
Executa o REPLACE nos campos DDDCOM e CEP com os valores das variáveis DDDCLI e CEPCLI
apenas nos registros onde o campo MUNIC tenha como conteúdo o valor da variável CIDCLI.
Cria arquivos de índice para agilizar a pesquisa por registros dentro do arquivo, através de uma
chaves de pesquisa (<expr>).
Ex:
USE CLIENTES
INDEX ON CODIGO TO INDCLI1
Ao final da criação do índice, este já está aberto e sendo o índice ativo para o arquivo
CLIENTES.DBF.
Chave Composta
É possível e muitas vezes torna-se necessário a definição de uma chave de pesquisa formada por
dois ou mais campos para se formar a identidade única do registro.
Por exemplo, em um arquivo de contas à receber, o nro. do documento não pode ser considerado
como chave primária(única) dentro do arquivo. A identificação única do documento depende de outras
informações como loja, nro. do caixa, tipo do documento, desdobramento. Assim teríamos:
INDEX ON STR(LOJA,2)+STR(CAIXA,2)+TIPODOC+STR(NRDOC,6)+DESDOBR
Uma chave composta deve ser do tipo de caractere. Por isso o uso da função STR, que converte um
valor numérico em caractere, para que os valores dos campos LOJA, CAIXA e NRDOC sejam
convertidos para caractere antes de serem concatenados com TIPODOC e DESDOBR.
Não é possível criar uma chave composta do tipo numérico, por exemplo, pois se eu tentar criar algo
como INDEX ON CODIGO+LIMITE, a chave será formada pelo resultado da soma dos dois valores, o
que impediria de gerar um índice pela ordem desejada.
Os comandos de configuração de ambiente são úteis para definir parâmetros de trabalho dentro
FoxBase. Segue uma lista com os principais:
GO <n>
Muda o ponteiro para o registro n
Avança (+) ou retrocede(-) n registros no arquivo. Se for declarado simplesmente SKIP, avança
automaticamente um registro.
Obs: Pode-se digitar apenas o número do registro no qual você quer posicionar o ponteiro de dados
para ir diretamente para o registro, ao invés de utilizar o comando GO.
Faz a procura seqüencial, ou seja, registro a registro, ao primeiro registro que atenda a condição
especificada em FOR ou WHILE.
SEEK <expr>
Ex:
USE CLIENTES
INDEX ON CODIGO TO INDCLI1
SEEK 100
Caso o código 100 não seja encontrado, o ponteiro vai para EOF (End of File), que é a indicação de
final de arquivo.
Obs: BOF (Begin of File) é o indicador de início de arquivo. Isso não é a mesma coisa que o primeiro
registro, pois BOF é um ponteiro anterior ao primeiro registro do arquivo.
Uma função é um recurso de uma linguagem de programação através do qual, passando-se um valor,
chamado de parâmetro, esta irá trata-lo e retornar uma resposta. Algumas funções não solicitam
parâmetros, retornando um resultado já pré-programado.
DATE()
Retorna a data atual do sistema
TIME()
Retorna a hora atual do sistema
CTOD(<exprC>)
Converte uma expressão caractere em uma data.
DTOC(<exprD>)
Converte uma expressão data em caractere
STR(<exprN>[,<tam>][,<dec>])
Converte uma expressão numérica em caractere
A função STR utilizada sem definir o tamanho e decimais vai gerar uma expressão caractere de
tamanho 10.
LEFT(<exprC>,<n>)
Retorna n caracteres de uma expressão a partir do primeiro à esquerda.
Ex: LEFT(“GZ SISTEMAS”,2) -> “GZ”
RIGHT(<exprC>, <n>)
Retorna n caracteres de uma expressão a partir do último à direita.
Ex: RIGHT(“GZ SISTEMAS”,8) -> “SISTEMAS”
LEN(<exprC>)
Retorna o tamanho de uma expressão caractere. Se for aplicado sobre um campo de um arquivo
DBF, sempre será retornado o tamanho do campo e não o tamanho do texto que este campo contém.
Ex:
No arquivo CLIENTES.DBF, se for feito ? LEN(NOMFAN) a resposta sempre será 15, mesmo que o
conteúdo do campo seja menor.
VAL(<ExprC>)
Retorna a expressão informada como numérica.
Ex:
A=”15”
B=”20”