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
[Link] 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 <[Link]>
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