You are on page 1of 132

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para

cidadania e acesso livre informao

Rede de projetos do Laboratrio de Tecnologias Intelectuais Lti

Projeto Competncias em informao on line - Tutoriais em Tecnologias Intelectuais

TUTORIAL DELPHI

Autor: Edberto Ferneda

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

PR-REITORIA DE EXTENSO E ASSUNTOS COMUNITRIOS - PRAC PROJETO DE EXTENSO: Competncias em informao - Tutoriais em Tecnologias Intelectuais para disseminao da informao na web. Coordenador/Orientador: Prof. Dr. Wagner Junqueira de Arajo Co-Orientadoras: Prof.. Dra. Isa Maria Freire Prof.. Ms. Alba Lgia de Almeida Silva Equipe: Andreonni Medeiros Di Lorenzo Cristiana da Silva Dantas Daniela Silva Borges de Oliveira Enelucia Santos da Silva Maria Janienne Alves Pereira de Medeiros Contato para dvidas e suporte on-line: Email: projetodeextensaotutoriais@gmail.com Skype: contatotutoriaisnaweb

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Programao Orientada a Objetos POO

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

1
Orientao a Objetos
O termo orientado a objetos tem sido to usado que o seu sentido concreto se perdeu. Tem caracterizado desde modelos de administrao a mtodos de auto-ajuda. Muitos produtos de softwares que alegam ser orientados a objetos no o so. s vezes possuem alguns recursos baseados em objetos, outras vezes nem isso. Toda essa confuso de conceitos fez com que ningum hoje soubesse mais o que realmente vem a ser orientado a objetos. A linguagem utilizada pelo Delphi (Object Pascal) uma linguagem orientada a objetos. Para melhor entender o Delphi importante compreender os conceitos da programao orientada a objetos (POO). Apesar de ser um assunto muito badalado, o conceito de POO no novo. Tem quase trinta anos de idade. Foi introduzido pela primeira vez na linguagem Simula-67. Desde ento surgiram vrias outras linguagens com esses conceitos como SmallTalk Eiffel. C++, a mais popular, na verdade uma linguagem hbrida. uma extenso do C com suporte a classes e objetos, mas permite que se desenvolva programas sem classes ou objetos.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Porque Usar Objetos?


As vantagens de se usar objetos como blocos para a construo de aplicaes so muitas. Pode-se citar: Simplicidade: Os objetos escondem a complexidade do cdigo. Pode-se criar uma complexa aplicao grfica usando botes, janelas, barras de rolagem, etc.. sem conhecer detalhes do cdigo fonte utilizado para cri-los. Reutilizao de cdigo: Um objeto, depois de criado, pode ser reutilizado por outras aplicaes, Ter suas funes estendidas e serem usados como blocos fundamentais em sistemas mais complexos.

Elementos do Modelo Orientado a Objetos


Os autores divergem quanto s caractersticas que fazem uma linguagem ser orientada a objetos, mas a maioria concorda que o paradigma se baseia em quatro princpios bsicos: abstrao, encapsulamento, herana e polimorfismo.

Abstrao
o processo de extrair as caractersticas essenciais de um objeto real. A abstrao essencial para se ter um modelo fiel da realidade. O conjunto de caractersticas resultante da abstrao forma um tipo abstrato de dado, com informaes sobre estado e comportamento. A abstrao nem sempre produz os mesmos resultados. Depende do contexto onde utilizado. Ou seja, a abstrao de um objeto por uma pessoa pode ser diferente na viso de outra. Por exemplo, para um mecnico, um carro caracterizado pela marca, modelo, potncia, etc. J um usurio comum o caracteriza pela cor, marca modelo, preo. E finalmente, para o DETRAN, um carro totalmente caracterizado pela placa, proprietrio, marca, modelo, cor e nmero de chassi.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Encapsulamento
o processo de combinar tipos de dados e funes relacionadas em um nico bloco de organizao e s permitir o aceso a eles atravs de mtodos determinados. Por exemplo, existe um nmero determinado de coisas que se pode fazer com um toca-fitas. Pode-se avanar, voltar, gravar, tocar, parar, interromper e ejetar a fita. Dentro do toca-fitas, porm, h varias outras funes sendo realizadas como acionar o motor, deslig-lo, acionar o cabeote de gravao, liberar o cabeote, e outras operaes mais complexas. Essas funes so escondidas dentro do mecanismo do toca fitas e no temos acesso a elas diretamente. Quando apertamos o play o motor ligado e o cabeote de reproduo acionado, mas no precisamos saber como isso feito para usar o toca fitas. Uma das principais vantagens do encapsulamento esconder a complexidade do cdigo. Outra, proteger os dados, permitindo o acesso a eles apenas atravs de mtodos. Dessa maneira evita-se que seus dados sejam corrompidos por aplicaes externas.

Herana
o aproveitamento e extenso das caractersticas de uma classe j existente. Existem muitos exemplos de herana na natureza. No reino animal, os mamferos herdam a caracterstica de terem uma espinha dorsal por serem uma subclasse dos vertebrados. Acrescentam-se a essas, vrias outras caractersticas como ter sangue quente, amamentar, etc. Os roedores herdam todas as caractersticas dos vertebrados e mamferos e acrescentam outras, e assim por diante. Em programao, a herana ocorre quando uma classe aproveita a implementao (estrutura de dados e mtodos) de uma outra classe para desenvolver uma especializao dela. formada ento uma hierarquia de classes, onde cada nvel uma especializao do nvel anterior, que mais genrico.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Polimorfismo
a propriedade de se utilizar um mesmo nome para fazer coisas diferentes. Por exemplo, mandar algum correr pode produzir resultados diferentes dependendo da situao. Se a pessoa estiver parada e em p, ir obedecer ordem simplesmente correndo. Ser a pessoa estiver no volante de um carro, o resultado ser o aumento da presso do p no acelerador. Em programao, uma mesma mensagem poder provocar um resultado diferente, dependendo dos argumentos que foram passados e do objeto que o receber. Por exemplo: o envio de uma instruo desenhe() para uma subclasse de polgono, poder desenha um tringulo, retngulo, pentgono, etc. dependendo da classe que a receber.

O que um Objeto?
Objetos so a base da tecnologia orientada a objetos. Consistem de modelos (abstraes) de objetos reais, com seus estados e seus comportamentos. Qualquer objeto real pode ser abstrado, filtrando-se seus estados e comportamentos.
Objeto Carro Gato Caneta Toca-fitas Estado Velocidade atual, modelo, marca marcha, Comportamento cor, troca marchas, partida, freia. acelera, d

nome, raa, com fome, com preguia cor, nvel da tinta

mia, dorme, se estica, brinca, caa. escreve, coloca mais tinta

ligado, sentido da fica, tocando, grava, toca, avana, volta, para, gravando pausa, ejeta, liga.

Em programao, o estado de um objeto representado por variveis, e seu comportamento implementado com mtodos (procedimentos). Os mtodos so o nico meio de mudar o estado das variveis. Por exemplo, para mudar o estado do toca-fitas para ligado, necessrio utilizar o mtodo liga().

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Tudo o que o objeto de software sabe (seu estado) e tudo o que ele pode fazer (comportamento) determinado pelas suas variveis e mtodos. Vamos representar o modelo de um automvel atravs de um objeto de software. As variveis indicam o seu estado atual: Velocidade=77 Km/h, marcha=4 e cor=vermelho. DPartida(), acelera(), trocaMarcha() e freia() so mtodos que podem mudar o estado das variveis (velocidade e marcha). O objeto que vamos construir se chamar ferrari.

Um objeto sozinho no tem muita utilidade. Um carro sozinho, sem motorista, na garagem, s serve de enfeite. Para se conseguir alguma funcionalidade dos objetos,
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao necessrio que haja uma interao com outros objetos. S assim se pode construir modelos de comportamento mais complexo. Objetos de software se comunicam entre si atravs de mensagens. No exemplo do automvel, o objeto motorista envia uma mensagem para o objeto ferrari, invocando o mtodo trocaMarcha(), com o parmetro 5 (quinta-marcha). Com esta informao, o mtodo desejado executado, provocando a mudana das variveis do objeto ferrari.

Para realizar a mudana acima em Delphi (Object Pascal), dentro do cdigo do objeto motorista haveria uma linha do tipo: ferrari.trocaMarcha(5) assim que o Object Pascal representa a invocao do mtodo de um objeto. O primeiro nome (ferrari) o objeto. Aps o ponto, vem uma varivel (atributo/propriedade) ou mtodo.

O que so Classes?
Classes so prottipos utilizados para construir objetos. As caractersticas de estado e comportamento do objeto ferrari, ilustrado nos exemplos anteriores, so
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao caractersticas de qualquer automvel que sai da fbrica. Essas caractersticas so definidas nas classes. A figura abaixo representa uma classe. Observe a semelhana com o diagrama que utilizamos para representar os objetos. A classe no um objeto pois no possui um estado, nem um comportamento especfico. Ela no algo que existe e que possua estados.

Para produzir todos os automveis que saem da fbrica, poderamos definir uma classe chamada Automvel. Esta classe teria a declarao das variveis que sero utilizadas para armazenar a cor, velocidade e marcha, alm da implementao dos mtodos que cada automvel deve ter.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Os objetos so instncias das classes. Quando criamos um objeto, dizemos que instanciamos uma classe. Cada instncia uma entidade individual e pode ento receber valores para as suas variveis e modific-las atravs de mtodos. Com a classe Automvel, podemos criar agora vrios automveis com as mesmas caractersticas bsicas. Por exemplo, se ferrari, fusca, porsche so instncias de Automvel, todos possuem uma velocidade, uma posio de marcha e uma cor, e podem dar partida, acelerar, freiar e trocar marcha. Porsche pode ser vermelho e estar a 193 Km/h, enquanto fusca pode ser preto e estar parado. A grande vantagem de se usar classes a reutilizao do cdigo. Toda a estrutura de um objeto definida na classe, que depois utilizada quantas vezes for necessrio para criar vrios objetos.

Herana
No bastasse a reutilizao do cdigo proporcionado pelas classes, na criao de objetos, a POO vai mais longe e define meios de permitir em uma classe, a reutilizao do cdigo de outras classes. As caractersticas cor, velocidade, marcha, etc. podem estar definidas em uma classe chamada de Veculo Motorizado, que declara mtodos trocaMarcha(), dPartida(), acelera(), etc. Esses mtodos e varveis podem ser herdadas
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao pelas classes Automvel, Motocicleta e Caminho que so veculos motorizados.

Desta maneira, est formada uma hierarquia de classes. Veculo Motorizado superclasse de Automvel, Caminho e Motocicleta, que por sua vez, so subclasses de Veculo Motorizado. O cdigo escrito uma nica vez e usado por vrias classes diferentes. Cada classe herda caractersticas de sua superclasse, mas no est limitada implementao oferecida nela. A subclasse uma especializao da superclasse e pode definir novas variveis, novos mtodos e at sobrepor mtodos definidos na superclasse. Automvel, por exemplo, pode acrescentar novos mtodos como

abrirPorta() e abrirMala(). Motocicleta deve sobrepor o mtodo acelera(), trocaMarcha(), dPartida() e freia() com uma implementao especfica para motos. Caminho pode acrescentar novas variveis
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao capacidadeDeCarga, nmeroDeEixos, etc. para caracterizar melhor os objetos que sero produzidos.

Delphi e a POO
Para se definir uma classe no DELPHI deve-se empregar a seguinte sintaxe:
type classe = class(superclasse) atributos mtodos end;

atributos: seguem as regras das declaraes de variveis; mtodos: seguem as regras das declaraes de subprogramas ( function e procedure). No DELPHI: A classe me denominada TObject. Esta classe deve ser utilizada quando a classe no tiver bem definida sua classe me. A definio de uma classe deve ser feita na rea de interface de uma UNIT. Convenciona-se iniciar o nome de uma classe com a letra T. A definio da classe TPessoa, em DELPHI, seria:
type TPessoa = class(TObject) Nome : string; Endereo : string; procedure AtualizarDados (Nome, Endereo : string); end;

No entanto esta definio no est completa, pois deve-se definir o qualificador de acesso permitido para cada atributo ou mtodo.

Qualificadores de Acesso
No DELPHI pode-se definir o tipo de acesso que uma classe-objeto ter sobre os atributos ou mtodos de outra classe-objeto. Os principais qualificadores de acesso em DELPHI so:

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao Private: as declaraes feitas nesta rea no podem ser acessadas por outras classes-objetos; Protected: as declaraes feitas nesta rea s podem ser acessadas pelas classes filhas da classe-objeto; Public: as declaraes feitas nesta rea podem ser acessadas por qualquer outra classe-objeto. Sendo assim, uma definio mais completa da sintaxe de uma classe, em DELPHI :
classe = class(superclasse) private {declaraes privativas} protected {declaraes protegidas} public {declaraes pblicas} end;

Uma nova definio para a classe TPessoa poderia ser:


classe = pessoa(TObject) private Nome: String; Endereco: String; protected {declaraes protegidas} public procedure AtualizaDados( Nome, Endereco: String); end;

Definindo-se os atributos Nome e Endereo como private eles s podem ser alterados pelo mtodo AtualizarDados, que por sua vez poder ser acessado por qualquer outra classe-objeto. No entanto esta definio no est completa. Uma classe-objeto em DELPHI precisa ser criada ou destruda atravs de Construtores e Destrutores.

Construtores e Destrutores
Quando uma nova classe definida em DELPHI necessrio declarar construtores. Um construtor permite criar a instncia de uma classe, ou seja, um objeto. Convenciona-se chamar um construtor pelo nome de Create. Um construtor denotado pela palavra Constructor.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao Ao contrrio dos construtores, os destrutores so utilizados para liberar a instncia da classe. Ao destrutor convenciona-se o nome de Destroy. Um destrutor denotado pela palavra Destructor. Sendo assim, uma nova definio para a classe TPessoa poderia ser:
type TPessoa = class(TObject) private Nome : string; Endereco : string; public procedure AtualizarDados(Nome, Endereco : string); protected constructor Create; destructor Destroy; end;

O constructor Create foi colocado na rea protected. Isto significa que ele s pode ser acessado pelas subclasses da classe TPessoa. Deste modo, a classe TPessoa nunca poderia ser um objeto, pois seu construtor no pode ser acessado por outras classesobjetos. Poderamos considerar esta definio como definitiva. No entanto, falta agora a implementao dos mtodos AtualizarDados e Create.

