You are on page 1of 33

Dbase III Plus

Introdução

Ricardo Wurthmann Saad


Introdução ao dBase III

Sumário

Capítulo I - Banco de Dados e o dBase III Plus..................................................................................................4


1 - Introdução...................................................................................................................................................4
2 - dBase III Plus .............................................................................................................................................4
2.1 - Conceitos Básicos....................................................................................................................................4
2.2 - Arquivos do dBase e suas extensões.......................................................................................................5
Capitulo 2 - dBase Interativo...............................................................................................................................5
3 - dBase interativo..........................................................................................................................................5
3.1 - Comandos e sequencia para criar um Banco de Dados..........................................................................5
3.1.1 - Comando CREATE..............................................................................................................................5
3.1.2 - Help.......................................................................................................................................................6
3.2 - Comandos ...............................................................................................................................................8
3.2.1 - Comando DIR.......................................................................................................................................8
3.2.2 - Comando QUIT....................................................................................................................................8
3.2.3 - Comando MODIFY STRUCTURE......................................................................................................8
3.2.4 - Comando CLEAR.................................................................................................................................8
3.2.5 - Comando SET DEFAULT TO.............................................................................................................9
3.2.6 - Comando EDIT.....................................................................................................................................9
3.2.7 - Comando USE......................................................................................................................................9
3.2.8 - Comando APPEND..............................................................................................................................9
3.2.9 - Comando SELECT ..............................................................................................................................9
3.2.10 - Comando LIST...................................................................................................................................9
3.2.11 - Comando LIST STRUCTURE.........................................................................................................10
3.2.12 - Comando GO/GOTO........................................................................................................................10
3.2.13 - Comando REPLACE........................................................................................................................10
3.2.14 - Comando BROWSE.........................................................................................................................10
3.2.15 - Comando DELETE..........................................................................................................................11
3.2.16 - Comando RECALL..........................................................................................................................11
3.2.17 - Comando PACK...............................................................................................................................11
3.2.18 - Comando ZAP..................................................................................................................................11
3.2.19 - Comando COUNT............................................................................................................................11
3.2.20 - Comando INDEX.............................................................................................................................12
3.2.21 - Comando SORT................................................................................................................................12
3.2.22 - Comando REINDEX........................................................................................................................13
3.2.23 - Comando LOCATE..........................................................................................................................13
3.2.24 - Comando CONTINUE.....................................................................................................................13
3.2.25 - Comando SEEK................................................................................................................................13
3.2.26 - Comando SKIP.................................................................................................................................13
3.2.27 - Comando COPY TO.........................................................................................................................14
3.2.28 - Comando COPY STRUCTURE.......................................................................................................14
3.2.29 - Comando RUN.................................................................................................................................14
3.2.30 - Comando ERASE.............................................................................................................................15
4 - Operadores................................................................................................................................................15
4.1 - Aritméticos............................................................................................................................................15
4.2 - Relacionais.............................................................................................................................................15
4.3 - Lógicos...................................................................................................................................................15
4.4 - Exemplos...............................................................................................................................................15
5 - Exercicios Propostos.................................................................................................................................15
5.1 - Exercício I..............................................................................................................................................15
5.2 - Exercício II............................................................................................................................................17
5.3 - Exercício III...........................................................................................................................................18
Capitulo III - Funções........................................................................................................................................19
6 - Funções.....................................................................................................................................................19

Ricardo Wurthmann Saad 2


Introdução ao dBase III

6.1 - Função DATE().....................................................................................................................................19


6.2 - Função CTOD().....................................................................................................................................20
6.3 - Função DTOC().....................................................................................................................................20
6.4 - Função DOW()......................................................................................................................................20
6.5 - Função STR().........................................................................................................................................20
6.6 - Função VAL()........................................................................................................................................21
6.7 - Função SUBSTR().................................................................................................................................21
6.8 - Função FOUND()..................................................................................................................................21
6.9 - Função LEN()........................................................................................................................................22
6.10 - Função LTRIM().................................................................................................................................22
6.11 - Função RECNO()................................................................................................................................22
6.12 - Função REPLICATE()........................................................................................................................23
6.13 - Função RIGHT()..................................................................................................................................23
6.14 - Função ROUND()................................................................................................................................23
6.15 - Função RTRIM().................................................................................................................................24
6.16 - Função SQRT()....................................................................................................................................24
6.17 - Função STUFF()..................................................................................................................................24
7.0 - Exercício de dBase................................................................................................................................25
7.1 - Exercício de dBase................................................................................................................................27
Capítulo IV - Arquivos de Etiquetas.................................................................................................................29
CREATE LABEL.........................................................................................................................................29

