Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Banco de dados com Delphi, Notas de estudo de Tecnologia Industrial

Apostila Desenvolvendo Aplicações para Banco de Dados com Delphi 6

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 11/05/2010

usuário desconhecido
usuário desconhecido 🇧🇷

4.9

(16)

13 documentos

1 / 160

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
DESENVOLVENDO APLICAÇÕES PARA
BANCOS DE DADOS DESKTOP COM
BORLAND DELPHI 6
© 2002, Paulo Roberto Alves Pereira
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Banco de dados com Delphi e outras Notas de estudo em PDF para Tecnologia Industrial, somente na Docsity!

DESENVOLVENDO APLICAÇÕES PARA

BANCOS DE DADOS DESKTOP COM

BORLAND DELPHI 6

© 2002, Paulo Roberto Alves Pereira

Introdução

No início, programar em Windows era algo extremamente complicado e acessível apenas a programadores dispostos a investir muito tempo e fosfatos na leitura de pilhas de livros, intermináveis testes e análise de programas exemplos que mais confundem do que explicam. Mas porque era tão difícil fazer programas para Windows? Para começar, o Windows usa o conceito de GUI (Graphic User Interface – Interface Gráfica com o Usuário), que embora fosse muito familiar para usuários do Unix e do Mac OS, era novidade para usuários do DOS. O uso de um sistema GUI implicava em aprender vários conceitos que eram estranhos ao usuário de um sistema baseado em texto como o DOS. Para complicar um pouco mais, o Windows é um sistema multi- tarefa, e as aplicações são orientadas a eventos, o que implica em aprender um novo estilo de programação. Finalmente, o programador tinha que ter alguma familiaridade com as centenas de funções oferecidas pela API do Windows. Por tudo isso, programação em Windows era um assunto que costuma provocar arrepios nos programadores.

Felizmente as linguagens visuais chegaram para mudar esta situação. Foi só com elas que o Windows consegui cumprir sua promessa de ser um sistema amigável e fácil de usar também para os programadores, que sempre tiveram que pagar a conta da facilidade de uso para o usuário.

Entre as linguagens visuais que surgiram, nenhuma veio tão completa e bem acabada quanto o Delphi. Desde o início ele possuía um compilador capaz de gerar código diretamente executável pelo Windows, proporcionando uma velocidade de execução de 5 a 20 vezes maior que as linguagens interpretadas como o Visual Basic e Visual FoxPro que geravam executáveis Pcode que precisam de arquivos auxiliares de run-time. Além disso, o Delphi também possuía uma engine para acesso a diversos bancos de dados e um gerador de relatórios. O tempo de desenvolvimento de qualquer sistema foi reduzido a uma fração do tempo que seria necessário usando outras linguagens e o resultado é sempre muito melhor. É por isso que o Delphi fez e faz tanto sucesso no mundo inteiro, sempre ganhando prêmios como melhor ferramenta de desenvolvimento para Windows.

O objetivo principal de qualquer ferramenta de desenvolvimento ou linguagem de programação é a criação de aplicações. Determinadas linguagens ou ferramentas devido aos recursos que possuem são mais indicadas para a criação de aplicações comerciais, outras se destinam mais a aplicações científicas ou ainda para a criação de sistemas operacionais.

O Delphi é uma ferramenta RAD (Rapid Application Development – Desenvolvimento Rápido de Aplicações) criada pela Borland. É uma ferramenta de propósito geral, permitindo o desenvolvimento de aplicações tanto científicas como comerciais com a mesma facilidade e alto desempenho. Integra-se facilmente com a API (Application Program Interface) do Windows, permitindo a criação de programas que explorem ao máximo os seus recursos, assim como os programas escritos em linguagem C/C++.