Implementao de Classes
A implementao das classes deve ser feita na rea de implementation de uma UNIT, e segue as regras normais da linguagem Turbo Pascal. A seguir apresentada a implementao completa da classe TPessoa.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
unit Pessoas; interface type TPessoa = class(TObject) protected Nome : string; Endereco : string; constructor Create; destructor Destroy: public procedure AtualizarDados (Nome, Endereco: string); end; implementation constructor TPessoa.Create; begin inherited Create; Nome := ; Endereco := ; end; destructor TPessoa.Destroy; begin inherited Destroy; end; procedure TPessoa.AtualizarDados(Nome, Endereco: string); begin Self.Nome := Nome; Self.Endereco := Endereco; end; end.

Trs detalhes importantes devem ser notados na implementao da classe TPessoa: o constructor Create e as clusulas inherited e self.

Constructor Create
No constructor Create podem ser omitidos as inicializaes dos atributos. Eles devem aparecer apenas quando deseja-se inicializar um atributo com um determinado valor.

Inherited
A clusula inherited, no constructor Create, indica que o mtodo Create foi herdado da classe-me (no caso, TObject).
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Self
A clusula self, na procedure AtualizarDados, indica que o atributo referenciado o da classe, e no a varivel passada como parmetro.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

2
Object Pascal
A linguagem Object Pascal proveniente da linguagem Pascal, que durante a dcada de 80 fez grande sucesso comercial atravs do Turbo Pascal. A estrutura bsica da linguagem, a maioria de seus comandos e sua sintaxe elegante ainda permanecem. Porm, com a evoluo para a programao orientada a objetos, a forma de se trabalhar com a linguagem e algumas de suas caractersticas foram sendo alteradas. Passou-se do Turbo Pascal 7 para o Turbo Pascal para Windows, que no fez o mesmo sucesso. Com o Delphi, a linguagem Pascal assume outra vez o lugar de destaque que sempre mereceu. Agora com o nome Object Pascal, muitas de suas caractersticas, que muitos pensam ser fruto de atualizaes posteriores, na verdade j faziam parte da linguagem padro, idealizada e concebida pelo seu criador, Niklaus Wirth.

Comentrios
Como ponto inicial, voc deve saber como fazer comentrios em seu programa Pascal. O Delphi suporta trs tipos de comentrios:

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
{ Comentrios utilizando chaves } (* Comentrios usando parente e asterisco *) // Comentrios no estilo C++

Variveis
A linguagem Object Pascal requer que se declare todas as variveis, antes de se iniciar uma procedure, function ou program. Isto significa que o cdigo escrito em Object Pascal, obedece a uma estrutura um pouco mais rgida do que em outras linguagens:
Procedure Foo; Var x, y: integer; f: double; Begin X := 1; Inc(x); y := 2; // ... end;

A linguagem Object Pascal, diferentemente das linguagem C e C++, no consideram maisculas e minsculas como formas diferentes. Por exemplo, X e x se referem a uma mesma varivel.
Dica

A utilizao de letras MAISCULAS e minsculas pode ser til para dar clareza aos nomes de variveis, procedures, functions, etc. Por exemplo, a seguinte declarao: Procedure estaprocedurenaofaznada; difcil de ler. Ficaria bem melhor da seguinte forma: Procedure EstaProcedureNaoFazNada; Note como a Object Pascal permite voc agrupar mais de uma varivel de mesmo tipo juntas em uma mesma linha:
x, y: Integer;

Uma caracterstica implementada a partir da verso 2.0 do Delphi, permite se inicializar variveis globais na prpria declarao.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
Var I: P: S: D: integer = 10; Pointer = Nil; String = Alo mamae!; Double = 3.141579

A inicializao prvia de variveis permitida apenas para variveis globais e no aquelas que so locais a uma procedure ou function.

Constantes
As constantes so definidas aps a clusula const, similar linguagem C, como no exemplo abaixo:
const float AdecimalNumber = 3.14; const int i = 10; const char *ErrorStrng = Perigo, perigo, perigo!;

A diferena entre as constantes entre C e Object Pascal que em Pascal no preciso declara o tipo de uma constante. O compilador Delphi aloca automaticamente o espao apropriado para a constante baseado em seu valor.
Const AdecimalNumber = 3.14; i = 10; ErrorString = Perigo, perigo, perigo!;

Opcionalmente pode-se especificar o tipo de uma constante.


Const AdecimalNumber: double = 3.14; i: Integer = 10; ErrorString: string = Perigo, perigo, perigo!;

A linguagem Object Pascal permite o uso de algumas funes nas declaraes de constantes e variveis. Estas funes incluem Ord(), Chr(), Trunc(), Round(), High(), Low() e SizeOf().

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
Type A = array[1..2] of integer; Const W: word = Sizeof(Byte); Var I: integer = 8; J: SmallInt = ord(a); L: LongInt = Trunc(3.14159); X: ShortInt = Roud(2.17828); B1: byte = High(A); B2: byte = Low(A); C: Char = Chr(46);

Se durante a execuo de um programa tentar-se alterar o valor de uma constante, o Delphi apresenta um erro de compilao.

Operadores
Os operadores so smbolos que habilitam a manipulao de todos os tipos de dados. Em Object Pascal os operadores esto definidos basicamente em: operador de atribuio, operadores aritmticos, operadores lgicos, operadores relacionais, etc.:

Operador de Atribuio
O operador de atribuio utilizado para alterar o contedo das variveis. Para atribuir um valor a uma varivel utiliza-se o operador :=.
PI := 3.1415; Mens := Pressione OK para sair

Operador de Comparao
O Object Pascal utiliza o operador = para realizar comparaes lgicas entre duas expresses ou dois valores.
if X = Y then ...

Operadores Lgicos
O Pascal utiliza as palavras and, or e not como operadores lgicos.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
If (condio1) and (condio2) then FazIsso While (condio1) or (condio2) do FazAquilo If not (condio) then FacaAlgumaCoisa;

Operador Atribuio Comparao Diferena Menor Maior Menor ou igual Maior ou igual

Smbolo

e lgico ou lgico not lgico

:= = <> < > <= >= and or not

Operadores Aritmticos
De forma geral, os operadores aritmticos so os mesmos existentes em outras linguagens de programao. A diferena que o Pascal possui diferentes operadores de diviso. O operador div (diviso inteira) trunca automaticamente o resultado final da diviso.
Operador Adio Subtrao Multiplicao Diviso Real Diviso Inteira Resto da Diviso Smbolo

+ * / Div Mod

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
Ateno

Use o operador de diviso correto para os tipos de expresses que se est trabalhando. O compilador ir apresentar um erro ao dividir dois nmeros de ponto flutuante utilizando o operador inteiro div ou dois inteiros utilizando o operador /.

Operadores de Incremento e Decremento


Os operadores de incremento e decremento geram um cdigo mais otimizado para a adio e subtrao de variveis inteiras. Os comando Inc() e Dec() realizam a adio e a subtrao. Pode-se utilizar estes operadores como um ou dois parmetros.
... var VInt: Integer; begin VInt := 10; Inc(VInt) // Produz resultado idntico a VInt := VInt + 1 Inc(VInt, 3) // idntico a VInt := VInt + 3 Dec(Vint, 5) // idntico a Vint := Vint - 5 end.

Tipos de Dados
A definio de tipos de dados corretos para as variveis muito importante, pois alm de permitirem a economia de memria, eles tem, em muitos casos, de ter compatibilidade com os seus respectivos tipos de dados do Windows.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Tipos de Dados NUMRICOS INTEIROS


Tipo Tamanho (em bytes) Byte ShortInt Word SmallInt Longint 1 1 2 2 4 0..255 -128..127 0..65535 -32768..32768 -2147483648..2147483647 Domnio

Os tipos inteiros genricos so CARDINAL e INTEGER. O tipo Cardinal representa um inteiro sem sinal e o tipo Integer representa um inteiro com sinal. O tamanho e formato do tipo Integer e do tipo Cardinal variam de acordo com as diferentes implementaes da linguagem Object Pascal, mas geralmente so aqueles resultam em operaes inteiras mais eficientes para uma determinada CPU ou Sistema Operacional.
Tipo Tamanho (em bytes) Cardinal Integer Cardinal Integer 2 2 4 4 -32768.. 32767 0.. 65636 0.. 2147483647 -2147483648.. 2147483647 Domnio

Tipos de dados NUMRICOS REAIS e MOEDA


Tipo Tamanho (em bytes) Single Real Double Extended Comp Currency 4 6 8 10 8 8 1.5 * 10-45 .. 3.4 * 1038 2.9 * 10-39 .. 1.7 * 1039 5.0 * 10-324 .. 1.7 * 10308 3.4 * 10-4932 .. 1.1 * 104392 -26310 .. 263-10 -922337203685477.5808.. 922337203685477.5807 Domnio

O tipo Currency o tipo MOEDA. Ele tem preciso de quatro casas decimais e compatvel com os bancos de dados que representam dinheiro.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Tipos de dados BOOLEANOS


Tipo Tamanho (em bytes) Boolean ByteBool WordBool LongBool 1 1 2 4 1 byte 1 byte uma palavra uma palavra dupla Armazenamento

A existncia de diversos tipos lgicos que armazenam a mesma coisa (TRUE ou FALSE) d-se pela necessidade de compatibilizao com os tipos do Windows.

Tipos de Dados Caracter


Tipo Tamanho (em bytes) Char AnsiChar WideChar 1 1 2 1 caracter ANSI 1 caracter ANSI 1 caracter Unicode Armazenamento

AnsiChar: o padro de caracteres ANSI de 1 byte que todos ns conhecemos. WideChar: um tipo de 2 bytes surgido com o Delphi 2 para representar um caracter Unicode. Char: idntico ao AnsiChar.

Tipos de Dados String


Tipo Tamanho (em bytes) ShortString AnsiString String WideString 255 at 3 Gb 255 ou at 3 Gb at 1,5 Gb ANSIChar ANSIChar ANSIChar WideChar Armazenamento

O tipo AnsiString padro. Quando declarada uma varivel como STRING assumido AnsiString. Este tipo surgiu com o Delphi 2 para facilitar a manipulao de
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao strings que excediam o tamanho de 255 caracteres (ShortString). As variveis declaradas com este tipo so alocadas dinamicamente e s ocupam memria enquanto esto sendo utilizadas e a medida que vo aumentando de tamanho, o seu espao em memria realocado automaticamente.

Tipo PChar
O tipo PChar permite tambm que voc manipule strings. Quando voc utiliza uma varivel com o tipo PChar, o Delphi assume que todo o gerenciamento de alocao e liberao de memria ser realizado pelo cdigo do programa. As variveis do tipo PChar possuem como delimitador de fim de string o caracter especial #0.

Tipo Variant
O tipo de dados variant um tipo nico que pode manipular diferentes tipos de dados. O tipo variant pode manipular strings, inteiros, reais, entre outros. Porm uma varivel do tipo variant no poder manipular tipos de dados dinmicos, como, por exemplo, os ponteiros (pointer) e as classes de dados (os objetos). Exemplo
... Var V1, V2, V3: Variant; Begin V1 := 1200; V2 := Borland Delphi; V3 := 3.1415; V1 := V1 + V2 + V3; end.

Note que para o mesmo tipo foram atribudos trs diferentes tipos. Portanto, deve-se tomar cuidado quando realizar operaes envolvendo este tipo de dado. No exemplo acima, o contedo da varivel V1 ser igual a 1200Borland Delphi3.1415.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao Veja que neste caso o compilador ir converter todos as variveis envolvidas na operao para o tipo String e realizar uma concatenao.

Tipos Definidos pelo Usurio


Nmero inteiros, strings e ponto flutuante freqentemente no so suficientemente adequados para representar variveis nos problemas do mundo real. Neste casos deve-se criar tipos complexos para melhor representar variveis de um determinado problema. Em Pascal, os tipos definidos pelo usurio geralmente so da forma de registros (records) ou objetos.

Arrays
A linguagem Object Pascal permite criar arrays (matrizes) de qualquer tipo. Por exemplo, uma varivel declarada como Array com oito nmeros inteiros:
Var A: Array[0..7] of integer;

A declarao de arrays em Pascal possui uma propriedade que difere de outras linguagens: A array no precisa iniciar com um determinado nmero.
Var A: Array[28..30] of integer;

Records
O tipo record permite que se agrupe em uma nica varivel, um conjunto de tipos de dados diferentes. A aplicao deste tipo de dado bastante semelhante ao conceito de registro, ou seja, ou seja, uma varivel do tipo record composta por vrios campos. Record tipo estruturado em Pascal, equivalente ao struct do C.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
{ Pascal } Type MyRec = record I:integer; D:double; end /* C */ typedef struct { int i; double d; }MyRec;

Quando se trabalha com records, utiliza-se o caracter ponto para acessar cada campo.
... var N: MyRec Begin N.i := 23; N.d := 3.4; end;

Pointers
O tipo de dado Pointer uma varivel que armazena um endereo de memria, e no um valor, como estamos acostumados a trabalhar. Um exemplo de varivel do tipo pointer o tipo PChar, mostrado anteriormente. Existem duas formas de implementao para o tipo pointer: pointer tipados e pointers no tipados. Uma varivel pointer tipada quando se conhece o tipo de dado que est armazenado no endereo de memria contido na varivel pointer.
... var PP1: ^Integer; begin New(PP1); // PP1^ := 1998; // // Dispose(PP1); // end.

Aloca memria para a varivel PP1 Atribui valor ao endereo de memria apontada pela varivel PP1 Libera memria que foi alocada para PP1

Uma varivel pointer no-tipada uma varivel que armazena um endereo de memria que no se conhece o tipo de contedo deste endereo.
... var PP2: Pointer; begin GetMem(PP2, 100); //Aloca 100 bytes para PP2 StrPCopy(PP2, Delphi 3) //Atribui valor ao endereo de //memria apontado pela varivel PP2 FreeMem(PP2); // Libera memria alocada para PP2 end. O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao muito comum a utilizao de variveis do tipo record juntamente com o pointer para a implementao de listas (pilhas, filas, rvores, grafos, etc.).

Objetos
Pode-se dizer que um objeto um record que contm functions e procedures.
type TobjetoFilho = class( TObjetoPai ) V: Integer; procedure FazNada; end;

Estruturas de Deciso
No Object Pascal existem dois comandos para tomar decises durante a execuo de um programa. So as instrues IF e CASE.

O comando IF
A instruo IF permite controlar a execuo de outras instrues (ou bloco de instrues) do programa, dependendo do valor de uma varivel ou expresso booleana. Quando a expresso booleana tem o valor True, a instruo (ou bloco) que segue a palavra THEN executada. Quando a expresso booleana tem o valor False, a instruo (ou bloco) que segue a palavra ELSE executada.
IF expresso booleana THEN instruo; IF expresso booleana THEN instruo1 ELSE instruo2;

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
IF expresso booleana THEN BEGIN instruo; ... instruo; END ELSE BEGIN instruo; ... instruo; END;