Ricardo Wurthmann Saad 3


Introdução ao dBase III

Capítulo I - Banco de Dados e o dBase III Plus

1 - Introdução

Um banco de dados é uma coleção de informações, organizadas em função de


alguma tarefa predefinida. A lista telefônica, o saldo bancário, o videotexto, o dicionário
são bancos de dados comumente utilizados.

O dBase III Plus é um gerenciador de dados, de comandos de fácil assimilação


por parte do usuário. Um controle de estoque, um cadastro de clientes, uma folha de
pagamento, entre outros, são exemplos do uso de um gerenciador de baco de dados.

2 - dBase III Plus

O dBase III Plus é um software gerenciador de banco de dados com diversos


recursos, tais como criar, alterar, mostrar, pesquisar, selecionar, ordenar, relacionar e
imprimir quaisquer dados do banco de dados, tanto no modo monousuário, como em
uma rede local de microcomputadores.

2.1 - Conceitos Básicos

Suponha-se um grande armário de metal, com várias gavetas contendo um


conjunto de fichas, usado para controle dos clientes de uma empresa:

Conjunto de Fichas - Arquivo ou File

Cada Ficha - Registro ou Record

Cada iten da ficha - Campo ou Field

Ricardo Wurthmann Saad 4


Introdução ao dBase III

2.2 - Arquivos do dBase e suas extensões

Tipo de Arquivo Extensão do Arquivo

Arquivo de Dados .DBF


Arquivo de Memorando .DBT
Arquivo de Índice .NDX
Arquivo de Memória .MEM
Arquivo de Comandos/Programa .PRG
Arquivo de Formatação de Tela .FMT
Arquivo de Edição de tela .SCR
Arquivo de Etiquetas (label) .LBL
Arquivo de Relatórios (Report) .FRM
Arquivo de Texto .TXT
Arquivo de Backup .BAK
Arquivo de Filtro .QRY
Arquivo de Catálogo .CAT

Capitulo 2 - dBase Interativo

3 - dBase interativo

O dBase interativo tem esta denominação, pois o usuário deve estar com o
software dBase carregado na memória do computador.

Para carregar o dBase na memória basta, entrar no subdiretório DBASE e digitar


a palavra DBASE.

3.1 - Comandos e sequencia para criar um Banco de Dados

3.1.1 - Comando CREATE

Cria um novo banco de dados

Sintaxe: Create c:\dbase\teste

É criado um arquivo com a extensão DBF. Ao ser executado o dbase abre uma
janela com :

Ricardo Wurthmann Saad 5


Introdução ao dBase III

CAMPO NOME TIPO LARG. DEC.

Onde:

Campo Nome - É o nome do campo com no maxímo 10 caracteres.

Tipo - É o tipo do campo que pode ser:

- Caracter

- Numérico

- Data

- Lógico

- Memo

Larg. - É o tamanho do campo

- Caracter - 256 caracteres.

- Numérico - 15 digítos e 9 decimais

- Data - MM/DD/AA ou DD/MM/AA por default 8


posições

- Lógico - True (T,t,Y,y) / False (F,f,N,n) por default 1


posição

- Memo - Campo tipo texto com um nome por default


de 10 caracteres.

Dec. - É a quantidade de precissão decimal para um campo


numérico.

Obs: A barra de espaço muda os tipos de campos, estando posicionado com o cursor
em cima da opção TIPO.

3.1.2 - Help

A tecla F1 chama o Help (Socorro) no modo CREATE ou MODI STRU que


mostra.

Ricardo Wurthmann Saad 6


Introdução ao dBase III

- Movimento do Cursor

<− −>

Home End

- Insert

INS - Inseri Caractere

^N - Inseri Campo

- Delete

Del - Elimina Caracter

^Y - Elimina Palavra

^U - Elimina Campo

- ^End - Sai e Grava

- Esc - Aborta

A tecla F1 fora do modo CREATE ou MODI STRU , mas dentro do dBase mostra o HELP
da linguagem dBase interativa e programada.

3.1.3 - Exercício:

Crie a estrutura de banco de dados abaixo: CREATE C:\DBASE\TESTE

Nome do Campo Tipo Largura Decimal

Codigo Numérico 4 0

Nome Caracter 30

Idade Numérico 3 0

End Caracter 25

EndNum Numérico 5 0

Cidade Caracter 25

Cep Numérico 8 0

Estado Caracter 2

Sexo Caracter 1

Ricardo Wurthmann Saad 7


Introdução ao dBase III

Tel Caracter 10

Nota1b Numérico 2 0

