Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
HILDO/2011
Objetivo
PROGRAMAO EM DELPHI
HILDO/2011
Algoritmo
Programao
Estruturas
Matrizes
Sugestes
Objetivo :
Introduo
Introduo Delphi
Introduo
antes de comearmos seria interessante ressaltar que aprender a ser um
bom desenvolvedor envolve mais do que aprender a sintaxe de uma linguagem de Algoritmo
programao em particular, isto porque existem muitos outros aspectos do campo do sw,
que tm pouca conexo com o ato em si de escrever cdigo.
Programao
Se voc pode est pensando: "Ora, vamos, eu s quero aprender Delphi", deveria tambm pensar que a questo aqui que, se voc pretende desenvolver sw por dinheiro ou para
Estruturas
manter-se num emprego, e tem clientes ou chefes esperando que seu sw: Saia funcionando da caixa,
Matrizes
Sugestes
Seja barato,
HILDO/2011
Objetivo :
Introduo
Introduo Delphi
Introduo
Devemos nos lembrar que o objetivo mais direto do desenvolvimento de sw fazer o
Algoritmo
produto final satisfazer a especificao dos requisitos. Precisamos portanto, dividir isso em
algo mais tratvel. Algum grupo menor ou mais preciso de objetivos que sejam mais
Programao
alcanveis e fceis de lembrar. Entre outros, os quatro objetivos geralmente excludos da engenharia de software so a
Estruturas
capacidade de
Sugestes
HILDO/2011
Delphi :
IDE
Objetivo
Introduo
O ambiente de desenvolvimento do Delphi composto de vrias partes
Programao
Estruturas
Matrizes
Sugestes
HILDO/2011
Delphi :
Objetivo
Introduo
O FORM DESIGN
veremos adiante.
Sugestes
HILDO/2011
Delphi :
Objetivo
Introduo
O FORM DESIGN
Form
Delphi
Programao
;Estruturas
Matrizes
Sugestes
HILDO/2011
Delphi :
Objetivo
Introduo
A BARRA DE MENU PRINCIPAL
Como todo programa padro Windows, h uma janela onde esto situados os
Delphi
menus da aplicao, a barra que contem os menus tambm agrupa outras partes.
Programao
A PALETA DE COMPONENTES
Estruturas Aplicativos orientados a objetos trabalham com elementos que denominamos componentes. No Delphi, os componentes encontram-se em uma paleta com Matrizes vrias guias.
Sugestes
HILDO/2011
Delphi :
Objetivo
Introduo
OBJECT INSPECTOR
Uma das partes mais importantes da orientao a objeto a possibilidade de
Delphi
definir caractersticas personalizadas aos componentes. No Delphi, utilizamos a janela object inspector para realizar esta tarefa.
Programao
H uma caixa de listagem que permite a escolha de qual componente dever ser selecionado.
Estruturas
Sugestes
Algumas propriedades trazem opes diferenciadas para alterao.
HILDO/2011
Delphi :
Objetivo
Introduo
OBJECT INSPECTOR
Duas guias:
Delphi
Programao Events Define quais os eventos sero Estruturas manipulados pelo desenvolvedor.
Matrizes
Sugestes
HILDO/2011
Delphi :
Objetivo
Introduo
OBJECT INSPECTOR
Algumas propriedades trazem opes diferenciadas para alterao.
Delphi
Caption Permite a insero de uma string de caracteres. Color Permite a insero de um dos valores pr-definidos na caixa de listagem.
Programao
BorderIcons Toda propriedade que possui o sinal de + tem a caracterstica de mostrar subpropriedades. Deve-se clicar no sinal de + para expandir e no sinal de
Estruturas
para ocultar. Icon Exibe um boto de reticncias (...) que dar origem a uma caixa de dilogo.
Matrizes
Os nomes definidos como valores das propriedades na object inspector sero os nomes usados na construo do cdigo em Object Pascal.
Sugestes
HILDO/2011
Delphi :
Objetivo
Introduo
OBJECT INSPECTOR
Na parte superior da janela h uma caixa de listagem que permite a seleo de
Delphi
componentes j inseridos no formulrio. Duas guias (Properties e Events) separam as listas de propriedades e eventos.
Programao
As propriedades so definidas atravs de tipos. Podemos citar no exemplo com o objeto form:
Estruturas
Tipos Simples So tipos String ou valores numricos definidos ao digitar um valor na frente da
Matrizes
propriedade. Exemplo: Name, Caption, Height e Width entre outros. Tipos Enumerados
Sugestes
So tipos definidos por uma quantidade limitada de opes que devem ser
Delphi :
Objetivo
Introduo
OBJECT INSPECTOR
Na parte superior da janela h uma caixa de listagem que permite a seleo de
Delphi
componentes j inseridos no formulrio. Duas guias (Properties e Events) separam as listas de propriedades e eventos.
Programao
As propriedades so definidas atravs de tipos. Podemos citar no exemplo com o objeto form:
Estruturas
Tipos Simples So tipos String ou valores numricos definidos ao digitar um valor na frente da
Matrizes
propriedade. Exemplo: Name, Caption, Height e Width entre outros. Tipos Enumerados
Sugestes
So tipos definidos por uma quantidade limitada de opes que devem ser
Delphi :
Objetivo
Introduo
OBJECT INSPECTOR
Tipo Set
Delphi
Algumas propriedades podem conter mltiplos valores. Um exemplo a propriedade BorderIcons com o sinal + indicando subpropriedades.
Programao Tipos com Editor de Propriedades Estruturas As propriedades que so acompanhadas de um cone de reticncias (...) indicam que uma janela de dilogo ir auxiliar na escolha de seu(s) valor(es). Exemplo: Matrizes Icon.
Sugestes
HILDO/2011
Delphi :
Objetivo
Introduo
OBJECT INSPECTOR
Manipulando Eventos
Delphi
A guia Events permite o desenvolvedor definir um handler em Object Pascal para um determinado evento que pode ser disparado pelo usurio ou pelo sistema.
Programao
Um evento uma ao disparada dentro de uma aplicao orientada a Objeto. Podemos citar as ocorrncias dos principais eventos que so disponibilizados na
Estruturas
Matrizes
Sugestes
HILDO/2011
Delphi :
Objetivo
Introduo
CODE EDITOR
O editor de cdigo responsvel por receber todas as declaraes criadas pelo
Delphi
Delphi e handlers criados pelo desenvolvedor. E no ambiente Code Editor que implementamos o algoritmo na linguagem Object
Programao
Estruturas
Code Editor
Matrizes
Code
Sugestes
Explorer
HILDO/2011
Delphi :
Objetivo
Introduo
CODE EDITOR
Na janela do editor pode haver uma outra janela denominada Code Explorer. a
Delphi
parte esquerda da janela, onde podemos ter uma orientao sobre os objetos, procedimentos, funes e classes utilizadas na aplicao. Para desligar o code
Programao
explorer clique no pequeno X ao lado da guia do code editor, para visualiza-lo clique com o boto direito dentro do editor e escolha View Explorer ou pelo teclado
Estruturas
Ctrl+Shift+E. Uma caracterstica muito importante do Code Explorer que quando inserirmos
Matrizes
Sugestes
HILDO/2011
Delphi :
Objetivo
Introduo
CODE EDITOR
Delphi
Programao
Estruturas
Sugestes
Tudo o que o Delphi escrever, problema dele. Agora, Tudo o que voc escrever problema seu.
HILDO/2011
Delphi :
Objetivo
Introduo
CODE INSIGHT
Um recurso que vai facilitar nossa vida no momento de desenvolvimento de cdigo
Delphi
o Code Insight do Code Editor do Delphi., Ele atua como um ajudante de complemento junto ao cdigo do desenvolvedor. Por
Programao
exemplo, ao digitar o nome de um objeto seguido de ponto (.) abre-se uma listagem de mtodos e propriedades que podem ser utilizadas neste objeto.
Estruturas
Esta lista pode ser ordenada por nome, clicando com o boto direito dentro da listagem.
Matrizes
Sugestes
HILDO/2011
Delphi :
Objetivo
Introduo
CODE INSIGHT
No momento de chamada de procedimentos ou mtodos:
Delphi
Programao
Estruturas Para forar o code insight em determinada situao, utiliza-se: Matrizes Ctrl + Barra de Espao - Para complemento de objetos; seus mtodos e propriedades.
Sugestes
HILDO/2011
Delphi :
Objetivo
Introduo
Teste Prtico
Prtica 1 - Vamos realizar um pequeno exemplo no Delphi para resultar na
Delphi
Programao
1. Defina para o Formulrio no Object Inspector: Caption: P, que emoo cara Name: Form1 2. Insira um boto no formulrio (Ver Guia Standard na Barra de Ferramentas) 3. Defina para o Boto no Object Inspector: Caption: Ol Pessoal Name: Btn_Ola 4. D um click duplo no boto e aparecer no editor de cdigo:
Estruturas
Matrizes
Sugestes
HILDO/2011
Delphi :
Objetivo
Introduo
Teste Prtico
4. procedure TForm1.Btn_OlaClick(Sender: TObject); begin
Delphi
end; 5.Digite o seguinte comando entre o begin / end; MessageDlg('Ol Pessoal', mtInformation, [mbok], 0); 6.Execute a aplicao (Run).
Programao
Estruturas
Sugestes
HILDO/2011
Delphi :
Projeto Delphi
Objetivo
Introduo
O conceito de projeto em Delphi baseado em um conjunto de arquivos necessrios para gerar uma aplicao. Vamos destacar os principais arquivos:
Delphi
Programao
Estruturas
Matrizes
Sugestes
HILDO/2011
Delphi :
Projeto Delphi
Objetivo
Introduo
O Delphi possui um mecanismo de gerncia de arquivos de projeto informando os principais arquivos e seu path. Clique em View Project Manager
Delphi
Programao
Estruturas
Sugestes
padro para criao dos arquivos projects, obviamente devemos definir na gravao pasta e nomes de arquivos mais especficos.
HILDO/2011
Delphi :
Projeto Delphi
Objetivo
Introduo
.PAS E .DPR
Para visualizarmos o cdigo fonte da unidade (.PAS) em Delphi basta selecionarmos o code editor (F12). Para visualizarmos o cdigo fonte no arquivo de projeto (.DPR) basta
Delphi
Programao
Matrizes
Unidades Existem trs tipos de unidades: unidades associadas aos formulrios (as mais
Sugestes
comuns), arquivos de unidade usados para armazenar funes e procedures, e arquivos de unidade usados para construir componentes. HILDO/2011
Delphi :
Projeto Delphi
Objetivo
Introduo
Delphi
Programao
Estruturas
Matrizes
Sugestes
Unidades Vamos ver una unidade bsica associada a um formulrio: Unit Unit1; Interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; Type Tform1 = class(Tform) procedure FormCreate(Sender: Tobject); private {Declaraes privativas} public {Declaraes pblicas} end; var Form1: Tform1; implementation {$R *.DFM} procedure TForm1.FormCreate(Sender: Tobject); begin end; end. HILDO/2011
Delphi :
Projeto Delphi
Objetivo
Introduo
O cdigo citado, junto com o cdigo de arquivo de projeto, tudo de que precisa no Delphi para criar um executvel que abre uma janela. Ele no far muita coisa
Delphi
nesse ponto, mas um programa Windows funcional, na sua forma mais simples. Veja os nomes na clusula uses, do cdigo acima. Trata-se dos nomes de outras
Programao
unidades. Se voc decidisse escrever vrias funes e procedures teis, poderia criar sua unidade, colocar todo seu trabalho til nela e compil-la para uso futuro. Vamos ver as partes que constitui a unidade:
Estruturas
Cabealho da unidade - Um cabealho de unidade identifica o cdigo como uma unit e seguido pelo nome.
Matrizes
Interface - Marca o incio da parte unit interface, que usada para declarar variveis, tipos, procedures, etc. A parte interface determina o que nessa unidade est disponvel para outras unidades e partes do programa. A parte interface
Sugestes
HILDO/2011
Delphi :
Projeto Delphi
Objetivo
Introduo
Uses - A clusula uses informa ao compilador quais bibliotecas de funes e procedures precisam ser compiladas no executvel final. O Delphi coloca,
Delphi
automaticamente, vrias delas l para voc. Type - A seo de declarao type usada para a criao de tipos definidos pelo
Programao
usurio. Esses tipos pode, ento, ser usados para definir variveis. Especificadores de visibilidade vm aps a clusula type na parte da interface. Os seguintes especificadores so usados para controlar como os objetos aparecem
Estruturas
para outros programas e objetos: Private - As declaraes nessa seo so tratadas como pblicas dentro do
Matrizes
mdulo, mas sero desconhecidas e no acessveis fora da unidade. Public - As declaraes nessa seo so visveis e acessveis fora da unidade. Var - Usado para declara varveis e variveis de objeto. Em uma unidade de
Sugestes
formulrio, var usado na parte de interface (o Delphi coloca essa declarao para voc) para declarar o formulrio como uma instncia do objeto Tform. Var tambm usado para declarar variveis na parte de implementao, assim como em procedures e funes. HILDO/2011
Delphi :
Projeto Delphi
Objetivo
Introduo
Implementation - onde todas as funes e procedures que foram declaradas na parte interface sero realmente colocadas. Todas as declaraes feitas aqui so
Delphi
privativas da unidade (no disponveis para as outras unidades). {$R *.DFM) - Em uma unidade de formulrio. O Delphi insere essa entrada para
Programao
voc. Ela liga o formulrio ao seu arquivo.dfm. No remova isso de seu programa, ou voc ter problemas. O bloco de cdigo a seguir executado quando seu formulrio criado. Voc deve
Estruturas
colocar aqui, todo o cdigo de inicializao que precise ser executado quando o formulrio comear a ser carregado. Para criar essa procedure, use o Object
Matrizes
Inspector para ver o menu Events do formulrio e, depois, d um click duplo no evento OnCreate. End. - o end final, significa o final de sua unidade.
Sugestes
importante manter os cabealhos, as clusulas, etc no lugar correto. O Delphi cuida muito bem disso para voc, pois ele cria a unidade e o cdigo medida que so feitas alteraes no formulrio. Voc simplesmente insere seu cdigo na seo correta, conforme for necessrio. HILDO/2011
Delphi :
Projeto Delphi
Objetivo OPES DE PROJETO
Introduo
Delphi
O Delphi permite a configurao de vrios itens do sistema atravs do menu Project Options.
Programao
Estruturas
Matrizes Forms
Sugestes
Main form - Nesta guia permite a escolha do formulrio principal da aplicao. Available form - Os formulrios available (disponveis) em caso de criao em tempo de execuo. HILDO/2011
Delphi :
Projeto Delphi
Objetivo
Introduo
Delphi
OPES DE PROJETO Application Title - Define um nome para a sua aplicao diferente do nome do arquivo de projeto (.DPR). Help file Define o nome do arquivo de Help (.HLP) associado aplicao. Icon Define o cone utilizado no arquivo executvel. (.EXE) Compiler Estas opes permitem especificar uma compilao personalizada, ou seja, cada projeto pode ser compilado com uma caracterstica. Linker Estas opes incluem informaes para a depurao. Directories/Conditionals Nesta guia pode-se configurar o diretrio de sada para os arquivos gerados pela aplicao. Version Info Estas informaes podem ser visualizadas no Windows atravs do menu rpido do mouse no arquivo executvel. Packages Os packages permitem um controle de distribuio atravs de DLLs bsicas HILDO/2011 externas ao executvel entre outros recursos.
Programao
Estruturas
Matrizes
Sugestes
Delphi :
Projeto Delphi
Objetivo
Introduo
Delphi
que define o nome interno com relao ao cdigo escrito em Object Pascal. Para organizar e facilitar o processo de desenvolvimento/manuteno do sistema, grande
Programao
parte dos desenvolvedores adota uma nomenclatura para tornar o cdigo mais legvel possvel.
Estruturas
O Delphi adota como nomenclatura padro o nome da classe da qual o componente instanciado e um nmero crescente de acordo com o nmero de ocorrncia deste
Matrizes
componente no form. Exemplo: Button1, Button2, etc... so componentes instanciados da classe TButton .
Sugestes
No obrigatria a utilizao da conveno de nomes utilizados nesta apostila, mas muito importante fazer uso de uma conveno mais clara possvel. HILDO/2011
Delphi :
Projeto Delphi
Objetivo
Introduo
Delphi
Programao
A Lista de Units A janela de lista de units permite que voc alterne entre as units que fazem parte do projeto ativo, sem que elas tenham de estar todas abertas no editor de cdigo.
Estruturas
Caso voc selecione uma unit que no esteja aberta, o Delphi a abrir e mostrar no Code Editor.
Matrizes
A lista de units pode ser ativada atravs do menu View, opo Units..., ou atravs do primeiro cone inferior da SpeedBar ou atravs da combinao das teclas <Ctrl>
Sugestes
<F12>.
HILDO/2011
Delphi :
Projeto Delphi
Objetivo A Lista de Janelas
Introduo
A janela de lista de janelas do ambiente, embora menos utilizada do que as de lista Delphi de units e forms, apresenta uma forma rpida de encontrar-se uma janela, que esteja escondida atrs de muitas outras. Programao
Estruturas
Matrizes
Sugestes
A lista de janelas pode ser ativada atravs do menu View, opo Window List..., ou atravs da combinao das teclas <Alt> <0>.
HILDO/2011
Delphi :
Projeto Delphi
Objetivo Modularizao Delphi
Introduo
muito indicado que voc modularize o seu projeto. Isto implica tambm em no misturar funcionalidades diferentes na mesma unit. Programao Como assim? Voc no deve colocar strings nem valores constantes diretamente
no cdigo. Isto aumenta o trabalho quando for necessrio alterar determinado valor.
Estruturas Teremos que procurar em todos os mdulos para saber onde fazemos referncia quele valor. E cuidado para no confundir com uma mesma constante que possua, por coincidncia, o mesmo valor que a que estamos procurando. Matrizes Para resolver este problema, voc deve criar constantes e atribuir valores a estas constantes. Mas no defina estas constantes em qualquer unit. Crie uma unit que
Sugestes
ir abrigar somente a definio das constantes do projeto. Voc pode nomear esta unit com qualquer nome, exceto Const.Pas, porque const uma palavra reservada.
HILDO/2011
Delphi :
Projeto Delphi
Objetivo Diretrios
Introduo
Via de regra, aconselhado utilizar um diretrio para cada projeto Delphi. Isto
Delphi porque facilita bastante a identificao dos vrios arquivos. Um dos pontos mais importantes de um projeto saber quais arquivos so Programao necessrios para uma compilao completa (build). Quando temos mais de uma aplicao por diretrio, esta identificao passa a ser um problema. Exemplo: Estruturas C:\Sistema
C:\Sistema\Doc C:\Sistema\Dados
Matrizes
C:\Sistema\Dll
C:\Sistema\Icones Sugestes
No perca este objetivo de vista: projeto e organizao so os requisitos mais importantes para um bom desenvolvimento. Para aprendermos a depurar um programa, defina uma aplicao conforme o form e cdigo abaixo: HILDO/2011
Delphi :
Projeto Delphi
Objetivo Diretrios Delphi
Introduo
Programao
Estruturas Agora, execute o programa, introduza dois nmeros pequenos, pressione o boto Matrizes Ok e observe que o resultado est incorreto. Para descobrir por que, vamos usar o
HILDO/2011
Delphi :
Projeto Delphi
Objetivo Diretrios Delphi
Introduo
Programao
Estruturas
Matrizes
Sugestes
HILDO/2011
Delphi :
Projeto Delphi
Objetivo
Introduo
Matrizes
Sugestes
HILDO/2011
Delphi :
Projeto Delphi
Objetivo
Introduo
Matrizes
Sugestes
HILDO/2011
Delphi :
Projeto Delphi
Objetivo
Introduo
HILDO/2011
Delphi :
Projeto Delphi
Objetivo Opes de Depurao Delphi
Introduo
Programao
Estruturas
Matrizes
Sugestes
HILDO/2011
Delphi :
Projeto Delphi
Objetivo
Introduo
Delphi
Existem duas maneiras de examinar o valor armazenado em variveis: usando sentinelas e usando o novo recurso ToolTip Expression Evaluation (que j foi
Programao
discutido anteriormente). Uma sentinela permite que voc especifique nomes de varivel que deseja monitorar e apresentar seus valores numa pequena janela. Para inserir uma
Estruturas
sentinela, voc pode pressionar <Ctrl> <F5> ou selecionar Run | Add Watch para acessar a caixa de dilogo Watch Properties, conforme a figura. Em uma sentinela,
Matrizes
voc pode especificar nomes de varivel e expresses como Valor1 + Valor2 ou StrToInt(Valor1).
Sugestes
HILDO/2011
Delphi :
Projeto Delphi
Objetivo
Introduo
Delphi
Programao
Estruturas
Matrizes
Sugestes
HILDO/2011
Delphi :
Projeto Delphi
Objetivo
Introduo
Delphi
Na caixa de dilogo Watch Properties, digite Value1 na caixa de texto Expression. Isto cria a janela Watch List, onde as variveis controladas e seus valores correntes
Programao
sero apresentados, como na figura. Se a varivel ainda no foi criada ou atribuda, vrias mensagens sero apresentadas, indicando o status da varivel em que o valor normalmente estaria. A
Estruturas
mensagem pode indicar Process not accessible, o que significa que o cdigo que cria essas variveis no foi iniciado ou que ele terminou e as variveis foram
Matrizes
retiradas da memria. Voc tambm poderia ver a mensagem Inaccessible here due to optimation, que normalmente significa que a varivel ainda no foi atribuda. Quando as linhas de
Sugestes
cdigo que tratam da varivel que voc atribuiu uma sentinela so executadas, o valor apresentado na janela Watch List.
HILDO/2011
Delphi :
Projeto Delphi
Objetivo
Introduo
COMENTRIOS Os comentrios no cdigo fonte so importantes e podem ser feitos atravs dos seguintes smbolos: //Comentrio de linha
Delphi
Programao
{ Comentrio de bloco }
(*Comentrio de bloco *)
Estruturas COMPONENTES Agora definiremos resumidamente os principais componentes do Delphi, bem como Matrizes as suas principais propriedades e eventos. Logicamente, este material no se constitui num manual dos componentes do Delphi, mas sim visa introduzir o
Sugestes
HILDO/2011
Delphi :
Projeto Delphi
Objetivo COMPONENTES Delphi
Introduo
Antes de iniciarmos as discusses sobre os componentes, iremos nos ater explicao de algumas peculiaridades das propriedades dos componentes. O
Programao
primeiro ponto a ser observado, est no fato de que algumas propriedades s so acessveis em tempo de execuo. Quando acontecer tal fato, chamaremos ateno a esse respeito.
Estruturas
Finalmente, existem propriedades onde o Delphi incorpora um construtor de valores. Para estes casos, aparece um boto com reticncias no canto da coluna
Matrizes
valor, do Object Inspector, isto quando a propriedade selecionada. Para abrir o construtor de valores basta um clique neste boto, ou um duplo clique na propriedade.
Sugestes
HILDO/2011
Delphi :
Projeto Delphi
Objetivo COMPONENTES Delphi
Introduo
bom lembrar que ao criarmos uma aplicao, um dos detalhes mais importantes que devem ser considerados a interface com o usurio. Porque se ela for feia ou Programao difcil de ser entendida ser mal usada e isto a linha que divide o sucesso do
Sugestes
duplo clique sobre o componente no formulrio.Os trs eventos padro so OnChange, OnClick e OnCreate, nesta ordem. HILDO/2011
Delphi :
Projeto Delphi
Objetivo Principais Eventos Delphi
Introduo
Se um componente no responder a nenhum deles, significa que ele no possui evento padro. Verificao: D um duplo clique na rea do formulrio e ter seu evento padro,
Programao
Estruturas
Matrizes
Sugestes
HILDO/2011
Delphi :
Projeto Delphi
Objetivo Principais Mtodos Delphi
Introduo
Programao
Estruturas
Matrizes
Sugestes
HILDO/2011
Sugestes :
Objetivo
Sugestes - Agradecimentos
Algoritmo
Sugestes
Programao
Agradecimentos
Estruturas
Matrizes
Sugestes
HILDO/2011