Você está na página 1de 64

NDICE

Aula 1 - Delphi ................................................................................................................ 4


rea de Trabalho............................................................................................................ 5
A Janela Principal .......................................................................................................... 6
A Paleta de Componente................................................................................................ 6
Os Formulrios ............................................................................................................... 7
O Editor de Cdigo (Unit) ............................................................................................. 8
O Object Inspector ......................................................................................................... 8
Arquivos que Compem a Aplicao............................................................................ 9
Arquivos Gerados pela Compilao ........................................................................... 10
Exerccios....................................................................................................................... 10
Aula 2 - Programao Orientada a Objeto ................................................................ 12
Propriedade................................................................................................................. 12
Eventos....................................................................................................................... 13
Mtodos...................................................................................................................... 15
Exerccios....................................................................................................................... 16
Aula 3 - Variveis ......................................................................................................... 19
Variveis de Entrada e Sada...................................................................................... 20
Tipos de Variveis...................................................................................................... 20
Variveis Globais e Locais......................................................................................... 21
Tipos de Transformao............................................................................................. 21
Exerccios....................................................................................................................... 22
Aula 4 - Condio e Deciso ........................................................................................ 23
Operadores Relacionais.............................................................................................. 23
Desvios Condicionais .................................................................................................... 24
Desvio Condicional Simples...................................................................................... 24
Exerccios....................................................................................................................... 25
Aula 5 - Desvio Condicional Composto ...................................................................... 26
Operadores Lgicos...................................................................................................... 27
Operador Lgico: AND.............................................................................................. 27
Operador Lgico: OR................................................................................................. 27
Operador Lgico: NOT .............................................................................................. 28
Exerccios....................................................................................................................... 28
Aula 6 - Estrutura de Controle com Mltipla Escolha ............................................. 29
Exerccios....................................................................................................................... 30
Aula 7 - Exerccios de Fixao..................................................................................... 31
Aula 8 - Lao de Repetio .......................................................................................... 32


Enquanto..................................................................................................................... 32
Repita.......................................................................................................................... 32
Para............................................................................................................................. 33
Exerccios....................................................................................................................... 34
Aula 9 - Exerccios de Fixao..................................................................................... 35
Aula 10 - Banco de Dados ............................................................................................ 36
A Arquitetura de Acesso a Banco de Dados............................................................... 36
Componentes Bsicos ................................................................................................... 37
A Pgina Data Access/BDE ....................................................................................... 37
A Pgina Data Controls.............................................................................................. 38
Acessando Banco de Dados: Uma Introduo ........................................................... 40
Exerccios....................................................................................................................... 41
Aula 11 - Database Desktop......................................................................................... 42
Tipos de Dados no Paradox ......................................................................................... 44
Abrindo uma Tabela Existente................................................................................... 45
Exerccios....................................................................................................................... 47
Aula 12 - BDE Administrator...................................................................................... 49
Criando Alias.............................................................................................................. 49
Acessando Banco de Dados Via Delphi ...................................................................... 50
Adicionando os Campos da Tabela............................................................................ 51
Salvar os Dados Cadastrados...................................................................................... 52
Exerccios....................................................................................................................... 55
Aula 13 - Consultas....................................................................................................... 56
Mtodo Locate............................................................................................................ 56
Pesquisa Exata............................................................................................................ 57
Pesquisa Mais Prxima (Parcial)................................................................................ 57
Mtodo FindKey......................................................................................................... 58
Mtodo FindNearest................................................................................................... 58
Exerccios....................................................................................................................... 59
Aula 14 - Conexo Via ODBC..................................................................................... 60
Conexo Via ODBC...................................................................................................... 60
Exemplo de Conexo via ODBC................................................................................ 60
Exerccios....................................................................................................................... 62
Aula 15 - Criando um Projeto com Conexo Via ODBC.......................................... 63

DELPHI
Prof Paula Flix Dias Dantas Pgina 4
Aula 1
Delphi

O Delphi uma plataforma para desenvolvimento de sistemas para o ambiente
Windows e WEB. Ele combina a facilidade de utilizao de um ambiente de desenvolvimento
visual, o poder de uma linguagem compilada orientada a objetos e uma tecnologia de ponta
em banco de dados, alm da implementao de sistemas para Internet.

A palavra Delphi teve origem no nome de uma antiga cidade Grega situada perto do
Monte Parnassus. Por isso, o seu smbolo uma Athena. Delphi uma poderosa linguagem de
desenvolvimento rpido (RAD Rappid Application Development) para ambientes
Win3X(Verso 1.0) e Win9x/NT (demais verses). Foi concebido pela Borland/Inprise para
ser uma opo ao Visual Basic da Microsoft.

Seu ambiente foi todo construdo na prpria linguagem do Delphi, o Object Pascal
OP (Pascal Orientado a Objeto) e possui ferramentas de desenvolvimento, como templates e
experts de aplicaes e formulrios, que aumentam muito a produtividade, facilitando a
programao da aplicao. O produto vem em trs verses: a Standard, a Professional, e a
Enterprise.

Com o Delphi pode-se criar qualquer tipo de aplicativo, desde banco de dados at
controladores de dispositivos. O trabalho de criao de aplicativos baseia-se na utilizao de
componentes (mini-programas) customizveis, na base do arrastar e soltar, ou ento
programando tudo direto em OP.

O Delphi tambm oferece ferramentas de desenvolvimento, tais como repositrios de
aplicaes e forms, que lhe permitem criar e testar rapidamente o prottipo de suas
aplicaes.



CURIOSIDADES

Delphi o nome Delfos traduzido para o ingls. Delfos era uma espcie de
apelido do deus grego da arte e da sabedoria, Apolo.
As pronncias Delfi e Delfai so anlogas. A primeira forma, grega, a
corrente, a segunda usada mais tecnicamente, principalmente pelos norte-
americanos.


DELPHI

Prof Paula Flix Dias Dantas Pgina 5

Para se programar em Windows, as duas linguagens mais conhecidas e utilizadas que
so o Visual Basic, da Microsoft e o Delphi, que era produzido pela Borland e atualmente est
sendo produzido pela Embarcadero. Mas o que faz do Delphi uma linguagem mpar so as
seguintes caractersticas:

Ele compilador real, ou seja, gera um executvel puro. Isso faz com que o
Delphi seja mais rpido que outras linguagens. Ele utiliza-se de compiladores
Borland Pascal e C++anteriores;
Disponibilidade de cdigo-fonte da bibliotecas;
O delphi pode trabalhar com os seguintes banco de dados nativos: Oracle,
Sybase e Informix, Interbase, MySql, SQL Server para client/server e,
Paradox, DBase, Fox Pro e Access arquitetura de rede simples, alm de outros,
via ODBC e ADO;
O delphi usa recursos diretamente de banco de dados para internet;
A codificao visual do programa fica muito mais forte e clara, com a
utilizao da linguagem Object Pascal.


rea de Trabalho

A mesa de trabalho do Delphi composta dos seguintes itens:






















O delphi oferece um ambiente visual de desenvolvimento rico e verstil. Os que nunca
usaram outro ambiente visual de desenvolvimento como o Delphi (Visual Basic, Visual C++,
PowerBuilder, etc) podem estranhar inicialmente a organizao visual do ambiente.
Diferentemente de aplicativos comuns, como o Word e o Excel da Microsoft, o Delphi no
um aplicativo MDI (com uma janela principal capaz de conter vrias janelas secundrias).
DELPHI

Prof Paula Flix Dias Dantas Pgina 6

O ambiente do Delphi composto por vrias janelas independentes que podem ser
sobrepostas e reorganizadas livremente na tela.

A Janela Principal

Na janela principal, localizada na parte de cima da tela, esto a Barra de Menus, a
Paleta de Componentes e a Barra de Ferramentas. A janela principal uma janela comum,
apesar de ter uma aparncia diferente do normal. Portanto possvel minimiz-la, maximiz-
la e move-la normalmente. Minimizar a janela principal, minimiza todas as outras janelas do
Delphi no necessrio minimizar ou fechar cada uma das outras janelas primeiro. Quando
a janela principal do Delphi fechada, naturalmente, todo o ambiente (o Delphi inteiro)
fechado.









A Paleta de Componente

A paleta de componentes uma das partes mais utilizadas do Delphi. a partir dessa
paleta que se pode escolher componentes e adicion-los a formulrios. A paleta de
componentes dividida em vrias pginas. Cada pgina contm um conjunto de componentes
relacionados.

As pginas mais usadas so a Standard (com componentes bsicos, como botes e
caixas de texto), Additional (com alguns componentes especiais), e as pginas Data Access e
Data Controls (para acesso e manipulao de banco de dados). Para passar de uma pgina
para outra, clique na aba correspondente, na parte de cima da paleta de componentes.





DELPHI

Prof Paula Flix Dias Dantas Pgina 7


Abaixo, vemos a explicao de cada pgina da Barra de Objetos.


PGINA

GRUPO DE COMPONENTES
STANDARD

Componentes bsico da interface com o Windows, Labels, Edit, Listbox,
Combobox, RadioGroup, etc.
ADDITIONAL

Grupo adicional de componentes padres, tais como BitBtn, SpeedButton,
MaskEdit, Image, Shape, Bevel, etc.
WIN32

Componentes a serem utilizados em programas que sero rodados em 32
bits, tais como PageControl, ProgressBar, Animate, DateTimePicker.
DATA
CONTROLS

Componentes especializados de banco de dados utilizados para exibir dados
de banco de dados, tais como Grid de dados, dbNavigator.
DATA ACCESS

Componentes especializados para acesso de dados em um banco de dados,
tais como DataSource.
BDE