Nota2b Numérico 2 0

Nota3b Numérico 2 0

Nota4b Númérico 2 0

Falt1b Numérico 2 0

Falt2b Numérico 2 0

Falt3b Numérico 2 0

Falt4b Numérico 2 0

Media Numérico 2 0

Situação Caracter 1

3.2 - Comandos

3.2.1 - Comando DIR

Mostra os arquivos .DBF

Banco de Dados #Registro Ultima atualização Tamanho

TESTE.DBF 0 10/08/95 674

3.2.2 - Comando QUIT

Sai do dBase, fechando todos os arquivos abertos.

3.2.3 - Comando MODIFY STRUCTURE

Que pode ser abreviado para MODI STRU, que permite editar a estrutura do
Banco de Dados.

3.2.4 - Comando CLEAR

Limpa toda a tela

Ricardo Wurthmann Saad 8


Introdução ao dBase III

3.2.5 - Comando SET DEFAULT TO

Especifica o drive padrão.

Ex.:

SET DEFA TO A:

3.2.6 - Comando EDIT

Permite editar um registro de um arquivo aberto.

3.2.7 - Comando USE

Permite abrir um arquivo

Sintaxe: USE [<nomearq>] [INDEX <arqndx>]

Ex.: USE C:\DBASE\TESTE

3.2.8 - Comando APPEND

Permite acrescentar novos registros no banco de dados em uso.

Ex.: APPEND

3.2.9 - Comando SELECT

Permite selecionar até 10 áreas de trabalho para abertura de arquivos .DBF’s.

Ex.: SELECT <área>

Número de 1 á 10

Letras de A á J

3.2.10 - Comando LIST

Permite visualizar, em tela ou impressora, todo ou parte de um arquivo de dados


em uso.

Sintaxe:

LIST [<Escopo>] [<Campos>] [FOR <Condição>] [OFF] [TO Print]

Onde:

Escopo: ALL - Todo o arquivo

Campos: Lista dos campos separados por vírgula.

Ricardo Wurthmann Saad 9


Introdução ao dBase III

FOR <Condição> - Especifica uma condição de busca.

OFF Retira a numeração de registros

TO Print Ativa a impressorra.

3.2.11 - Comando LIST STRUCTURE

Lista a estrutura do arquivo de dados ativo

Ex.: LIST STRU

3.2.12 - Comando GO/GOTO

Posiciona o “Pointer” de registro em um determinado registro no arquivo de dados


ativo.

Ex.: GOTO <n> Número desejado

BOTTOM - Topo do arquivo

TOP - FIm do arquivo

3.2.13 - Comando REPLACE


Efetua uma alteração em um ou mais registros do arquivo de dados ativo.
Sintaxe: REPLACE [Escopo] <Campo1> WITH <Expressão> [FOR <Condição>]
Ex.: USE TESTE
REPLACE ALL ESTADO WITH “SP”
GOTO 1
REPLACE NOME WITH “JOSE DA SILVA”

3.2.14 - Comando BROWSE

Permite a edição, alteração e inclusão de registros no arquivo de dados ativo. O


vídeo pode apresentar ao mesmo tempo, o máximo de 17 registros.
O uso das teclas Ctrl + setas a direita e a esquerda permitem a visualização dos
campos que ultrapassam os limites da tela.
Sintaxe:
BROWSE [ FIELDS <campos>]

Ricardo Wurthmann Saad 10


Introdução ao dBase III

Onde
FIELDS <campos> - Especifica os campos a serem exibidos e a ordem
desejada.

3.2.15 - Comando DELETE

Permite marcar um ou mais registros para exclusão.


Sintaxe: DELETE [<Escopo>] [ FOR <Condição>]
É colocado um * ao lado do número do registro.
Ex.:
DELETE ALL FOR NOME = “R”

3.2.16 - Comando RECALL

Permite retirar a marca de deleção dos registros.


Sintaxe: RECALL [<Escopo>] [ FOR <Condição>]
Ex.:
RECALL ALL FOR NOME = “R”

3.2.17 - Comando PACK

Regrava todo o arquivo de dados eliminando os registros que estão marcados


para deleção.

Sintaxe: PACK

3.2.18 - Comando ZAP

Permite apagar todos os registros do arquivo de dados. Sem perder a estrutura


dos registros.
Sintaxe: ZAP
Este comando deve ser utilizado com muito cuidado !

3.2.19 - Comando COUNT

Conta o número de registros existentes no banco de dados ativo.


Sintaxe: COUNT [<Escopo>] [FOR<Condição>] TO <Varmem>]

Ricardo Wurthmann Saad 11