CLX para criação de aplicativos multiplataforma (podem ser compilados no Kylix, o Delphi para Linux) e o código fonte dos componentes;

  • A versão Enterprise contém os mesmos componentes da versão Professional mais ferramentas e drivers para acesso a bancos de dados cliente-servidor (Oracle, DB/2, Sybase, MS-SQL Server ou Interbase); o BizSnap, componentes para criação de aplicativos B2B (Business-To- Business) ; DataSnap para criação de aplicativos multicamadas; o Team Source, ferramenta para gerenciamento do desenvolvimento em equipe; componentes ADO para acesso direto (OLE/DB ) ao MS-SQL Server.

CAPÍTULO 1

Princípios da Programação para Windows

Antes de começar a trabalhar com o Delphi, é importante ter algumas noções do que está envolvido na programação Windows e no Delphi em particular. Algumas coisas tornam a tarefa de programação no Windows (e ambientes baseados em eventos e interface gráfica) bem diferente de outros ambientes e das técnicas de programação estruturada normalmente ensinadas nos cursos de lógica de programação:

Independência do Hardware : No Windows, o acesso aos dispositivos de hardware é feito com intermédio de drivers fornecidos pelo fabricante do hardware, o que evita que o programador tenha que se preocupar com detalhes específicos do hardware. Como acontecia com a programação em DOS.

Configuração Padrão : O Windows armazena centralmente as configurações de formato de números, moeda, datas e horas, além da configuração de cores, livrando o programador de se preocupar com esses detalhes específicos.

Multitarefa : Antigamente, no DOS (não estamos falando do Prompt do MS- DOS), um programa geralmente tomava o controle da máquina só para si, e outros programas não rodavam até que o mesmo fosse fechado. Já no Windows vários programas são executados de maneira simultânea e não há como evitar isso.

Controle da Tela : No DOS geralmente um programa ocupa todo o espaço da tela, e o usuário via e interagia apenas com aquele programa. Já no Windows, todas informações mostradas e todas entradas recebidas do usuário são feitas por meio de uma janela , uma área separada da tela que pode ser sobreposta por outras janelas do mesmo ou de outros programas.

Padrões de Interface : No Windows, todos os elementos de interface aparecem para o usuário e interagem da mesma forma. Além disso, existem padrões definidos pela Microsoft que são recomendados para conseguir a consistência entre aplicativos. Falaremos de alguns deles no curso, mas a melhor forma de aprendê-los é analisar os aplicativos Windows mais usados do mercado.

Eventos e a Cooperação com o Sistema : Num programa criado para DOS (como os programas escritos em Clipper) ele é responsável pelo fluxo de processamento, temos que definir claramente não só que instruções, mas também em que ordem devem ser executadas, ou seja a execução segue uma ordem preestabelecida pelo programador, e o programa só chama o sistema operacional quando precisa de alguma coisa dele. Em Windows não é bem

  • InterBase 6.0 Server: Servidor de Banco de Dados SGDB da Borland, pode ser instalado tanto em Windows NT/2000/XP quanto no Windows 95/98/Me. Existem também versões para Novell, Solaris e Linux;
  • InterBase 6.0 Desktop Edition: Cliente do InterBase Server, incluindo drivers e ferramentas de manipulação do banco;
  • Remote Debugger Server: Permite depurar um programa que está sendo executado em outra máquina.

Conhecendo o Delphi 6

O Delphi oferece dois níveis de programação distintos. Existe o nível que o manual chama de designer , que utiliza os recursos de programação visual e aproveita os componentes prontos, e o nível do component writer , onde escrevemos os componentes para o designer utilizar nas aplicações. Podemos dizer que o component writer programa em um nível mais baixo e o designer em um nível mais alto. Para este curso, consideraremos apenas a programação no nível do designer.

Inicie o Delphi clicando no ícone Delphi 6 que se encontra no menu Iniciar / Programas / Borland Delphi 6.