Componentes especializados para acesso de dados em um banco de dados
usando a tecnologia BDE da Borland, tais como Table, Query.
ADO

Componentes especializados para acesso de dados em um banco de dados
usando a tecnologia ADO da Microsoft, tais como ADOTable.
QREPORT

Componentes para gerao de relatrio.
INTERNET

Componentes para criar programas integrados com a internet.
DIALOGS

Quadros de dilogos comuns do Windows que possuem uma aparncia.

Os Formulrios

















Os formulrios (e o cdigo associado a eles, as Units) constituem o corao de um
aplicativo no Delphi. Quando voc entra no Delphi, ou cria um novo projeto, um formulrio
vazio criado automaticamente.

DELPHI

Prof Paula Flix Dias Dantas Pgina 8


Os formulrios so as partes visveis de um aplicativo no Delphi. Neles so inseridos
componentes como botes, listas, etc. Formulrios podem ser usado com muitas funes
diferentes em um aplicativo, um formulrio pode, por exemplo, ser desde a janela principal
at uma pequena caixa de mensagem.

O Editor de Cdigo (Unit)

A todo formulrio, associado um programa chamado de Unit, no Delphi que controla
como os componentes dos formulrios reagem s aes do usurio (os eventos). As units so
exibidas no Editor de Cdigo (Code Editor). O editor de Cdigo pode mostrar vrias Units ao
mesmo tempo. Pode-se mudar de uma Unit para outra, usando-se as abas na parte de cima da
janela.




















O Object Inspector


O object inspector (traduo literal: inspetor de
objetos) usado para definir propriedades e eventos para os
componentes. As listas de propriedades e eventos exibidas no
Object Inspector mudam de acordo com o componente
selecionado.

Outra funo importante do Object Inspector
selecionar componentes por nome. Uma lista com o nome e o
tipo de todos os componentes do formulrio ativo so exibidos
na parte de cima do Object Inspector. Para selecionar um
componente, basta escolher seu nome nessa lista. Para
Exibir/Esconder o Object Inspector, use o comando Wiew
Object Inspector, ou pressione F11.
DELPHI

Prof Paula Flix Dias Dantas Pgina 9


Arquivos que Compem a Aplicao

A criar uma aplicao no Delphi, o mesmo ir criar alguns arquivos, vejamos abaixo
quais so esses arquivos:

EXTENSO
ARQUIVO
DEFINIO FUNO
.DPR Arquivo do Projeto Cdigo fonte em Pascal do arquivo
principal do projeto. Lista todos os
formulrios e units no projeto, e contm
cdigo de inicializao da aplicao.
Criado quando o projeto salvo.
.PAS Cdigo fonte da Unit
(Object Pascal)
Um arquivo .PAS gerado por cada
formulrio que o projeto contm. Seu
projeto pode conter um ou mais arquivos
.PAS associados com algum formulrio.
Contem todas as declaraes e
procedimentos incluindo eventos de um
formulrio.
.DFM Arquivo grfico do
formulrio
Arquivo binrio que contm as
propriedades do desenho de um
formulrio contido em um projeto. Um
.DFM gerado em companhia de um
arquivo .PAS para cada formulrio do
projeto.
.OPT Arquivo de opes do
projeto
Arquivo texto que contm a situao
corrente das opes do projeto. Gerado
com o primeiro salvamento e atualizado
em subsequentes alteraes feitas para as
opes do projeto.
.RES Arquivo de Recursos do
Compilador
Arquivo binrio que contm o cone,
mensagens da aplicao e outros recursos
usados pelo projeto.
.~DP Arquivo de Backup do
Projeto
Gerado quando o projeto salvo pela
segunda vez.
.~PA Arquivo de Backup da
Unit
Se um .PAS alterado, este arquivo
gerado.
.~DF Backup do Arquivo grfico
do formulrio
Se voc abrir um .DFM no editor de
cdigo e fizer alguma alterao, este
arquivo gerado quando voc salva o
arquivo.
.DSK Situao da rea de
Trabalho
Este arquivo armazena informaes sobre
a situao da rea de trabalho especifica
para o projeto em opes de ambiente
(Options Environment).

Obs.: Devido a grande quantidade de arquivos de uma aplicao, cada projeto deve ser
montado em um diretrio especfico.
DELPHI

Prof Paula Flix Dias Dantas Pgina 10


Arquivos Gerados pela Compilao


EXTENSO
ARQUIVO
DEFINIO FUNO
.EXE Arquivo compilado
executvel
Este um arquivo executvel distribuvel
de sua aplicao. Este arquivo incorpora
todos os arquivos .DCU gerados quando
sua aplicao compilada. O Arquivo
.DCU no necessrio distribuir em sua
aplicao.
.DCU Cdigo objeto da Unit A compilao cria um arquivo .DCU para
cada .PAS no projeto.

Obs.: Estes arquivos podem ser apagados para economizar espao em disco.


Exerccios

1. O que Delphi?





2. Qual a funo do Object Inspector?





3. Quais so os arquivos gerados pela compilao? E quais os arquivos que compem a
aplicao?






4. O que so formulrios?





DELPHI

Prof Paula Flix Dias Dantas Pgina 11

5. 1 Programa:

a) Na Barra de Objetos, Tecle em (Label) e, em seguida, tecle no form;

b) Escreva a frase Ol Mundo!;

c) Na Barra de Ferramentas, tecle em (Run), para rodar o programa.

d) Ao rodar aparecer a seguinte tela:
DELPHI

Prof Paula Flix Dias Dantas Pgina 12

Aula 2

Programao Orientada a Objeto

Para manipular um objeto trabalhamos com esses trs conceitos:

1. Propriedade
2. Evento
3. Mtodo

Propriedade

Propriedade o que estabelecem, quais so as suas caractersticas, elas controlam a
forma como um componente se comporta e a sua aparncia em uma aplicao. Observe que,
no topo do Object Inspector h uma pasta escrita properties, que so, por exemplo:

Principais Propriedades


Propriedade

Descrio
Color Estabelece a cor do componente.

Enabled Determina se o componente deve estar acionado ou no, ou seja, se ele
estar respondendo a eventos do mouse, teclado, etc.
Font Determina os atributos (cor, tamanho, estilo ou nome) do componente.

Height Estabelece o tamanho vertical de um componente ou objeto.

Hint Possibilita um help on-line, ou seja, se o cursor permanecer parado sobre
o componente, a mensagem escrita nessa propriedade aparecer no
vdeo.
Left Estabelece a localizao horizontal do componente no lado esquerdo do
form.
Name Determina o nome da propriedade, que no deve conter espaos vazios.

TabOrder Indica a posio que assume um componente perante os demais form por
exemplo, se o form conter 3 componentes, a ordem deles a estabelecida
por essa propriedade.
Top Estabelece a localizao vertical do componente a partir do canto
superior do form.
Visible Determina se o componente dever estar visvel quando da execuo do
programa.
Width Estabelece o tamanho horizontal do componente.



DELPHI

Prof Paula Flix Dias Dantas Pgina 13

Propriedades Especficas para Label/Form/Button


PROPRIEDADE DESCRIO
Caption Estabelece o contedo visual do componente. No caso do form, ser o
texto da barra do ttulo; do label, o nome visvel dele e no Button, o que
dever estar escrito dentro dele.

Propriedades Especficas para Edit

PROPRIEDADE DESCRIO
CharCase Se for normal, aceitar as letras como maisculas e minsculas, conforme
for digitado, se for LowerCase, considerar todas as letras digitadas como
minsculas e UpperCase, como maisculas.
MaxLength Estabelece o tamanho mximo de caracteres que o edit ir aceitar.
PasswordChar Determina o caractere que ser usado se o campo for usado para digitao
de senha. Por exemplo, colocando #, quando for digitado um texto nesse
edit, s aparecer #.
Text Estabelece qual o texto que dever estar contido dentro do edit.


Vejamos um exemplo de como podemos alterar uma propriedade de um objeto em
tempo de execuo do sistema:


PROPRIEDADE:
[NomeDoObjeto].[Propriedade]: =Novo Valor;


Cada componente no Delphi apresenta um conjunto de propriedades que determinam o
comportamento e a aparncia do componente. Propriedades podem ser definidas durante o
desenvolvimento, ou alteradas durante o tempo de execuo.

Eventos

a que estabelece o que faz o objeto, so aes de usurios ou ocorrncias do sistema
que um componente possa reconhecer, tal como um clique no mouse. Repare que ao lado das
properties, existe outra pasta escrita Events. ai que se firma o que o objeto ir fazer. Os
eventos podem ser, por exemplo, para um campo Edit.

Os eventos determinam a parte dinmica de um aplicativo. Eles definem como o
aplicativo reage s aes do usurio (ou de outros componentes). Cada componente oferece
um conjunto de eventos especficos.

Para cada evento, pode-se associar um trecho de cdigo que executado quando o
evento acontece. O cdigo para os eventos de todos os componentes em um formulrio
armazenado na Unit.
DELPHI

Prof Paula Flix Dias Dantas Pgina 14


Associando Cdigo a um Evento

Os eventos disponveis para um componente so listados na pgina Events do Object
Inspector Para muitos componentes, a lista de eventos extensa. No entanto, somente poucos
eventos so usados com frequncia.

H trs formas bsicas para adicionar eventos a um componente:

Clicar duas vezes no componente: isso altera o evento padro do componente. O
evento padro geralmente o mais usado. Para o componente Button, por exemplo, o evento
padro OnClick, que ocorre quando o boto clicado. O delphi mostra o Editor de Cdigo,
j com um esqueleto do cdigo para o evento. Veja um exemplo desse esqueleto:


Procedure Tform1.Button1Click(Sender:Tobject);
Begin

End;


Entre o begin e o end digitado o cdigo a ser executado quando o usurio clica no
boto (o Delphi j posiciona o cursor nesse local automaticamente).

A maneira descrita aqui funciona somente para os eventos padro dos componentes.
Para adicionar cdigo para qualquer outro evento, deve-se realizar uma das aes descritas a
seguir.

Clicar duas vezes ao lado do evento desejado (no Object Inspector): mostra o cdigo
para o evento no Editor de cdigo. A partir da, pode-se proceder como antes para digitar o
cdigo associado ao evento.

Escolher um procedimento j definido para um evento: clique do lado direito do nome
do evento, no Object Inspector e escolha o nome do procedimento da lista que aparece. Faa
isso quando for necessrio associar o mesmo cdigo a eventos de componentes diferentes. (Se
ainda no houver nenhum cdigo definido para eventos no formulrio, a lista aparece vazia).


Principais Eventos


BUTTON

EVENTO DESCRIO
OnClick Ocorre quando o usurio d um clique sobre o componente.
OnMouseMove Ocorre quando o usurio move o ponteiro do mouse, quando o ponteiro do
mouse estiver sobre o componente.

DELPHI

Prof Paula Flix Dias Dantas Pgina 15

EDIT

EVENTO DESCRIO
OnChange Ocorre quando um determinado valor de um objeto ou componente alterado.
OnKeyPress Ocorre quando o usurio pressiona uma nica tecla de caractere.
OnExit Ocorre quando o foco de input passa de um componente para outro.


FORM

EVENTO DESCRIO
OnActivate Ocorre toda vez que o form ativado.
OnClose Ocorre toda vez que o form fechado.
OnCloseQuery Ocorre antes que o form se feche.
OnCreate Ocorre quando o form criado.


Apagando Eventos

Pode-se apagar eventos definidos para um componente, para corrigir um erro no
desenvolvimento, por exemplo. Um evento pode ser apagado em dois nveis. O evento pode
ser simplesmente desligado de um componente, permanecendo ligado a outros componentes,
ou pode ser removido inteiramente do cdigo.

Para desligar um evento de um componente, selecione o componente e clique no lado
do evento a ser removido, no Object Inspector. Isso seleciona o nome do evento. Em seguida,
apague (pressione DELETE e depois ENTER).

Para remover um evento inteiramente do cdigo, apague todo o cdigo dentro do
evento, deixando apenas o cdigo gerado automaticamente pelo Delphi (a primeira linha, o
begin e o end). Em seguida, salve o arquivo, ou compile o projeto. O delphi remove o evento
e todas as ligaes a esse evento.

Mtodos

Alm de propriedades e eventos, um componente possui mtodos. Estes so
procedimentos padres para os objetos. Nos termos de programao, um mtodo uma
procedure ou funo declarada como parte de um objeto. Para se escrever um mtodo use o
esquema a seguir:

Mtodos (basicamente) so operaes oferecidas por componentes do Delphi. Os
mtodos de um componente so acessveis somente atravs de programao, so usados para
ler ou alterar propriedades de um componente, ou para realizar tarefas especiais.

DELPHI

Prof Paula Flix Dias Dantas Pgina 16

Para ver a lista de mtodos oferecidos por um componente, voc precisa usar o recurso
de ajuda do Delphi (os mtodos so listados no Object Inspector). Para isso, selecione o
componente no formulrio e pressione F1. Em seguida clique na opo Methods, na parte de
cima da janela de ajuda. (Note que alguns componentes no oferecem nenhum mtodo).


MTODO:
[NomeDoObjeto].[Mtodo];


Vejamos alguns mtodos mais usados, exemplificados:


Mtodo Close

Coloque um boto no formulrio e na propriedade Caption escreva &Sair;


DICA
O smbolo & quando colocado em um Caption, ir sublinhar a letra imediatamente
posterior e esta funcionar como tecla de atalho juntamente com o ALT, ou seja, no
exemplo abaixo, o boto ser acionado ao digitar ALT+S;

Duplo clique no boto;
Form1.Close;

Ao rodar o programa (tecla Run ou F9), verifique que ao clicar no boto, o programa ser
fechado.

Mtodo Clear

Coloque um campo edit no formulrio e apague as informaes das propriedades Text (para
deixar em branco);

Coloque um boto e escreva no Caption Limpar;
Edit1.clear;
Edit1.Setfocus;

Ao rodar o programa (tecla Run ou F9), verifique que ao clicar no boto, ele limpar o
contedo do edit e depois setar o cursor no edit novamente.

Exerccios

1. O que so propriedades?





DELPHI

Prof Paula Flix Dias Dantas Pgina 17

2. O que so mtodos?





3. O que so eventos?





4. Quais os principais eventos do button?





5. Cite a propriedade que comum para o label e o Button.





6. Crie uma nova aplicao no delphi e crie o seguinte programa:

a) Insira um Button e um Label no Form

b) digite a seguinte linha de cdigo:

procedure TForm1.Button1Click(Sender: TObject);
Begin
Label1.Caption:=Colgio Adelia';
end;

c) Execute o programa e veja o que aconteceu.

7. Crie uma nova aplicao no delphi e crie o seguinte programa:

a) Insira um Button e um Label no Form

b) digite a seguinte linha de cdigo:

procedure TForm1.Button1Click(Sender: TObject);
begin
form1.caption:='Principal';
button1.Enabled:=false;
end;

DELPHI

Prof Paula Flix Dias Dantas Pgina 18

c) Execute o programa e veja o que aconteceu.


8. Crie uma nova aplicao no delphi e crie o seguinte programa:

a) Insira um Button, e um edit no Form

b) digite a seguinte linha de cdigo:

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.clear;
Edit1.setfocus;
End;

c) Execute o programa e veja o que aconteceu.
DELPHI

Prof Paula Flix Dias Dantas Pgina 19

Aula 3

Variveis

Toda informao a ser processada (via memria RAM) por um computador por meio
de um programa precisa ser previamente armazenada em memria. Geralmente com a
utilizao de variveis que isso acontece.

No ambiente de programao Delphi, tambm podem ser armazenados valores na
memria, em um componente que esteja sendo usado para trabalhar a entrada ou sada de uma
determinada informao.

Uma varivel uma regio da memria previamente identificada, a qual tem por
finalidade armazenar as informaes de um programa temporariamente. Cada varivel
armazena apenas um valor por vez. Denomina-se valor um contedo armazenado de qualquer
tipo.

O nome de uma varivel utilizado para sua identificao e posterior uso em um
programa. Sendo assim, necessrio estabelecer algumas regras de utilizao de variveis:

Nomes de varivel podem ser atribudos com um ou mais caracteres;

O primeiro caractere no pode ser, em hiptese nenhuma, um nmero, sempre
deve ser uma letra;

O nome de uma varivel no pode ter espaos em branco;

No pode ser nome de varivel uma palavra reservada a uma instruo ou
identificador de uma linguagem de programao, bem como o nome de seus
componentes;

No podem ser utilizados outros caracteres, a no ser letras e nmeros, com
exceo do caractere underscore _, que pode ser utilizado para simular a
separao de duas palavras, como: Nome_Aluno, que poderiam estar tambm
escritas como NomeAluno.

Deve-se considerar que, dentro de um programa, uma varivel pode exercer dois
papis, sendo um de ao, quando modificada ao longo de um programa para apresentar um
determinado resultado, e o segundo de controle, em que pode ser vigiada e controlada
durante a execuo de um programa.

Todo dado a ser armazenado na memria de um computador por meio de uma varivel
deve ser previamente declarado, ou seja, primeiro necessrio saber o seu tipo para depois
fazer o seu armazenamento. Estando armazenado, o dado pode ser utilizado e manipulado a
qualquer momento durante a execuo do programa.

DELPHI

Prof Paula Flix Dias Dantas Pgina 20

Variveis de Entrada e Sada

Variveis de entrada:

Armazenam as informaes fornecidas por um meio externo.
Ex: Usurios ou discos.


Variveis de Sada:

Armazenam dados processados como resultados.


Exemplo:

A B C=A +B



De acordo com a figura acima, A e B so variveis de entrada e C uma varivel de sada.

Tipos de Variveis

Principais tipos de variveis do Pascal/Delphi

TIPO

VALORES USOS
Integer

- 2.147.483.648 a +2.147.463.647 Utilizada para armazenar nmeros inteiros.
Double 15 a 16 dgitos significativos Utilizada para armazenar nmeros com casas
decimais (tipo float).
String

1 a 2 GB Armazena caracteres.
Boolean

True ou False Para situaes de verdadeiro ou falso.
TDateTime

Data e/ou Hora Para armazenar data e ou hora.
Byte

0 a 255 Utilizada para armazenar nmeros Inteiros
peq.

ShorInt

-128 a 128 Utilizada para armazenar nmeros Inteiros
peq.

Word

0 a 65535 Utilizada para armazenar nmeros Inteiros
peq.

2
5
7
DELPHI

Prof Paula Flix Dias Dantas Pgina 21

TIPO

VALORES USOS
Char

1 caracter Utilizada para armazenar 1 caracter apenas.

Real

11 a 12 dgitos significativos Utilizada mais na poca do Pascal para
nmeros com casas decimais.

Single 7 a 8 dgitos significativos Utilizada em poucos casos para nmeros
pequenos com casas decimais.
Extended 19 a 20 dgitos significativos Utilizada para nmeros com casas decimais
muito longos.

Comp