Introdução ao dBase III

3.2.20 - Comando INDEX

Cria um arquivo no qual os campos de um arquivo de dados associado são


classificados em ordem ascendente.
Sintaxe: INDEX ON <Campo chave> TO <Nomearq>
Onde:
<Campo chave> - Campo(s) de classificação
<Nomearq> - Nome do arquivo de índice a ser criado.
Ex.:
USE TESTE
INDEX ON NOME TO TESTENOM
INDEX ON NOME+STR(IDADE) TO TESTENDX
Posso abrir o arquivo TESTE associado a um arquivo de índice.
Ex.:
USE TESTE INDEX TESTENDX

3.2.21 - Comando SORT


Cria um novo arquivo de dados, a partit do DBF erm uso, organizando os
registros em ordem alfabética, cronologica ou numérica, de acordo com a chave
especificada.
Sintaxe:
SORT ON <Campo1> [/D][/C] [,<Campo2> [/D][/C]... TO <Novoarq> [<Escopo>] [FOR
<condição>]
Argumentos:
<Campo1> - Chave principal de ordenação.
<Campo2> - Chave secundária de ordenação.
/D - Ordem descendente.
/C - Não diferencia letras minúsculas de maiúsculas.

Modo físico de classificação !


Ex.:
USE C:\DBASE\TESTE
SORT ON NOME,MEDIA TO ORDE
USE ORDE

Ricardo Wurthmann Saad 12


Introdução ao dBase III

LIST NOME, MEDIA

3.2.22 - Comando REINDEX

Reindexa todos os arquivos de índices abertos.


Sintaxe: REINDEX

3.2.23 - Comando LOCATE

Permite efetuar pesquisa em um arquivo de dados ativo.


Sintaxe: LOCATE <Escopo> [FOR <Condição>]
Ex.: USE TESTE
LOCATE FOR SITUAÇÃO = “A”
DISP NOME , SITUAÇÃO

3.2.24 - Comando CONTINUE

Permite continuar a busca efetuada pelo comando locate.


Sintaxe: CONTINUE
Ex.: USE TESTE
LOCATE FOR SITUAÇÃO = “A”
DISP NOME,SITUAÇÃO
CONTINUE
DISP NOME,SITUAÇÃO

3.2.25 - Comando SEEK

Procura o primeiro registro em um arquivo de dados indexado cuja chave coincide


com a expressão especificada.
Sintaxe: SEEK <Expressão>
Ex.: USE TESTE INDEX TESTENOM
SEEK “MARIO”
DISP NOME,MEDIA

3.2.26 - Comando SKIP

Ricardo Wurthmann Saad 13


Introdução ao dBase III

Permite movimentar o “POINTER” sobre os registros do banco de dados ativo.


Sintaxe: SKIP <N>
Onde n é o numero de registros a serem movimentados, por default é 1, mas
pode ser um número negativo.
Ex.: USE TESTE
DISP NOME, MEDIA
SKIP
DISP NOME, MEDIA
SKIP -1

3.2.27 - Comando COPY TO

Copia todo ou parte do arquivo em um novo arquivo especificado.


Sintaxe: COPY TO <arquivo> [<Escopo>] [FIELDS <Campos>] [FOR
<Condição>] [TYPE <Tipoarq>]
O argumento TYPE <Tipoarq> - Especifica o tipo de arquivo a ser criado. (DBF)
Seram copiados todos os registros, incluindo os marcados para deleção, a menos
que uma condição seja especificada.

3.2.28 - Comando COPY STRUCTURE

Copia a estrutura do arquivo corrente para um novo arquivo que será gravado no
disco.
Sintaxe: COPY STRUCTURE TO <Novoarq>
Ex.: USE TESTE
COPY STRUCTURE TO NOVOTESTE
USE NOVOTESTE
LIST STRU

3.2.29 - Comando RUN

Permite acessar comandos do MS-DOS sem encerrar o dBase III Plus.


Sintaxe: RUN <Comando>

Ricardo Wurthmann Saad 14


Introdução ao dBase III

Argumento: <Comando> - É um comando.


Ex.: RUN DATE
RUN TIME

3.2.30 - Comando ERASE

Permite apagar arquivos do disco.


Sintaxe: ERASE <Nomearq.ext>

4 - Operadores

4.1 - Aritméticos

(), ** ou ^,* , / , + , -

4.2 - Relacionais

< , > , <> ou # , <= , >=

4.3 - Lógicos

.NOT.

.AND.

.OR.

4.4 - Exemplos

LIST FOR NOME = ´R´ NOME, SEXO

LIST FOR IDADE > 23 NOME, SEXO, TEL

LIST FOR NOME = ´S´ .AND. SEXO = ´F´ NOME

5 - Exercicios Propostos

5.1 - Exercício I

a-) Crie um banco de dados com a estrutura abaixo ! O arquivo deve se chamar
LAB1C3B e digite dez (10) registros sem preencher os campos media e situação.