expresso booleana: constante, varivel ou expresso boleana. instruo: qualquer instruo Pascal, inclusive outra instruo IF.

Ateno

Se uma instruo if possui vrias condies (expresses booleanas) estas devem vir entre parntesis.
if (x=7) and (y=8) then ...

O Comando CASE
O comando CASE equivalente a uma srie de comandos IF. Se a varivel de controle igual a uma das constantes de uma lista, a instruo ou bloco de instrues associada lista executada. Se a varivel de controle no igual a nenhuma das constantes, a declarao case no ter nenhum efeito e o computador passa para instruo seguinte do programa.
CASE varivel-controle OF constante1: instruo1; constante2: instruo2; ... ELSE instruo1; END;

varivel-controle: constantes:

uma varivel do tipo inteiro, caracter ou definido pelo usurio, mas no pode ser do tipo real. pode ser um nico valor, vrios valores isolados separados por vrgula ou uma faixa de valores, indicadas pelo valor mnimo e mximo separados por dois pontos finais (..).

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Estruturas de Repetio
Na linguagem Pascal esto disponveis trs estruturas de repetio que fornecem uma grande flexibilidade na representao de um processo repetitivo. Um loop executa uma instruo (ou bloco de instrues) repetidamente. As trs estruturas de repetio em Pascal so representadas pelas palavras reservadas FOR, WHILE e REPEAT.

O Comando FOR
O comando FOR usado para repetir vrias vezes a mesma instruo ou bloco de instrues. Durante a execuo, uma varivel usada como ndice assume uma srie de valores, desde um dado valor inicial at um valor final. Na forma FOR-TO, o ndice assume valores crescentes; na forma FOR-DOWNTO, o ndice assume valores decrescentes. A forma geral da declarao a seguinte:
FOR ndice := inicial TO final DO instruo

FOR ndice := inicial TO final DO BEGIN instruo1; instruo2; ... END;

FOR ndice := inicial DOWNTO final DO BEGIN instruo1; instruo2; ... END;

ndice:

O ndice uma varivel ordinal. O ndice pode ser do tipo inteiro, caracter, byte ou definido pelo usurio. No pode ser uma varivel real. Valor inicial da varivel ndice. Valor final da varivel ndice. Qualquer instruo Pascal.

inicial: final: instruo:

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao As variveis ordinais possuem uma propriedade chamada ordem. Em outra palavras, faz sentido falar em nmero inteiro seguinte ou no caracter anterior. O nmero inteiro que vem depois de 6 7; o caracter que precede M L. As variveis reais no so ordinais. No faz sentido falar no nmero real seguinte, p orque entre dois nmeros reais quaisquer sempre existe outro nmero real. importante notar que se inicial for maior ou igual a final, as instrues contidas no loop do tipo FOR-TO sero simplesmente ignoradas. O mesmo acontecer em um loop do tipo FOR-DOWNTO se inicial for menor que final.
Ateno

O valor do ndice s definido no interior do loop. Depois que o programa sai de um loop FOR-TO ou FOR-DOWNTO, a varivel usada como ndice tem um valor indefinido. Se o valor dessa varivel for usada depois de o programa sair do loop, o programa ir se comportar de forma imprevisvel.

O Comando REPEAT
A instruo REPEAT faz com que uma instruo (ou bloco de instrues) seja executada repetidas vezes, at que uma certa condio seja satisfeita. Observe que na forma composta da declarao, as palavras BEGIN e END no so usadas para delimitar as declaraes que fazem parte do loop; este sempre comea pela palavra REPEAT e termina na palavra UNTIL.
REPEAT instruo UNTIL condio;

REPEAT instruo1; instruo2; ... UNTIL condio;

condio instruo

uma expresso booleana. qualquer instruo Pascal.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao Como a condio verificada no final do loop, todo loop do tipo REPEAT executado pelo menos uma vez. Se a condio nunca assume o valor True, o loop s pra se o programa for interrompido do manualmente.

O Comando WHILE
O loop WHILE semelhante ao loop REPEAT. A principal diferena est no fato de que o loop REPEAT sempre executado pelo menos uma vez; o loop WHILE pode no ser executado nenhuma vez.
WHILE condio DO instruo. WHILE condio DO BEGIN instruo1; instruo2; ... END;

condio instruo

uma expresso booleana. uma instruo Pascal. Na forma composta do loop WHILE no preciso colocar um ponto e vrgula depois da ltima instruo.

Procedimentos e Funes
Procedimentos (procedures) e Funes (functions) so partes do programa que podem executar uma tarefa especfica quando chamamos de um dos mdulos do programa. Aps a execuo do procedimento ou funo, o controle da execuo retorna ao mdulo do programa que executou a chamada. Os procedimentos e funes so executados de forma bastante semelhante, porm, uma funo retorna um valor de retorno, enquanto que um procedimento apenas executa um bloco de comandos.
Procedure ReajustaSalario; begin if Salario > 600 then Salario := Salario * 1.05 else Salario := Salario * 1.10; end;

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
Function HouveReajuste: Boolean begin if Salario > 600 then result := false else result := true; end;

Note que na implementao da funo necessrio indicar o tipo de retorno da funo. Para a funo retornar o valor desejado, deve-se utilizar a varivel de sistema Result.
begin while Salario < 600 do ReajustaSalario; End; begin if HouveReajuste then ShowMessage(Reajuste); end;

Procedimentos e Funes com Parmetros


A linguagem Pascal permite se utilize parmetros na implementao de procedimentos e funes. O Pascal permite passagem de parmetros por valor ou por referncia. Os parmetros passados podem ter um tipo bsico ou um tipo definido pelo usurio ou arrays abertas (que ser visto mais adiante). Um parmetro pode tambm ser constante, caso seu valor no seja alterado durante a execuo da procedure ou da function.

Passagem de Parmetros por Valor


A passagem de parmetros por valor a forma padro do Pascal. Quando um parmetro passado por valor, significa que uma copia local daquela varivel criada e a function ou procedure opera sobre essa cpia.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
... var m: String; procedure Mens(s: string ); begin s := Mensagem: + s; ShowMessage( s ); end; begin // Inicio do Programa Principal

m := teste de passagem de parametros; Mens( m ); end.

No exemplo acima, na chamada da procedure Mens, apenas o valor contido na varivel m passado para a varivel s da procedure. Desta forma, a procedure ir operar com a varivel s, sem afetar o contedo da varivel m.

Passagem de Parmetros por Referncia


Passar um parmetro por referncia significa que a funo ou procedimento poder alterar o valor da varivel enviada na sua chamada. Para passar uma varivel por referncia utiliza a palavra var na lista de parmetros da procedure ou function.
procedure ChangeMe(var x: LongInt); begin x := x + 2; end; begin z := 10 ChangeMe( z ); end.

No exemplo acima, o endereo de memria da varivel x ser o mesmo endereo da varivel z, utilizada na chamada da procedure. Desta forma, toda a alterao realizada na varivel x ser refletida na varivel z. Assim sendo, aps a chamada da procedure ChangeMe( z ) a varivel z, que inicialmente continha o valor 10, ter o valor 12.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Parmetros Constantes
Se o valor de um parmetro no vai ser alterado durante a execuo da procedure ou function, pode-se declara-lo como constante atravs da clusula conts. A palavra const previne qualquer modificao de valor e tambm gera um cdigo otimizado.
procedure ApresentaMensagem(const Mens: String);

Parmetros com Arrays Abertas


Atravs deste tipo de parmetro possvel passar um nmero varivel de argumentos para procedures ou functions. Pode-se passar arrays cujos elementos possuem o mesmo tipo ou pode-se passar arrays constantes de tipos diferentes. O exemplo abaixo declara uma funo que recebe uma array aberta com elementos inteiros.
function TesteArray(A: Array of integer): integer;

Pode-se passar variveis, constantes ou expresses para a funo acima.


var i, Rez: Integer; const j = 23 begin i := 8; Rez := TesteArray( [ i, 50, j, 89 ] ); ...

Para se trabalhar com uma array aberta dentro da procedure ou function pode-se utilizar as funes High(), Low() e SizeOf() para se obter informaes sobre a array. A linguagem Object Pascal suporta tambm um array de constantes que permite passar dados de tipos diferentes para uma function ou procedure.
procedure TesteArrayConstante( A: array of const );

A funo acima pode ser chamada da seguinte maneira:

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
TesteArrayConstante([Maceio,90,5.6,@X,3.14159,True,s]);

Units
As Units so mdulos de programa onde so agrupados os procedimentos e funes que compem a aplicao Delphi. Uma Unit composta de reas pr-definidas.
unit Unit1; interface uses Windows, Messages, Forms, Dialogs;

SysUtils,

Classes,

Graphics,

Controls,

type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} end.

A rea Unit
Nesta rea encontra-se o incio da Unit, determinada pela palavra Unit, seguida pelo seu identificador (nome). O nome da unit ser gerado pelo Delphi e ter o mesmo nome que o arquivo armazenado em disco. Isto , inicialmente o Delphi gera automaticamente o nome da Unit. Ao ser gravado no disco, a Unit assume o nome dado ao arquivo.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

A rea Interface
A rea de interface encontra-se sempre aps a rea da Unit e antes da rea de implementation. Esta rea utilizada para realizar as declaraes de variveis, constantes, tipos, procedimentos e funes, etc. As declaraes posicionadas nesta rea podero ser compartilhadas por outras Units ou pelo mdulo principal da aplicao. Nesta rea somente podero aparecer declaraes, nunca aparecer linhas de comando.

A rea Implementation
Nesta rea ser encontrado basicamente a implementao dos procedimentos e funes. Pode ainda conter declaraes de variveis, constantes, tipos, etc. que no podero ser compartilhados por outras Units, nem pelo prprio mdulo principal da aplicao. Isto e, os dados declarados na rea implementation so dados locais, somente visveis dentro da Unit na qual foram declarados.

reas Opcionais
A rea Initialization
Esta rea, quando existente, deve conter linhas de comando responsveis pela inicializao de variveis, objetos, etc., declarados dentro da Unit. A execuo desta rea realizada antes da execuo do mdulo principal da aplicao e ocorre uma nica vez.

A rea Finalization
Esta rea deve aparecer aps a rea Initialization e deve conter linhas de comandos relativas a desalocao de memria de variveis do tipo Pointer ou Objetos. A execuo desta rea realizada s sua aplicao est sendo encerrada.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

A clusula Uses
A clusula uses serve para que possamos tornar acessveis as variveis, constantes, procedimentos e funes declarados na rea Interface de uma determinada Unit. A clusula uses deve aparecer dentro da Unit na qual deseja-se manipular dados declarados fora do se escopo.
program Prog; uses Unit2; const a = b; begin end. unit Unit2; interface uses Unit1; const b = c; implementation end. unit Unit1; interface const c = 1; implementation const d = 2; end.

Referncia Circular
A clusula uses pode aparecer na rea interface ou na rea implementation, sem interferir em desempenho ou tamanho da aplicao. Porm, existe um caso em que se torna obrigatrio a declarao da clusula uses dentro da rea implementation da Unit. Isto acontece quando duas Units fazem referncia entre si. Este processo conhecido como Referncia Circular.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
Unit UnAcessa Interface var B: Integer; Implementation uses UnDeclara; procedure Inicia; begin A := 10; end; end. Unit UnDeclara Interface var A: Integer;

Implementation uses UnAcessa; procedure Reset; begin B := 0; end; end.

No exemplo acima mostra um caso de referncia circular que foi solucionada devido declarao da clusula uses ter sido feita na rea implementation. Caso a declarao da clusula uses tivesse sido feita na rea interface, seria apresentado um erro durante a compilao

Excees
Excees so erros que ocorrem durante a execuo do programa. Existem diversos tipos de excees, que podem ocorrer nas seguintes operaes: alocao de memria; criao e utilizao de objetos; clculo de expresses matemticas; manipulao de arquivos; utilizao de recursos do sistema operacional. Algumas das principais caractersticas das excees no DELPHI so: a instncia da exceo fornece informaes sobre o tipo de problema ocorrido; usurio pode definir suas prprias excees, utilizando a classe Exception; para forar a execuo de uma exceo utiliza-se a clusula Raise; os tipos de exceo normalmente devem iniciar com a letra E. uma exceo gera um evento denominado OnException.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao As excees podem ser tratadas atravs das instrues: Try ... Except Try ... Finally

Try ... Except


O bloco try ... except utilizado para definir um cdigo de programa a ser executado no momento que ocorrer uma exceo.
try { Bloco de comandos} except { comandos executados quando ocorrer uma exceo} end;

Exemplo: tratamento de uma diviso por zero.


... Valor1 := StrToInt(Edit1.Text); Valor2 := StrToInt(Edit2.Text) try Resultado := Valor1 div Valor2; except ShowMessage (Diviso por Zero); end; ...

No entanto, pode ocorrer mais de uma exceo dentro de um mesmo bloco. Neste caso necessrio utilizar o comando on ... do.

On ... Do
O comando on ... do permite tratar mais de um tipo de exceo de um bloco try ... except.
on {Tipo de exceo} do {Bloco de comandos da exceo}

Exemplo: tratamento de uma diviso por zero e da digitao de um caracter em um campo que deveria ser numrico.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
... try Valor1 := StrToInt (Edit1.Text); Valor2 := StrToInt (Edit2.Text) Resultado := Valor1 div Valor2; except on EDivByZero do ShowMessage (Diviso por Zero); on EInOutError do ShowMessage (Os valores devem ser numricos); end;

Tipos de Exceo
Os principais tipos de exceo da RTL (RunTime Library) do DELPHI, a serem tratadas nos blocos on ... do so:

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
Nome EaccessViolation EconvertError EdivByZero EinOutError EintOverFlow EinvalidCast EinvalidOp EinvalidPointer EoutOfMemory EoverFlow ErangeError EstackOverflow Eunderflow EzeroDivide Descrio Ocorre quando se tenta acessar uma regio de memria invlida (ex: tentar atribuir valor a um ponteiro cujo contedo nil). ocorre quando se tenta converter um string em um valor numrico (ex: utilizar a funo StrToInt em uma letra). ocorre na diviso de um nmero por zero. ocorre numa operao incorreta de I/O (ex: abrir um arquivo que no existe). ocorre quando o resultado de um clculo excedeu a capacidade do registrador alocado para ele (para variveis inteiras). ocorre quando se tenta realizar uma operao invlida com o operador as (ex: tentar usar um Sender com uma classe que no corresponde a seu tipo). ocorre quando se detecta uma operao incorreta de ponto flutuante. ocorre quando se executa uma operao invalida com um ponteiro (ex: tentar liberar um ponteiro duas vezes). ocorre quando se tenta alocar memria mas j no existe mais espao suficiente. ocorre quando o resultado de um clculo excedeu a capacidade do registrador alocado para ele (para variveis de ponto flutuante). ocorre quando uma expresso excede os limites para a qual foi definida (ex: tentar atribuir 11 ao ndice de um vetor que pode ir no mximo at 10). ocorre quando o sistema no tem mais como alocar espao de memria na Stack. ocorre quando o resultado de um clculo pequeno demais para ser representado como ponto flutuante. ocorre quando se tenta dividir um valor de ponto flutuante por zero.

