Captulo 2
Um Tour pelo Ambiente de Programao do Delphi
 
Ao final deste captulo, voc estar apto a:
 Identificar os elementos do IDE do Delphi
 Identificar os elementos essenciais que formam uma aplicao

Overview
O Delphi oferece um ambiente integrado de desenvolvimento que permite desenvolver sofisticadas                           aplicaes Windows com um mnimo de codificao.
Este captulo introduz o Intergrated Development                           Environment (IDE) e descreve os elementos essenciais do ambiente de programao.

Elementos do IDE do Delphi
Introduo
O Integrated Development Environment (IDE) do Delphi consiste de diversos elementos ou ferramentas  visuais. Uma vez acostumados a estes elementos, voc pode  comear
a desenvolver aplicaes. Este captulo                          discute os seguintes elementos para famliariza-lo ao ambiente de desenvolvimento:

* Form
* Component Palette
* Object Inspector
* Code Editor
* SpeedBar
* ProjectManager
* SpeedMenus
* On-Line Help

 As ferramentas so apresentadas na ordem em que seriam utilizadas para desenvolver uma aplicao.

Aparncia Inicial da Interface
Quando voc utiliza o Delphi, aparecem as seguintes  janelas. Estas janelas formam a interface do Delphi. Outras  janelas e elementos aparecem posteriormente conforme
for desenvolvendo uma aplicao.

Forms
Introduo
Forms so a caracterstica central das aplicaes  Delphi. Quando voc abre o Delphi, um form se torna uma janela em sua aplicao. Quando estiver desenvolvendo
a interface de usurio de sua aplicao, voc adicionar itens chamados de componentes ao seu form. Um componente  um objeto Delphi, tal como um label box ou edit
box. Quando voc inicializa o Delphi, um form em branco  Form1 aparece, como segue:

Partes de um Form
Cada form, por default, contm as seguintes partes  padres, como mostrado:

* Menu Control
* Botes de maximizar e minimizar
* Barra de ttulo
* Bordas

Um form pode ser movido  e reajustado movendo-se suas bordas.
Component Palette
Introduo
Aps iniciar com um form, o prximo passo no design da interface  adicionar componentes ao form. Componentes so elementos de programa das janelas,  tais como labels,
edit boxes, e list boxes. Os componentes do Delphi esto localizados na Component  Palette e so utilizados para construir a interface com o usurio. A Componente
Palette exibe uma seleo  de componentes agrupados por funo ou utilizao.
Um ponto chave do Delphi  que ele permite a criao de seus prprios componentes e personalizao da Componente Palette. Voc pode adicionar ou remover componentes
da paleta, bem como criar uma nova pgina na paleta. Por exemplo, voc pode adicionar um controle VBX de terceiros   sua paleta para um projeto em especfico e
depois remove-lo quando tiver  sido utilizado. Voc tambm pode criar diferentes verses da Componente Palette para diferentes  projetos e permitir que diversos
desenvolvedores compartilhem uma Componente Palette personalizada.
A Componente Palette aparece abaixo da barra de menu, a direita, e consiste  dos seguintes botes e pginas:

Quando voc passar com o ponteiro do mouse sobre cada boto,  exibido o Help Hint do componente.

Descrio das Pginas dos Componentes
Quando voc clica com o mouse sobre uma aba de pgina,  exibido o grupo de componentes da pgina. A tabela a seguir descreve a funo de cada grupo  de componentes
por pgina:

Pgina
Grupo de Componentes
Standard
Componentes padro em uma interface MS Windows   tais como boto, list box, e label.
Additional
Grupo adicional de componentes padro, tais como SpeedButton, TabSet, e componentes Notebook.
Data Access
Componentes especializados para acesso de dados em banco de dados, tais como Table, Query e DataSource
Data Controls
Componentes especializados de banco de dados   utilizados para exibir dados de bancos de dados, tais                          como Grid de dados, Navigator,e Edit.
Dialogs
Quadros de dialogos comuns do MS Windows que possuem uma aparncia consistente para executar operaes de arquivo, tais como abertura, gravao e impresso.
System
Componentes que pertencem  tecnologia do sistema  Windows, tais como um timer, DDE, ou OLE.
VBX
Controle Visual Basic que acompanham o Delphi ou de outros fabricantes.
Samples
Componentes diversos, tais como ColorGrid, Calendar e SpinButton.
Object Inspector
Introduo
O Object Inspector trabalha com a Component Palette.  Uma vez selecionado um componente da Component Palette  adicionado ao form, o Object Inspector  automaticamente
exibe as propriedades e eventos que podem ser utilizados como o componente. As  propriedades e eventos (exibidos no formato de menu) permitem personalizar os componentes
visualmente sem a necessidade de codificao.
Os menus so dinmicos no tocante em que somente as  propriedades e eventos que se aplicam aos componentes selecionados aparecero. Se mltiplos componentes so
selecionados, somente as propriedades e eventos compartilhados por todos os componentes aparecero no  Object Inspector.