Nome do Campo Tipo Largura Decimal

Codigo Numérico 4 0

Ricardo Wurthmann Saad 15


Introdução ao dBase III

Nome Caracter 30

Idade Numérico 3 0

End Caracter 25

EndNum Numérico 5 0

Cidade Caracter 25

Cep Numérico 8 0

Estado Caracter 2

Sexo Caracter 1

Tel Caracter 10

Nota1b Numérico 2 1

Nota2b Numérico 2 1

Nota3b Numérico 2 1

Nota4b Númérico 2 1

Falt1b Numérico 2 0

Falt2b Numérico 2 0

Falt3b Numérico 2 0

Falt4b Numérico 2 0

Media Numérico 2 1

Situação Caracter 1

a1-) Usando o comando REPLACE calcule a média de cada aluno e grave no


campo media.

a2-) Usando o comando REPLACE verifique quais alunos obtiveram média


superior a 6.0 e grave a letra A (Aprovado) no campo situação.

a3-) Usando o comando REPLACE verifique quais alunos obtiveram média


inferior a 6.0 e grave a letra R (Reprovado) no campo situação.

b-) Crie um arquivo de indíce para o arquivo LAB1C3B, indexando pelo campo
cidade. Este arquivo de indíce deve se chamara INDLAB.

Ricardo Wurthmann Saad 16


Introdução ao dBase III

c-) Organize o arquivo LAB1C3B colocando em ordem decrescente de


nome,cidade e sexo gerando um outro arquivo SORTLAB. Para isso utilize o comando
SORT.

d-) Utilizando o arquivo LAB1C3B e o arquivo de indíce INDLAB, liste todos os


alunos que tenham nome começando pela letra “P” e media inferior a quatro (4.0).

e-) Inclua um novo registro no arquivo SORTLAB.

f-) Liste a estrutura do arquivo LAB1C3B e inclua (Modi Stru) um novo campo.

g-) Marque para deleção os registros do arquivo LAB1C3B que tenham no campo
SITUAÇÃO igual a “R”.

h-) Retire as marcas dos registros marcados para deleção do item g.

i-) Marque para deleção os registros do arquivo LAB1C3B que tenham no campo
SEXO = “M”. E remova estes registros.

j-) Localize o registro que tenha no campo idade = 20.

k-) Usando o comando SEEK procure os alunos que residem em Guaratinguetá.

l-) Copie a estrutura do arquivo LAB1C3B para o arquivo RESLAB.

m-) Edite o 8 registro.

n-) Liste todos os registros com a média maior que 7.0.

o-) Altere no registro hum o campo nome para “Jose da Silva” utilizando o
comando REPLACE.

p-) Utilizando o comando SKIP vá para o registro 6.

5.2 - Exercício II

Ricardo Wurthmann Saad 17


Introdução ao dBase III

5.3 - Exercício III

Ricardo Wurthmann Saad 18


Introdução ao dBase III

Capitulo III - Funções

6 - Funções

Nunca podemos comparar expressões de tipos diferentes, como por exemplo um


campo caractere com um data. Para solucionar esse problema podemos utilizar as
funções de conversão.

6.1 - Função DATE()

Retorna a data do sistema operacional.


Sintaxe: DATE()

Ricardo Wurthmann Saad 19


Introdução ao dBase III

Esta função é utilizada em programas de relatório para imprimir a data de


emissão do relatório. Ela não tem argumentos.

6.2 - Função CTOD()

Função de conversão, converte uma cadeia de caracter para data (Caractere to


date).
Sintaxe: CTOD(<String>)
Argumento: <String> - Cadeia de caracteres no formato de data ou
variável caracteres a ser convertida.
Ex.1: DATA1 = CTOD(“07/01/90”)
DATA2 = CTOD(27/10/90”)
DIAS = DATA2 - DATA1
293

Ex.2: LIST NOME FOR ADMDATA >= CTOD(“01/01/79”) .AND. ADMDATA <
CTOD(“01/01/95”)

6.3 - Função DTOC()

Função que converte uma variável do tipo data para caractere.


Sintaxe: DTOC(<VarmemD>)
Argumento: <VarmemD> - Variável do tipo data a ser convertida.
Ex.: LIST “DATA ADMISSÃO = “+DTOC(ADMDATA)

