



































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Programação orientada a objetos
Tipologia: Notas de estudo
1 / 75
Esta página não é visível na pré-visualização
Não perca as partes importantes!




































































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++.
Possui um compilador extremamente rápido, que gera executáveis nativos (em código de máquina, não interpretado), obtendo assim melhor performance e total proteção do código fonte.
O Delphi é extensível, sua IDE (Integrated Development Environment – Ambiente de Desenvolvimento Integrado) pode ser ampliada e personalizada com a adição de componentes e ferramentas criadas utilizando-se o Object Pascal, a linguagem de programação do Delphi. Neste ambiente constroem-se as janelas das aplicações de maneira visual, ou seja, arrastando e soltando componentes que irão compor a interface com o usuário.
O Object Pascal é uma poderosa linguagem Orientada a Objeto, que além de possuir as características tradicionais das mesmas como classes e objetos, também possui interfaces (semelhantes às encontradas em COM e Java), tratamento de exceção, programação multithreaded e algumas características não encontradas nem mesmo em C++, como RTTI (Runtime Type Information). Assim como o C++, o Object Pascal é uma linguagem híbrida, pois além da orientação a objeto possui também uma parte da antiga linguagem estruturada (Pascal)
Devido ao projeto inicial da arquitetura interna do Delphi e da orientação a objeto, suas características básicas mantêm-se as mesmas desde o seu lançamento em 1995 (ainda para o Windows 3.1, pois o Windows 95 ainda não havia sido lançado), o que demonstra um profundo respeito com o desenvolvedor. Isto permite que uma aplicação seja facilmente portada de uma versão anterior para uma nova, simplesmente recompilando-se o código fonte.
Obs: Embora as características, teorias e exemplos abordadas aqui sejam sobre o Delphi 6, tudo pode ser aplicado em versões anteriores e posteriores do Delphi, excetuando-se o caso da utilização de componentes e ferramentas introduzidos apenas nesta versão.
ocorrer, sendo que os principais são aqueles gerados pelo usuário através do mouse e do teclado. A coisa acontece mais ou menos assim: O usuário clica o mouse e o Windows verifica que aplicação estava debaixo do mouse no momento em que foi clicado. Em seguida ele manda uma mensagem para a aplicação informando que ocorreu um clique e as coordenadas do cursor do mouse na tela no momento do clique. A aplicação então responde à mensagem executando uma função de acordo com a posição do mouse na tela. É claro que o Delphi toma conta do serviço mais pesado e facilita muito as coisas para o programador. Detalhes como as coordenadas da tela em que ocorreu o clique, embora estejam disponíveis, dificilmente são necessários nos programas. Isso, como veremos, afeta radicalmente o estilo de programação e a forma de pensar no programa. A seqüência de execução do programa depende da seqüência de eventos.
Esta apostila se baseia na versão 6 do Borland Delphi, mas seus conceitos podem ser estendidos para qualquer versão do Delphi que possua recursos semelhantes.
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 normalmente 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.
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.
acessadas posteriormente. Equivalente ao menu Run | Trace Into ou a tecla de função F7. Step Over. Semelhante ao Trace Into, porém a execução passo a passo ocorrerá somente dentro da rotina em que for invocado. Equivalente ao menu Run | Step Over ou a tecla de função F8.
Cada ícone na paleta refere-se a um componente que, quando colocado em um Form, executa determinada tarefa: por exemplo, um TLabel mostra um texto estático, e um TEdit é uma caixa de edição que permite mostrar e alterar dados, o TComboBox é uma caixa que permite selecionar um dentre os itens de uma lista, etc.
A paleta de componentes tem diversas guias, nas quais os componentes são agrupados por funcionalidade. Outras guias podem ser criadas com a instalação de componentes de terceiros.
Segue abaixo a relação completa de todas as guias que compõe o Delphi 6 Enterprise:
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.
FastNet : componentes para manipulação de protocolos e serviços da internet como http, nntp, ftp, pop3 e smtp entre outros. (São mantidos por compatibilidade com o Delphi 5, nesta versão foram inseridos os componentes Indy com maior funcionalidade).
Decision Cube : componentes para tomada de decisão através da análise multidimensional de dados, com capacidades de tabulação cruzada, criação de tabelas e gráficos. Estes componentes permitem a obtenção de resultados como os obtidos por ferramentas OLAP (On-Line Analytical Processing – Processamento Analítico On-Line) utilizados para análise de Data Warehouses.
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.
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ções. Inicialmente ela está vazia, para incluir os componentes, você deve arrastá-los do Object TreeView e solta- los sobre o diagrama.
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.
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.
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:
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:
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
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
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:
O código que você vê acima é igual ao código que aparece nos arquivos de formulário *.dfm. Você pode modificar o código acima. Que tal mudarmos, via código, o button para um checkbox? Para isso temos que mudar o tipo do objeto para a classe TcheckBox. Você também poderá mudar outras propriedades, mude a propriedade Caption para ‘&Aprovado’. As alterações são mostradas abaixo:
Agora, recorte o código do Editor, usando Edit | Cut. Retorne ao Form Designer e cole diretamente no form usando (Edit | Paste) e veja o resultado.
É comum que todo programador ao iniciar numa linguagem de programação crie um programa chamado “Alô Mundo!” (Hello World!). Não quebraremos esta tradição aqui.
Agora iremos adicionar um controle do tipo Button no form. Mudaremos algumas propriedades do nosso form. Clique no formulário para “setar” o focus. Usando o Object Inspector, configure a propriedade Caption do formulário para “Hello World Demo”.
Selecione o Button no form. Altere a propriedade Caption para “Click here”.
De um duplo clique no Button para abrir o evento Click. O Delphi já cria e registra para você um evento chamado ButtonClick event handler. Você poderá começar escrever seu código que será executado quando o Button for clicado.
Adicione o código para o Evento Button1Click:
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage('Hello World');
end;
Pressione F9 para executar a aplicação. A aplicação iniciará em uma janela do tipo Windows irá aparecer, como na figura abaixo. Você pode clicar no Close button no topo superior direito para fechar a aplicação e voltar ao ambiente de desenvolvimento.