Quando ativamos o Delphi, a tela inicial é parecida com a acima. Os itens que você está vendo formam o que chamamos de IDE, com um projeto novo aberto. Na janela superior, temos a barra do menu principal do Delphi, à esquerda a SpeedBar , com as opções mais comuns e à direita a paleta de componentes. Estes componentes formam a base da programação visual e é onde o designer vai buscar recursos para criar sua aplicação. A seguir, vamos analisar as ferramentas que compõe o ambiente de desenvolvimento e os arquivos que constituem um projeto.

Janela Principal

A janela principal é o próprio Delphi, se a fecharmos estaremos fechando todo o Delphi. Esta janela é composta basicamente pelo menu e mais duas áreas distintas, o SpeedBar e a Component Palette - Paleta de Componentes.

SpeedBar

SpeedBar (“Barra de Velocidade”) foi o nome dado pela Borland à barra de ferramentas com atalhos para os procedimentos comumente executados durante a fase de desenvolvimento de um projeto. São eles:

  • New. Abre uma caixa de diálogo que permite selecionar o tipo de objeto a ser criado (novo aplicativo, formulário, DLL, relatórios, entre outros). Equivalente ao menu File | New | Other.
  • Open. Abre uma Unit, Form, Projeto ou Package. Equivalene ao menu File | Open.
  • Save. Salva a Unit/Form atual. Equivalente ao menu File | Save.
  • Save All. Salva todas as Units/Forms abertos que sofreram alteração. Equivalente ao menu File | Save All ou as teclas Shift+Ctrl+S.
  • Open Project. Abre um arquivo de projeto (.dpr – Delphi Project). Equivalente ao menu File | Open Project ou as teclas Ctrl+F11.
  • Add file to Project. Acrescenta um arquivo já existente ao projeto atual. Equivalente ao menu Project | Add to Project ou as teclas Shift+F11.

Standard : componentes padrão da interface do Windows, usados para barras de menu, exibição de texto, edição de texto, seleção de opções, iniciar ações de programa, exibir listas de itens etc. Geralmente são os mais usados.

Additional : componentes especializados que complementam os da página Standard. Contém botões com capacidades adicionais, componentes para exibição e edição de tabelas, exibição de imagens, gráficos etc.

Win32 : componentes comuns de interface que são fornecidos pelo Windows 95/NT para os programas. Contém componentes para dividir um formulário em páginas, edição de texto formatado, barras de progresso, exibição de animações, exibição de dados em árvore ou em forma de ícones, barras de status e de ferramentas etc.

System : componentes que utilizam funções avançadas do sistema operacional, como temporização (timers), multimídia e conexões OLE e DDE.

Data Access : componentes de acesso a bancos de dados e conexão com controles de exibição de dados.

Data Controls : componentes semelhantes aos encontrados nas guias Standard e Additional, porém ligados a banco de dados.

dbExpress : componentes de conexão com bancos de dados SQL introduzida no Delphi 6 e no Kylix (Delphi para Linux). Entre os principais recursos desta nova arquitetura estão dispensar o uso do BDE (Borland Database Engine)

para acesso a dados e fazer um acesso muito mais rápido e leve. A configuração e instalação também são mais simples que a do BDE. Atualmente existem drivers para Oracle, DB/2, Interbase e MySQL entre outros. Não existe suporte para bancos de dados Desktop, assim, não permite acesso a dBase, Paradox ou Access para estes você deverá continuar a utilizar o BDE.

DataSnap : componentes que permitem a criação de middleware de alto desempenho capazes de trabalhar com Web services, possibilitando fácil conexão de qualquer serviço ou aplicação de cliente com os principais bancos de dados, como Oracle, MS-SQL Server, Informix, IBM, DB2, Sybase e InterBase, através de Serviços Web padrão da indústria e XML, DCOM ou CORBA. (No Delphi 5 esta guia era chamada de Midas).

BDE : componentes de acesso a dados utilizando a BDE (até o Delphi 5 faziam parte da guia Data Access). A BDE é a engine que acompanha o Delphi desde sua primeira versão. Muito completa, permite acessar desde bases de dados desktop, como Paradox, dBase ou Access, até bases de dados SGDB, como Interbase, DB/2, Oracle, Informix, SyBase ou MS-SQL Server, todos em modo nativo. Permite ainda o acesso a outros bancos de dados através de ODBC.