Try ... Finally


O bloco try ... finally permite que um bloco de comandos seja executado, mesmo quando houver uma exceo.
try { Bloco de comandos} finally {Comandos executados mesmo quando ocorrer uma exceo} end;

Por exemplo, garantir que um arquivo ser fechado mesmo quando ocorrer uma exceo.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
... assign (arq, teste.txt); try reset(arq) // outros comandos sobre o arquivo finally close (arq) end; ...

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

IVGraduaem Cincia da
Ambiente Integrado de Desenvolvimento IDE

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

3
O Ambiente DELPHI
O ambiente de desenvolvimento do Delphi possui as caractersticas IDE (Integrated Developer Environment Ambiente Integrado de Desenvolvimento).

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

O DELPHI possui um conjunto de ferramentas que permitem facilitar e agilizar a construo de programas, permitindo uma melhor interao entre o programador e o computador. Seus principais componentes so: Janela Principal Janela OBJECT INSPECTOR Janela FORM DESIGNER Janela CODE EDITOR

Janela Principal
A janela principal controla o funcionamento do Delphi. atravs dessa janela que mantemos o Delphi aberto, que identificamos qual projeto est ativo, que executamos os comandos de compilao, entre outras funcionalidades. Esta janela pode ser dividida em trs partes: Menu Principal: contm as opes de utilizao do DELPHI; Barra de Ferramentas: contm botes que agilizam determinadas funes do DELPHI; Paleta de Componentes: contm diversas pginas de componentes que podem ser utilizados na construo do projeto.

A Janela Principal: dividida em trs partes.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Menu Principal
Assim como toda aplicao Windows, no menu principal esto presentes os comandos de abertura, criao, compilao, configurao do ambiente e chamadas a ferramentas auxiliares como, por exemplo, o Image Editor. File Abrir, salvar, fechar e imprimir projetos e arquivos, e acrescentar novos formulrios ou Units ao projeto que est aberto.
Comando New New Application New Form New Data Module Open Reopen Save Save As Save Project As Save All Close Close All Use Unit Add to Project Remove From Project Print Exit Descrio Abre a caixa de dilogo New Items que contm novos itens que podem ser criados. Cria um novo projeto contendo um novo formulrio, uma Unit e o arquivo .DPR. Cria e adiciona um novo formulrio ao projeto. Cria e adiciona um novo formulrio do tipo DataModule ao projeto. Abre uma caixa de dilogo para carregar um projeto, um formulrio ou uma Unit no Code Editor. Apresenta um menu contendo uma lista dos ltimos projetos e mdulos utilizados. Grava o arquivo ativo com o seu nome atual. Grava o arquivo ativo com um novo nome. Grava o projeto corrente com um novo nome. Grava todos os arquivos abertos, tanto o projeto como seus mdulos. Fecha uma Unit e/ou Formulrio ativo. Fecha todos os arquivos. Adiciona uma Unit clusula uses do mdulo ativo. Adiciona um arquivo (Unit/Formulrio) ao projeto. Remove um arquivo do projeto. Envia o arquivo ativo para a impressora. Fecha o projeto aberto e finaliza a execuo do Delphi.

Edit Comandos para manipular textos e componentes em tempo de projeto.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Comando Undelete (Undo) Redo Cut Copy Paste Delete Select All Align To Grid Bring To Front Send To Back Align Size Scale Tab Order Creation Order Lock Controls Add to interface

Descrio Desfaz a ltima ao efetuada. Reverte um comando Undo. Remove um item selecionado e o coloca no Clipboard. Coloca uma copia do item selecionado no Clipboard, permanecendo o item original. Copia o contedo do Clipboard na janela Code Editor ou no formulrio. Remove o item selecionado. Seleciona todos os componentes no formulrio. Alinha o componente selecionado grade do formulrio. Move o componente selecionado para a frente de outro componente. Move o componente selecionado para trs de outro componente. Alinha os componentes selecionados. Altera o tamanho dos componentes selecionado. Altera o tamanho de todos os componentes do formulrio. Altera a ordem (tabulao) dos componentes do formulrio ativo. Modifica a ordem em que os componentes no visuais sero criados. Quando acionado, no permite que componentes sejam movidos (arrastados) de suas posies Define um novo mtodo, evento ou propriedade para um componente ActiveX

Search Localiza texto, erros, objetos, units, variveis e smbolos no Code Editor.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Comando Find Find In File Replace Search Again Incremental Search Go to Line Number Find Error Browse Symbol

Descrio Procura por um texto especificado e marca a primeira ocorrncia encontrada no Code Editor Procura por um texto especificado e apresenta cada ocorrncia em uma janela abaixo do Code Editor. Procura por um texto especificado e o substitui por um novo texto. Repete a procura. Procura por um texto movendo o cursor diretamente prxima ocorrncia do texto digitado na barra de status. Move o cursor para uma determinada linha. Procura pelo erro de execuo mais recente. Procura por um determinado smbolo.

View Apresenta (ou esconde) diferentes elementos do ambiente Delphi e abre janelas do depurador de cdigo (debugger).

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Comando Project Manager Project Source Object Inspector Alignment Palette Browser Breakpoints Call Stack Watches Threads Modules Component List Window List Toggle Form/Unit Units Forms Type Library New Edit Window SpeedBar Component Palette

Descrio Mostra a janela do Project Manager. Apresenta o arquivo de projeto (.DPR) no Code Editor. Mostra o Object Inspector. Mostra uma janela contendo opes para alinhamento de componentes no formulrio (Alignment Palette). Mostra o Object Browser. Apresenta uma janela contendo uma lista dos breakpoints atualmente definidos (Breakpoints List). Apresenta uma lista da seqncia atual das rotinas chamadas por um programa (Call Stack). Apresenta uma janela para visualizar o contedo de variveis durante a execuo de um programa (Watch List). Apresenta um janela de status dos threads (Thread Status). Mostra uma janela contendo os mdulos da aplicao. (Modules). Apresenta uma lista de todos os componentes (Components). Apresenta uma lista das janelas abertas (Window list). Alterna entre o formulrio e sua Unit correspondente. Mostra as Units que fazem parte do projeto. Mostra os formulrios que fazem parte do projeto. Mostra a janela Type Library que permite examinar e criar informaes de tipo para controles ActiveX. Abre uma nova janela para o Code Editor. Esconde/mostra a Barra de Ferramentas (SpeedBar). Esconde/Mostra a Paleta de Componentes.

Project Permite adicionar ou remover novos mdulos em um projeto, bem como compil-lo;

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Comando Add to Project Remove from Project Import Type Library Add To Repository Compile Build All Syntax Check Information Web Deployment Options Web Deploy

Descrio Adiciona um arquivo ao projeto. Remove um arquivo do projeto. Importa uma biblioteca de tipos para um projeto. Adiciona um projeto ao Object Repository. Compila todos mdulos que foram alterados desde a ltima compilao. Compila todos os arquivos do projeto. Compila o projeto sem passar pelo processo de link-edio. Mostra informaes sobre o projeto Configura um controle ActiveX ou ActiveForm para ser efetivamente utilizado em seu servidor Web. Aps configurar e compilar o projeto, utilize este comando para que o controle ActiveX ou ActiveForm seja utilizado pelo servidor Web. Apresenta a janela de opes do projeto (Project Options).

Options

Run Apresenta opes de execuo e depurao do projeto.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Comando Run Parameters Register ActiveX Unregister ActiveX Servers Step Over Trace Into Trace To Next Source Line Run To Cursor Show Execution Point Program Pause Program Reset Add Watch

Descrio Compila e executa a aplicao. Especifica parmetros de inicializao da aplicao. Registra o projeto no Windows. Disponvel Quando for um projeto ActiveX. Remove o projeto do registro Windows. Disponvel quando for um projeto ActiveX. Executa um programa linha por linha, sem passar pelas procedures ou functions. Executa um programa linha por linha, passando inclusive pelas procedures e funcitons. Executa um programa parando a cada prxima linha executvel. Executa a aplicao a partir da localizao do cursor na janela Code Editor. Posiciona o cursor no ponto de execuo. Suspende temporariamente a execuo de um programas. Finaliza a execuo do programa e libera a memria. Abre a janela Watch Properties onde podem ser definidas as variveis que sero visualizadas durante a execuo do programa. Abre o Edit Breakpoint onde podem ser definidos breakpoints (pontos de parada do programa). Abre a janela Evaluate/Modify onde pode-se calcular ou alterar o valor de uma expresso.

Add Breakpoint Evaluate/Modify

Component Permite a criao ou instalao de novos componentes no DELPHI.


Comandos New Component Install Component Import ActiveX Control Create Component Template Install Packages Configure Palette Descrio Abre o Component Expert para criar uma Unit bsica para um novo componente. Instala um componente em um package (pacote) novo ou j existente. Adiciona bibliotecas de controles ActiveX em um projeto Delphi. Personaliza um componente e salva-o na Paleta de Componentes Especifica os packages (pacotes) requeridos pelo projeto. Abre a janela de configurao de componentes e paletas.

Database Possui ferramentas que permitem criar, modificar e visualizar Consultas e Tabelas de Banco de Dados.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Comandos Explore

Descrio Abre o Database Explorer ou o SQL Explorer, dependendo da verso do Delphi. Ambos permitem criar, visualizar e alterar dados e Alias. O SQL Monitor permite visualizar chamadas feitas atravs de ligaes SQL (SQL Links) um servidor remoto atravs do ODBC. O Form Wizard permite gerar facilmente formulrios que apresentam dados de um banco de dados InterBase, Paradox, dBASE, ou Oracle.

SQL Monitor

Form Wizard

Tools Permite visualizar e alterar configuraes de ambiente, modificar a lista de programas externos ao Delphi.
Comandos Environment Options Repository Descrio Configura o ambiente e personaliza a aparncia da Paleta de Componentes. Apresenta a janela Object Repository para a configurao das pginas de componentes apresentados no comando New do menu File. Apresenta a janela Tools Options para adicionar ou remover programas do menu Tools. Cria e edita colees de packages (pacotes). As colees de pacotes so uma forma conveniente de agrupar pacotes para distribuio a outros programadores. Cria e edita arquivos de resource (.RES), icones, bitmaps, e cursores para serem usados em aplicaes Delphi. Cria, visualiza, modifica e consulta tabelas em formato Paradox, dBASE, e SQL.

Configure Tools Package Collection Editor

Image Editor Database Desktop

Workgroups Configura o controle de verses em projetos envolvendo vrios programadores. O controle de verses do Delphi feito pelo Intersolv PVCS Version Manager 5.1.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Comandos Browse PVCS Projects Manage Archive Directories

Descrio Apresenta a janela PVCS Project na qual pode ser feita todas as tarefas referentes ao controle de verses. Quando a janela PVCS est aberta, apresenta a janela Archive Directories que permite adicionar, remover ou criar diretrios para o PVCS Version Control armazenar informaes que compe um projeto. Permite salvar o projeto corrente em um diretrio de controle de verso. Apresenta a janela Data Directories para configurar a localizao de diretrios pblicos e privados.

Add Project to Version Control Set Data Directories

Help Ajuda do DELPHI.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Comando Contents

Descrio Selecione uma das pginas (Contedo, Indice ou Localizar). A pgina Contedo apresenta uma lista de tpicos organizada hierarquicamente. A pgina ndice apresenta os tpicos listados em ordem alfabtica. A pgina Localizar procura um texto especificado. Abre a janela Help posicionada na opo ndice, descrita anteriormente. Apresenta um resumo as novas caractersticas e extenses do Delphi 3.0 em relao s verses anteriores. Fornece informaes sobre as principais caractersticas do ambiente Delphi e os fundamentos de programao. Descreve a sintaxe e a semntica da linguagem de programao Object Pascal. Fornece informaes para tarefas avanadas. Fala sobre aplicaes de banco de dados, componentes personalizados e aplicaes Internet e Intranet. Explica como trabalhar com COM e ActiveX. Referncia completa da VCL, tipos, rotinas, variveis e constantes. Abre seu Web Browser e posiciona no site da Borland. Ligao direta para o site da Borland que se refere ao Delphi Ligao a sites de programas e servios. Fornece informaes sobre suporte tcnico. Apresenta os direitos autorais e informao sobre a verso utilizada. Possui tambm ligao para o site da Borland.

Keyword Search What's New Getting Started Using Object Pascal Developing Applications

Object and Component Reference Borland Home Page Delphi Home Page Borland Programs and Services About

Barra de Ferramentas
A barra de ferramentas contm as principais opes do menu principal e utilizada para acessar os comandos de forma mais rpida. O conjunto de botes da barra de ferramentas pode ser personalizada pressionando-se o boto direito do mouse sobre ela e escolhendo-se a opo Properties no menu.

Paleta de Componentes
Componentes so programas que representam os botes, os ComboBoxes, as tabelas. Etc. Cada pgina apresenta um conjunto de cones que representam as classes cujos objetos que sero utilizados nos formulrios das aplicaes.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Para adicionar componentes em um formulrio basta seleciona o componente e em seguida posiciona-lo no formulrio. Os componentes podem ser Visuais ou No-Visuais. Os componentes visuais so aqueles que podem ser redimensionados e aparecem no formulrio quando o projeto est sendo executado. Os componentes No-Visuais so visveis apenas em tempo de edio e no podem ser redimensionados. Todo componente Delphi um objeto que pertence a uma classe pr-definida. Em sua maioria um componente possui Propriedades, Mtodos e Eventos. Propriedades so dados relativos a um determinado componente, e que determinam suas caractersticas visuais e seu estado. Por exemplo, o tamanho de um boto, se uma tabela est aberta ou fechada. Eventos so trechos de programas (procedures) que so executados em resposta a uma determinada ao. Essa ao pode ser o clique do mouse sobre um boto da interface, a excluso de um registro em uma tabela, o fechamento de um formulrio, etc. Mtodos so procedimentos ou funes que executam uma determinada operao. Os mtodos esto associados a um determinado objeto e so declarados na classe que este objeto pertence. Por exemplo, existem mtodos para abrir tabelas, fechar formulrios, excluir registros, etc.