19 a 20 dgitos significativos Utilizada para nmeros inteiros muito longos.


Currency 19 a 20 dgitos significativos com
apenas 4 aps a vrgula
Utilizada algumas vezes para armazenar
dinheiro.


Variveis Globais e Locais

A varivel global pode ser utilizada em todas as procedures. Sua desvantagem que
ela ocupa muito lugar na memria sem desocup-la (ela deve ser declarada acima do
implementation).

A varivel local s pode ser utilizada na procedure em que foi declarada, ocupando
pouco espao e desocupando a memria logo que ela deixa de ser utilizada.

Tipos de Transformao

Abaixo, a tabela de transformao:


FUNO

EFEITO
IntToStr

Converte um nmero inteiro em uma string (texto).
StrToInt

Converte uma string (texto) em um nmero inteiro.
FloatToStr Converte um nmero em ponto flutuante (com casas decimais) em uma string
(texto).
StrToFloat Converte uma representao string em um nmero de ponto flutuante (casas
decimais).


DELPHI

Prof Paula Flix Dias Dantas Pgina 22

Exerccios


1. O que so variveis?





2. Explique:


a) IntToStr__________________________________________________________________

___________________________________________________________________________


b) StrToInt__________________________________________________________________

___________________________________________________________________________


c) FloatToStr________________________________________________________________

___________________________________________________________________________

d) StrToFloat________________________________________________________________

___________________________________________________________________________

3. Faa um programa que recebe 02 nmeros inteiros e calcule a soma deles.

4. Faa um programa que leia o nome e o sobrenome de uma pessoa e apresente seu
nome completo.

5. Faa um programa que leia uma temperatura em graus Celsius e apresent-la
convertida em graus Fahrenheit. A frmula da converso F= (9* C+160)/5, no qual F
a temperatura em Fahrenheit e C a temperatura em Celsius.









DELPHI

Prof Paula Flix Dias Dantas Pgina 23

Aula 4
Condio e Deciso

Para que seja possvel fazer um programa de computador tomar decises, necessrio
primeiramente imputar uma condio. No so somente os computadores que agem segundo
este critrio. Os seres humanos tambm tomam decises baseadas em condies que lhes so
apresentadas.

Imagine como exemplo um programa de computador que faa a leitura de quatro notas
bimestrais de um determinado aluno, calcule a mdia e apresente-a. At aqui, muito simples,
mas alm, de calcular e apresentar a mdia, o programa deve tambm informar se o aluno foi
aprovado ou reprovado segundo a verificao de sua mdia (considere a mdia maior ou igual
a seis).

O programa deve verificar o valor da mdia (que a condio, no caso, mdia maior
ou igual a seis) do aluno para ento toma uma deciso no sentido de apresentar apenas uma
das mensagens indicadas: aprovado ou reprovado. Em hiptese nenhuma podem ser
apresentadas ambas as mensagens.

Neste contexto de apresentar apenas uma das duas mensagens estabelecidas est a
definio de uma condio (mdia maior ou igual a seis) que implica na tomada de uma
deciso e apresenta a mensagem mais adequada ao contexto avaliado. Assim sendo, se a
condio de verificao da mdia (mdia maior ou igual a seis) for verdadeira, de ser
apresentada a mensagem aprovado; caso contrrio, deve aparecer a mensagem reprovado.

Operadores Relacionais

A relao existente entre os dois elementos de uma condio consegue-se com a
utilizao dos operadores relacionais de acordo com a tabela seguinte:


Smbolo Significado
= Igual a
<> Diferente de
> Maior que
< Menor que
>= Maior ou igual que
<= Menor ou igual que


Assim sendo, so condies vlidas as seguintes estruturas relacionais:

A=B, A<>B, A>B, A<B, A>=B, A<=B, A=6, A<>6, A>6,A<6,A>=6,A<=6.
DELPHI

Prof Paula Flix Dias Dantas Pgina 24


Desvios Condicionais

O desvio condicional est associado utilizao de decises dentro de um programa
de computador. Uma deciso a ser tomada pode ser verdadeira ou falsa. Se for verdadeira,
pode ser executada uma determinada ao; se falsa, pode ou no se executada uma outra ao.
Assim sendo, um desvio condicional pode ser simples ou composto.

Desvio Condicional Simples

Um desvio condicional simples quando h uma condio que desvia a execuo do
programa caso o resultado lgico avaliado seja verdadeiro. Se o resultado lgico avaliado for
falso, nada acontece, e o programa simplesmente segue o fluxo de execuo.

Um desvio condicional simples definido no ambiente de programao Delphi por
meio de instruo If..Then, que tem a seguinte sintaxe:

IF (condio) then
<instruo executada quando a condio for verdadeira>;

<instruo executada aps a condio ser verdadeira e/ou falsa>;

Se o resultado lgico da condio for verdadeiro, executada a instruo que estiver
posicionada aps a instruo then. Se o resultado lgico da condio for falso, executada a
instruo que existir aps o trecho de cdigo considerado verdadeiro.

Caso venha a existir mais de uma instruo a ser executada com a condio verdadeira
para uma determinada condio, elas devem estar inseridas em um bloco delimitado pelas
instrues begin e end. Note que considerado um bloco o conjunto de instrues entre um
begin e um end, conforme o exemplo seguinte:

If (condio) then
begin
<instruo 1 executada quando condio for verdadeira>;
<instruo 2 executada quando condio for verdadeira>;
<instruo 3 executada quando condio for verdadeira>;
<instruo n executada quando condio for verdadeira>;
end;

<instruo executada aps a condio ser verdadeira e/ou falsa>;








DELPHI

Prof Paula Flix Dias Dantas Pgina 25

Exerccios

1. Faa um programa que receba dois valores numricos inteiros. Depois some os
valores e apresente o seu resultado, caso o valor somado seja maior que 10.

2. Faa um programa que receba dois valores numricos inteiros, os quais
independentemente da ordem em que foram fornecidos, devem ser impressos na
ordem crescente, ou seja se forem fornecidos 5 e 3, respectivamente, devem ser
apresentados 3 e 5. O programa em questo deve fazer a troca dos valores entre
as duas variveis.


DELPHI

Prof Paula Flix Dias Dantas Pgina 26

Aula 5
Desvio Condicional Composto


Agora veremos como fazer uso da instruo IF..then..else. Sendo a condio
verdadeira, executada a instruo que estiver posicionada entre as instrues IF..then e else.
Sendo a condio falsa, executada a instruo que estiver posicionada logo aps a instruo
else, como indicado na seguinte sintaxe:

IF (condio) then
<instruo executada quando condio for verdadeira>
else
<instruo executada quando condio for falsa>;

<instruo executada aps condio ser verdadeira ou falsa>;

Caso seja necessrio considerar mais de uma instruo para as condies verdadeira
ou falsa, utiliza-se o conceito de delimitao de blocos por meio de instrues begin e
end,como indicado em seguida:

If (condio) then
begin
<instruo 1 executada quando condio for verdadeira>
<instruo 2 executada quando condio for verdadeira>
<instruo n executada quando condio for verdadeira>
end
else
begin
<instruo 1 executada quando condio for verdadeira>;
<instruo 2 executada quando condio for verdadeira>;
<instruo n executada quando condio for verdadeira>;
end;

<instruo executada aps condio ser verdadeira ou falsa>;

Observe que, nos dois casos mostrados, qualquer instruo que precede a instruo
else est escrita sem o (;) ponto-e-vrgula. Isso ocorre pelo fato de a instruo else se uma
extenso da instruo IF..then, e sendo assim o final da condio ocorre aps a definio da
instruo else.



DELPHI

Prof Paula Flix Dias Dantas Pgina 27

Operadores Lgicos

Existem ocasies em que necessrio trabalhar com o relacionamento de duas ou mais
condies ao mesmo tempo na mesma instruo IF..then para que seja tomada uma deciso e
sejam realizados testes mltiplos. Para estes casos necessrio trabalhar com os operadores
lgicos, tambm conhecidos como booleanos. Os operadores lgicos so trs: and, or e not.
Em alguns casos, os operadores lgicos evitam a utilizao de muitas instrues IF..then
encadeadas.

Operador Lgico: AND

O operador do tipo and utilizado quando dois ou mais relacionamentos lgicos de
uma determinada condio necessitam ser verdadeiros. Em seguida apresentada a tabela da
verdade para esse tipo de operador:

Condio 1 Condio2 Resultado
Falsa Falsa Falso
Verdadeira Falsa Falso
Falsa Verdadeira Falso
Verdadeira Verdadeira Verdadeiro


O operador and faz com que somente seja executada uma determinada operao se
todas as condies mencionadas forem simultaneamente verdadeiras, gerando assim um
resultado lgico verdadeiro.


Operador Lgico: OR

O operador do tipo or utilizado quando pelo menos um dos relacionamentos lgicos
(quando houver mais de um relacionamento) de uma condio necessita ser verdadeiro. Em
seguida observe a tabela da verdade para esse tipo de operador:

Condio 1 Condio2 Resultado
Falsa Falsa Falso
Verdadeira Falsa Verdadeiro
Falsa Verdadeira Verdadeiro
Verdadeira Verdadeira Verdadeiro


O operador or faz com que seja executada uma determinada operao se pelo menos
uma das condies mencionadas gerar um resultado lgico verdadeiro.


DELPHI

Prof Paula Flix Dias Dantas Pgina 28

Operador Lgico: NOT

O operador not utilizado quando preciso estabelecer que uma determinada
condio deve ser no-verdadeira ou no-falsa. O operador not inverte o estado lgico de uma
condio. Em seguida apresentada a tabela da verdade para esse tipo de operador:

Condio 1 Resultado
Falso Verdadeira
Verdadeira Falso


O operador not faz com que seja executada uma determinada operao invertendo o
resultado lgico da condio.


Exerccios

1. Faa um programa que receba dois valores numricos do tipo inteiro e efetue a
adio desses valores. Caso o resultado obtido seja maior ou igual a 10, esse valor
dever ser apresentado, somando-se a ele 5. Caso o resultado do valor somado no
seja maior ou igual a 10, ele deve ser apresentado subtraindo 7.

2. Faa um programa que receba um valor numrico do tipo inteiro. Se este nmero
estiver no intervalo entre 20 e 90 mostrar a mensagem: O valor est entre 20 e
90, caso o valor no estiver dentro dessa faixa mostrar a mensagem: O valor
no est entre 20 e 90.

3. Faa um programa que receba o sexo de uma pessoa. Caso o sexo digitado seja
vlido mostrar a mensagem O seu sexo vlido, caso contrrio mostrar O seu
sexo invlido.
DELPHI

Prof Paula Flix Dias Dantas Pgina 29

Aula 6

Estrutura de Controle com Mltipla Escolha

Ao trabalhar com uma sequncia grande de desvios condicionais encadeados ou
mesmo sequenciais, possvel deixar o programa difcil de ser interpretado. Existe uma forma
mais adequada e eficiente para atender a este tipo de situao, que a estrutura de controle
com mltipla escolha, denominada estrutura case..of, que tem a seguinte sintaxe:

case <varivel> of

<opo 1>: <operao 1>
<opo 2>: <operao 2>
<opo n>: <operao n>

else
<operao>

end;

ou

case <varivel> of

<opo 1>: begin
<operao 1.1>
<operao 1.2>
<operao 1.n>
end;

<opo 2>: begin
<operao 2.1>
<operao 2.2>
<operao 2.n>
end;

<opo n>: begin
<operao n.1>
<operao n.2>
<operao n.n>
end;

else

<operao_else>

end;
DELPHI

Prof Paula Flix Dias Dantas Pgina 30

Exerccios

1. Faa um programa que receba um valor numrico do tipo inteiro que esteja entre
1 e 12. Em seguida o programa dever apresentar o nome do ms correspondente
ao valor informado. Caso seja informado um valor de um ms inexistente, o
programa avisa ao usurio o erro cometido.

2. Faa um programa que receba a idade de um nadador e imprima sua categoria
seguindo as regras abaixo:

Idade Categoria
5 7 anos Infantil A
8 10 anos Infantil B
11 13 anos J uvenil A
14 17 anos J uvenil B


3. Faa um programa que receba uma nota do tipo inteiro, se a nota digitada for 0
mostrar a mensagem horroroso se a nota for de 1 a 3 mostrar a mensagem Pssimo
, se a nota for de 4

a 5 mostrar a mensagem regular , se a nota for de 6 a 7 mostrar a
mensagem bom se a nota for de 8 a 9 mostrar a mensagem timo e se a nota for 10
mostrar a mensagem excelente.

DELPHI

Prof Paula Flix Dias Dantas Pgina 31

Aula 7

Exerccios de Fixao


1. Faa um programa que leia um valor inteiro qualquer positivo ou negativo e
apresentar o nmero lido como um valor positivo.

2. Faa um programa que leia quatro valores referentes a quatro notas escolares de
um aluno e apresentar uma mensagem informando se o aluno foi aprovado ou
reprovado. Para determinar a aprovao do aluno, considere a mdia escolar
maior ou igual a 6. Apresentar junto das mensagens o valor da mdia do aluno.

3. Faa um programa que leia quatro valores inteiros e apresentar somente aqueles
que forem divisveis por 2 e 3.

4. Faa um programa que leia um valor numrico inteiro que esteja na faixa de 1 a
9. O programa deve indicar uma das seguintes mensagens:O valor est na faixa
permitida, caso o valor fornecido esteja entre 1 e 9, ou O valor est fora da
faixa permitida, caso o valor seja menor que zero ou maior que nove.

5. Faa um programa que faa a leitura do nome e do sexo de uma pessoa. O
programa deve apresentar para o sexo masculino a mensagem Ilmo. Sr e para
o sexo feminino a mensagem Ilma. Sra.. Apresentar tambm junto da saudao
o nome informado.


6. Faa um programa que leia um valor inteiro e apresentar uma mensagem
informando se o valor par ou mpar.

DELPHI

Prof Paula Flix Dias Dantas Pgina 32

Aula 8

Lao de Repetio

Enquanto

A estrutura de lao de repetio do tipo enquanto (while) faz um teste lgico no incio
de um lao de repetio, verificando se permitido executar o trecho de instrues
subordinadas a esse lao, enquanto a condio de controle do lao permanecer verdadeira.

A estrutura de lao while..do tem seu funcionamento controlado por condio. Dessa
forma possvel executar um determinado conjunto de instrues enquanto a condio
verificada permanecer verdadeira. No momento em que essa condio se tornar falsa (e deve
se tornar falsa em algum momento), o processamento de execuo do lao desviado para
fora dele. Se a condio do lao for falsa logo no incio, as suas instrues so ignoradas.

Caso seja necessrio executar mais de uma instruo para uma condio verdadeira
dentro de um lao (o que bastante comum), elas devem estar mencionadas dentro de um
bloco definido com as instrues begin e end. Desta forma a instruo while..do deve ser
escrita com a seguinte estrutura:

while (condio) do
begin
<instrues executadas enquanto a condio for verdadeira>
end;

Repita

Essa estrutura faz um teste lgico no final de um looping. Por ser parecida com a
while, a estrutura em questo denominada repeat, utilizada com o conjuntos de instrues
repeat..until.

Seu funcionamento controlado por deciso, porm esse tipo de looping executa um
conjunto de instrues pelo menos uma vez antes de verificar a validade da condio
estabelecida. Diferente da estrutura while, que executa somente um conjunto de instrues
enquanto a condio verdadeira.

Desta forma repeat tem seu funcionamento em sentido contrrio while, pois sempre
processa um conjunto de instrues, no mnimo uma vez, at que a condio se torne
verdadeira. A instruo repeat..until deve ser escrita:

repeat
<repita a instruo 1 at condio ser verdadeira>;
<repita a instruo 2 at condio ser verdadeira>;
<repita a instruo 3 at condio ser verdadeira>;
<repita a instruo n at condio ser verdadeira>;
until (condio);
DELPHI

Prof Paula Flix Dias Dantas Pgina 33

Para

Foram apresentadas duas formas de elaborar loopings. Uma usando o conceito while e
outra usando o conceito repeat. Com essas duas tcnicas possvel elaborar rotinas que
faam um looping um determinado nmero de vezes com a utilizao de um contador
(variveis que executam um determinado nmero de vezes) ou mesmo de uma varivel que
aguarde a resposta do usurio. Independentemente da forma de tratamento, esta denominada
varivel de controle.

Existe uma outra forma que visa facilitar o uso de contadores finitos sem estruturas
anteriores. Desta formas os loppings com while e repeat passam a ser utilizados quando no
se conhece de antemo o nmero de vezes que uma determinada sequncia de instrues deve
ser executada.

Os loopings que possuem um nmero finito de execues podem ser processados pelo
tipo for..do , que tem seu funcionamento controlado por varivel de controle do tipo contador,
podendo ser crescente ou decrescente, tendo como sintaxe para looping crescente:

for <varivel> := <incio> to <fim> do
<instrues>

ou tendo como sintaxe para looping decrescente:

for <varivel> := <incio> downto <fim> do
<instrues>

Caso exista mais de uma instruo para ser executada dentro do looping, elas devem
estar inseridas em um bloco de instrues begin eend;

for <varivel> := <incio> to <fim> do
begin
<instrues 1>
<instrues 2>
<instrues n>
end;


ou

for <varivel> := <incio> downto <fim> do
begin
<instrues 1>
<instrues 2>
<instrues n>
end;
DELPHI

Prof Paula Flix Dias Dantas Pgina 34

Exerccios

1. Faa um programa que receba um valor numrico inteiro e calcule o seu fatorial.

2. Faa um programa que receba um valor numrico inteiro e calcule a tabuada.

3. Faa um programa que escreva os 100 primeiros nmeros pares.

DELPHI

Prof Paula Flix Dias Dantas Pgina 35

Aula 9

Exerccios de Fixao


1. Faa um programa que apresente os quadrados dos nmeros inteiros de 15 a 200.

2. Faa um programa que apresente o total da soma obtida dos cem primeiros
nmeros inteiros (1 +2+3+4+5+6+7+ ... +97+98+99+ 100).

3. Faa um programa que apresente todos os valores numricos inteiros mpares
situados na faixa de 0 a 20. Para verificar se o nmero mpar, dentro da malha
fazer a verificao lgica dessa condio com a instruo IF ... then, perguntando
se o nmero mpar. Sendo, mostre-o; no sendo, passe para o prximo passo.

4. Faa um programa que apresente todos os nmeros divisveis por 4 que sejam
menores que 200.

5. Faa um programa que apresente o somatrio de todos os valores pares
existentes entre a faixa numrica de 1 a 500.

6. Faa um programa que mostre os valores compreendidos entre 25 e 5.


DELPHI

Prof Paula Flix Dias Dantas Pgina 36

Aula 10

Banco de Dados


A Arquitetura de Acesso a Banco de Dados

































No Delphi, trabalha-se com banco de dados de duas maneiras: via SQL (Oracle,
Sysbase, Informix, etc) ou registro-a-registro (Paradox, Dbase, etc). No entanto, ele permite
que voc trabalhe em SQL com banco de dados registro-a-registro e vice-versa.

