Escolar Documentos
Profissional Documentos
Cultura Documentos
COMERCIAL
Boas Vindas!
apresentao
do Componente MessageDlg
do
Lzarus.
Na Aula 4 Demonstrao de uso do componente que permite
a associao entre registro de tabelas diferentes, e finalizamos a
disciplina com Gerao de Relatrios usando componente Fortes
Report.
ndice Geral
AULA 1 - COMPONENTE LZARUS PARA ACESSO A BANCO DE DADOS- 9
1.1 - Aplicao com acesso a base de dados.........................................10
1.2 - Principais componentes da paleta data controls .............................11
1.3 - O componente Tdatasource ..........................................................13
1.4 - Pacote de Zeoslib. ........................................................................14
1.5 - Instalando sgbd Mysql 5 e cliente de acesso..................................17
AULA 2 - Conexo com Base de Dados usando o pacote ZeosLib ...........32
2.1 - O projeto.......................................................................................33
2.2 - Iniciando o projeto.........................................................................35
2.3 - Tela listagem de cargos ................................................................41
2.4 - Tela de adicionar novo cargo.........................................................43
2.5 - Linkando as telas ..........................................................................44
2.6 - O componente data module...........................................................47
2.7 - Componentes zeoslib ....................................................................48
2.8 - Associando elementos data controls com data source....................51
AULA 3 - Operaes bsicas com registros de bancos de dados............-56
3.1 - Operaes Insert e post do dataset. ..............................................57
3.2 - Operao Edit do dataset..............................................................55
3.3 - Operao Delete do dataset ..........................................................62
3.4 - O componente lzarus MessageDlg ..............................................63
ndices de Figuras
8
Figura 54 Editor de Colunas do DBGrid.
Figura 55 Propriedades do DBEdit.
Figura 56 HeidiSQL, Editando Tabela.
Figura 57 HeidiSQL, Editando Tabela.
Figura 58 Procedimento Insert do DataSet.
Figura 59 Procedimento Post do DataSet.
Figura 60 Formulrio Lista de Cargos.
Figura 61 Procedimento Edit do DataSet.
Figura 62 Editando Cargo.
Figura 63 Editando Cargo.
Figura 64 Procedimento Cancel do DataSet.
Figura 65 Procedimento Delete do DataSet.
Figura 66 Procedimento Delete do DataSet com MessageDlg.
Figura 67 Mensagem de Confirmao com MessageDlg.
Figura 68 Formulrio de Listagem de Funcionrios
Figura 69 Formulrio de Cadastro de Funcionrios com DBLookupCombobox.
Figura 70 Paleta de componentes do Fortes Report.
Figura 71 Paleta de componentes do Fortes Report.
Figura 72 Componente TRLReport do Fortes Report.
Figura 73 Componente TRLReport do Fortes Report.
Figura 74 Cdigo Fonte uniRelatorioSetores.
Figura 75 Tela Menu Listagem de Setores.
Figura 76 Tela Relatrio Listagem de Setores.
Componente Lzarus
para Acesso a Banco de
Dados
Aula
Meta da Aula
Apresentar os componentes da
IDE Lazarus que auxiliam a criao
de aplicaes com acesso a base
de dados.
Objetivos
10
1.1
DADOS
Uma aplicao que no guarda a informaes com as quais ela
trabalha aps ser fechada tem uso muito restrito. Por Exemplo, o
aplicativo Calculadora do Windows cada vez que iniciado no
resgata qualquer operao que tenha feita noutro momento.
Para se guardar os dados de uma aplicao precisamos que um
novo componente comumente chamado de Banco de Dados. De
forma simples podemos definir Banco de Dados com sendo uma
coleo de dados inter-relacionados sobre determinado assunto.
Exemplos de aplicaes com banco de dados do dia-a-dia temos:
Agenda Telefnica, Catlogo de uma Locadora, Cadastro de
produtos de um comrcio bem como seus registro de venda.
Internamento um Sistema de Banco de Dados Relacional
organiza os dados nas chamadas Tabelas, e estas por si so
composta por um conjunto de campos, ou atributos, onde cada
linha desta tabela consiste num registro.
Os mais famosos Sistemas de Banco de Dados gratuitos do
mercado so o MySQL e PostgreSQL. No decorrer da nossa
aplicao que ser desenvolvida nesta disciplina vamos utilizar o
MySQL na sua verso 5.
11
Com uso de banco de dados a aplicao desenvolvida com o
Lazarus ficar com a seguinte arquitetura:
Aplicao
Banco de
Dados
1.2
DATA CONTROLS
12
13
1.3
O COMPONENTE TDATASOURCE
14
Propriedades de um TDataSource:
1.4
- PACOTE DE ZEOSLIB.
15
Baixando e Instalando o pacote Zeoslib
16
17
Aps compilar com sucesso, clique no boto Install. Ser
solicitado confirmao para aceite e seu Lazarus ser reiniciado
para finalizar a Instalao do Pacote Zeos.
Ao reiniciar dever aparecer uma nova paleta chamada Zeos
Access.
1.5
ACESSO.
Para desenvolvimento da aplicao em nossa disciplina vamos
usar o banco de dado MySQL 5. Caso voc j o tenha instalado
em seu computador necessrio apenas que voc copie o
arquivo libmySQL.dll do diretrio de instalao do mySQL
...\MySQL\MySQL
C:\Winsows\System32
Windows.
Server
caso
5.0\bin
utilize
para
sistema
pasta
operacional
18
Acesse
pgina
http://dev.mysql.com/downloads/mysql/
Instalando o MYSQL 5
Fonte: (http://www.juliobattisti.com.br/tutoriais/almirrivas/php002.asp)
19
20
21
Salte o login no MySQL selcionando Skip Sign-Up e clique em
Next
22
23
24
25
26
27
28
29
30
Com seu HeidiSQL aberto selecione o banco Empresa e na Aba
Query cole o Script acima e Execute para pode criar as tabelas.
EXERCCIOS
1) O objetivo geral da Disciplina Programao Comercial
apresentar e usar as principais ferramentas que auxiliam a
criao de aplicaes com uso de banco de dados. Diante
disso, monte o ambiente em nvel de banco de dados
necessrio para construo da aplicao.
a. Instale e Configure o SGBD MySQL 5;
b. Instale o cliente de acesso ao mySQL HeidiSQL;
c. J com o HeidiSQL e o MySQL instaldos crie o
banco de dados que ser usado em nossa
aplicao.
31
RESUMO DA AULA
Nesta conhecemos e aprendemos a configurar o ambiente
necessrio para construo de Aplicaes comerciais usando a
IDE Lzarus.
NA PRXIMA AULA
Na aula 2 daremos inicio a construo de uma aplicao de
exemplo para demonstrar a utilizao do pacote Zeoslib.
Aula
Meta da Aula
Demonstrar
processo
de
Objetivos
33
2.1
- O PROJETO
Com
objetivo
de
ambient-lo
com
os
termos
34
trabalho e reforado com a j sabida necessidade de
domnio mnimo da lngua Inglesa no decorrer desta
disciplina vamos usar o Lazarus em seu idioma padro: O
Ingls.
Nomes de formulrios, telas, units e outros elementos
tambm podem aqui conter termos comumente usados na
comunidade desenvolvimento software, estes quase sempre
em Ingls, porm de fcil compreenso. Caso haja dvidas,
esclarea-a com seu tutor presencial ou distncia.
Depois em:
35
Com todo o ambiente pronto vamos iniciar a aplicao.
2.2
- INICIANDO O PROJETO
Tela Principal
36
Edite as propriedades do form1 conforme abaixo:
Caption
Name
frmPrincipal
WindowState
wsMaximized
Alignment
taLeftJustify
Text
Width
300
37
Alignment
taCenter
Text
Width
Adicionando Menus
Aplicao
38
Caption
Cadastro
Relatrios
Caption
Sobre
39
Adicionando Submenus
40
No SubMenu que aparece edite sua propriedade Caption
para Sair. O Menu deve ficar como abaixo:
Cadastro
Relatrios
Sobre
Cargos
Listagem de Cargos
Sobre o projeto
Setores
Listagem de Setores
41
Aparecer o Cdigo fonte:
2.3
Vamos
construir
agora
tela que
lista
os
cargos
frmCargoLista
42
Caption
Cadastro de Cargos
Width
500
Height
380
Caption
Name
Witdh
65
43
2.4
44
2.5
- LINKANDO AS TELAS
_
Figura 44 Exibindo Units.
46
<space>,
na
lista
que
se
abre
selecione
frmCargoLista.
47
na
seo
uses
referencia
para
Unit
uniCargoFormulario.
2.6
de
forma
Centralizada
todos
os
48
2.7
- COMPONENTES ZEOSLIB
Componente TZConnection
Aps
incluir
componente
de
conexo
edite
sua
Database
Empresa
HostName
Localhost
User
Root
Password
Protocol
mysql-5
Name
conexao
Connection
Selecione conexao
Name
tbCargo
TableName
Selecione cargo
SortedFields
nome
51
Para que os elementos Data Controls possam se comunicar
com os atributos da tabela necessrio o uso do
componente TDataSource, da Aba Data Access.
False
DataSet
Selecione tbCargo
Name
DsCargo
2.8
ASSOCIANDO
ELEMENTOS
DATA
No
formulrio
gridCargos, e
frmCargoLista,
modifique
selecione
DBGrid
propriedade DataSource,
selecionando dmBanco.dsCargo.
53
DataField = nome
DataSource = dmBanco.dsCargo.
54
aplicao isso ainda no est definido. Vamos abrir o
HeidiSQL e definir essa propriedade.
1) Acesse o nosso banco: empresa;
2) Clique com o boto direito sobre a tabela cargo e
selecione a opo Edit.
Deve aparecer a seguinte tela:
55
EXERCCIOS
1) No decorre desta aula j iniciamos a construo da nossa
aplicao. Tendo como exemplo o formulrio de Cadastro
de Cargos apresentado, crie as Telas de Listagem de
Setores, e o Formulrio de Cadastro de Setores.
a. Use groupbox para organizar os elementos;
b. Para os campos de dados use os componentes Data
Controls;
c. Faa toda a programao quanto a invocao de
formulrio e fechamento de telas.
2) No
Data
Module
adicione
os
componentes
Zeos
dados,
adicione
tambm
um
componente
TDataSource;
3) Ligue os elementos DataControls dos formulrios aos
seus respectivos campos atravs do DataSource.
4) Altere no banco de dados o campo setor_id para ser
Auto-Incremento.
RESUMO DA AULA
Nesta aula conhecemos e aprendemos a usar alguns
componentes do pacote ZeosLib. Foi tambm demonstrado
como criar formulrio de cadastro, com campos que se
associam com atributos de tabelas do banco de dados.
NA PRXIMA AULA
Operaes
bsicas
com
registros
de
bancos de dados
Aula
Meta da Aula
Demonstrar as operaes bsicas
com registros de bancos de dados:
Inserir, Editar, Salvar e Deletar.
Objetivos
57
3.1
adicionar
unidmbanco
na
seo
uses
da
58
.
Lembre-se: Use o atalho Ctrl + <space> para usar o recurso de
Auto Completar do Lazarus.
59
3.2
usurio
realizar
as
modificaes
desejadas
60
61
ento
ao
mtodo
onClick
do
formulrio
62
3.3
Zeos
atravs
dos
seus
Datasets
nos
disponibiliza
63
A partir de agora, assim que o usurio clicar no boto Excluir o
registro corrente ser apagado, aps isso ser exibida a
mensagem confirmando que o registro foi realmente deletado.
3.4
Parmetros do MessageDlg
64
aCaption = Primeiro parmetro, o ttulo da caixa de dilog, no
exemplo acima Deleo de Cargo;
aMsg = Segunda parmetros, a messagem que aparece no
corpo da caixa de dilogo, geralmente alguma pergunta ao
usurio ou informao. No exemplo: Tem certeza que deseja
apagar este cargo?;
DlgType = O tipo de dilog que ser exibida, inicia geralmente
por mt. No exemplo usado o mtConfirmation, fazendo com que
seja exibido um cone adequado. Alm de mtConfirmation, temos
disponvel os tipos: mtError, mtInformation, mtWarning.
Buttons = Quarto parmetro, deve ser informado que botes
sero exibidos na dialog. O Lazarus permite voc configurar a
vontade quais botes aparecero. No exemplo acima, foi
informado mbYesNo, que informa ao Lazarus para exibir os
botes Yes e No. Alm mbYesNo, temos: mbYes, mbOK,
mbClose, mbClose, mbAbor mbYesNoCancel, etc.
HelpCtx = ltimo parmetros, informa para onde deve ir caso se
use boto de ajuda. Como no usamos help, boto 0.
65
Observe apareceu o cone de uma interrogao, pois usamos
mtConfirmation, e tambm os botes Selecionados Yes e No,
mbYesNo.
Para decidirmos o que vamos fazer, comparamos o resultado
atravs de algumas constantes que nos ajudam a identificar qual
boto foi selecionado. No caso somente ser apagado o registro
de cargo, caso o boto clicado seja o Yes.
EXERCCIOS
1) Nos exerccios da Aula 2, construmos os formulrios de
cadastro de setores. Agora que voc j sabe os procedimento
o para inserir/editar/deletar registro complete o cadastro dos
setores. Cadastre pelo menos 3 setores de exemplo;
2) Refatore o cdigo dos cadastros adicionado Confirmaes e
Mensagens com o componente MessageDlg do Lzarus.
Substitua todos
os
ShowMessage`s
da aplicao
por
MessageDlg.
RESUMO DA AULA
Aprendemos nesta aula a parte de maior importncia numa
aplicao comercial, as operaes com registros no banco de
dados, com o conhecimento adquirido at aqui j temos pelo
menos 75% da maioria das aplicaes comuns de mercado.
NA PRXIMA AULA
Na aula 4, a ltima da nossa disciplina, veremos como adicionar
registro de tabela que tem campos que se relacionam com
atributos de outra tabelas.
Aula
Relatrios.
Meta da Aula
Demonstrar como feito a associao entre
registros
de
tabelas,
Implementar
Objetivos
1. Usar
componente
do
pacote
Fortes
67
todos
os
componentes
Data
Controls
necessrios.
6) Adicionar todos os cdigos necessrios para essas
funcionalidades.
68
isso
vamos
usar
DBLookupComboBox
componente
Data
Control
69
Configurando o DBLookupComboBox
Alm das propriedades comuns dos componentes Lazarus, e das
propriedades do comuns aos componentes Data Controls, ou
seja, DataSource e DataField, o DBLookupCombobox requer que
outras
ListField
70
KeyField
baixo
pacote
disponvel
em
http://sourceforge.net/projects/fortes4lazarus/
Aps fazer download descompacte e proceda com a instalao da
mesma forma como realizado para pacote Zeos.
71
Copie o arquivo rlreportshared.dll, da pasta do FortesReport
..\fortes324forlaz\ rlreportdll para ..\Windows\System32.
Como FortesReport devidamente instalado aparecer uma nova
aba no Lzarus chamada Fortes Report.
72
Relatrio Listagem de Setores Cadastrados
Crie um novo formulrio para o nosso projeto no Lzarus, como
nome
frmListagemSetores,
salve
unit
com
nome
propriedades
do TRLReport
expanda
propriedade
Continuando relatrio
Para o componente TRLReport na sua propriedade DataSource
selecione o dsListagemSetores, recm criado.
Nas trs TRLBands adicionadas modifique a propriedade
BandType da primeira para btHeader, da segunda para
73
btColumnHeader e da ltima para btDetail. Modifique a altura
das Bands para facilitar seu trabalho, deixe-as parecido como a
imagem abaixo:
DataSource
DataField,
para
apontar,
74
dsListagemSetores e os campos para setor_id e nome,
respectivamente.
Adicione um componente TRLSystemInfo, ao lado direitro do
Label Listagem de Setores, e modifique a propriedade info para
ifFullDate.
75
76
Certifique-se que h setores cadastrados, e ser exibido um
relatrio como abaixo:
EXERCCIOS
1) Crie todos os formulrios necessrios para o cadastro de
funcionrios, usando os componentes Data Controls.
a. Use DBLookupCombobox para os atributos que se
relacionam com outras tabelas.
b. Use componente MessageDlg para confirmaes e
Informaes.
2) Adicione o pacote Fortes Reports sua instalao do
Lzarus. Siga os passos descritos na aula.
3) Seguindo os mesmo procedimentos que relatrio feito na
aula, crie o relatrio de todos os Cargos Cadastrados.
4) Crie o relatrio de Listagem de Todos os funcionrios
ordenados por nome, Listando ao alm dos dados pessoais
o setor ao qual estar vinculado, e o cargo.
5) Desafio: Crie um relatrio listando os funcionrios por
setor, usando o Fortes Report.