6.4 - Função DOW()

Retorna com o número do dia da semana de uma data qualquer, sendo que o
número 1 corresponde ao domingo e o 7 ao sábado.
Sintaxe: DOW(<Data>)
Ex.: LIST NOME, ADMDATA FOR DOW(ADMDATA) = 2 .OR.
DOW(ADMDATA) = 6

6.5 - Função STR()

Converte um campo ou variável numérica em string.


Sintaxe: STR(<Exp n>,<Comp>,<dec>)

Ricardo Wurthmann Saad 20


Introdução ao dBase III

Argumentos: <Exp n> - Especifica o campo ou variável numérica a ser


convertida.
<Comp> - Especifica o número total de caracteres a serem
convertidos, incluindo o ponto decimal. Valor 10
como default.
<dec> - Número de casas decimais a serem convertidas.
Ex.:
LIST NOME, “O SALARIO E´ = “+SRT(SAL,9,2)

Esta operação é necessaria pois não se pode concatenar numerco com caractere
ou vise-versa.

6.6 - Função VAL()

Converte uma string de numerais para uma expressão numérica.


Sintaxe: VAL(<ExpN>)
Argumento: <ExpN> - Expressão numérica a ser convertida.
Ex.:
LIST VAL(CODIGO)+100,NOME

6.7 - Função SUBSTR()

Permite extrair uma cadeia de caracteres de uma expressão caractere.


Sintaxe: SUBSTR(<ExpC>,<ExpN1>,<ExpN2>)
Argumentos: <ExpC> - Expressão caractere a ser extraída a cadeia de
caracteres.
<ExpN1> - Posição inicial.
<ExpN2> - Número de caracteres a serem extraídos de
<ExpC>.
Ex.:
LIST CODIGO, NOME, “19”+SUBSTR(DTOC(ADMDATA),7,2)

6.8 - Função FOUND()

Retorna .T. (verdadeiro) se a procura por um registro através de LOCATE,


CONTINUE ou SEEK foi bem sucedida.
Sintaxe: FOUND()

Ricardo Wurthmann Saad 21


Introdução ao dBase III

Utilizada em programação no dBase !

6.9 - Função LEN()

Devolve o número referente ao tamanho da string especificada.


Sintaxe: LEN(<ExpC>)
Argumento: <ExpC> - Especifica a string a ser utilizada.
Ex.:
TESTE = “Process systems Ltda”
? LEN(teste)
31
O Sinal de (?) produz a impressão no monitor.

6.10 - Função LTRIM()

Remove espaços em branco precedenetes de uma expressão de caracteres.


Sintaxe: LTRIM(<ExpC>)
Ex.:
TESTE = “PRO”
TESTE1 = “ CESS”
?TESTE+LTRIM(TESTE1)
PROCESS

6.11 - Função RECNO()

Retorna o número do registro corrente.


Sintaxe: RECNO()
Ex.:
USE ESTO
?RECNO()
1
GO 6
?RECNO()

Ricardo Wurthmann Saad 22


Introdução ao dBase III

6.12 - Função REPLICATE()

Repete uma expressão caractere, um determinado número de vezes.


Sintaxe: REPLICATE(<ExpC>,<ExpN>)
Argumentos: <ExpC> - Especifica a expressão caractere a ser repetida.
<ExpN> - Indica o número de vezes a ser repetida a <ExpC>.
Ex.:
?REPLICATE(CHR(219),77)
Obs.: CHR - Retorna o caractere ASC de 219.

6.13 - Função RIGHT()

Extrai uma cadeia de caracteres à direita de uma string especificada.


Sintaxe: RIGHT(<ExpC>,<ExpN>)
Ex.:
TESTE = “Process systems Ltda”
?RIGHT(TESTE,5)
Ltda

6.14 - Função ROUND()

Arredonda os números para um especificado número de casas decimais.


Sintaxe: ROUND(<ExpN1>,<ExpN2>)
Argumentos: <ExpN1> - Especifica o número ou expressão numérica a ser
arrendondada.
<ExpN2> - Número de casas decimais
Ex.:
NUM = 14.746321
?ROUND(NUM,2)
14.750000

Ricardo Wurthmann Saad 23


Introdução ao dBase III

6.15 - Função RTRIM()

Remove brancos posteriores de uma expressão caractere.


Sintaxe: RTRIM(<ExpC>)
Ex.:
TESTE = “Process ”
TESTE1 = “ Systems Ltda”
?RTRIM(TESTE)+TESTE1
Process Systems Ltda”

6.16 - Função SQRT()

Retorna a raiz quadrada de um número especificado.