ADO : componentes de acesso a dados da interface dbGo (introduzida no Delphi 5 como o nome de ADO Express) através da tecnologia ADO (ActiveX Data Objects), da Microsoft. Tanto a ADO como o OLE DB (drivers de acesso) estão incluídos no MDAC (Microsoft Data Access Components) e permitem acesso a uma série de bancos de dados e à ODBC. Sua principal vantagem é estar incorporada as versões mais recentes do Windows (2000/XP e ME) não sendo necessário nenhuma instalação de engine de acesso. Também é escalável, permitindo acesso desde bases de dados desktop até aplicações multicamadas. A desvantagem é que não é portável para outras plataformas, caso queira portar seu sistema para Linux, terá que trocar todos os componentes de acesso a dados.

Interbase : componentes para acesso nativo ao Interbase, através de sua API, constituindo o método de acesso mais rápido e eficiente para este banco de dados. Por não ser uma interface genérica permite utilizar todos os recursos

Qreport : QuickReport é um gerador de relatórios que acompanha o Delphi e se integra totalmente ao mesmo, sem a necessidade de run-time ou ferramentas externas como o Cristal Report, etc. Estes componentes permitem a criação de diversos tipos de relatórios de forma visual e também a criação de preview personalizado.

Dialogs : O Windows tem caixas de diálogo comuns, como veremos, que facilitam mostrar uma interface padrão dentro do seu programa para as tarefas comuns, como abrir e salvar arquivos, impressão, configuração de cores e fontes etc. Esta guia tem componentes que permitem utilizar essas caixas de diálogo comuns.

Win 3.1 : esta guia contém controles considerados obsoletos, que estão disponíveis apenas para compatibilidade com programas antigos. Não crie programas novos que utilizem esses controles.

Samples : contém exemplos de componentes para que você possa estudá-los e aprender a criar seus próprios componentes. O código fonte desses exemplos está no subdiretório SOURCE\SAMPLES do diretório de instalação do Delphi.

ActiveX : um componente ActiveX é um tipo de componente que pode ser criado em outra linguagem (como C++) e utilizado no Delphi. Esta página contém alguns exemplos de componentes ActiveX prontos para utilizar, que têm funções de gráficos, planilha, etc. O Delphi também pode criar componentes ActiveX, que podem ser utilizado em ambientes como Visual Basic e Visual FoxPro.

COM+ : catálogo de objetos COM (Component Object Model), tecnologia desenvolvida pela Microsoft que possibilita a comunicação entre clientes e aplicações servidores. Uma interface COM é a maneira como um objeto expõe sua funcionalidade ao meio externo.

Indy Clients : componentes para criação de aplicativos clientes para protocolos HTTP, TCP, FTP, DNS Resolver, POP3, SMTP, TELNET, entre outros.

Indy Servers : componentes para criação de aplicativos servidores de HTTP, TCP, FTP, TELNET, GOPHER, IRC, entre outros.

Indy Misc : componentes complementares aos das guias Indy Clients e Indy Servers, para criação de aplicativos clientes e servidores com acesso a internet, como clientes de ftp, irc e browsers.

Servers : componentes para automatização do Microsoft Office, permitindo o controle, impressão e criação de documentos destes aplicativos dentro do seu programa.

Formulário para criação do Aplicativo

A Unit está intimamente ligada ao formulário, chamado Form : quando se adiciona um componente ao Form, o Delphi inclui na Unit deste Form o código referente à inclusão do mesmo, ou seja, uma mudança no lado visual resulta em uma alteração automática no código. A Borland, empresa que fez o Delphi, denominou isso de Two-Way-Tool (ferramenta de duas vias).

À esquerda do editor de código esta o Code Explorer, uma ferramenta que permite visualizar a acessar no código fonte as units, classes, variáveis, constantes e objetos (componentes) que fazem parte do Form.