O Object Inspector
A janela Object Inspector contm propriedades e eventos dos componentes inseridos em um formulrio e tambm do prprio formulrio. A janela do Object Inspector possui um ComboBox e est dividida em duas pginas.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

A Janela OBJECT INSPECTOR: propriedades e eventos

A pgina Properties (Propriedades) permite que se altere os valores das propriedades dos componentes contidos no formulrio ou ainda as propriedades do prprio formulrio. J na pgina Events (Eventos) estabelecem-se aes a serem tomadas pelo componente a partir de um evento associado ao mouse, teclado, sistema operacional, etc. O ComboBox existente no Object Inspector mostra o componente atualmente selecionado no formulrio e apresenta uma lista com todos os componentes existentes no formulrio.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

O Form Designer
Um formulrio (FORM) a janela onde o desenvolvedor constri sua aplicao. A partir de um formulrio que se estabelece a interao usurio-computador, atravs de botes, rtulos e outros componentes, estabelecendo-se funes, mtodos ou eventos que sero ativados. Os componentes so dispostos na rea til do FORM.

A Janela FORM: interface.

Existem quatro tipos de formulrios: Normal: o FORM padro; MDIForm: os FORMS do tipo MDI (Multiple Document Interface), podem conter outros FORMS do tipo MDIChild; MDIChild: so FORMS que sempre esto subordinados a um FORM MDIForm; StayOnTop: so FORMS que sempre ficam visveis na tela.

O Code Editor
A janela Code Editor (Editor de Cdigo), onde se desenvolve o programa fonte. neste editor que se encontra a estrutura sinttica propriamente dita da Linguagem. Cabe ressaltar, no entanto, que boa parte do cdigo escrito gerado automaticamente.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

No topo do editor de cdigo encontra-se um controle de mltiplas pginas, onde cada pgina corresponde a um mdulo do programa (Unit). Geralmente as Units esto relacionadas aos formulrios da aplicao. A cada vez que se adiciona um novo formulrio na aplicao, o Delphi adiciona tambm uma nova pgina ao editor de cdigo.

A Janela CODE EDITOR: cdigo fonte

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

4
Biblioteca de Classes
Por ser uma linguagem de programao orientada a objetos o DELPHI possui uma biblioteca de classes denominada de VCL (Visual Component Library), para auxiliar na construo de programas. A biblioteca de classes do DELPHI pode ser visualizada no Browser (comando View|Browser do menu principal). No DELPHI existem as classes visveis e as no visveis. As classes no-visveis oferecem controles especializados que no so possveis ou necessrios atravs da interface visual. As classes no visveis mais comuns so a TApplication, a TScreen e a TPrinter.

Classes No-Visveis
TApplication
Quando se inicia um projeto em DELPHI, automaticamente criada uma varivel Application que do tipo TApplication. Esta classe permite a interao de sua aplicao com o Windows.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

A atribuio de valores s propriedades do TApplication pode ser feita apenas em tempo de execuo, ou durante o desenvolvimento do projeto na opo do menu Project - Options. Os principais mtodos da classe TApplication so: Run(): faz com que a aplicao seja executada. Este comando colocado automaticamente no cdigo fonte do projeto (veja em View - Project Source). HelpCommand(): carrega o arquivo de help da aplicao. Algumas das principais propriedades da classe TApplication so: MainForm: contm o formulrio principal da aplicao; Title: contm o ttulo da aplicao que ser apresentado para quando estiver minimizada; HelpFile: armazena o nome do arquivo de Help da aplicao; Icon: contm o cone que representa a aplicao.

TScreen
Quando se inicia um projeto em DELPHI, automaticamente criada uma varivel Screen que do tipo TScreen. Esta classe contm as caractersticas da tela na qual a aplicao est rodando. Algumas das principais propriedades da classe TScreen so: Cursor : contm o cursor que est em uso; Cursors: contm a lista dos cursores disponveis para a aplicao; Fonts: contm a lista de fontes disponveis para a aplicao; Forms: contm a lista de formulrios da aplicao; Height: contm a altura da tela (em pixels); Width: contm a largura da tela (em pixels).

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

TPrinter
Quando se inicia um projeto em DELPHI, automaticamente criada uma varivel Printer que do tipo TPrinter. Esta classe contm as caractersticas da impressora que est sendo utilizada pelo Windows, alm de permitir a impresso. Os principais mtodos da classe TPrinter so: BeginDoc(): inicia um processo de impresso. EndDoc(): finaliza um processo de impresso. Abort(): aborta o processo de impresso. NewPage(): inicia a impresso em uma nova pgina. Algumas das principais propriedades da classe TPrinter so: Printers: contm a lista de impressoras instaladas no Windows. PrinterIndex: contm o ndice da impressora ativada. Orientation: contm a orientao do papel. PageHeight: contm a altura da pgina de impresso. PageWidth: contm a largura da pgina de impresso. PageNumber: contm o nmero da pgina que est sendo impressa. Title: contm o ttulo da pgina impressa. Para a impresso de dados utilizando o TPrinter necessrio utilizar a classe TCanvas.

Componentes
As classes visveis so aquelas que podem ser manipuladas atravs da Paleta de Componentes, ou seja, so os prprios componentes A paleta de componentes a biblioteca de classes que fornece recursos para o desenvolvimento visual em DELPHI. Os componentes VCL ( Visual Component Library) representadas na Paleta de Componentes esto separados em pginas.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Os componentes visuais podem ter sua forma e tamanho alteradas no formulrio, alm das propriedades e eventos que podem ser alterados no Object Inspector. Eles aparecem durante a execuo do aplicativo exatamente como foram definidos durante a construo do formulrio.

STANDARD
A pgina Standard possui os componentes de interface mais comuns para a construo de aplicaes Windows95/NT.

Pgina Standard: componentes mais comuns

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

MainMenu Cria uma barra de menus em um formulrio. Para definir as opes do menu, adicione o componente MainMenu no formulrio e d um duplo-click sobre ele para abrir o Menu Designer. PopupMenu Cria um menu popup que aparece quando o usurio clica o boto direito do mouse. Para definir as opes do menu e, adicione o componente PopupMenu no formulrio e d um duplo-click sobre ele para abrir o Menu Designer. Label Apresenta um texto que o usurio no poder selecionar ou manipular. Edit Apresenta um campo de edio onde o usurio poder digitar uma nica linha de texto. Memo Apresenta uma rea de edio onde o usurio poder digitar diversas linha de texto. Button Cria um boto que o usurio escolhe para iniciar uma determinada ao. CheckBox Representa uma informao do tipo Sim/No. Geralmente utilizado para representar um grupo de opes que no so mutuamente exclusivas, podendo-se selecionar mais de uma opo de um mesmo grupo. RadioButton Apresenta uma informao do tipo Sim/No. geralmente utilizado para representar um grupo de opes mutuamente exclusivas, podendo o usurio escolher apenas uma opo de um mesmo grupo. ListBox Apresenta uma lista de opes. ComboBox Apresenta um campo de edio onde o usurio digita informaes diretamente em uma linha de texto, ou escolher a partir de uma lista previamente definida. ScrollBar Fornece uma forma de alterar a rea visvel de uma lista ou um formulrio. GroupBox Permite definir uma rea para criar um grupo de componentes relacionados. RadioGroup Permite criar uma rea contendo um agrupamento de componentes RadioButton. Panel Permite cria uma rea que pode-se agrupar diversos tipos de componentes. Pode-se ainda utilizar o Panel para criar barra de ferramentas ou linhas de status.

ADDITIONAL
Na pgina Additional encontram-se outros componentes de interface.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Pgina Additional: componentes especializados BitBtn Cria um boto que pode conter, alm do texto, uma figura bitmap. SpeedButton Cria um boto que pode conter um texto e uma figura. Este tipo de boto freqentemente utilizado em grupos, em uma barra de ferramentas. MaskEdit Apresenta um campo de edio onde o usurio digita uma nica linha de texto, similar ao componente Edit. A diferena que o MaskEdit fornece uma forma de especificar um formato particular, tal como CEP, nmero de telefone, etc. StringGrid Cria uma tabela que pode ser usada para apresentar textos divididos em colunas e linhas. DrawGrid Cria uma tabela que pode ser usada para apresentar diversos tipos de dados em forma de tabela. Image Apresenta figuras bitmap, icon, etc. em um formulrio. Shape Desenha figuras geomtricas no formulrio. Bevel Cria linhas e caixas tridimensionais no formulrio. ScrollBox Cria uma rea que apresenta automaticamente barras de rolagem (scrollbars) quando necessrio. CheckListBox Apresenta um lista similar ao ListBox, exceto que cada item possui tambm um CheckBox. Splitter Um componente Splitter pode ser colocado entre dois componentes para permitir ao usurio alterar o tamanho desses componentes em tempo de execuo. StaticText Este componente possui um texto no editvel, como o componente Label. A diferena podese definir uma moldura ao redor do texto. Chart Este componente desenha grficos em um formulrio utilizando uma pequena planilha como fonte de dados

WIN32
Os pgina de componente Win32 fornece a maioria dos controles encontrados na interface Windows 95/98/NT.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Pgina Win32: aplicativos com a aparncia do Windows 95/NT.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

TabControl Fornece uma rea contendo uma nica pgina de informao e um conjunto etiquetas (Label). PageControl Define mltiplas paginas ou sees de informao em uma mesma janela. Possui etiquetas para acessar cada uma dessas pginas. ImageList Coleo de imagens do mesmo tamanho que podem ser referenciadas atravs de um ndice. Este componente usado para se gerenciar eficientemente um grande conjunto de figuras (cones ou bitmaps). RichEdit Define uma rea de texto que suporta a definio de tipos diferentes de letras (fontes), alm de propriedades de formatao tais como alinhamento, tabulaes, etc. TrackBar Define um determinado valor atravs do deslocamento de um apontador sobre um rgua. Podese configurar a orientao como vertical ou horizontal. ProgressBar Barra retangular que preenchida da esquerda para a direita, como aquela mostrada quando se copia arquivos no Windows Explorer. Fornece um retorno visual sobre o progresso de uma operao. UpDown Incrementa e decrementa valores atravs de uma seta para cima e uma para baixo.. HotKey Cria e apresenta combinaes de teclas que podero ser usadas como teclas de atalho. Animate Apresenta um vdeo .AVI (Audio Video Interleaved). Possui alguns vdeos pr definidos como aqueles que so apresentados pelo Windows 95 quando se exclui ou copia um arquivo, por exemplo.. DateTimePicker Apresenta um calendrio para a seleo de data. O usurio pode digitar, selecionar atravs de um calendrio ou atravs de setas para cima e para baixo. TreeView Permite apresentar informaes atravs de uma estrutura hierrquica. ListView Fornece diferentes formas de apresentar informaes sob forma de lista. HeaderControl Apresenta um cabealho que pode ser dividido colunas contendo textos ou nmeros. Pode-se configurar o comportamento de cada uma dessas colunas para que, como um boto, execute uma funo especifica quando o usurio clicar sobre ele. StatusBar Define uma rea para apresentar o estado atual de alguma operao, mensagens de erro ou de alerta, avisos, etc. ToolBar Agrupa um conjunto de botes e outros componentes, organizando-os em colunas e ajustando automaticamente seus tamanhos e posies.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

CoolBar Apresenta uma coleo de linhas (CoolBand) que podem ser movimentados pelo usurio em tempo de execuo.

SYSTEM
A pgina System possui controles especializados que interagem com o Sistema Operacional ou com algumas caractersticas de Hardware.

Pgina System: Interao com o Sistema Operacional

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Timer Timer um componente no-visual que dispara um evento em determinada hora ou repetidamente aps um determinado intervalo de tempo. PaintBox Apresenta uma rea onde permitido apresentar e editar figuras. Este componente utilizado em aplicaes de desenho. MediaPlayer Apresenta um painel de controle para apresentar e gravar informaes multimdia. OleContainer Cria uma rea Object Linking and Embedding (OLE) em um formulrio. DdeClientConv DDE uma antiga tecnologia para implementao de comunicao. Para novos projetos deve-se utilizar OLE. O componente DDEClientConv fornece s aplicaes a habilidade de estabelecer uma converso DDE com uma aplicao servidora DDE. Este componente deve trabalhar em conjunto com um componente DDEClientItem para que sua aplicao seja uma aplicao cliente DDE completa. DdeClientItem O componente DDEClientItem define o item da converso DDE. Utilize este componente junto com o componente DDEClientConv para implementar uma aplicao cliente DDE. DdeServerConv Este componente fornece aplicao a habilidade de estabelecer uma converso DDE com um aplicao cliente. Ao utilizar este componentes, sua aplicao ser uma servidor DDE. Este componente utilizado em conjunto com o componente DDEServerItem para que sua aplicao seja um servidor DDE completa. DdeServerItem O componente DDEServerItem define o tpico de uma converso DDE com outra aplicao. Este componente utilizado em conjunto com um componente DDEServerConv.

INTERNET
Os componentes da pgina Internet permitem implementar aplicaes que utilizem algum tipo de servio Internet.

Pagina Internet: Componentes para aplicaes Internet

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

ClientSocket Acrescente este componente a um formulrio ou Data Module da sua aplicao para torn-la uma aplicao cliente TCP/IP. O componente ClientSocket define uma conexo a um servidor TCP/IP, gerencia a abertura e a finalizao de uma conexo. ServerSocket Acrescente este componente a um formulrio ou Data Module para tornar sua aplicao um servidor TCP/IP. O componente ServerSocket recebe as requisies TCP/IP de outras mquinas e estabelece tais conexes quando requisitadas. WebDispatcher Converte um Data Module em um WEB Module e permite que o servidor de aplicao Web responda s mensagens HTTP. PageProducer Converte um seqncia HTML em uma a string de comando HTML que pode ser interpretada por uma aplicao cliente, por exemplo, um Browser. QueryTableProducer Monta um seqncia de comandos HTML para gerar uma apresentao tabular de registros provenientes de um objeto Query. DataSetTableProducer Monta uma seqncia de comandos HTML para gerar uma apresentao tabular de registros provenientes de um objeto DataSet. FTP Controle ActiveX que fornece acesso fcil aos servios Internet File Transfer Protocol (FTP) para transferncia de arquivos e dados entre uma mquina remota e uma local. HTML Controle ActiveX que implementa um visualizador HTML, com ou sem recuperao automtica de documentos HTML e fornece interpretador HTML, assim como uma viso de uma pgina HTML. O componente HTML pode ainda ser usado como um interpretador HTML no-visual para analisar ou processar documentos HTML. HTTP Controle ActiveX que implementa o Protocolo Cliente HTTP, permitindo aos usurios recuperarem documentos HTTP diretamente, sem possibilidade de navegao. NNTP Controle ActiveX que permite s aplicaes acessarem o Protocolo NNTP, possibilitando leitura e escrita de mensagens no servidor de news POP Controle ActiveX que recupera correios eletrnicos de servidores UNIX ou outro servidor que suporta o protocolo POP3. SMTP Controle ActiveX que permitem as aplicaes acessarem a servidores de correio eletrnico SMTP e a capacidade de enviar mensagens. TCP Controle ActiveX que implementa o protocolo TCP para aplicaes cliente e aplicaes servidoras, fornecendo fcil acesso aos seus servios.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