Aparncia do Object Inspector
Por default, o Object Inspector aparece a esquerda  da janela do Delphi, como segue:

Object Selector
A lista drop-down do Object Selector exibe o nome e   o tipo de objeto de cada componente no form atual, incluindo o prprio form. Os componentes aparecem na lista
quando voc os adiciona ao form. A lista drop-down pode ento ser utilizada para alternar rpidamente entre cada um dos componentes. A ilustrao a seguir mostra
um exemplo da lista drop-down do Object Inspector:
Quando um form ou componente  selecionado no Object Selector, as propriedades ou eventos pertencentes a ele so exibidos.

Properties Page
Propriedades so atributos de um componente. Elas controlam a forma como um componente aparece e se comporta na aplicao. Muitas propriedades na coluna Properties
tem um valor default atribudo na coluna Values. A figura a seguir mostra um exemplo da pgina Properties.

Events Page
A pgina Events do Object Inspector lista os eventos que um componente pode reconhecer. No Delphi, voc                          escreve procedures chamadas event
handlers, e as utiliza na pgina Events para associar o nome de um                          event handler com o evento. Eventos so aes do usurio ou ocorrncias
de  sistema que o componente pode reconhecer. Um exemplo de uma ao de usurio  um clique em um boto. Um  exemplo de uma ocorrncia de sistema  um alarme gerado
em um intervalo de tempo pr-determinado. A ilustrao a seguir mostra um exemplo da pgina Events:

Code Editor
Introduo
No processo de desenvolvimento, aps atribuir propriedades e eventos a cada componente adicionado ao form, o Code Editor  utilizado. O Code Editor   um editor
de texto que exibe o cdigo fonte que voc escreve ou que o Delphi gera para criar uma aplicao.  O cdigo fonte aparece em um arquivo chamado UNIT.PAS  que  um
dos tipos de arquivos que compe um projeto do Delphi.

Caractersticas do Code Editor
O Code Editor oferece comandos de edio, Help sensvel ao contexto, e as seguintes caractersticas de edio estilo Brief:

* Gravao e execuo de macros
* Sintaxe de destaque colorida
* Undo ilimitado
* Marcao de bloco  de coluna
* Toques de teclado personalizveis
O Arquivo Unit
O Code Editor aparece no arquivo unit, que  posicionado atrs do Form1 default quando voc inicializa o Delphi. Quando voc da um duplo clique em um evento na pgina
Events do Object Inspector, o Code Editor automaticamente torna-se a janela para que voc possa digitar o cdigo para manipular o evento. O Code Editor pode exibir
mltiplos arquivos unit.
Uma unit  utilizada para organizar as declaraes de programao do Delphi. Por exemplo, procedures utilitrias podem ser agrupadas como uma unit. Um form  organizado
como uma unit.
Voc tambm pode exibir um arquivo unit atravs do menu View selecionando Toggle Form/Unit. O arquivo default, Unit1.PAS, aparece na janela do Code Editor, como
segue:
Voc deve evitar o nome default de um arquivo unit. Renomeie a Unit1 para  um nome mais descritivo sobre o contedo do arquivo. A extenso PAS no deve ser alterada.

SpeedBar
Introduo
A SpeedBar  feita  de botes que economizam tempo, permitindo que voc clique sobre um boto ao invs de utilizar a barra de menu para executar operaes e comandos
mais comuns. A SpeedBar aparece abaixo da  barra de menu,  esquerda, e consiste dos seguintes  botes:

Quando voc passa com o ponteiro do mouse sobre cada boto, o Help Hint do boto  exibido. A SpeedBar  totalmente personalizvel. Voc pode adicionar ou remover
botes para personaliz-la. Os botes exibidos na figura anterior  a configurao default.

Descrio dos Botes Default
A tabela a seguir descreve cada boto na SpeedBar default:

Boto
Descrio
  Open Project
Abre um projeto existente
  Save Project
Grava um projeto existente
 Add File to Project
Adiciona um novo arquivo ao projeto
 Select Unit From List
Seleciona uma unit da lista das units existentes
 Select Form From list
Seleciona um form da lista de forms existentes
 Run
Compila e executa sua aplicao
 Pause
Interrompe momentaneamente a execuo da aplicao
 Open File
Abre um arquivo existente
 Save File
Grava o arquivo. Arquivos unit e form so ligados. Gravando um, grava-se o outro
 Remove File From Project
Remove o arquivo selecionado no Project Manager da clusula uses do arquivo de projeto corrente
 Toggle Between a Form and Unit
Exibe o from inativo associado com a unit ativa, ou vice-versa
 New form
Cria um form em branco e uma nova unit associada para ser adicionado ao projeto
 Trace into
Executa um programa, uma linha por vez e executa cada linha de uma procedure
Step over
Executa um programa, uma linha por vez e pula as procedures executando-as como uma nica unit

Project Manager
Introduo
No Delphi, os arquivos que compem uma aplicao, form e units, so organizados como um projeto. O Project Manager lista cada arquivo de unit e form em sua aplicao
e permite navegar entre elas.

Visualizando a Janela do Project Manager
Voc pode exibir o project Manager atravs do menu View selecionando Project Manager. O Project Manager aparece com o nome do projeto. Se o projeto no  tiver um
nome, o arquivo default chamado Project1, aparece como segue:

SpeedMenus
Introduo
Um elemento importante do IDE do Delphi  o SpeedMenu.  SpeedMenus so menus que oferecem acesso rpido aos comandos disponveis no momento. Eles so sensveis ao
contexto e podem ser exibidos de duas maneiras:

* Clicando-se com o boto direito do mouse enquanto o ponteiro do mouse estiver sobre o objeto
* Pressionando-se Alt+F10 enquanto estiver selecionado
Exemplos de SpeedMenus
 SpeedMenus esto disponveis para uma grande variedade de elementos e outros objetos no Delphi. Para  uma lista completa, consulte o Help on-line. Esta seo oferece
alguns exemplos de SpeedMenus para os seguintes elementos:
* Component Palette
* Object Inspector
* SpeedBar
SpeedMenu para a Component Palette
O SpeedMenu da Component Palette aparece quando voc  clica com o boto direito do mouse quando o ponteiro do mouse estiver sobre a Component Palette. Os itens do
menu so :
* Configure  -  Altera o contedo da Component Palette
* Show Hints - Exibe o Help Hint para cada boto
* Help -  Oferece Help on-line para a Component Palette

Na figura a seguir, Show Hints est habilitado:

SpeedMenu para o Object Inspector
O SpeedMenu do Object Inspector aparece, como segue,  quando voc clicar com o boto direito do mouse quando o ponteiro do mouse estiver sobre o Object Inspector.
Quando Stay on top estiver habilitado, o Object Inspector sempre aparece sobre a interface.

SpeedBar
O SpeedMenu da  SpeedBar aparece, como segue, quando voc clicar com o boto direito do mouse quando o ponteiro do mouse estiver sobre a SpeedBar. O item de menu
Configure permite adicionar ou remover  icones da SpeedBar de acordo com sua necessidade.

Help On-Line
Introduo
O Help On-Line  uma grande fonte de referncia sobre o Delphi. No menu Help, os itens Contents e Topic Search so comuns as aplicaes MS Windows, mas documentam
o produto to bem que voc pode utiliza-lo no lugar de uma cpia impressa.Contents, em particular, inclui um glossrio, que  especialmente til para uma referncia
rpida sobre o significado de termos.
A figura a seguir mostra o menu Help:

