Você está na página 1de 7

UNEB Professor: Giuliano Linguagem de Programao Delphi

CAPT ULO 2

TRABALHANDO COM PROJETOS


Definindo Projetos
O Delphi organiza todos os itens de uma aplicao no que ele chama de Projeto. Um projeto formado pela interface visual juntamente com o cdigo que ativa a interface. Cada projeto pode ter vrios formulrios, permitindo que o aplicativo manipule vrias janelas. A impresso que se tem que os forms e as units esto contidos num projeto. Na verdade eles s esto sendo construdos dentro do projeto, pois so armazenados em arquivos diferentes, criando assim um ambiente de desenvolvimento modular, possibilitando utilizar um mesmo mdulo (form ou unit) em projetos diferentes. O cdigo necessrio para um formulrio armazenado em um arquivo Unit separado. Os arquivos Unit contendo um cdigo geral pode ser acrescentado ao projeto conforme necessrio, ampliando a capacidade de reutilizao.

Formulrios
Os formulrios so a representao da sua interface com o usurio. Como o Delphi uma ferramenta de desenvolvimento visual para Windows, utilizamos um estilo de programao baseado em eventos. Os formulrios so exatamente o local onde acontecero esses eventos. Um formulrio sempre est associado a uma unit, que reponsvel pela sua funcionalidade. O cdigo fonte para os forms mantido no arquivo unit (*.PAS). Contudo, os valores de propriedade definidos no object inspector so armazenados em um arquivo adicional com o mesmo nome da unit mas com a extenso .DFM (de Delphi ForM). O arquivo DFM um arquivo binrio que no pode ser lido por um editor de texto comum. Contudo, o IDE do Delphi nos possibilita ver seu contedo bem como modific-lo clicando com o boto direito sobre o formulrio e selecionando View as Text. O Delphi fecha o Form Designer quando abrimos o formulrio como texto.
object Form1: TForm1 Left = 192 Top = 107 Width = 544 Height = 375 Caption = 'Form1' Color = clBtnFace Font.Name = 'MS Sans Serif' TextHeight = 13 end

Como o Delphi uma ferramenta two-way, qualquer alterao que venha a ser feita no cdigo do arquivo DFM ser refletida automaticamente quando voltamos para o formulrio. Entretanto, no aconselhado alterar um arquivo DFM manualmente porque se escrevermos algo que seja sintaticamente incorreto, o Delphi no mais ser capaz de abrir o formulrio.

2-1

UNEB Professor: Giuliano Linguagem de Programao Delphi

Units
As Units so arquivos que contm cdigos escritos em Object Pascal para fornecer funcionalidade s aplicaes. Uma Unit uma maneira conveniente de colocar todo o cdigo do programa em um nico arquivo fonte com extenso *. PAS (de PAScal) As Units so compiladas individualmente, o que as torna modulares e agiliza o tempo de compilao do projeto. Quando so compiladas, gerado um arquivo com extenso *.DCU com o mesmo nome do arquivo .PAS
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} end.

Arquivos de Projeto
Embora o Delphi armazene separadamente os arquivos que fazem parte do projeto, ele precisa manter o controle sobre onde se encontram. Para isso criado um arquivo chamado de arquivo Project, que contm a especificao dos arquivos individuais da aplicao. Os arquivos Project tm sempre uma extenso .DPR (de Delphi PRoject) e contm cdigo Object Pascal, podendo ser perfeitamente customizados pelo programador. Para ter acesso ao arquivo de projeto, selecionamos View Source no menu Project. O Delphi gera o seguinte cdigo fonte para um projeto novo que contm apenas uma unit:
program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.RES} begin Application.Initialize; Application.CreateForm(Tform1, Form1); Application.Run; end.

2-2

UNEB Professor: Giuliano Linguagem de Programao Delphi

Gerenciando Projetos
O Delphi possui uma ferramenta especial para gerenciamento de projeto chamada Project Manager (Gerenciador de Projetos). Ela lista nomes de units e forms e os respectivos caminhos (path). A partir da verso 4 do Delphi ele foi totalmente remodelado e permite o gerenciamento de um grupo de projetos (embora s um projeto possa estar aberto). Como podemos ver na figura abaixo, o Project Manager se baseia numa estrutura de rvore, que mostra as units e forms que compem o projeto. Podemos usar a barra de ferramentas e os menus locais para ter acesso s diversas opes disponveis, como compilar, reconstruir, acrescentar ou remover mdulos, entre outros. O menu popup sensvel ao contexto e depende do item selecionado

O Project Manager agora suporta o recurso de ancoragem com o resto do ambiente Delphi. Isso que dizer que podemos ancor-lo ao lado do editor arrastando uma janela sobre a outra. Cada janela entretanto, mantm sua rea especfica. Para desfazer a ancoragem, basta desabilitarmos a opo Dockable, que pode ser vista no menu popup da figura ao lado.

Removendo uma unit do projeto


Para remover uma unit do projeto, clicamos com o boto direito na unit e escolhemos a opo Remove from Project. O arquivo no excludo, mas apenas removido do arquivo de projeto. Se preferirmos, podemos clicar diretamente no boto Remove file from Project da barra de ferramentas.