UDP Controle ActiveX que fornece fcil acesso aos servios do protocolo UDP (UDP). Implementa o WinSock para cliente e servidor, e representa um ponto de comunicao utilizando servios UDP. Pode ainda ser usado para enviar e receber dados UDP.

DATA ACCESS
De uma forma geral, os componentes da pgina Data Access representam e do acesso aos dados armazenadas fisicamente.

Pgina DataAcess: Componentes de acesso a Banco de Dados

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

DataSource Age como um condutor entre um componente Table, Query, StoredProc e componentes de apresentao de dados tais como DBGrid, DBEdit, etc. Table Recupera dados de um tabela atravs do BDE, fornecendo-os a um ou mais componentes DataSource. Query Utiliza declaraes SQL para recuperar dados de uma tabela atravs do BDE, fornecendo-os a um ou mais componentes do DataSource. StoredProc utilizado quando uma aplicao cliente deve executar um procedimento armazenado no servidor de banco de dados. constitudo de um grupo de instrues armazenados como se fosse uma tabela, e executa uma tarefa que se repete com freqente no servidor, retornando alguns resultados para a aplicao cliente. Database Configura uma conexo a um banco de dados, especialmente um banco de dados remoto. Session Fornece controles a grupos de componentes DataBase que podem ser associados a ele. Um componente Session default automaticamente criado para cada aplicao de Banco de Dados. A criao manual de componentes Session necessria somente na criao de aplicaes multithread que utilizam de banco de dados. BatchMove Copia a estrutura de uma tabela ou os seus dados. Pode ser usado para copiar tabelas inteiras de um determinado formato para outro. UpdateSQL Permite utilizar o recurso de cached updates com um DataSet de apenas leitura. Por exemplo, poderia se utilizar um componente UpdateSQL para possibilitar a atualizao de um DataSets abilitando a atualizao de DataSets de apenas leitura. Provider Fornece dados de uma aplicao multi-tiered servidora para um DataSet de uma aplicao cliente (ClientDataSet). ClientDataSet utilizado como se fosse um componente DataSet na parte cliente de um aplicao multi-tiered. RemoteServer Em uma aplicao cliente, fornece a conexo a uma servidor de dados remoto. Report Permite que uma aplicao utilize relatrios desenvolvidos em geradores de relatrios independentes tal como o ReportSmith, que era distribudo juntamente com a verso 2.0 do Delphi.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

DATA CONTROLS
A pgina Data Controls fornecem componentes que permitem construir formulrios para trabalhar diretamente com dados (campos) que esto armazenados em tabelas de banco de dados.

Pgina DataControls: Componentes de interface para Banco de Dados

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

DBGrid Permite visualizar e editar dados de forma tabular, como uma planilha. Pode-se determinar as colunas que sero visualizadas, o formato, a ordenamento, etc. DBNavigator Conjunto de botes que permitem fazer todas as operaes necessrias para a manuteno uma tabela de banco de dados. DBText Apresenta o valor de um campo do registro corrente de uma tabela. DBEdit Apresenta uma caixa de edio onde pode-se visualizar ou alterar o valor de um campo no registro corrente de uma tabela. DBMemo Permite visualizar e editar campos do tipo MEMO. DBImage Permite visualizar e editar imagens bitmap armazenadas no campo de uma tabela. DBListBox Permite visualizar e editar um campo cuja lista de possveis valores provm de uma lista fixa de valores pr-definidos. DBComboBox Componente to tipo Combo, que permite visualizar e editar um campo de uma tabela cuja lista de possveis valores provm de uma lista previamente definida. DBCheckBox Apresenta ou edita um campo booleano de uma tabela. DBRadioGroup Grupo de botes do tipo RadioButton que apresenta um conjunto de valores que podem ser armazenados em um campo de uma tabela. DBLookupListBox Apresenta um campo de uma tabela cuja lista de possveis valores provm de um campo de outra tabela. DBLookupComboBox Componente do tipo Combo, que permite visualizar e editar um campo de uma tabela cuja lista de possveis valores provm de um campo de outra tabela. DBRichEdit Controle de edio que permite apresentar e editar campos memo formatados. DBCtrlGrid Permite apresentar e editar dados de forma tabular, sendo que cada clula pode conter vrios campos de um mesmo registro. DBChart Este componente desenha grficos em um formulrio utilizando uma tabela de banco de dados como fonte de dados..

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

DECISION CUBE
Os componentes da pgina Decision Cube (disponveis somente na verso Client/Server) acrescenta recursos para anlise multidimensional de dados atravs de referncia cruzada entre tabelas de banco de dados, utilizando as poderosas caracterstica da linguagem SQL.

Pgina DecisionCube: Anlise multidimensional de dados DecisionCube Um depsito de dados multidimensional. DecisionQuery Forma especializada de Query usada para definir dados em um Decision Cube. DecisionSource Define o piv atual de um componente DecisionGrid ou um componente DecisionGraph. DecisionPivot Botes utilizados para abrir ou fechar dimenses ou campos de um DecisionCube. DecisionGrid Apresenta dados multidimensionais de forma tabular. DecisionGraph Apresenta campos de um DecisionGrid como um grfico dinmico que se altera quando suas dimenses so modificadas.

QREPORT
Os componentes da pgina QReport permitem construir relatrios atravs da definio de da definio de faixas, ttulos, cabealhos, sumrios, grupos, etc. Podese gerar relatrios a partir de qualquer tipo de DataSource: Table, Query, etc.

Durante a montagem do relatrio possvel visualiza-lo atravs do Preview.

Pgina QReport: Componentes para a construo de relatrios

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

QuickRep Formulrio bsico para a construo de relatrios, onde so colocados todos componentes do relatrio. um componente visual que possui o tamanho do papel selecionado (A4, Legal, etc.). Um relatrio criado desenhando-se faixas e outros componentes sobre um QuickRep conectado a um DataSet. QRSubDetail Faz a ligao de DataSets adicionais em um relatrio. Tipicamente utilizado para construir relatrios do tipo Master/Detail. QRBand Adicione um componente QRBand em seu relatrio e configure a propriedade BandType para especificar o seu comportamento durante a gerao do relatrio. QRChildBand Faixas filhas (Child Bands) so usadas como extenses das faixas regulares de um relatrio. QRGroup Define o inicio e o final de um grupo de registros conforme determinado atributo. utilizado para a definio das quebras de um relatrio. QRLabel Imprime um texto ou outra informao que no provm de um banco de dados. QRDBText uma verso do componente QRLabel que imprime o valor de campos calculados e campos texto, incluindo campos string, numrico, data e memo. QRExpr Imprime campos de banco de dados, clculos e textos estticos. QRSysData Imprime informaes do sistema, tais como data, hora, nmero da pgina, etc. QRMemo Imprime uma grande quantidade de texto que no provm de um campo de banco de dados Pode ser texto esttico ou pode-se alterar durante a gerao do relatrio.. QRRichText Permite imprimir no relatrio um texto formatado. QRDBRichText Permite imprimir no relatrio o texto formatado armazenado em um campo de uma tabela. QRShape Apresenta figuras simples tais como retngulos, crculos e linha em um relatrio. QRImage Apresenta uma figura em um relatrio. QRDBImage Imprime imagens armazenadas em campos de banco de dados. QRCompositeReport QRPreview Define uma rea para a visualizao de relatrios, no formato em que iriam ser impressos. QRChart Permite a impresso de diversos tipos grficos.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

DIALOGS
Os componentes da pgina Dialogs implementam as caixas de dilogo do Windows 95/NT. Caixas de dilogo fornecem uma interface consistente para operaes com arquivo, tais como abertura, gravao e impresso.

Pgina Dialogs: Caixas de dilogo j prontas. OpenDialog Apresenta uma caixa de dilogo para abertura de arquivos, comum nas aplicaes Windows 95/NT. SaveDialog Apresenta uma caixa de dilogo para gravar arquivos, comum nas aplicaes Windows 95/NT OpenPictureDialog Apresenta uma caixa de dilogo para abertura de arquivos grficos, onde o usurio pode visualizar a imagem armazenada no arquivo selecionado. SavePictureDialog Apresenta uma caixa de dilogo para gravao de arquivos grficos. Idntica ao SaveDialog, exceto que possui uma rea onde apresentado a imagem que ser gravada. FontDialog Apresenta uma caixa de dilogo que permite especificar o tipo de letra (fonte), seu tamanho e estilo. ColorDialog Apresenta a caixa de dilogo para seleo de cores. PrintDialog Mostra uma caixa de dilogo que permite especificar informaes de impresso, tais como as pginas a serem impressas, o nmero de cpias, etc. PrinterSetupDialog Mostra uma caixa de dilogo que permite a configurao da impressora. FindDialog Apresenta uma caixa de dilogo que permite especificar uma String de pesquisa. ReplaceDialog Mostra uma caixa de dilogo que permite especificar uma String de pesquisa e uma String para substituio.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Win 3.1
Possui componentes de interface no padro Windows 3.1. Estes componentes servem para manter a compatibilidade com as aplicaes desenvolvidas em Delphi 1.0 (Windows 3.1).

Pgina Win3.1: Compatibilidade com o Windows 3.1

SAMPLES
Os componentes dessa pgina so exemplos de componentes personalizados. O cdigo fonte destes componentes esto disponveis no diretrio

DELPHI 3\SOURCE\SAMPLES (instalao Default).

Pgina Samples: Alguns exemplos de componentes. Gauge Barra retangular que preenchida da esquerda para a direita. Fornece um retorno visual sobre o progresso de uma operao. ColorGrid Apresenta uma tabela de cores. SpinButton Semelhante ao componente UpDown. Uma diferena que o componente SpinButton permite definir uma figura para os botes. SpinEdit Semelhante ao componente UpDown. Uma diferena que j apresenta um campo onde apresentada a informao. DirectoryOutline Apresenta a rvore de diretrios do disco, semelhante ao que apresentado pelo Windows/NT Explorer. Calendar Implementao de um calendrio. IBEVentAlerter

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

ActiveX
Os componentes na pgina ActiveX so objetos completos apresentados como exemplos. Para utiliza-los deve-se primeiro abrir um formulrio ActiveX em um projeto ActiveX. Aps posicionar um componente em um formulrio ActiveX, clique o boto direito do mouse para ser apresentadas as propriedades e outros comandos.

Pgina ActiveX: Exemplos da utilizao de componentes ActiveX Chartfx Permite criar grficos personalizados. Selecione as propriedades para apresentar um painel de controle que permite definir valores, aparncia e algumas outras caractersticas. VSSpell Visual Speller, um corretor ortogrfico personalizado. F1Book Formula One. Permite implementar uma planilha de clculo. VtChart Permite-se criar grficos 3D. VtChart Pinnacle Graph, permite gerar grficos 2D.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

5
Projetos Delphi
Os Arquivos do Projeto
Um projeto Delphi composto por vrios arquivos relacionados entre si. Alguns destes arquivos so gerados durante o desenvolvimentos, quando est se definindo os formulrios da aplicao. Outros arquivos so gerados na compilao da aplicao.

O Arquivo Principal (.DPR)


O arquivo principal gerado durante a construo da aplicao e possui a extenso .dpr. neste arquivo que instanciado o formulrio principal da aplicao, assim como todos os formulrios que sero automaticamente instanciados pelo Delphi. Voc raramente ir editar o arquivo de projeto de uma aplicao

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.RES} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end.

Note que neste arquivo existe uma clusula uses contendo a relao de uma Unit. O arquivo de projeto ir listar todas as Units que compem a aplicao, estando elas relacionadas a formulrios ou no. Outro ponto que vale ressaltar a diretiva de compilao {$R *.RES}. As chaves seguidas pelo caracter $ indicam uma diretiva de compilao, ou seja, um determinado comportamento do compilador Delphi. Neste caso, esta diretiva indica que o compilador ir adicionar os arquivos com extenso .RES (arquivos de recurso), quando da link-edio do projeto.

O Arquivo de Recurso (.RES)


O arquivo de recurso um arquivo binrio gerado automaticamente pelo Delphi que contm basicamente o cone da aplicao. Poder ser adicionado um ttulo a sua aplicao, ou gerar um outro arquivo de recursos para o seu projeto. Por default, todo o projeto Delphi possui um arquivo de recurso que ter o mesmo nome do arquivo principal (.dpr) e ser linkado ao arquivo executvel (.exe).

O Arquivo de Opes (.DOF)


Um arquivo de opes de projeto ser gerado quando sua aplicao salva pela primeira vez. Este arquivo ir conter opes de compilao de projeto, indicaes de criao automtica de formulrios, etc. Pode-se alterar as opes de um projeto utilizando o comando Option do menu Project.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Alm do arquivo .dof, um arquivo com extenso .DSK ser criado com as opes do ambiente de desenvolvimento Delphi. Assim como as opes de um projeto (Project|Options), pode-se definir diferentes opes de ambiente para cada projeto. Para se alterar as opes de ambiente utiliza-se o comando Environment Options do menu Tools.

Os Arquivo de Cdigo (.PAS)


Os arquivos .pas so os programas fonte em Object Pascal, as Units. Pode-se dividir as Units em trs classes: units que possuem um formulrio relacionado a ela; units relacionadas a componentes; units de uso geral, que possuem prodecures e functions que sero utilizadas por outros programas
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.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Arquivos de Formulrios (.DFM)


Quando um novo formulrio adicionado em uma aplicao, o Delphi gera dois arquivos correspondente ao formulrio. Um arquivo o cdigo fonte em Object Pascal (.PAS). O outro arquivo (.DFM), descreve as caractersticas do formulrio como, por exemplo, a altura, a largura, o ttulo, a cor, etc. Raramente ser necessrio visualizar o contedo deste tipo de arquivo. Ele atualizado automaticamente toda vez que feito uma alterao no formulrio.

