tutorial foxbase

13
Tutorial FoxBase 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. GZ SISTEMAS IMPORTAÇÃO E COMÉRCIO LTDA Pág. 1

Upload: wagneradmufs5942

Post on 21-Oct-2015

129 views

Category:

Documents


29 download

TRANSCRIPT

Page 1: Tutorial FoxBase

Tutorial FoxBase

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.

GZ SISTEMAS IMPORTAÇÃO E COMÉRCIO LTDA Pág. 1

Page 2: Tutorial FoxBase

CLEAR

Limpa a tela. E só.

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).

Regras para criação da estrutura:

NOME (field name)Pode conter até 10 caracteres, sendo obrigatório que se inicie por uma letra. Não é permitido espaço em branco assim como caracteres especiais (! ? %&;.@).

TIPO (type)

Os tipos de dados podem ser:

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.

Date: Campo para armazenamento de datas. Possui tamanho fixo de 8 posições.

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.

GZ SISTEMAS IMPORTAÇÃO E COMÉRCIO LTDA Pág. 2

Page 3: Tutorial FoxBase

USE [<file>] [INDEX <ndx_file_list>] [ALIAS <alias>]

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:

USE CADASTRO ALIAS CAD

Pode-se fazer referência ao CADASTRO.DBF pelo alias CAD.

Veremos exemplos mais práticos à frente.

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

Edita o registro atual, permitindo inserir/alterar dados nos campos.

DISPLAY [<escopo>] [[FIELDS] <lista_campos>] [FOR <condição>] [WHILE <condição>] [OFF] [TO PRINT]

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:

ALL - Lista todos os registrosNEXT n - Lista os próximos n registrosRECORD n - Lista apenas o registro nREST - Lista o restante dos registros, ou seja, do registro atual ao último.

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.

OFF – Suprime a exibição do número do registro na primeira coluna da listagem.

TO PRINT – Envia a listagem para a saída da impressora (LPT1).

GZ SISTEMAS IMPORTAÇÃO E COMÉRCIO LTDA Pág. 3

Page 4: Tutorial FoxBase

Há ainda algumas variações do comando DISPLAY, que são:

DISPLAY FILES [ON <drive/dir>] [LIKE <mascara>] [TO PRINT]Lista os arquivos de um determinado diretório ou do diretório corrente. Ex:

DISPLAY FILES – Listará todos os arquivos DBF (padrão).DISPLAY FILES on C:\GZ\CONCENT - listará todos os DBFs de C:\GZ\CONCENTDISPLAY FILES LIKE *.NTX – listará todos os arquivos c/ extensão NTX do diretório atual

DISPLAY HISTORY [LAST <expr>] [TO PRINT]Lista o histórico dos comandos digitados na linha de comando.

DISPLAY MEMORY [TO PRINT]Lista as variáveis de memória em uso

DISPLAY STATUS [TO PRINT]Lista todos os parâmetros SET e seus estados (ON/OFF) e as programações das teclas de função.

DISPLAY STRUCTURE [TO PRINT]Lista a estrutura do arquivo DBF aberto na área atual.

O comando LIST funciona como o comando DISPLAY, com as seguintes diferenças:

- o escopo padrão para LIST é ALL, para DISPLAY é o registro corrente.- LIST não possui pausa a cada 15 registros.- LIST não utiliza-se de uma flag na listagem para indicar registros que estão deletados.

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:

LIST ALL CODIGO,RAZSOC FOR LIMITE > 1000LIST NOMFAN,ENDER,BAIRRO,MUNIC FOR ESTADO=”SP” *

* Quando for fazer referência à uma expressão do tipo caractere (string), deve-se informá-la entre aspas, simples ou duplo.

GZ SISTEMAS IMPORTAÇÃO E COMÉRCIO LTDA Pág. 4

Page 5: Tutorial FoxBase

OPERADORES LÓGICOS

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:

LIST CODIGO, NOMFAN, TELEFONE FOR ESTADO=”SP” .AND. DDDTEL=”011”Liste código , Nome fantasia e telefone dos clientes que forem de SP e cujo DDD seja 011.

LIST CODIGO, NOMFAN, DDDTEL, TELEFONE FOR DDDTEL=”011” .OR. DDDTEL=”019”Listar os clientes que possuem DDD 11 ou 19.

LIST CODIGO, NOMFAN FOR .NOT. SITUACAO==”B”Lista os registros cuja situação NÃO seja “B”

VARIÁVEIS DE MEMÓRIA