Sintaxe: SQRT(<ExpN>)
Ex.:
NUM = 4
?SQRT(NUM)
2.00

6.17 - Função STUFF()

Insere uma string dentro de uma string especificada.


Sintaxe: STUFF(<ExpC1>,<Inicio>,<ExpN>,<ExpC2>)
Argumentos: <ExpC1> - Especifica a string na qual será inserida uma outra
string.
<ExpC2> - Especifica a string a ser inserida em <ExpC1>
<Início> - Especifica a posição onde terá início a
substituição.
<ExpN> - Especifica o número de caracteres a ser removido
de <ExpC1>
Ex.:
TESTE = “abc”
?STUFF(TESTE,2,1,”XYZ”)

Ricardo Wurthmann Saad 24


Introdução ao dBase III

aXYZc

7.0 - Exercício de dBase

Aluno: ___________________________________________________, n: ______

Data: __/__/__ Nota: ______

a-) Crie o arquivo NEWALU com a estrutura abaixo e digite 10 registros. Escreva os
comandos necessarios a partir do item b.

CODIGO 9(4) NOTA1B 9(3)V9 FALT4B 9(2)


NOME X(30) NOTA2B 9(3)V9 MEDIA9(3)V9

Ricardo Wurthmann Saad 25


Introdução ao dBase III

IDADE 9(3) NOTA3B 9(3)V9 SITUACAO X


END X(25) NOTA4B 9(3)V9
ENDNUM 9(5) FALT1B 9(2)
CIDADE X(25) FALT2B 9(2)
SEXO X FALT3B 9(2)
DATANASC DATA

b-) Calcule a média para todos os alunos e grave no campo média.


M=(NOTA1B+NOTA2B+NOTA3B+NOTA4B)/4

c-) Grave no campo situação “A” para aprovados se média >= 5.0 e “R” para reprovados
se média < 5.0.

d-) Crie um novo arquivo organizado de forma crescente, pelo campo nome.

e-) Descubra e imprima a quantidade de caracteres do campo NOME em cada registro


que estejam preenchidos. Utilize: LIST, LEN(), RTRIM().

f-) Liste o campo NOTA1B como caractere e não numérico.

g-) Calcule e imprima o total de faltas de cada aluno nos quatro bimestres.

h-) Utilizando uma função, mostre que registro você se encontra.

Ricardo Wurthmann Saad 26


Introdução ao dBase III

i-) Usando a função STUFF() substitua o primeiro caracter do campo cidade pela letra
“K”.

j-) Crie um arquivo de índice INDAL usando o campo codigo como chave primaria.

k-) Altere a estrutura do arquivo NEWALU, incluindo um novo campo (RG).

l-) Liste os campos codigo e nome de forma concatenada.

m-) Altere o campo sexo para todos os registros colocando (G) para os registros que
tenham no campo nome seu conteúdo começando com a letra “A” ou “a”.

7.1 - Exercício de dBase

Aluno: ___________________________________________________, n: ______

Data: __/__/__ Nota: ______

a-) Crie o arquivo ESTOQUE com a estrutura. Escreva todos os comando necessarios a
partir do item C.

CODPROD 9(4)

Ricardo Wurthmann Saad 27


Introdução ao dBase III

DESCRI (40)
PRUNITA 9(7)V99
DTAENT DATA
QUANTID 9(5)
CODFORN 9(4)
TELEF X(8)
VLOR TOT 9(7)V99

b-) Digite 10 registros para o arquivo ESTOQUE. O campo VLORTOT não de ser
preenchido.
Ex.:
0001 PAPEL CHAMEX A4 0,10 01/09/95 10000 1234 326966

c-) Calcule o valor total do lote para todos os registros e grave no campo VLORTOT.

d-) Liste todos os registros que tenham no campo CODFORN, na terceira posição o
numero 4. Ex.: 0040.

e-) Altere o campo CODFORN para todos os registros em que o campo QUANTID for
maior que 100. Troque os dois primeiros numéros do campo CODFORN para 55.

f-) Modifique a estrutura do banco de dados , criando mais um campo denominado


PREACOB 9(7)V99.

g-) Calcule e grave no campo PREACOB o valor do preço unitário com 80% de reajuste.
Ex.: Preço unitário = 50,00

Ricardo Wurthmann Saad 28


Introdução ao dBase III

Preço com o reajuste de 80 % = 50,00 * 1.8 = 90,00

h-) Substitua o último caracter do campo DESCRI pelo caracter “Ç” . Para todos os
registros.

i-) Crie um novo arquivo ESTOQUE1 organizado pelo campo DESCRI.