Arquivos Compilados
Aps a compilao de um projeto, sero gerados mais dois tipos de arquivos. Os arquivos com extenso .DCU (Delphi Compiled Unit) e o arquivo com extenso .EXE. Um arquivo .dcu o resultado da compilao dos arquivos .pas e .dfm. O arquivo executvel .exe o resultado da compilao de todos os arquivos do projeto.

As Opes de um Projeto
O comando de menu Project | Options, ir apresentar uma caixa de dilogo contendo algumas opes relativas ao seu projeto. Voc poder definir desde o formulrio principal da aplicao, at a forma de como o projeto ser compilado.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

A Pgina Forms
Na pgina Forms possvel selecionar o formulrio principal da aplicao e para definir quais os formulrios sero criados automaticamente pelo Delphi. Main form: Indica qual o formulrio principal da sua aplicao. Este ser o primeiro formulrio apresentado quando se executa a aplicao. Atravs do ComboBox possvel alterar a definio do formulrio principal da aplicao. Normalmente o formulrio principal gerado automaticamente. Isto , ele est presente na lista Auto-create forms. Auto-create forms: Contm a lista dos formulrios gerados automaticamente pelo Delphi quando sua aplicao for executada. Available forms: Contm a lista dos formulrios que sero gerados pela aplicao. Para fazer uso dos formulrios que esto sendo mostrados nesta lista eles devem ser instanciados anteriormente.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

A Pgina Application
Nesta pgina poder definir-se um ttulo e um cone para a aplicao. Title: Especificao de um ttulo para a sua aplicao. Este ttulo ser apresentado quando sua aplicao estiver minimizada. Help file: Associao de um arquivo de help ( .hlp) que ser utilizado na sua aplicao. O boto Browse ir abrir uma caixa de dilogo para que voc localize o arquivo de help. Icon: Especificao de um cone para a aplicao.

A Pgina Compiler
Define as opes de compilao de seu projeto. Entre as opes disponveis, pode-se indicar se sero realizadas checagem de limite de variveis, se sero compiladas informaes para depurao do projeto, etc. Todas as opes desta pgina so diretivas de compilao que tambm podero ser colocadas diretamente no cdigo da unit.

A Pgina Linker
Contm as indicaes de como os arquivos do projeto sero link-editados. Nesta pgina indica-se se o compilador Delphi ir gerar um arquivo externo com mapeamento dos arquivos linkados, indicar tambm se o produto final da linkedio ser uma unit compilada (.dcu) ou um arquivo objeto (.obj), e mais diversas outras opes.

A Pgina Directories/Conditionals
Utiliza-se esta pgina para definir onde os seus arquivos compilados sero armazenados e para definir um smbolo de compilao. Pode-se decidir, de acordo com o smbolo de compilao, qual a parte do cdigo ser compilada.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

A Pgina Version Info


Esta pgina permite especificar informaes de verso de seu projeto.

A Pgina Packages
Packages so arquivos que contm vrias classes pr -definidas pelo Delphi, como, por exemplo, botes, forms, tables, etc. O nome package uma nova designao para VCL Visual Component Library. Voc poder indicar quais os packages que estaro disponveis em tempo de desenvolvimento e quais os que sero requisitados em tempo de execuo. Com o controle dos packages, consegue-se reduzir o tamanho do arquivo executvel, pois s sero compilados os packages que fazem parte da sua aplicao.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Banco de Dados

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

6
Delphi com Banco de Dados
O Delphi prov um ambiente bastante simples para o desenvolvimento de aplicaes que acessam banco de dados. O Borland DataBase Engine (BDE) permite o acesso aos principais sistema de gerenciamento de banco de dados e de um conjunto de componentes para conexo e manipulao das bases. Com isso possvel desenvolver aplicaes de forma simples e rpida.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

O BDE um conjunto de funes que possui as informaes sobre os drivers de acesso dos principais gerenciadores de banco de dados do mercado. Na verso Client/Server do Delphi, o BDE traz drivers de conexo nativa para os bancos Oracle, Informix, SQL Server, DB2, entre outros.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

As ferramentas de gerenciamento de banco de dados do Delphi so: BDE Administrator: Configura o BDE e os drivers de Gerenciadores de Banco de Dados. Cria e configura Alias. DataBase Desktop (DBD): ferramenta para criar, alterar e editar bancos de dados; Componentes (visuais e no visuais): permitem conexes e interface com banco de dados. Esto disponibilizados nas paletas Data Access e Data Controls; Data Module: centraliza componentes de acesso a dados dos formulrios e aplicaes; Form Expert: permite a gerao automtica de formulrios-padro para acesso a banco de dados. Object Repository: armazena formulrios e mdulos de dados para serem compartilhados entre diferentes aplicaes; Borland Database Engine (BDE): faz o relacionamento entre o DELPHI e o banco de dados; SQL Explorer: ferramenta para gerenciar BDE e criar dicionrio de dados;
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao Quick Report: permite a gerao de relatrios a partir de bancos de dados;

O que um Alias ?
As aplicaes que trabalham com tabelas de banco de dados podem referenciar estas tabelas utilizando o caminho (path) onde elas esto posicionadas no disco. Para cada tabela representada na aplicao definido o caminho e o arquivo que contm os dados da tabela.

Implementao sem utilizar Alias: Referncia direta ao arquivo

Apesar de funcionar sem problemas, essa forma de implementao faz com que a aplicao fique dependente da pasta (diretrio) onde os dados esto localizados. Se os dados no estiverem exatamente na pasta definida na aplicao, esta no funcionar.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Alterao da pasta de dados: A aplicao no funciona mais

Uma forma de se resolver esse problema atravs da utilizao de um Alias. Um Alias referencia a pasta onde esto localizados os arquivos de dados (tabelas). A representao das tabelas representadas na aplicao referenciam o Alias previamente definido.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Desta forma, caso seja alterada a pasta onde esto localizados os dados da aplicao basta alterar a definio do Alias para que a aplicao continue funcionando normalmente.

BDE Administrator
Para que se consiga acessar bases de dados a partir do Delphi, faz-se necessrio a criao de referncias. Estas referncias so conhecidas por Alias, e so criadas em um aplicativo chamado BDE Administrator. O BDE Administrator permite: Configurar o Borland Database Engine (BDE). Configurar os drivers STANDARD (Paradox e dBASE/FoxPro), os drivers SQL, Access e tambm criar e configurar drivers ODBC. Criar e manter Alias de banco de dados.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

A Pgina Databases
Mostra os alias dos bancos de dados disponveis.

A Pgina Configuration
Permite adicionar e configurar drivers ODBC, configurar drivers padro e drivers SQL e ainda configurar o Borland Database Engine (BDE).

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

DataBase Desktop
O DataBase Desktop uma ferramenta do DELPHI para manipulao de Banco de Dados. Ela til principalmente para a criao, visualizao, modificao e consulta de tabelas nos formatos Paradox, dBASE e SQL.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Criando uma Tabela


Para criar uma nova tabela utiliza-se a opo do menu File|New|Table.

Ser apresentado uma janela para a definio do tipo de tabela que se deseja criar. Clique o boto OK. Neste instante devem ser definidos os atributos dos campos, como segue: Field Name: nome do campo; Type: tipo do campo. Clicando o boto direito do mouse pode-se selecionar o tipo do campo; Size: define o tamanho do campo. S disponvel para alguns tipos;
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao Key: define campos-chave para a tabela. Ainda nesta tela pode-se definir: Table properties: define caractersticas gerais dos campos da tabela; Required Field: define se o campo tem um valor requerido; Minimum Value: valor mnimo para o campo; Maximum Value: valor mximo para o campo; Default Value: valor padro para o campo; Picture: define o formato de entrada do campo.

Componentes de Banco de Dados


A pgina Data Access possui componentes que permitem a conexo do DELPHI com bancos de dados.

A pgina Data Controls contm componentes que permitem a manipulao e visualizao dos dados de um banco de dados.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Os componentes da pgina Decision Cube fornece recursos para anlise multidimensional de dados atravs de referncia cruzada entre tabelas de banco de dados utilizando a linguagem SQL.

Data Module
O Data Module um formulrio especial que permite centralizar os componentes de controle de banco de dados. Suas principais vantagens so: permite que toda a aplicao utilize os mesmos componentes de controle de dados, evitando duplicao de componentes; garantem o uso correto das tabelas, pois elas no precisam ser recriadas em cada formulrio; permitem definir novos eventos ou mtodos sobre as tabelas que sejam comuns em toda a aplicao.

Data Module: Centralizao de componentes de banco de dados.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Formulrios Utilizando Banco de Dados


A criao de um formulrio para a manipulao do banco de dados pode ser feita de forma manual (adicionando-se cada componente individualmente) ou de forma automtica (atravs do Form Expert). O Form Expert uma ferramenta do DELPHI que permite criar um formulrio padro para a manipulao de banco de dados. Sua principal vantagem est na automatizao do processo de criao de formulrio, o que permite ganhar tempo no desenvolvimento da aplicao.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

TUTORIAL

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Construindo uma Aplicao DELPHI

Sero vistas aqui as etapas para construo de uma aplicao Delphi. Como exemplo, ser utilizado um sistema comercial simplificado, que utiliza tabelas de banco de dados. A seqncia com que essas etapas so apresentadas serve apenas para a conduo didtica na elaborao do exemplo proposto, no tem pretenso de metodologia. Pelo contrrio. A forma com que sero implementadas algumas caractersticas do nosso sistema-exemplo se justifica apenas por uma questo de gosto pessoal.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

1
Definindo o Sistema
sempre bom lembrar que, antes de sentar-se em frente ao micro e sair programando, anlise de sistema e a modelagem de dados ainda so fundamentais para o sucesso de um projeto de sistema. muito difcil para um programador compulsivo ficar parado elaborando diagramas, perdendo tempo rabiscando coisas que j esto claras em sua cabea. Esse pensamento o caminho mais curto para aqueles sistemas no acabam nunca. Sofisticados recursos de interface no conseguem ajeitar um sistema mal elaborado. Na elaborao de sistemas que envolvam Banco de Dados no se deve esquecer de toda a teoria que envolve esta rea. Modelagem de dados, normalizao, etc., foram e esto sendo estudadas para serem usadas. No se deve elaborar novas teorias ou um jeitinho todo seu de se fazer as coisas. Pelo menos no durante o desenvolvimento de um sistema importante. Toda a papelada gerada durante a anlise do sistema, se bem padronizad a, pode servir como documentao do sistema, e ainda ser um ponto de partida para a elaborao dos manuais. Dessa forma o seu sistema continuar funcionando caso o analista ou o programador saia de frias ou arranje outro emprego.

O Sistema
O sistema que ser utilizado como exemplo serve para emisso de notas fiscais. Ele ter o nome de SisFat, e ter as seguintes atribuies: Controle de Produtos;
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao Controle de Vendedores; Elaborao e emisso de Notas Fiscal.

As Tabelas
As informaes esto divididas em quatro tabelas de banco de dados como definidas abaixo:
PRODUTO Cdigo Descrio Quantidade em estoque Preo de compra Preo de venda VENDEDOR Cdigo Nome Data de admisso NotaFiscal Nmero Data Vendedor ItemNota Nota Item Produto Quantidade

2
Organizando os Arquivos
Definido o sistema, iremos agora ao computador comear a programar!!! A primeira coisa a fazer definir uma nova pasta (diretrio) onde sero gravados os dados e os programas do novo sistema. Um sistema pode conter centenas de arquivos referentes aos programas e outras centenas referentes aos dados. Portanto, uma boa prtica criar uma pasta de trabalho para a organizao dessa grande quantidade de arquivos.

Criando Diretrios
Crie uma Pasta (diretrio) com o nome do sistema (SisFat).

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

importante separar os arquivos que se referem aos dados (tabelas, ndices, etc.) dos diversos tipos de arquivos referentes aos programas (.dpr, .pas, .dfm, etc.). Para isso, na pasta SisFat, crie duas outras pastas: Dados e Programas.

Criando um Alias
Para a aplicao proposta, vamos criar um Alias chamado Faturamento que referencia a pasta de dados onde sero gravadas as tabelas que iremos criar. Passo 1 Na pgina Databases do BDE Administrator selecione a opo New no menu Object. Passo 2 Ser apresentada uma janela para a seleo do driver de banco de dados. Selecione STANDARD pois iremos trabalhar com tabelas Paradox.

Aps digitar OK, ser criado um novo Alias com o nome STARDARD1. Renomeie o Alias com o nome Faturamento. Passo 3 Em Definition (lado direito da janela) preencha o atributo Path com o caminho onde sero posicionadas as tabelas de dados da aplicao: C:\SisFat\Dados. Se preferir, clique o mouse nos trs pontos que aparecem no atributo para utilizar uma caixa de dilogo para auxiliar na procura do diretrio de dados.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao Passo 4 Feche o DBE Administrator

Responda Yes para salvar o Alias. Como pode ser visto, todos os Alias so gravados no arquivo C:\Arquivos de Programas\Borland\Common Files\BDE\IDAPI32.CFG

3
Criando Tabelas
DataBase Desktop
O DataBase Desktop uma ferramenta para manipulao de Banco de Dados. Ela til principalmente para a criao, visualizao, modificao e consulta de tabelas nos formatos Paradox, dBASE e SQL.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao No menu principal do Database Desktop selecione a opo File|New|Table. PASSO 1 Selecione a opo Paradox 7 e clique em OK. As tabelas Paradox (extenso .DB) oferecem mais recursos que as tabelas DBase (extenso .DBF).

PASSO 2 Neste instante devem ser definidos os atributos dos campos: Field Name: nome do campo; Type: tipo do campo. Clicando o boto direito do mouse pode-se selecionar o tipo do campo; Size: define o tamanho do campo. S disponvel para alguns tipos; Key: define campos-chave para a tabela.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Produto.db Codigo Descricao QtdEstoque PrecoCompra PrecoVenda

Type A A N $ $

Size 6 40

Key *

Vendedor.db Codigo Nome DataAdmissao

Type A A D

Size 5 40

Key *

NotaFiscal.db Numero Data Vendedor

Type + D A

Size

Key *

ItemNota.db Nota Item Produto Quantidade

Type I I A N

Size

Key * *

PASSO 3 Clicando no boto Save As aparecer uma caixa de dilogo para que se possa salvar a tabela em disco. D um nome tabela e clique no boto Salvar.
Ateno