Help Sensvel ao Contexto
Help sensvel ao contexto   est disponvel para cada elemento na interface. Pressionando F1 sobre um elemento destacado exibe a descrio do elemento. Por exemplo,
se Form1 estiver destacado e voc pressionar F1, a descrio do componente TForm (tipo de objeto) aparece, incluindo as propriedades, mtodos, eventos e tarefas
associadas a ele. O Help sensvel ao contexto tambm est disponvel quando o Code Editor for exibido e oferece auxlio na sintaxe da linguagem, palavras reservadas,
e assim por diante.
Informao de Instruo
O Help on-line tambm contm uma extensiva informao instrucional. As trs ferramentas seguintes, em particular, oferece suporte no desenvolvimento de uma aplicao:
* Interactive Tutors o guiam atravs de cada estgio no processo de desenvolvimento de uma aplicao.
* Database Form Expert permite-lhe criar forms master-detail, bem como forms com uma nica tabela.
* Windows API descreve como utilizar a API do MS Windows.

Interactive Tutors
A opo  Interactive Tutors  um tutorial que o ensina  as operaes bsicas na criao de uma aplicao. O tutorial  interativo pois voc pode utilizar seus prprios
dados, bem como dados de exemplo que acompanham o Delphi
Consulte o tutorial para relembrar o conhecimento obtido no curso.

Database Form Expert
A opo Database Form Expert no menu Help permite criar um form que exiba dados de um banco de dados local ou remoto. Esta ferramenta  uma das muitas ferramentas
Expert no Delphi. Outras ferramentas Expert incluem o  Application Template Expert, Form Template Expert, Component Expert, e Dialog Box Expert. A  maioria delas
so acessadas atravs do menu File quando voc cria uma aplicao ou form. As ferramentas  Expert sero estudadas com mais detalhes posteriormente durante o curso.
Windows API
A opo API no menu Help oferece uma descrio da API do MS Windows. Exemplos de alguns dos tpicos  incluem o seguinte:
Funes e mensagens para o MS Windows verso 3.1
* Grupos de funes
* Macros
* Sadas de impresso
* Resources
Resumo do Captulo
Pontos Chave
Aps completar este captulo, voc aprendeu:
* Uma aplicao desenvolvida no Delphi comea com um form em branco.
* Utilizar a Component Palette para adicionar componentes ao form, e depois utilizar o Object Inspector para definir propriedades e programar eventos aos componentes.
* Utilizar o Code Editor, que exibe o cdigo fonte no arquivo unit, adicionar cdigo a um evento handler se voc adicionou um evento no Object Inspector.
Termos e Definies
A tabela a seguir  uma referncia rpida aos termos explicados neste captulo:

Termo
Definio
Application Templates

Ferramenta de design predefinidas para iniciar o desenvolvimento de uma aplicao
Arquivo Unit

Um arquivo que contm uma parte ou todo o cdigo  fonte de uma aplicao. Cada form possui um arquivo  unit associado. Algumas units podem no estar associadas a
um form.
Code Editor
O editor de texto que lhe permite escrever cdigo de programao
Component Palette
A barra de botes de componentes para a construo de uma aplicao.
Componente

Um objeto Delphi utilizado para construir uma aplicao MS Windows. Um componente tambm  chamado                          de objeto de programa
Database Form Designer

Ferramenta de design para gerar um form que possa exibir dados de um banco de dados externo.
Event
Uma interao ou ao de usurio, ou uma ocorrncia interna de sistema.
Event  Handler
Uma procedure ou funo executada sempre que ocorrer um evento.
Form

Um componente utilizado para construir uma aplicao  o primeiro a aparecer na tela. Um form pode conter outros componentes. O form se torna uma janela na aplicao.
Object Inspector

A janela que exibe propriedades e eventos utilizados para definir ou ver as propriedades de um componente.
Projeto
Todos os arquivos que contm uma aplicao.
Propriedade
Um atributo descritivo atribudo a um componente para definir sua aparncia e como trabalha.
SpeedBar
Uma barra de botes onde cada uma  relacionado a um comando utilizado com freqncia. A SpeedBar permite rpido acesso a estas operaes, que so itens de  menu.
SpeedMenus
Menus que se aplicam ao elemento selecionado no IDE do Delphi. Eles so exibidos clicando-se com o boto direito do mouse sobre o elemento.
Templates de Form
Forms predefinidos utilizados para desenvolver uma  interface com o usurio.