j-) Crie um arquivo de índice INDEST baseado no arquivo ESTOQUE e no campo


DTAENT.

K-) Liste todos os registros concatenando os campos CODPROD , DESCRI E DTAENT.

l-) Liste todos os registros aredondando o campo VLORTOT.

Capítulo IV - Arquivos de Etiquetas

Este capítulo aborda em como gerar um arquivo de etiquetas através do arquivo


de dados em uso.

CREATE LABEL
Comando de tela cheia, orientado por menus, para criação e edição de arquivos
de etiquetas a partir de um DBF ativo.

Ricardo Wurthmann Saad 29


Introdução ao dBase III

Sintaxe: CREATE LABEL <Nomearq> /?


Argumentos: <Nomearq> - Especifica o nome do arquivo a ser criado. Este
arquivo terá a extensão .LBL.
Obs.: Para se criar um arquivo de etiquetas, é preciso existir um arquivo de
dados ativo para utilização de seus campos.
Um arquivo de etiquetas, criado para um banco de dados, não poderá
ser utilizado para outro, exceto se eles possuírem a mesma estrutura.

Ex.: Crie um arquivo chamado estoque com a estrutura abaixo.


Create Estoque
codpro x(5)
descricao x(25)
tipo x(10)
qtd 9(4)
codfor x(3)
vlcompra 9(8)v2
vlvenda 9(8)v2
Digite os registros abaixo:
Codprod Descrição Tipo Qtd Codfor Vlcompra Vlvenda
LA001 lapis de cor caixa-12 100 100 23,00 26,00
LA003 lapis de cera caixa-12 40 100 45,40 53,05
LA002 lapis hb caixa-24 35 100 50,70 55,80
DD001 disquetes nashua caixa-10 1000 402 35,90 40,99
FF001 formulario cont. 80 caixa 200 402 60,00 93,14
cols.
FF002 formulario cont. caixa 400 402 98,99 148,49
132 cols
ET002 etiquetas 70 x 29 caixa 100 455 54,60 60,45
ET001 etiquetas 125 x 36 caixa 200 455 79,99 114,74
ET003 etiquetas 89 x 36 caixa 450 455 60,00 87,75
RC002 regua T unidade 5000 102 45,00 50,00
BO001 borracha perola caixa- 300 102 30,99 34,00
100

Agora digite o comando para criar uma Etiqueta.

Passo I

Ricardo Wurthmann Saad 30


Introdução ao dBase III

CREATE LABEL PRODETIQ

Após a digitação do comando anterior, aparecerá a tela de criação de etiquetas.


Dividida em Option e Contents.
Option consiste:
Predefined size: 3 ½ x 16/16 by 1
Label Width 35
Label Height 5
Letf margin 0
Lines between labels 1
Spaces between labels 0
Labels across page 1

Predefined size:
Permite a escolha de uma etiqueta padrão. Existem cinco tipos de
etiquetas já padronizadas pelo dbase iii plus.
Tecle ENTER para alterar esta definição.

Label Width:
Permite especificar o comprimento, ou seja, o número de caracteres .

Label Height:
Permite especificar o numero de linhas da etiqueta. De 1 a 16.

Left margin:
Permite especificar a margem direita da etiqueta.

Lines Between labels:


Especifica o espaço entre as etiquetas. De 0 a 16.

Spaces Between labels:


Especifica o espaço entre as colunas das etiquetas. Pode variar de 0 a
120 caracteres.

Ricardo Wurthmann Saad 31


Introdução ao dBase III

Label Across Page:


Especifica o número de colunas de etiquetas. De 1 a 15.

Obs.: Para entrar com um parâmetro, em qualquer uma das opções do


menu, basta pressionar ENTER em cima da opção.

Contents consiste:

Label contents 1: Campo1


2: Campo2
3: Campo3
4: Campo4
5: Campo5
Os campos da etiqueta são os nomes dos campos do registro do arquivo em uso.
Basta posicionar no campo da etiqueta e pressionar a tecla F10, irá aparecer os
campos do arquivo em uso.
Pode-se concatenar mais de um campo. Para isso os campos devem ser do
mesmo tipo , para tanto pode-se usar as funções de conversão.

Exit

Permite salvar ou abandonar o arquivo de etiqueta atrivo.

Passo II

LABEL FORM

Imprime em vídeo ou impressora, o arquivo .LBL gerado por CREATE


LABEL.
Sintaxe:
LABEL FORM <nomearq> [FOR <condição>] [TO PRINT] [TO FILE <arqtext]

Ricardo Wurthmann Saad 32


Introdução ao dBase III

Ricardo Wurthmann Saad 33