No nosso exemplo os arquivos de dados (tabelas) devem ser gravados na pasta C:\SisFat\Dados.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

4
Iniciando um Projeto
Ao iniciar o Delphi, apresentado um projeto chamado Project1 j com um formulrio chamado Form1. Para comearmos a partir do zero, feche (sem salvar) o formulrio utilizando o comando do menu File|Close. Desta forma teremos apenas o projeto sem nenhum formulrio. Agora salve o projeto atravs do comando File|Save Project As. Um arquivo de projeto possui a extenso .dpr (Delphi Project).
Ateno

Verifique com ateno a pasta onde ser gravado o projeto. No nosso exemplo os arquivos que no se referem s tabelas devem ser gravados na pasta C:\SisFat\Programas.

Criando um Data Module


O Data Module um formulrio especial que permite centralizar os componentes de controle de banco de dados. Suas principais vantagens so: permite que toda a aplicao utilize os mesmos componentes de controle de dados, evitando duplicao de componentes; garante o uso correto das tabelas, pois elas no precisam ser recriadas em cada formulrio; permite definir novos eventos ou mtodos sobre as tabelas que sejam comuns em toda a aplicao.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao PASSO 1 Selecione o comando do menu File|New Data Module. Ser criada uma janela chamada inicialmente DataModule1. Na propriedade Name digite dmFaturamento. PASSO 2 Inicialmente ponha na janela (Data Module) um componente Database, localizado no conjunto de componentes DataAccess da Paleta de Componentes

Altere as seguintes propriedades:


Properties AliasName DatabaseName Name Connected Faturamento dbFaturamento dbFaturamento True

PASSO 3 Ponha um componente Table na janela. O componente Table tambm est localizado na pgina DataAccess da Paleta de Componentes

Altere as seguintes propriedades:


Properties DatabaseName TableName Name Active DbFaturamento Produto TbPRODUTO True

PASSO 4 Acrescente um componente DataSource no Data Module.

Altere as seguintes propriedades:

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
Properties DataSet Name TbPRODUTOS DsPRODUTO

PASSO 5 Conforme os passos 3 e 4, acrescente mais trs componentes Table e mais trs componentes DataSource com as seguinte as propriedades:
Properties DatabaseName TableName Name Active dbFaturamento Vendedor tbVENDEDOR True Properties DataSet Name tbVENDEDOR dsVENDEDOR

Properties DatabaseName TableName Name Active dbFaturamento NotaFiscal tbNotaFiscal True

Properties DataSet Name tbNotaFiscal dsNotaFiscal

Properties DatabaseName TableName Name Active dbFaturamento ItensNota tbItensNota True

Properties DataSet Name tbItensNota dsItensNota

PASSO 6 Salve o Data Module utilizando o comando File|Save As. O nome do arquivo ser DadosFaturamento.
Ateno

Este arquivo deve ser gravados na pasta C:\SisFat\Programas.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

5
Transformando campos em objetos
Pode-se dizer que a funo de um componente Table representar internamente aplicao uma tabela gravada no disco, permitindo que a aplicao consiga referenci-la. Na maioria das aplicaes necessrio que cada campo de uma tabela seja tambm representado por um objeto. Dessa forma possvel manipular algumas propriedades de cada campo da tabela individualmente. Como exemplo ser utilizada a tabela tbItensNota D um duplo-clique sobre a tabela tbItensNota. Aparecera uma pequena janela inicialmente vazia. Sobre esta janela clique o boto direito do mouse e escolha a opo Add Fields....

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Ser apresentada uma outra janela contendo todos os campos da tabela. Marque todos os campos e clique o boto OK.

O nome de cada objeto-campo ser definido automaticamente pelo Delphi. Ele ser composto do nome da tabela seguido do nome do campo. Por exempo, o nome do objeto-campo definido para o campo Produto da tabela tbItemNota ser tbItemNotaProduto.

Alterando propriedades dos campos


Aps a transfomao dos campos em objetos, cada campo-objeto ter suas propriedades e eventos individualmente. Sempre que for necessrio ter acesso aos objetos-campo de uma tabela basta dar um duplo-clique sobre a tabela.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao Uma das propriedades que normalmente se altera em um objeto-campo EditMask, que define a mscara de edio de um campo.

6
Criando campos virtuais
O recurso de transformar campos em objetos permite que se crie objetos-campo que no esto ligados fisicamente a um campo da tabela. Na tabela tbItemNota, por exemplo, temos o cdigo do Produto e a Quantidade. Sabemos antecipadamente que durante a execuo do nosso sistema teremos que calcular diversas vezes o valor total do item (preo de venda * quantidade). Porm o preo de venda do produto no aparece nesta tabela e sim na tabela tbPRODUTO. Que bom seria se o campo PrecoVenda aparecesse tambm na tabela tbItemNota, economizaria muito trabalho!!!.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Criando campos lookup


Este tipo de campo virtual armazena o valor de um campo que est em outra tabela. A busca desse valor feita atravs de pesquisa utilizando a chave primria. Vamos criar um campo chamado PrecoUnitario na tabela tbItemNota cujo valor que ser trazido da tabela tbPRODUTO atravs do cdigo do produto. PASSO 1 D um duplo-clique na tabela tbItemNota. Aparecer uma pequena janela contendo os objetos-campo da tabela. Sobre essa janela clique o boto direito do mouse e escolha a opo New field....

PASSO 2 Na janela que ser apresentada, preencha as seguintes informaes:

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Name Component Type Key Fields Dataset Lookup key Result Field

Nome do novo campo virtual que ser criado na tabela. Nome do objeto-campo que ser criado. Tipo do novo campo virtual. Campo que ser utilizado na pesquisa. Tabela onde est o campo desejado. Chave primria da tabela onde est o campo desejado Nome do campo cujo valor se deseja trazer.

O atributo Component preenchido automaticamente mas pode ser alterado, se preferir. Este nome usado para referenciar o objeto-campo nos programas do sistema. PASSO 3 Clique no boto OK e pronto. criado um novo campo na tabela. Este novo campo no est fisicamente gravado no disco. Ele mantido automaticamente pelo sistema e seu valor trazido do campo PreoVenda da tabela de Produto (tbProduto).

Criando campos calculados


Outro tipo de campo virtual o campo calculado. Um campo calculado armazena o resultado da uma operao realizada com alguns campos da tabela. Utilizando tambm a tabela tbItemNota como exemplo, poderamos pensar que nos pouparia muito trabalho se tivssemos armazenado na prpria tabela o resultado da multiplicao do PrecoUnitario com a Quantidade.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao PASSO 1 D um duplo-clique na tabela tbItemNota. Aparecer uma pequena janela contendo os objetos-campo da tabela. Sobre essa janela clique o boto direito do mouse e escolha a opo New field....

PASSO 2 Na janela que ser apresentada, preencha as seguintes informaes:

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
Name Component Type Nome do novo campo virtual que ser criado na tabela. Nome do objeto-campo que ser criado. Tipo do novo campo virtual.

PASSO 3 Clique no boto OK e ser criado um novo campo na tabela que no est fisicamente gravado no disco. Porm, o valor deste campo no mantido automaticamente pelo sistema. necessrio definir na tabela tbItemNota o evento OnCalcFields. Selecione a tabela tbItemNota e na janela Object Inspector clique na pgina Events. No evento OnCalcFields digite TotalItem e pressione Enter. Ser criado uma procedure onde dever ser digitada apenas uma linha de cdigo.
procedure TDadosFaturamento.TotalItem(DataSet: TDataSet); begin tbItensNotaTotalItem.Value := tbItensNotaQuantidade.Value tbItensNotaPrecoUnitario.Value; end;

7
Relacionando tabelas
Existe um relacionamento 1 para N entre as tabelas tbNotaFiscal e a tabela tbItemNota. Uma nota fiscal possui vrios itens. Este tipo de relacionamento chamado pelo Delphi de Master-Detail. No nosso exemplo a tabela Master a tabela tbNotaFiscal e a tabela Detail a tabela tbItemNota. Os relacionamentos entre as tabelas feito atravs de um ou mais campos. No caso, o campo Nota da tabela Detail (tbItemNota) deve se relacionar com o campo Numero da tabela Master (tbNotaFiscal); Para se definir um relacionamento Master-Detail basta alterar alguns atributos da tabela Detail.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Na propriedade MasterFields defini-se o campo de relacionamento. Esta definio feita utilizando-se o Field Linker Designer.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

8
Criando a janela Principal
O primeiro formulrio (janela) que iremos criar o formulrio principal. O formulrio principal ter apenas o menu principal de nossa aplicao. Este menu servir para guiar a implementao de todos os demais formulrios do sistema. PASSO 1 Para criar um novo formulrio selecione a opo do menu File|New Form. Ser criado um formulrio que inicialmente ter o nome Form1. Altere as seguintes propriedades da janela.
Properties Caption Name Position SisFat 1.0 FmPrincipal PoScreenCenter

PASSO 2 Ponha um componente MainMenu (pgina Standard) em qualquer posio e altere a propriedade Name para MenuPrincipal.

D um duplo-clique sobre esse componente e ser apresentado um Editor de Menu, onde voc poder definir as opes do menu.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

Cada item do menu um objeto, possuindo suas propriedades e eventos. Para cada item do menu, altere as seguintes propriedades:
Caption &Cadastro &Vendedores &Produtos &Venda Sair Name MenuCadastro OpcaoVendedores OpcaoProduto OpcaoVenda N1 OpcaoSair

PASSO 3 Os eventos deste menu sero definidos assim que as janelas correspondentes forem criadas. Podemos, no entanto, definir o evento para a opo Sair. Para isso d um duplo-clique sobre esta opo. Automaticamente ser criada uma Procedure para que voc escreva o cdigo (programa) que ser executado na seleo desta opo.
procedure TfmPrincipal.OpcaoSairClick(Sender: TObject); begin Close; end;

Digite apenas o comando Close; na linha onde o cursor est posicionado. PASSO 4 Salve o formulrio utilizando o comando File|Save As. O nome do arquivo ser Principal, e ser gravado na pasta de programas (C:\SisFat\Programas).
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao O Delphi, na verdade, ir gravar dois arquivo. Um arquivo com extenso .pas e um outro arquivo com extenso .dfm (Delphi Form).

9
Criando a janela Vendedores
Vamos agora criar o formulrio para entrada de dados da tabela Vendedores. Existe uma forma automtica de se criar formulrios de banco de dados utilizando-se o Database Form Wizard. Iremos, porm, criar os formulrios de forma manual. PASSO 1 No menu, selecione File|New Form. Ser apresentado um formulrio em branco. Altera as seguintes propriedades:

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
Properties Caption BorderStyle Name Position Vendedores bsSingle fmVendedor poScreenCenter

Antes de tudo, salve o formulrio (File|Save As...) com o nome Vendedor. PASSO 2 Este formulrio, assim como todos os formulrios que fazem atualizao de tabelas, vai referenciar uma ou mais tabelas que esto definidas no Data Module da aplicao (dmFaturamento). Para que este formulrio possa acessar tais tabelas, necessrio declarar este relacionamento. Para isso, selecione a opo File|Use Unit do menu principal. Ser apresentada a seguinte janela:

Selecione dmFaturamento e clique OK. PASSO 3 Inclua no formulrio um componente DBGrid (Data Controls).

Altere algumas de suas propriedades:


Properties DataSource Name DadosFaturamento.dsVENDEDOR DadosVendedor

Selecionando a propriedade Columns (ou d um duplo-clique no componente DBGrid) apresentado um Editor de Colunas. Atravs dele possvel alterar propriedades e eventos de cada coluna individualmente.
O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

PASSO 4 Inclua no formulrio um componente DBNavigador.

Altere as seguintes propriedades:

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
Properties DataSource Name DadosFaturamento.dsVENDEDOR ControleVendedor

10
Criando a janela Produtos
Seguindo o exemplo da criao da janela Vendedores, criada a janela Produtos Criar novo formulrio (File|New Form)com as seguintes propriedades:

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
Properties Caption BorderStyle Name Position Produtos bsSingle fmProduto poScreenCenter

Salvar este formulrio com o nome Produtos File|Use Unit dmFaturamento Incluir no formulrio um componente DBGrid (Data Controls) e alteraras seguintes propriedades:
Properties DataSource Name DadosFaturamento.dsPRODUTO DadosProduto

Configurar cada coluna individualmente; Inclua no formulrio um componente DBNavigador e altere as seguintes propriedades:
Properties DataSource Name DadosFaturamento.dsPRODUTO ControleProduto

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

11
Criando a janela Notas fiscais
O formulrio de entrada de dados das notas fiscais ter as seguintes propriedades:

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao
Properties Caption BorderStyle Name Position Notas Fiscais bsSingle fmNotaFiscal poSreenCenter

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

12
Completando a janela principal
O formulrio principal ir acessar os trs formulrios de entrada de dados que foram criados (fmVendedor, fmProduto, fmNotaFiscal). Para que o formulrio principal consiga referenciar cada um deste formulrios, necessrio selecion-los atravs da opo File|Use Unit selecione.

Falta agora completar o menu principal definindo-se o evento OnClick de cada opo. Para isso, basta clicar em cada opo do menu e definir a linha de cdigo para a chamada da janela correspondente.

Aps a definio de todas as procedures, o formulrio principal ter o seguinte cdigo:

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

13
Configurando o Projeto
Para configurar a aplicao utilize a opo do menu do Delphi Project|Options... Apesar de existir vrias pginas, as pginas que iremos ver so as pginas Forms e Application.

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao Na pgina Forms, no campo Main form, voc define o formulrio principal do projeto. Isto , a janela que ser apresentada quando voc executar a aplicao. No nosso exemplo, o formulrio que contm o menu, ou seja fmPrincipal. Na janela Auto-create forms: aparecem os formulrios que so criados automaticamente, ao ser iniciada a aplicao. Pode-se dizer que estes formulrios ocupam memria, mesmo que no estejam visveis. Na janela Available forms: esto os formulrios que sero criados em tempo de execuo. Esses formulrios no ocupam memria, at que eles sejam apresentados na tela. Porm, o processo de alocao e liberao de memria para esses formulrios de responsabilidade do programador.

Na pgina Application so configurados o ttulo da aplicao (Title:), o arquivo de help que ser utilizado pela aplicao (Help file:) e o cone para representar a aplicao (Icon:)

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

Universidade Federal da Paraba Centro de Cincias Sociais Aplicadas Departamento de Cincia da Informao Programa de Ps-Graduao em Cincia da Informao Ao para cidadania e acesso livre informao

O contedo deste documento de responsabilidade de seus autores.

Joo Pessoa, Maio de 2011

You might also like