O acesso banco de dados um dos pontos fortes do Delphi, utilizando a biblioteca
Borland Database Engine (BDE). Para usar o BDE do Delphi, basta utilizar algum dos
componentes para acesso a banco de dados, no havendo necessidade de chamar diretamente
suas funes.

Ambiente de Desenvolvimento do Delphi
Aplicativo
Delphi
Borland Database Engine (BDE)
SQL Links
Interbase
Informix
Oracle
Sybase
DB2
Paradox
Access
FoxPro
DBase
Socket
ODBC
Drivers
ODBC
Banco de
Dados
Compatveis
com ODBC
DELPHI

Prof Paula Flix Dias Dantas Pgina 37

O Delphi oferece recursos poderosos para a criao de aplicativos com acesso a banco
de dados. Aplicativos criados no Delphi podem ter acesso a dezenas de tipos de banco de
dados, locais ou remotos.

Para os bancos de dados mais populares, como Oracle, Sybase, Access, etc., o Delphi
oferece acesso nativo. Toda a comunicao entre o Delphi e esses SGBDS feita
internamente no ambiente do Delphi. O Acesso nativo geralmente muito mais rpido.

Para banco de dados menos populares, o Delphi oferece acesso via ODBC (Open
database Connectivity). Praticamente todos os banco de dados profissionais so compatveis
com a tecnologia ODBC. Um banco de dados compatvel com ODBC oferece drivers ODBC
que podem ser instalados no Windows. Com o driver ODBC correspondente instalado, um
banco de dados pode ser acessado facilmente a partir do Delphi (o acesso bem mais lento
que o acesso nativo, no entanto).

Todo o acesso banco de dados a partir de um aplicativo Delphi, sejam esses bancos
remotos ou no, feito atravs do BDE (Borland Database Engine). O BDE uma interface
padro que gerencia a parte tcnica por trs do acesso e manipulao de banco de dados.

Alm disso, o BDE uniformiza a comunicao entre os aplicativos e os banco de
dados. Pode-se usar os mesmos componentes e comandos para acessar um banco de dados
Oracle, ou um banco paradox, por exemplo.

Os bancos locais, como Paradox e dbase so acessados diretamente pelo BDE. J os
bancos remotos SQL, como Oracle e Sybase, precisam tambm do driver SQL links, instalado
automaticamente com o Delphi Client/Server. esse driver que garante a uniformizao do
acesso banco de dados SQL, gerando consultas SQL automaticamente, no dialeto de SQL
usado pelo banco. Com o driver SQL links, possvel trabalhar com bancos SQL da mesma
forma que com banco locais.


Componentes Bsicos

H dezenas de componentes no Delphi para o trabalho com banco de dados. So duas
pginas das paletas de componentes exclusivamente dedicadas a banco de dados: as pginas
Data Access e Data Controls.

A Pgina Data Access/BDE

A pgina Data Access/BDE contm os componentes usados para realizar a conexo
aos bancos de dados e acessar suas informaes. Os componentes mais importantes, e de
longe os mais usados, so os trs primeiros: Data Source (Data Access), Table (BDE) e Query
(BDE).


A pgina Data Access

DELPHI

Prof Paula Flix Dias Dantas Pgina 38


A pgina BDE


H vrios outros componentes avanados usados, por exemplo, para a criao de
aplicativos cliente/servidor.

Veja a seguir uma descrio breve dos componentes mais importantes da pgina Data
Access.


Componente


Descrio

Data Source

Funciona como um intermedirio entre os componentes table e
query da paleta data controls.

Table


Usado para realizar o acesso a tabelas de um banco de dados.

Query


Usado para realizar o acesso a tabelas geradas por consultas SQL.

BatchMove


Usado para mover grandes quantidades de dados de uma tabela
para outra, para copiar tabelas inteiras, ou para converter tabelas
de um tipo para outro.

A Pgina Data Controls

A pgina Data Controls contm componentes que podem ser ligados diretamente a
campos e tabelas de um banco de dados. Muitos desses componentes so apenas verses mais
poderosas dos componentes na pgina Standard.


A pgina Data Controls


DELPHI

Prof Paula Flix Dias Dantas Pgina 39

Os componentes Dbedit e Dbmemo, por exemplo so equivalentes aos componentes
Edit e Memo, mas com o recurso adicional de acesso a banco de dados. Veja a seguir uma
descrio breve dos componentes mais importantes da pgina Data Controls.


Componente


Descrio

DBGrid

Exibe dados em formato de tabela. Este componente usado
geralmente para exibir os dados de um componente table ou
query.

DBNavigator


Usado para navegar os registros de uma tabela, permitindo
que dados sejam apagados, inseridos ou alterados.

DBText

Exibe o texto de um campo de forma no-editvel.
Semelhante a um componente label.

DBEdit


Exibe o texto de um campo e permite edit-lo. Semelhante a
um componente edit.

DBMemo


Exibe o texto de um campo com vrias linhas de texto (do
tipo BLOB ou Memo). Semelhante a um componente
memo.

DBImage


Exibe imagens armazenadas em um campo do tipo BLOB, ou
image.

DBListBox


Exibe uma lista de itens a partir da qual, pode ser escolhido
um valor para um campo. Semelhante ao componente listbox.

DBComboBox


Semelhante ao componente dblistbox, mas permite a
digitao direta de um valor, alm da escolha de um item
listado. Semelhante ao componente combobox.

DBCheckBox


Exibe um checkbox que pode ser usado para exibir ou alterar
o valor de um campo booleano.

DbRadioGroup


Exibe um conjunto de valores mutuamente exclusivos para
um campo.

DBLookUpListBox

Exibe uma lista de itens extrada de outra tabela relacionada.
Somente elementos da lista podem ser escolhidos. Tem a
mesma aparncia e o mesmo funcionamento bsico do
componente ListBox.
DELPHI

Prof Paula Flix Dias Dantas Pgina 40


DBLookUpComboBox


Exibe uma lista de itens extrada de outra tabela relacionada.
Pode-se digitar um valor diretamente. Tem a mesma
aparncia e o mesmo funcionamento bsico do componente
ComboBox.


Acessando Banco de Dados: Uma Introduo


O acesso banco de dados a partir de um aplicativo no Delphi baseado em trs
componentes bsicos: DataSource, Table e Query. Os trs componentes no-visuais. Eles no
so exibidos durante a execuo. Apenas controlam a conexo com o banco de dados e o
processamento dos dados.

A conexo com um banco de dados geralmente feita atravs de um componente
Table ou Query. Esses componentes so do tipo DataSet. Os DataSets so conjuntos de dados
armazenados em formato de tabela (em linhas e colunas).

Ambos os componentes Table e Query tem a propriedade DatabaseName, que indica o
banco de dados associado ao componente. Um componente table ligado a uma tabela de um
banco de dados atravs de sua propriedade TableName. Um componente Query contm o
texto de uma query em SQL. Essa query pode ser executada, gerando uma nova tabela de
dados (temporria) como resultado.

O componente DataSource usado como um intermedirio obrigatrio entre os
componentes Data Controls em um formulrio, e os dados de um componente Table ou
Query. A propriedade DataSet de um componente DataSource usada para realizar a ligao
entre os componentes. A maioria dos componentes da pgina Data Controls apresenta a
propriedade DataSource, onde especificado o componente DataSource a ser conectado ao
componente. Os dados exibidos nos componentes Data Controls so lidos a partir do
componente DataSource especificado.
DELPHI

Prof Paula Flix Dias Dantas Pgina 41

Exerccios


1. Quais so as duas maneiras para se trabalhar com Banco de Dados no Delphi?





2. Quais so as paletas de componentes dedicadas para Banco de Dados?





3. Qual a funo do Borland Database Engine?





4. Quais os componentes bsicos para conexo com o Banco de Dados?





5. Explique:


a) DBMemo_________________________________________________________________

___________________________________________________________________________


b) DBEdit___________________________________________________________________

___________________________________________________________________________


c) DBNavigator______________________________________________________________

___________________________________________________________________________


d) DBGrid__________________________________________________________________

___________________________________________________________________________
DELPHI

Prof Paula Flix Dias Dantas Pgina 42

Aula 11

Database Desktop


O Database Desktop fornecido com o Delphi e serve para construir novas tabelas de
banco de dados, para modificar os campos em banco de dados que j existam, para visualizar
informaes de banco de dados, e para criar alias para origens de dados.

Abaixo podemos ver a tela inicial do Database Desktop.





















O tipo de banco de dados nativo do Delphi o Paradox.

Agora vamos construir nosso primeiro banco de dados. Vamos acompanhar passo a
passo.







Como podemos ver, para criar uma nova tabela,
clicamos no menu File -> New -> Table, depois
mostrado uma tela onde indicamos o tipo da
tabela (Paradox7, Paradox5, Dbase, Access,
SQL, etc...) como podemos ver na figura
seguinte:


DELPHI

Prof Paula Flix Dias Dantas Pgina 43










Como o tipo padro o Paradox 7 e o mesmo j vem selecionado, s precisamos
clicar no boto OK e estaremos prontos para definir a estrutura interna do nosso banco de
dados como mostra a figura a seguir:























Aqui nos temos a parte da definio da estrutura (nome do campo /Field Name,
Tipo/Type,Tamanho/Size e Chave/Key) e as propriedades da tabela (Table properties).
Definido a estrutura da tabela, agora s falta salvar nosso arquivo de banco de dados em nosso
computador, para isso clique no boto Save AS..., que ser solicitado o local e o nome do
arquivo a ser gravado.