Adicionando uma unit ao projeto


Antes de adicionar uma unit propriamente dita, recomendvel que faamos uma cpia dos arquivos .PAS e .DFM do diretrio de origem para o diretrio onde se encontra nosso projeto atual, a fim de evitar que alteraes feitas em uma se reflitam na outra. Feita a cpia, abrimos o Project Manager, clicamos com o boto direito no projeto e escolhemos Add. Uma alternativa clicar diretamente no boto Add File to Project localizado na barra de ferramentas.

2-3

UNEB Professor: Giuliano Linguagem de Programao Delphi

Comando New New Application New Form Open Open Project Reopen Save Save As Save Project As Save All Close Close All

Resumo dos comandos do menu File Descrio Abre o repositrio de objetos, que usado para criar novos elementos de qualquer espcie. Cria um projeto novo, contendo uma unit.e um form Cria um novo formulrio (e uma unit) no projeto Abre uma unit (se possuir formulrio, este tambm ser aberto). Estando em um projeto, possvel abrir uma unit de outro. Abre um projeto e a sua unit principal (as demais permanecem fechadas) Abre uma projeto ou apenas um unit. Mantm uma lista dos ltimos arquivos abertos de cada tipo. Salva a unit que est ativa no momento Salva a unit ativa com outro nome ou em outra pasta Salva o arquivo de projeto com outro nome ou em outra pasta Salva o arquivo de projeto e todas suas units Fecha a unit que est ativa (inclusive seu formulrio). Fecha o projeto e todas as units

Renomeando uma unit


S h uma forma de renomear uma unit no Delphi: utilizando a opo Save As do menu File. O IDE automaticamente retira a unit antiga do projeto e adiciona a nova. Futuramente ser preciso remover manualmente os arquivos .PAS e .DFM da unit antiga do disco. Nunca tente renomear uma unit mudando o nome do arquivo .PAS pelo Windows Explorer. Tampouco altere o comando unit <nome> que est no incio do cdigo da unit.

Compilando, linkeditando e executando um projeto


Para que uma aplicao possa ser executada, ela deve passar primeiro pelas etapas de compilao e linkedio. O comando Executar (Run) realiza as trs tarefas. Para ativ-lo, podemos pressionar F9 ou clicar no cone correspondente na barra de tarefas. A etapa de compilao responsvel pela anlise sinttica do cdigo escrito em cada unit. Essa anlise verifica se o cdigo segue rigorosamente as regras da linguagem Object Pascal, se todas as operaes de atribuio , comparao e chamadas de procedimento esto tipos de dados compatveis com as declaraes, etc. Se algum erro acontecer nesta etapa, o processo abortado e a linha de cdigo que originou o erro fica destacada em vermelho para que seja corrigida. Quando compilamos um projeto, apenas os mdulos que foram alterados sero novamente compilados, o que aumenta a velocidade do processo. No entanto, para obrigar o IDE a compilar todos os mdulos, selecionamos o comando Project Build do menu. Na prtica, nem sempre o Delphi faz o controle adequado das alteraes. Assim, toda vez que a compilao mostrar uma mensagem de erro estranha, a primeira coisa que devemos tentar o comando Build. A compilao gera um arquivo objeto com extenso .DCU para cada unit do projeto. Esses arquivos so o alvo da segunda etapa do processo: a linkedio, que encarregada de unir o contedo dos arquivos objeto com o cdigo compilado da VCL, a biblioteca de componentes visuais do Delphi, resolvendo todas as referncias externas de cada mdulo, para gerar o arquivo executvel, que o produto final.

2-4

UNEB Professor: Giuliano Linguagem de Programao Delphi

Projeto (.DPR) VCL Units (.PAS) Arquivos Objeto (.DCU) Arquivo executvel (.EXE)

Forms (.DFM)

Compilao

Linkedio

til ativar a opo Show Compiler Progress na caixa de dilogo Tools Environment Options para acompanhar o que acontece durante as etapas de compilao e linkedio Resumo dos comandos de execuo Atalho Descrio CTRL+F9 Verifica a sintaxe dos arquivos fonte e gera as Unidades Compiladas Delphi (.DCU). O Delphi determina quais arquivos foram alterados e os compila conforme necessrio. Compila todos os arquivos fonte, mesmo que no tiverem sido alterados. til quando alteramos alguma opo global de projeto. CTRL+F2 Encerra a execuo de uma aplicao F9 Apenas faz a verificao da sintaxe, sem gerar os arquivos .DCU. Compila, linkedita e executa o projeto

Comando Project Compile

Project Build

Run Program Reset Project Sintax Check Run Run

Organizando Projetos
Todo programador, antes de tudo, deve ser organizado. Mesmo em projetos pequenos, devemos ter desde o incio a preocupao de fazer um bom gerenciamento para evitar problemas futuros. Em outras palavras, devemos sempre trabalhar pensando tambm na etapa de manuteno do projeto. A organizao no exige muito trabalho e traz grandes benefcios, principalmente economia de tempo e esforo. Basta seguir alguns fundamentos bsicos:

Salvando projetos em diretrios separados