Variável de memória é um recurso utilizado em todas as linguagens de programação para armazenar uma informação em memória e poder recuperá-la sempre que necessário, através da utilização de uma referência ao endereço de memória onde a informação está armazenada. Esta referência é o nome da variável.

A regra para nome de variável segue a regra para nomes de campos em arquivos (descrita no comando CREATE).

O tipo da variável depende do tipo de informação armazenada.

A criação de uma variável é feita por <NOME DA VARIÁVEL> = <VALOR>

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 TrueX=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

GZ SISTEMAS IMPORTAÇÃO E COMÉRCIO LTDA Pág. 5

Page 6: Tutorial FoxBase

REPLACE [<scope>] <field> WITH <expr> [,<field2> WITH <expr2>...] [FOR <expL>] [WHILE <expL>]

Comando para gravar dados em campos do registro corrente do arquivo em uso.

Ex:

REPLACE ALL SITUACAO WITH “L”Atribui o valor “L” para o campo SITUACAO em todos os registros do arquivo.

USE CLIENTESDDDCLI=”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.

INDEX ON <expr> TO <file> [FOR <expL>] [UNIQUE]

Cria arquivos de índice para agilizar a pesquisa por registros dentro do arquivo, através de uma chaves de pesquisa (<expr>).

Ex:

USE CLIENTESINDEX 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.

GZ SISTEMAS IMPORTAÇÃO E COMÉRCIO LTDA Pág. 6

Page 7: Tutorial FoxBase

Comandos de Configuração de Ambiente (SET)

Os comandos de configuração de ambiente são úteis para definir parâmetros de trabalho dentro FoxBase. Segue uma lista com os principais:

SET DATE <expr> Define o formato da data a ser utilizado. O padrão ao entrar no Fox é o padrão americano (mm/dd/aa). Nós utilizamos o padrão britânico (dd/mm/aa), ativado por SET DATE BRITISH.

SET CENTURY ON/FFAtiva (ON) ou desativa(OFF) a apresentação de anos com quatro dígitos.

SET EXCLUSIVE ON/OFFAtiva ou desativa a abertura de arquivos somente em uma máquina, fazendo com que os arquivos só sejam abertos caso nenhuma outra máquina da rede esteja com este em aberto.

SET DELETED ON/OFFAtiva ou desativa a exibição de registros marcados para deleção.

SET PRINTER TO <porta/arquivo>Direciona a impressão para uma porta ou para um arquivo.Ex:

SET PRINTER TO LPT1SET PRINTER TO RELAT.PRN

SET PRINT ON/OFFAtiva ou desativa a impressão

SET DEVICE TO <PRINTER/SCREEN>Direciona a saída de dados para impressora ou tela.Não é utilizado no modo interativo, direto na linha de comando e sim em programas de emissão de relatórios.

Comandos para pesquisa / mudança de ponteiro de registros.

GO <n>Muda o ponteiro para o registro n

SKIP [+/-] [n]

Avança (+) ou retrocede(-) n registros no arquivo. Se for declarado simplesmente SKIP, avança automaticamente um registro.

Ex: SKIP +10SKIP –5SKIP

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.

GZ SISTEMAS IMPORTAÇÃO E COMÉRCIO LTDA Pág. 7

Page 8: Tutorial FoxBase

LOCATE [<scope>] [FOR <expL>] [WHILE <expL>]

Faz a procura seqüencial, ou seja, registro a registro, ao primeiro registro que atenda a condição especificada em FOR ou WHILE.

Ex: LOCATE FOR MUNIC=”JUNDIAI” Para no primeiro registro encontrado com o campo MUNIC=”JUNDIAI”

Para continuar realizando a pesquisa estipulado no LOCATE, utilize o comando CONTINUE

SEEK <expr>

Realiza a pesquisa de uma expressão pela chave do arquivo índice atual.

Ex:

USE CLIENTES INDEX ON CODIGO TO INDCLI1SEEK 100

Pesquisa o código 100 pela chave de INDCLI1 , que é o índice atual.

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.

GZ SISTEMAS IMPORTAÇÃO E COMÉRCIO LTDA Pág. 8

Page 9: Tutorial FoxBase

PRINCIPAS FUNÇÕES

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

Ex: STR(1250.87,10,3) -> 1250.870

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”

? A+B -> 1520 (As expressões são concatenadas)? VAL(A)+ VAL(B) -> 35

GZ SISTEMAS IMPORTAÇÃO E COMÉRCIO LTDA Pág. 9