DELPHI

Prof Paula Flix Dias Dantas Pgina 44




















Na caixa Salvar em especifique o local onde o seu arquivo vai ser salvo, preste
bastante ateno, pois voc pode estar salvando o arquivo em um outro local, que no o do
seu aplicativo. Na caixa Nome do Arquivo, digite o nome do arquivo para o qual voc criou
a estrutura.

Tipos de Dados no Paradox

TIPO TAMANHO DESCRIO
A - Alfanumrico 1 255 Campo do tipo alfanumrico contm strings que
consiste em: letras, nmeros, caracteres especiais e
outros caracteres imprimveis ASCII.
N Numrico O campo do tipo numrico s pode conter nmeros, que
podem ser positivos ou negativos.
D Data O campo do tipo Data pode conter datas no intervalo de
01/01/999 at 31/12/9999.
M Memo 1 240 Use o campo memo se voc for gravar textos longos no
seu banco de dados.
L Lgico Os campos lgicos contm apenas os valores true ou
false.
$ - Dinheiro Corresponde ao tipo numrico, s que inclui o smbolo
da moeda corrente antes dos nmeros.
+Autoincremento O campo do tipo autoincremento contm um inteiro
longo no editvel, isso quer dizer que no possvel
alterar seu valor, pois o mesmo atribudo de forma
automtica.
I Inteiro Longo O campo do tipo inteiro longo contm nmeros no
fracionados que variam de 2147483648 at
2147483648.
T hora (Time) O campo do tipo hora contm a hora do dia gravado em
milisegundos desde a meia-noite limitados at 24 horas.

DELPHI

Prof Paula Flix Dias Dantas Pgina 45


Vamos ver estes tipos na figura abaixo:






Esta lista surge toda vez que teclamos a
barra de espao no local tipo, ao invs de
digit-lo diretamente.






Abrindo uma Tabela Existente

Vejamos agora como fazer para abrir uma tabela j existente, de forma que possamos
alterar sua estrutura, digitar dados, etc..










DELPHI

Prof Paula Flix Dias Dantas Pgina 46

Aps esse procedimento surge a tela seguinte:



















Agora iremos procurar a tabela desejada e depois clicar em Abrir e a tabela surge
como mostra a figura.


















Apartir daqui podemos inserir dados, reestruturar a tabela entre outras diversas opes.
Vejamos nos passos que se segue como proceder para digitar dados diretamente na tabela sem
a necessidade da criao de uma aplicao em Delphi para isso.

Para digitarmos alguma informao, basta clicarmos em Table - Edit Data.

DELPHI

Prof Paula Flix Dias Dantas Pgina 47
































Como podemos ver, quando estamos no modo de edio, os cones no canto superior
ficam pressionados e o nome Edit aparece na barra de status.

Exerccios

1. Crie as seguintes tabelas:

Field Name Type Size Key
Cdigo + *
Nome A 30
DataAdm. D
Valetransporte L
Salrio $
Obs. M 50

Salve a tabela na pasta 3pdn\lp2\BD com o nome funcionrios.DB.


DELPHI

Prof Paula Flix Dias Dantas Pgina 48


Field Name Type Size Key
Cdigo + *
Nome A 30
Endereo A 50
Telefone A 14

Salve a tabela na pasta 3pdn\lp2\BD com o nome agenda.DB.

2. Aps criado as tabelas cadastrar no mnimo 5 registros em cada uma delas


DELPHI

Prof Paula Flix Dias Dantas Pgina 49

Aula 12

BDE Administrator

O BDE permite a configurao do ncleo de acesso base de dados e que tambm seja
especificado um alias (apelido link ou atalho).

Alias um link ou atalho feito para que possa ser indicado o caminho do banco de
dados;


Criando Alias

Em iniciar/Programas/Borland Delphi/BDE Administrator.

Object / New. Aparecer a seguinte figura:












Como estamos trabalhando com o Paradox escolheremos a opo Standard e em
seguinte clicamos em OK e aparecer o nosso alias na paleta databases como mostra a figura
a seguir:

















DELPHI

Prof Paula Flix Dias Dantas Pgina 50

Mudaremos o Nome dele de Standard 1 para o nome que quisermos por exemplo Teste
na paleta Definition precisamos dar o PATH (Caminho do nosso banco de dados). Por
exemplo se o meu banco de dados est na pasta C:\Sistema\Tabelas, o meu PATH ficar da
seguinte forma:




















Ao fechar o BDE ele pedir para salvar o alias, clicaremos em yes e ele salvar o
nosso alias, agora poderemos retornar para a nossa aplicao.


Acessando Banco de Dados Via Delphi


Para acessarmos um banco de dados em qualquer aplicao Delphi, necessitamos
utilizar os componentes dedicados conexo de banco de dados.

Como estamos trabalhando com Paradox para que possamos conect-lo a aplicao em
Delphi devemos colocar no nosso form um Table e umDataSource.



DELPHI

Prof Paula Flix Dias Dantas Pgina 51


Esses dois componentes no iro aparecer no formulrio quando a aplicao for
executada. Algumas propriedades desses componentes precisam ser alteradas para realizar a
conexo com o banco de dados, vejamos:

Componente Table

Databasename: nessa propriedade colocaremos o nome do alias criado para o nosso banco de
dados.

Tablename: nessa propriedade colocaremos o nome da tabela a qual desejo utilizar do meu
banco de dados.

Active: habilitar essa propriedade para true, para que possamos ativar a tabela.


Componente DataSource

DataSet: nessa propriedade colocaremos o nome do componente table que configuramos o
acesso ao banco de dados.

Adicionando os Campos da Tabela

Para acionar os campos utilizaremos o Fields Editor do componente Table. Basta dar
duplo click no table, boto direito no componente opo Fields Editor e aparecer a seguinte
tela:
















Selecione add fields e clique em OK.
DELPHI

Prof Paula Flix Dias Dantas Pgina 52
















Todos os campos sero inseridos na lista.
















Depois de inserido os campos da tabela, criaremos um formulrio com os campos da
tabela. Para criar esses formulrios temos duas opes. A 1 opo seria inserimos os
componentes para criao do formulrio Ex: Dbedit e Label, no esquecendo que para que ele
possa gravar as informaes no banco ter que ser alterada algumas propriedades do Dbedit
que so: DataField (Nome do campo) e Datasource. A 2 opo no Fields do table selecionar
todos os campos e arrastar para o formulrio, assim ele montar a estrutura completa para seu
possvel cadastro.

Salvar os Dados Cadastrados

Para salvar os possveis dados que sero digitados no seu formulrios, temos duas
opes, so elas:

DBNavigator

um conjunto de botes para navegar e executar aes no banco de dados.
DELPHI

Prof Paula Flix Dias Dantas Pgina 53
















Podemos alterar algumas propriedades desse componente como a ShowHints e o
VisibleButtons;

VisibleButtons: seleciono quais botes que eu quero que aparea;

ShowHints: Ativando essa opo para true ao passar com o mouse por cima do
navigator ele me fala o que o boto faz;

Construindo os Botes de Navegao

A outra opo voc inserir buttons e program-los para que possam gravar, excluir,
inserir no banco de dados.

Exemplos:

Boto Novo

procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.insert;
end;

Boto Gravar

procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.post;
end;

Boto Cancelar

procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.cancel;
end;
Primeiro
Anterior
Prximo ltimo
Inserir
Excluir
Voltar
Editar
Gravar
Cancelar
DELPHI

Prof Paula Flix Dias Dantas Pgina 54

Boto Excluir

procedure TForm1.Button1Click(Sender: TObject);
begin
if messagedlg(Excluir?,mtconfiration,[mbyes,mbno],0)=Mryes then
Table1.delete;
end;


Boto Ir para o Primeiro Registro

procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.first;
end;


Boto Ir para o Prximo Registro

procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.next;
end;


Boto ir para o ltimo Registro

procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.last;
end;


Boto Anterior

procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.prior;
end;

DELPHI

Prof Paula Flix Dias Dantas Pgina 55

Exerccios


1. Criar os alias para as tabelas elaboradas na semana passada. (tabela funcionrios e
tabela agenda).

2. Ser necessrio criar dois alias um para cada tabela? Justifique.





3. Crie o formulrio da tabela funcionrio e da tabela agenda utilizando o dbnavigator.
Insira no mnimo 3 registros.

4. Crie o formulrio da tabela funcionrio e da tabela agenda elaborando os botes de
insero, navegao, etc.. Insira no mnimo 3 registros.


DELPHI

Prof Paula Flix Dias Dantas Pgina 56

Aula 13

Consultas
Mtodo Locate

O mtodo Locate a maneira mais verstil e mais rpida de localizar registros em um
DataSet. Com os argumentos do mtodo Locate, voc especifica o nome dos campos a serem
consultados, o valor desejado para cada campo especificado e um conjunto de opes de
localizao (que pode ser vazio). Veja a seguir um exemplo de uma chamada ao mtodo
Locate:

TabClientes.Locate('Nome;Sobrenome', VarArrayOf(['Maria', 'S']),[loPartialKey]);

O exemplo localiza o primeiro registro da tabela TabClientes, com nome "Maria" e
sobrenome comeando com "S".

O primeiro parmetro de Locate uma lista de campos separados por ponto-e-vrgula,
entre aspas simples. O segundo parmetro um array especial que deve ser construdo com o
comando VarArrayOf (para o caso de uma pesquisa em mais de um campo). Os valores aqui
devem "casar com os campos especificados no primeiro parmetro. O terceiro parmetro
especifica opes de procura.