Na mesma janela do editor de código pode ser acessada a guia Diagram que permite documentar o relacionamento entre os componentes, além de modificar algumas características destas relaçãoes. Inicialmente ela está vazia, para incluir os componentes, você deve arrastá-los do Object TreeView e solta- los sobre o diagrama.

Object TreeView

O Delphi 6 introduziu uma nova janela, o Object TreeView, que mostra o relacionamento entre os componentes que são colocados no Form. Como veremos adiante, existem componentes que funcionam como “recipientes”, ou seja, podem conter outros componentes dentro de si. O Object TreeView permite a visualização destes relacionamentos e o acesso rápido a estes objetos.

Object Inspector (Propriedades e Eventos)

O Object Inspector é a ferramenta responsável por permitir a modificação das propriedades dos componentes/objetos de forma visual, durante o projeto (Design Time). Por enquanto, pense em propriedades como sendo as características dos componentes, tanto visuais quanto funcionais. O combobox na parte superior desta janela dá acesso a todos os objetos do Form atual e sempre exibe o nome do objeto/componente selecionado. Uma vez selecionado você pode inspecionar suas propriedades e altera-las se desejar. A alteração das propriedades pode modificar a aparência de objetos visuais e também seu funcionamento padrão.

Objeto atualmente selecionado.

codificado, mas o mesmo não ocorre durante a execução do aplicativo seu código não é executado.

Conhecendo a Estrutura de uma Aplicação

Uma aplicação feita em Delphi é composta de um arquivo de projeto, que gerencia quais Forms e Units compõem a aplicação. O nome dado ao arquivo do projeto, normalmente será o nome dado ao executável da aplicação quando a mesma for compilada.

Em alguns casos podemos ter uma Unit sem Form, um exemplo seria uma Unit com funções para serem utilizadas por toda a aplicação (em vários Forms), mas todo Form obrigatoriamente deve possuir sua Unit correspondente.

Vejamos um esquema gráfico de como é estruturado um projeto em Delphi:

Estrutura da Unit de um Form

As Units do Delphi possuem uma estrutura que deve ser obedecida. Quando um Form é criado também é criada uma Unit associada ao mesmo.

A estrutura básica de uma Unit pode ser visualizada observando-se o código fonte da mesma no editor de código. Será semelhante ao exibido a seguir:

Project (arquivo de projeto) extensão .DPR ( D elphi PR oject)

Form

extensão .DFM ( D elphi F or M

Form

extensão .DFM

Unit

extensão .PAS

Unit

extensão .PAS ( PAS cal)

Unit

extensão .PAS

unit Unit1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;

type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end;

var Form1: TForm1;

implementation

{$R *.dfm}

end.

Vamos analisar o código acima:

  • Na primeira linha, o nome em frente à palavra unit , no caso Unit1, indica o nome dado ao arquivo com a programação do formulário. Se o formulário fosse salvo com este nome ele geraria um arquivo externo com o nome de Unit1.pas e outro com o nome de Unit1.dfm. (Quando for salvar seus formulários você deve dar nomes mais significativos).
  • Na linha seguinte, a palavra interface delimita a seção de interface na qual serão colocadas as definições de funções, procedimentos, tipos e variáveis que poderão ser vistos por outras units da aplicação.
  • A cláusula Uses dentro da seção interface indica quais units deverão ser ligadas para poder complementar a nossa. Ao criar um Form as Units definidas no código acima são inseridas automaticamente, pois fornecem o suporte para criação do mesmo. Ao inserir componentes num Form, outras Units podem ser adicionadas a esta lista.
  • A seguir temos a definição dos tipos do programa, identificada pela palavra type. Neste ponto temos a definição de uma classe TForm1 que é derivada da classe base TForm. Ao se acrescentar componentes no Form também será gerado no código definição correspondente aos mesmos. (O conceito de classes e objetos será explicado no Capítulo 2)