importante criar um diretrio separado para cada aplicao desenvolvida. Isso torna mais fcil encontrar projetos, fazer back-ups e proteger contra alterao acidental. Para no carregar o diretrio raiz com muitos subdiretrios, a dica criar um diretrio para servir de entrada principal, sob o raiz com um nome genrico como Delphi, Sistemas, Programas, etc. Dentro dele, criamos as entradas para cada um dos projetos.

2-5

UNEB Professor: Giuliano Linguagem de Programao Delphi

Um diretrio para cada projeto

Utilizando convenes de nomeao


Outra prtica muito importante dar nomes significativos aos objetos. No interessante utilizar os nomes padro do Delphi, como UNIT1.PAS e PROJECT1.DPR. Quando nos deparamos com arquivos fonte de uma aplicao, temos que ser capazes de saber o que representam. urgente criar o hbito de salvar um formulrio assim que sua construo. iniciada. Uma boa conveno colocar um F antes do nome do form e um U antes do nome da unit. Por exemplo: estamos criando um formulrio de entrada de dados de alunos. Clicamos no formulrio e alteramos a propriedade Name para FAluno Selecionamos a opo File Save e digitamos UAluno para o nome da unit A conveno de nomeao deve ser aplicada no s aos forms e units, mas tambm a todos os componentes e variveis utilizados na aplicao. Vejamos algumas sugestes : Componente Formulrio Unit Boto Varivel Label Edit RadioGroup Combobox Listbox Sugesto de Prefixo F ou Frm U Btn v (locais) e g (globais) Lb Edit Rg Cb Lb Exemplos Fcliente, Fprincipal, FrmEmpresa Ucliente, Uprincipal, UEmpresa BtnNovo, BtnGrava, BtnInclui vNome, vSexo, gTotal, gOperador LbSalario, LbNome, LbTotal EditCodigo, EditNome, EditCpf RgItens, RgSexo CbUf, CbGenero LbConta, LbArquivo

Opes de Projeto
A caixa de dilogo Project Options permite que alteremos vrios aspectos do projeto. Ela pode ser acessada atravs da opo Project Options ou clicando-se com o boto direito no Project Manager e escolhendo a opo Options. Forms: a pgina Forms diz respeito a como a aplicao manipular os formulrios. A primeira opo Main Form especifica qual o formulrio que aparecer primeiro quando a aplicao for executada.

2-6

UNEB Professor: Giuliano Linguagem de Programao Delphi

Em seguida, temos o duas listas que definem o momento em que os formulrios sero carregados para a memria. Aqueles que esto na lista Auto-create forms so carregados automaticamente no momento da execuo do projeto e os da lista Available forms podem ser carregados quando for necessrio, economizando tempo e memria. Entretanto, como o processo no automtico, ns que temos que escrever o cdigo para cri-los. Na prtica, a grande maioria dos forms passada para o lado Available. Apenas o formulrio principal e aqueles que so realmente muito utilizados ficam do lado Auto-create. Veremos futuramente como escrever o cdigo para criar formulrios. Application: Esta pgina usada para definir o nome da aplicao, qual arquivo de ajuda ser utilizado e o cone utilizado. Essas informaes so armazenadas em um arquivo com extenso .RES. Compiler: Permite definir opes do compilador. A opo Debug Information da seo Debugging embute as informaes de depurao no cdigo objeto. Quando o programa estiver pronto para ser distribudo, devemos reconstruir o projeto sem as informaes de depurao. Essas definies so mantidas a nvel de projeto, no a nvel de ambiente. Linker: Define a criao de Map File para depurao, buffer de memria para linkedio e utilizao de uma janela DOS como console (Generate console application). Directories/Conditionals: Em Output directory podemos definir um diretrio de sada para todos os arquivos gerados (.DCU, .DOF, .RES, .EXE, etc), a fim de separ-los dos arquivos fonte. Search path permite especificar caminhos alternativos de procura. Podemos informar, por exemplo, o diretrio onde est localizada nossa biblioteca geral de funes. Version Info: Permite inserir dados da verso do aplicativo no cdigo compilado. As informaes sao exibidas quando o usurio clica com o boto direito no cone do programa e seleciona a opo Propriedades. Tabela dos tipos de arquivos gerados pelo Delphi Obrigatrio para compilar ? Contm configuraes e opes de projeto S se forem definidas opes de compilao Resultado da compilao de uma unit Pascal No Arquivo binrio com a descrio das propriedades de Sim um formulrio e dos componentes nele contidos. Arquivo texto que armazena opes de projeto. S se forem definidas opes de compilao Back-up do arquivo de formulrio .DFM No Arquivo de projeto. Atua como empacotador para todos Sim os mdulos. o aplicativo Windows criado No o arquivo fonte escrito em Object Pascal independente Sim ou relacionado a um formulrio. Back-up do arquivo Pascal (.PAS) No Arquivo de recursos associado ao projeto. Contm S se forem definidas normalmente o cone escolhido para a aplicao. opes da pgina Application. Descrio

Ext .CFG .DCU .DFM .DOF ~.DF .DPR .EXE .PAS .~PA .RES

2-7

Você também pode gostar