H duas opes de procura disponveis para o mtodo Locate:

LoPartialKey: Permite que os valores de procura especificados no segundo parmetro sejam
parciais (parte de um nome, por exemplo).

loCaseInsensitive: Faz com que Locate ignore maisculas e minsculas. Com essa opo
"maria", "Maria" e "MARIA" so considerados iguais, por exemplo.

Se houver algum registro que case com os valores especificados, o mtodo Locate
retorna true e move o cursor para aquele registro. Se nenhum registro for encontrado, Locate
retorna false.

Se a localizao for baseada em apenas um campo, a sintaxe de Locate mais simples.
Veja um exemplo, que localiza o cliente com cdigo igual a 100.

TabClientes.Locate('Codigo', 100, []);


Existem dois tipos de pesquisas:

Exatas: para pesquisas de cdigos, onde a pesquisa ir achar o registro exatamente
como foi pedido;

Inexatas (Mais Prxima): para pesquisas de nomes, endereos, etc... onde ser achado
o registro imediatamente superior ao que foi pedido (caso no se tenha o que foi pedido).

DELPHI

Prof Paula Flix Dias Dantas Pgina 57

Para Simplificar, veja um exemplo:

















Pesquisa Exata

D um duplo clique no boto pesquisar e escreva:

If not table1.locate(cdigo, Edit1.text,[ ]) then
Showmessage (Registro no encontrado);

Nesse caso, se a funo Locate voltar false (o registro no for achado), aparecer a
mensagem, caso seja achado o registro pesquisado ser destacado.

Esse exemplo de consulta exata, ou seja, ser procurado o registro que seja igual ao
estabelecido, se pedirmos 1 ser procurado o registro 1.

Pesquisa Mais Prxima (Parcial)

Para vermos uma pesquisa inexata, crie outro label, outro edit e outro boto para
elaborar a pesquisa por nome. D um duplo clique nesse novo boto e escreva:

Table1.indexfieldnames: =Nm_Autor;
Table1.locate(Nm_Autor,Edit2.text,[LoPartialKey,LoCaseInsensitive])

Locate com a opo LoPartialKey que procura o registro com as iniciais do que foi
estabelecido, por exemplo, no BD, acima, se pedir um autor que comece com C.

Quando o campo a ser preenchido permitir digitao em maisculas e minsculas deve
se usar: LoCaseInsensitive.



DELPHI

Prof Paula Flix Dias Dantas Pgina 58

Mtodo FindKey

O mtodo FindKey permite procurar por um registro cujos valores dos campos
indexados sejam os mesmos valores passados como parmetro para o FindKey. Esse mtodo
retorna o valor booleano true, em caso de sucesso, ou false, em caso de falha na tentativa de
encontrar tal registro. Em caso de sucesso, o cursor da tabela tambm avana para a posio
do registro encontrado. Vejamos um exemplo:


















D um duplo clique no boto pesquisar e escreva:

Table1.FindKey([Edit1.Text]);

Nesse caso, ele localiza o cdigo que for digitado no edit, caso ele retorne false, ele
no retornar nenhuma mensagem. Em caso afirmativo (true) o registrado pesquisado ser
destacado. Vejamos um exemplo com mensagem:

If Not Table1.FindKey([Edit1.Text]) then
ShowMessage('Registro no Encontrado');

Nesse caso, se a funo FindKey voltar false (o registro no for achado), aparecer a
mensagem, caso seja achado o registro pesquisado ser destacado.

Note que nos exemplos acima com a funo FindKey somente trabalhamos com
consultas exatas.

Mtodo FindNearest

O mtodo FindNearest permite procurar registros parciais dentro de um campo chave
ou indexado. Caso ele retorne true para a pesquisa feita ele ir trazer o registro mais prximo
ao localizado. Caso ele no encontre nenhum registro ele retornar false. Esse tipo de
pesquisa pode ser utilizada para procurar nomes, endereos, etc...


DELPHI

Prof Paula Flix Dias Dantas Pgina 59

Note que o mtodo locate pode efetuar pesquisas exatas e inexatas, o mtodo FindKey
s efetua pesquisas exatas e o mtodo FindNearest pesquisas inexatas.

Vejamos um exemplo de pesquisa com o mtodo FindNearest:

Para vermos uma pesquisa inexata, crie outra label, outro edit e outro boto para se
pesquisar o nome. D um duplo clique nesse novo boto e escreva:

Table1.indexfieldnames: =Nm_Autor;
Table1.FindNearest([Edit1.Text]);

Nesse caso, ele localiza o nome ou parte do nome que for digitado no edit, caso ele
retorne false, ele no retornar nenhuma mensagem. Em caso afirmativo (true) o registrado
mais prximo ser destacado.


Exerccios

1. Com base no exerccio da aula passada, crie um novo formulrio no cadastro de
funcionrios, aonde poder ser feita uma pesquisa por nome ou por cdigo. Utilizar o
Mtodo Locate.

2. Com base no exerccio da aula passada, crie um novo formulrio no cadastro agenda,
aonde poder ser feita uma pesquisa por nome, por endereo ou por telefone. Utilizar os
mtodos FindKey e FindNearest.
DELPHI

Prof Paula Flix Dias Dantas Pgina 60

Aula 14

Conexo Via ODBC


O Delphi, uma poderosa linguagem de programao que entre seus muitos recursos,
pode atravs de links SQL, acessar bancos de dados relacionais tais como: SQL Server,
Oracle, InterBase, Informix Etc. Isto feito atravs de trs possibilidades : ODBC, BDE e
ADO.

Iremos aprender agora como conectar um banco de dados via ODBC, pois um modo
universal de acesso a dados. (pois nem todas as verses do Delphi possui a paleta ADO para
conexo).

Exemplo de Conexo via ODBC

V at o painel de controle - ferramentas administrativas e escolha a opo fonte de
dados (ODBC), duplo click nessa opo e aparecer a seguinte tela:



















Nesta tela iremos criar o alias do nosso banco de dados, isto necessrio para que na
sua aplicao Delphi, voc apenas diga aos seus componentes de acesso a dados, trabalhe com
o banco nome_alias. Clique em adicionar e escolha o driver para o banco de dados, no
nosso exemplo iremos conectar um banco Access ento iremos escolher o Driver do
Microsoft Access (*.mdb), clique em concluir e aparecer a seguinte tela:


DELPHI

Prof Paula Flix Dias Dantas Pgina 61

















Na opo nome da fonte de dados voc colocar o nome do alias. Em seguida, clicar
no boto selecionar, ao clicar ir abrir uma outra janela aonde nos iremos localizar o banco de
dados que gostaramos de conectar. Depois basta clicar em OK














Aps ter clicado em Ok ele retornar a tela inicial e mostrar a sua conexo nessa tela,
depois disso basta conectar o banco de dados no Delphi.







DELPHI

Prof Paula Flix Dias Dantas Pgina 62

Agora criamos um novo projeto no delphi. Insira no form o componente database
(Paleta BDE) duplo click no componente e aparecer a seguinte tela:




















Na opo alias name iremos escolher o nome do alias que criamos na conexo via
ODBC no exemplo alias chama apostila. Na opo name iremos dar um nome que
gostaramos, por exemplo, teste. Clicaremos em OK e depois no esquecer de habilitar o
connected para true. Aps isso basta inserir um Table e um DataSource para que possamos
comunicar com as tabelas do banco conectado.


Exerccios

1. Crie o banco de dados abaixo no Access. Depois de criado o banco crie uma conexo
via ODBC para esse banco.

Campo Tipo Tamanho
coddocliente Autonumerao
nomedocliente Texto 100
nomedaempresa Texto 80
Nomedocontato Texto 30
cargodocontato Texto 50

Salve a tabela com o nome de cliente e o Banco de Dados como AULA_ODBC.mdb


2. Ao utilizar conexo via ODBC necessrio criar um alias no BDE? Justifique.





DELPHI

Prof Paula Flix Dias Dantas Pgina 63


Aula 15

Criando um Projeto com Conexo Via ODBC


Projeto Farmcia

1. Criar as seguintes tabelas no Access:


Tabela Cliente
Campo Tipo Tamanho
Cod_cliente Autonumerao
Nome Texto 100
Endereo Texto 80
Telefone Texto 14
CPF Texto 20
RG Texto 15
Cidade Texto 20

Tabela Farmcia
Campo Tipo Tamanho
Cod_farm Autonumerao
Nome Texto 100
CNPJ Texto 30
Razaosocial Texto 50
Endereo Texto 80
Cidade Texto 20
Telefone Texto 14

Tabela Fornecedores
Campo Tipo Tamanho
Cod_fornecedor Autonumerao
Nome Texto 100
Telefone Texto 14
RazoSocial Texto 30
CPF Texto 20
Cidade Texto 20

Tabela Produtos
Campo Tipo Tamanho
Cod_produto Autonumerao
Quantidade Nmero
Descrio Texto 100
Tipodoproduto Texto 50

DELPHI

Prof Paula Flix Dias Dantas Pgina 64

2. Salve o banco com o nome de controle_farmcia.

3. Crie a conexo via ODBC para esse banco de dados.

4. No Delphi, criar a conexo do banco de dados (Dica: utilizar o componente
Database).

5. Criar as telas de cadastro para: Produto; Cliente; Farmcia e Fornecedores.

6. Cadastrar no mnimo 03 registros.

7. Para a tela de produtos criar uma consulta por descrio do produto.

8. Para a tela de clientes criar uma consulta por nome, telefone e endereo.

9. Para a tela de fornecedores criar uma consulta por nome, telefone.

10. Salve o projeto com o nome de Farmcia.dpr.