Вы находитесь на странице: 1из 22

Ambiente de Programao Visual DELPHI 2.

0 Parte 1

Delphi e Object Pascal

Autor: Maurcio Capobianco Lopes

Prof. Maurcio Capobianco Lopes

Ambiente de Programao Visual DELPHI 2.0 Parte 1

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CINCIAS EXATAS E NATURAIS DEPARTAMENTO DE SISTEMAS E COMPUTAO

DISCIPLINA: Linguagem de Programao Visual PROFESSOR: Maurcio Capobianco Lopes

SUMRIO
Introduo O que uma Linguagem de Programao Visual Caractersticas das Linguagens de Programao Visual Tipos de Linguagens Visuais O Ambiente DELPHI 2.0 Janela FORM Janela OBJECT INSPECTOR Janela CODE EDITOR Janela MAIN Menu Principal Projeto Tipos de Dados Tipos de Dados NUMRICOS INTEIROS Tipos de dados NUMRICOS REAIS e MOEDA Tipos de dados BOOLEANOS Tipos de dados ALFANUMRICOS Biblioteca de Classes Paleta de Componentes TApplication TScreen TPrinter Componentes Paleta STANDARD Paleta ADDITIONAL Paleta WIN95 A Paleta DIALOGS Propriedades
Prof. Maurcio Capobianco Lopes 2

Ambiente de Programao Visual DELPHI 2.0 Parte 1

Mtodos Eventos Excees Try ... Except On ... Do Tipos de Exceo Try ... Finally

Prof. Maurcio Capobianco Lopes

Ambiente de Programao Visual DELPHI 2.0 Parte 1

INTRODUO
Este curso tem por objetivo apresentar uma linguagem de programao visual que tenha como base a programao orientada a objetos e a programao orientada a eventos. Para cumprir este objetivo foi selecionada uma ferramenta que tenha estas caractersticas. A ferramenta selecionada foi o DELPHI. O DELPHI uma linguagem de programao visual desenvolvida pela empresa Borland, baseada na linguagem de implementao denominada Object Pascal. Neste curso ser estudada a verso 2.0 da linguagem, por se tratar de uma verso totalmente compatvel com Windows95 e gerar aplicativos de 32 bits. Esperamos que ao final deste curso voc tenha condies de desenvolver aplicativos utilizando tal linguagem, de modo a aproveitar os seus principais recursos. Bom Curso!

O QUE UMA LINGUAGEM DE PROGRAMAO VISUAL


As linguagens de programao visual, ou ferramentas visuais, so linguagens desenvolvidas para ambientes grficos. Estas linguagens possuem a chamada sintaxe visual, pois incorporam figuras, formulrios, animaes, diagramas ou cones para facilitar e agilizar o desenvolvimento dos programas. As linguagens de programao visual possuem um ambiente visual baseado em um conjunto de ferramentas e uma interface para acessar a estas ferramentas

CARACTERSTICAS DAS LINGUAGENS DE PROGRAMAO VISUAL


As principais caractersticas de uma Linguagem Visual so permitir que um sistema seja desenvolvido mais rapidamente do que numa linguagem tradicional e reduzir o tempo de manuteno. Isto ocorre em funo dos seguintes aspectos: a interface montada atravs de componentes j disponveis; torna-se desnecessrio escrever uma boa parte do cdigo de um programa em funo do mesmo ser gerado automaticamente; possuem geradores ou editores de telas, relatrios, etiquetas, consultas, entre outros; combinam recursos de anlise orientada a objetos e a eventos com gerenciadores de banco de dados.

Prof. Maurcio Capobianco Lopes

Ambiente de Programao Visual DELPHI 2.0 Parte 1

TIPOS DE LINGUAGENS VISUAIS


Algumas das principais linguagens de Programao Visual disponveis no mercado so: Linguagem Visual Borland Delphi DBase FoxPro Microsoft Acces Power Builder Realizer SQL Windows Visual Basic Visual C++ Visual J++ Visual Objects Visual Realia Linguagem de Implementao Object Pascal DBase XBase Acces Basic Powerscript Basic SAL Visual Basic C++ Java XBase orientado a objetos Cobol

Prof. Maurcio Capobianco Lopes

Ambiente de Programao Visual DELPHI 2.0 Parte 1

O AMBIENTE DELPHI 2.0


Neste item ser estudado o IDE (Integrated Developer Environment Ambiente Integrado de Desenvolvimento) do DELPHI. 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. Suas principais janelas so: Janela FORM Janela OBJECT INSPECTOR Janela CODE EDITOR Janela MAIN

JANELA FORM
O FORM a tela onde o desenvolvedor constri sua aplicao. A partir de um FORM 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 dentro da rea til do FORM.

A Janela FORM: interface. Os quatro tipos de FORM so: 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. Para se abrir um FORM utilizam-se os comandos: Show ou ShowModal. Os FORMS tem um ModalResult associado que so dados pelos botes colocados nos mesmos. Este ModalResult permite tratar se o FORM foi fechado com OK, Cancel, Close, ...

JANELA OBJECT INSPECTOR


A janela OBJECT INSPECTOR contm propriedades e eventos dos componentes inseridos em um FORM, e do prprio FORM. na janela Properties (Propriedades), por exemplo, que se estabelecem as caractersticas de cada componente, como nome, fonte, altura, largura, etc. J na Prof. Maurcio Capobianco Lopes 6

Ambiente de Programao Visual DELPHI 2.0 Parte 1 janela Events (Eventos) estabelecem-se aes a serem tomadas pelo componente a partir de um evento associado ao mouse, teclado, sistema operacional, etc.

A Janela OBJECT INSPECTOR: propriedades e eventos

JANELA CODE EDITOR


A janela CODE EDITOR, ou editor de cdigo, onde se desenvolve o programa fonte. neste editor que se encontra a estrutura sinttica propriamente dita da Linguagem DELPHI. Cabe ressaltar, no entanto, que boa parte do cdigo escrito gerado pela prpria linguagem.

A Janela CODE EDITOR: cdigo fonte da aplicao Prof. Maurcio Capobianco Lopes 7

Ambiente de Programao Visual DELPHI 2.0 Parte 1

JANELA MAIN
A janela MAIN, ou janela principal, controla o funcionamento do DELPHI. Esta janela pode ser dividida em trs partes: Menu Principal: contm as opes de utilizao do DELPHI; Botes Speed Bar: contm botes que agilizam determinadas funes do DELPHI; Paleta de Componentes: contm os componentes que podem ser utilizados na construo do projeto. Menu Principal Paleta de Componentes

Botes Speed Bar A Janela MAIN: dividida em trs partes. Os Botes SpeedBar e a Paleta de Componentes sero detalhados medida de sua utilizao.

MENU PRINCIPAL
O menu principal contm as opes de utilizao do DELPHI. O detalhamento destas opes ser feito medida de sua utilizao: File: permite a manipulao de arquivos do desenvolvedor (PAS, DPR, ...); Edit: apresenta opes de edio; Search: apresenta opes de pesquisa e localizao; View: permite verificar detalhes do projeto; Project: permite adicionar ou remover partes em um projeto, bem como compil-lo; Run: apresenta opes de execuo e depurao do projeto; Component: permite a criao ou instalao de novos componentes no DELPHI; Database: apresenta opes de uso de banco de dados; Workgroups: permite o controle de verso e gerenciamento de arquivos em ambientes Client/Server; Tools: permite configurar o ambiente de trabalho, bem com acessar ferramentas externas ao DELPHI; Help: ajuda do DELPHI.

PROJETO
No DELPHI o programa principal tem extenso DPR. Um DPR o cdigo de programa, tambm denominado de projeto, a partir do qual o desenvolvedor construir sua aplicao. a partir deste projeto que ser gerado o cdigo executvel (EXE). Grande parte do cdigo, no entanto, fica armazenado em UNITs com extenso PAS, onde so desenvolvidos os formulrios. O projeto pode ser visualizado atravs da opo do menu View | Project Source. Sua estrutura aparece na janela Code Editor e pode-se verificar que muito semelhante ao programa principal do antigo Turbo Pascal . A implementao mnima de um projeto prev, na grande maioria das situaes, a inicializao da aplicao (comando Application.Initialize), o uso (clusula Uses) e criao dos formulrios (comando Application.CreateForm) utilizados na mesma e a execuo do projeto (Application.Run). Ao projeto podem ser adicionadas ou retiradas bibliotecas (Units) atravs da opo Project do menu. Prof. Maurcio Capobianco Lopes 8

Ambiente de Programao Visual DELPHI 2.0 Parte 1

Estrutura de um Projeto em DELPHI. program Project1; uses Forms, TIPOS DE DADOS Unit1 in 'Unit1.pas' {Form1}; {$R *.RES} No DELPHI 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 begin seus respectivos tipos de dados do Windows . Alm disto, houveram muitas mudanas do PASCAL Application.Initialize; 7.0 e do DELPHI 1.0 para o Application.CreateForm(TForm1, Form1); DELPHI 2.0. Application.Run; Os principais tipos deend. do DELPHI so: dados Numricos Inteiros Reais Moeda Alfanumricos Caracter String Lgicos Booleanos

TIPOS DE DADOS NUMRICOS INTEIROS


Os principais tipos de dados numricos inteiros do DELPHI esto definidos na tabela abaixo: Tipo Byte ShortInt Word SmallInt Cardinal Integer Longint Tamanho Domnio (em bytes) 1 0..255 1 -127..128 2 0..65535 2 -32768..32768 4 0..2147483647 4 -2147483648..2147483647 4 -2147483648..2147483647 Tipos de Dados NUMRICOS INTEIROS

TIPOS DE DADOS NUMRICOS REAIS E MOEDA


Os principais tipos de dados numricos reais e moeda do DELPHI esto definidos na tabela abaixo: Tipo Single Real Double Extended # Comp Currency
#

Tamanho (em bytes) 4 6 8 10 8

Domnio 1.5 * 10 .. 3.4 * 10 -39 39 2.9 * 10 .. 1.7 * 10 -324 308 5.0 * 10 .. 1.7 * 10 -4932 4392 3.4 * 10 .. 1.1 * 10 63 62 -2 .. 2
-45 38

O tipo COMP na verdade um inteiro de 64 bits, mas implementado como um

real Prof. Maurcio Capobianco Lopes 9

Ambiente de Programao Visual DELPHI 2.0 Parte 1 Tipos de Dados NUMRICOS REAIS e MOEDA O tipo Currency o tipo MOEDA. Ele tem preciso de quatro casas decimais e compatvel com os bancos de dados que representam dinheiro.

TIPOS DE DADOS BOOLEANOS


Os principais tipos de dados lgicos do DELPHI esto definidos na tabela abaixo: Tipo Boolean ByteBool Bool WordBool LongBool Tamanho Armazenamento (em bytes) 1 tamanho de um byte 1 tamanho de um byte 2 tamanho de uma palavra 2 tamanho de uma palavra 4 tamanho de uma palavra dupla Tipos de Dados BOOLEANOS

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

TIPOS DE DADOS ALFANUMRICOS


Os principais tipos de dados alfanumricos do tipo caracter do DELPHI esto definidos na tabela abaixo: Tamanho Armazenamento (em bytes) Char 1 1 caracter ANSI AnsiChar 1 1 caracter ANSI WideChar 2 1 caracter Unicode Tipos de Dados CARACTER Tipo

Prof. Maurcio Capobianco Lopes

10

Ambiente de Programao Visual DELPHI 2.0 Parte 1 Os principais tipos de dados alfanumricos do tipo string do DELPHI esto definidos na tabela abaixo: Tipo ShortString AnsiString String WideString Tamanho Armazenamento (em bytes) 255 ANSIChar at 3 Gb ANSIChar 255 ou at 3 Gb ANSIChar at 1,5 Gb WideChar Tipos de Dados STRING

No DELPHI 2.0 o tipo de dados String tem funcionamento idntico ao AnsiString, que baseado em ponteiros. Para que ele tenha funcionamento igual ao ShortString, que compatvel com o antigo String do DELPH 1.0 e do PASCAL necessrio incluir a diretiva de compilao {$H-} no cdigo do programa.

Prof. Maurcio Capobianco Lopes

11

Ambiente de Programao Visual DELPHI 2.0 Parte 1

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 (no menu principal acesse View - Browser). No DELPHI existem as classes visveis e as no visveis. CLASSES VISVEIS As classes visveis so aquelas que podem ser manipuladas atravs da paleta de componentes, ou seja, so os prprios componentes CLASSES NO-VISVEIS As classes de componentes 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.

PALETA DE COMPONENTES
A paleta de componentes a biblioteca de classes que fornece recursos para o desenvolvimento visual em DELPHI. As classes da VCL representadas na paleta de componentes esto separadas por tipos: Standard: componentes mais comuns e usados. Additional: componentes adicionais tambm de uso comum. Win95: componentes com a aparncia do Windows95 . Data Access: componentes para comunicao com banco de dados. Data Controls: componentes para tratamento de dados vinculados a banco de dados. Win3.1: componentes com a aparncia do Windows 3.1x . Dialogs: componentes que criam caixas de dilogo comuns no Windows95 . Internet: componentes que permitem operaes de acesso a Internet. System: componentes para aproveitar recursos de sistema do Windows95 . QReport: componentes para gerao de relatrios. OCX: componentes desenvolvidos em outras linguagens mas que podem ser utilizados no DELPHI. Samples: componentes de exemplo, cuja documentao vem disponvel com o DELPHI. Os componentes disponveis na VCL podem ser divididas entre os visuais e os no-visuais.

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. 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: Nome Descrio faz com que a aplicao seja executada. Este comando colocado Run() automaticamente no cdigo fonte do projeto (veja em View - Project Source). encerra a aplicao. Terminate() carrega o arquivo de help da aplicao. HelpCommand() Prof. Maurcio Capobianco Lopes 12

Ambiente de Programao Visual DELPHI 2.0 Parte 1 Algumas das principais propriedades da classe TApplication so: Nome Descrio contm o form principal da aplicao; MainForm contm o ttulo da aplicao quando a mesma est minimizada; Title armazena o nome do arquivo de Help da aplicao; HelpFile contm o cone que representa a aplicao. Icon

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: Nome Descrio contm o cursor que est em uso; Cursor contm a lista dos cursores disponveis para a aplicao; Cursors contm a lista de fontes disponveis para a aplicao; Fonts contm a lista de forms da aplicao; Forms contm a altura da tela (em pixels); Height contm a largura da tela (em pixels). Width

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

Prof. Maurcio Capobianco Lopes

13

Ambiente de Programao Visual DELPHI 2.0 Parte 1

COMPONENTES
COMPONENTES VISUAIS Os componentes visuais podem ter sua forma e tamanho alteradas no formulrio (Form), alm das propriedades e eventos no Object Inspector. Eles aparecem durante a execuo do aplicativo exatamente como foram definidos durante o projeto. COMPONENTES NO-VISUAIS Os componentes no visuais ficam apenas como a representao de um cone no formulrio (Form), mas suas propriedades e eventos podem ser alteradas no Object Inspector. Eles no aparecem no formulrio durante a execuo do aplicativo, podendo ser ativados por comandos especficos (por exemplo podemos citar a caixa de dilogo abrir arquivo).

PALETA STANDARD
A paleta Standard contm 14 componentes mais comuns para a construo de aplicaes.

Paleta Standard: componentes mais comuns Os componentes desta paleta so:

Permite a construo da barra de menus e de menus suspensos. MainMenu Permite a construo de menus a partir do boto direito do mouse. PopupMenu Permite colocar textos que no podem ser alterados pelo usurio. Label Permite a apresentao ou a entrada de dados pelo usurio. Edit Permite a introduo ou exibio de linhas de texto. Memo Permite a colocao de botes para seleo de opes por parte do usurio.

Button

CheckBox

Permite a colocao de caixa de verificao para a seleo de diversas opes.

RadioButton

Permite a colocao de botes de seleo de onde pode ser selecionada apenas uma opo.

Prof. Maurcio Capobianco Lopes

14

Ambiente de Programao Visual DELPHI 2.0 Parte 1

Permite criar uma lista de itens que podem ser selecionados. ListBox Permite criar uma lista de itens de onde pode ser selecionado apenas um. Este componente tambm permite que o usurio digite sua prpria opo.

ComboBox

ScrollBar

Permite criar a barras de rolagem verticais ou horizontais, no padro do Windows .

Permite agrupar controles como CheckBox, RadioButton, etc. GroupBox Permite agrupar RadioButtons para que se faa a seleo de uma opo. RadioGroup Permite agrupar outros componentes. So utilizados para construir barra de status, barra de ferramentas, etc. Tambm so importantes para compatibilizar diferentes tipos de definio de telas.

Panel

Os componentes so manipulados atravs de suas propriedades, mtodos e eventos.

PALETA ADDITIONAL
A paleta Additional tem 9 componentes, tambm de uso comum, mas com algumas funes mais especializadas.

Paleta Additional: mais componentes de uso comum Os componentes desta paleta so:

Permite a colocao de botes contendo imagens grficas. BitBtn Permite a criao de barra de ferramentas e conjuntos de botes. Devem ser utilizados juntamente com o componente Panel.

SpeedButton

Permite a entrada de dados definindo-se mscaras de leitura. MaskEdit Permite a apresentao de strings em colunas. StringGrid Permite a apresentao de informaes em colunas. DrawGrid

Prof. Maurcio Capobianco Lopes

15

Ambiente de Programao Visual DELPHI 2.0 Parte 1 Permite a apresentao de imagens grficas. Image Permite o desenho de figuras geomtricas. Shape Permite o desenho de retngulos em relevo. Bevel Permite a criao de reas de exibio, com barras de rolagem. ScrollBox Os componentes so manipulados atravs de suas propriedades, mtodos e eventos.

PALETA WIN95
A paleta Win95 contm 12 componentes para criar aplicaes que tenham a aparncia do Windows95.

Paleta Win95: aplicativos com a aparncia do Windows95 . Os componentes desta paleta so:

TabControl

Permite criar pginas que podem ser mudadas por guias ou outros controles.

Permite inserir guias para a seleo de pginas. PageControl Permite a visualizao de dados em forma hierrquica. TreeView Permite a visualizao de dados em formas de listas ou colunas. ListView Permite a criao de listas de imagens. ImageList Permite a criao de cabealhos mveis. HeaderControl Permite a edio de textos utilizando recursos de formatao. RichEdit Permite a criao de barras de status. StatusBar Prof. Maurcio Capobianco Lopes 16

Ambiente de Programao Visual DELPHI 2.0 Parte 1

Permite a criao de controles deslizantes. TrackBar Permite a criao de barras de progresso. ProgressBar Permite a criao de botes de avano/retrocesso. UpDown Permite a criao de suporte a teclas de atalho. HotKey Os componentes so manipulados atravs de suas propriedades, mtodos e eventos.

A PALETA DIALOGS
A paleta Dialogs contm 8 componentes no visuais para a criao de caixas de dilogo padro no Windows95.

Paleta Dialogs: caixas de dilogo prontas. Os componentes desta paleta so:

Permite a criao de caixa de dilogo para abrir arquivos. OpenDialog Permite a criao de caixa de dilogo para salvar arquivos. SaveDialog Permite a criao de caixa de dilogo para formatao de fontes. FontDialog Permite a criao de caixa de dilogo para formatao de cores. ColorDialog Permite a criao de caixa de dilogo para impresso. PrinterDialog Permite a criao de caixa de dilogo para a configurao das opes de impresso.

PrinterSetupDialog

Permite a criao de caixa de dilogo para a localizao de textos. FindDialog

Prof. Maurcio Capobianco Lopes

17

Ambiente de Programao Visual DELPHI 2.0 Parte 1 Permite a criao de caixa de dilogo para a substituio de textos ReplaceDialog Os componentes so manipulados atravs de suas propriedades, mtodos e eventos.

PROPRIEDADES
As propriedades so os atributos da classe ou seja so as suas caractersticas. As propriedades mais comuns, presentes nos componentes do DELPHI so: Nome Descrio Determina o alinhamento de controle Align Legenda do componente (com o &, indica atalho) Caption Nome da instncia do componente Name Posio esquerda Left Posio superior Top Altura do componente Height Largura do componente Width ComponentCount O nmero de componentes possudos Uma matriz de componentes possudos Components Indica a cor do componente Color Indica a fonte (letra) a ser usada no componente Font Define a aparncia 2D ou 3D do componente Ctl3D Indica se o componente est ativado ou no Enabled Indica se o componente est visvel ou no Visible String utilizada para dicas instantneas Hint Mostra ou no as dicas instantneas ShowHint Menu que ser mostrado com o click do boto direito do mouse PopupMenu Define a ordem de tabulao do componente (tecla TAB) TabOrder Indica se o componente ser ponto de parada para a tecla TAB TabStop Nmero utilizado para chamar o help sensvel ao contexto HelpContext Contm um nmero inteiro, que pode ser a identificao do componente Tag

MTODOS
Os mtodos so as aes realizadas pela classe, ou seja, so as funes s quais esto associados um comportamento da classe. Os mtodos mais comuns das classes do DELPHI so: Nome Descrio Cria uma nova instncia do objeto Create Destri a instncia do objeto Destroy Torna o componente visvel Show Torna o componente invisvel Hide Coloca o foco no componente SetFocus Determina se o componente est com o foco Focused Coloca o componente na frente dos demais BringToFront Coloca o componente atrs dos demais SendToBack Gradua o componente em determinada escala ScaleBy Muda a posio e o tamanho do componente SetBounds

EVENTOS
Prof. Maurcio Capobianco Lopes 18

Ambiente de Programao Visual DELPHI 2.0 Parte 1 Os eventos so blocos de comandos que associam a ocorrncia de alguma atividade a uma ao a ser tomada. Uma linguagem de programao orientada a eventos no tem necessariamente um incio ou final lgico, isto , de acordo com uma seqncia de comados, pois as aes s so realizadas a partir do instante que ocorre um evento. Um evento pode estar associado a: clique ou movimento do mouse; acionamento do teclado; operaes sobre janelas (abrir, fechar, criar, redimensionar, mover, ...); erros de execuo; etc. O DELPHI possui mais de 130 eventos pr-definidos, que esto associados a ocorrncia de aes, nas mais diversas classes. Alguns dos principais eventos do DELPHI so: Nome Descrio Ocorre quando o programa ativa o objeto pela primeira vez, ou quando se OnActivate retorna de um outro aplicativo. Ocorre quando muda o contedo de um objeto. OnChange Ocorre quando o usurio d um clique no boto esquerdo do mouse. OnClick Ocorre quando o objeto fechado. OnClose Ocorre quando o objeto criado. OnCreate Ocorre quando feito um duplo clique com o boto esquerdo do mouse. OnDblClick Ocorre quando se sai do objeto. OnDeactivate Ocorre quando se elimina um objeto. OnDestroy Ocorre quando um objeto arrastado para outro objeto e solto. OnDragDrop Ocorre quando um objeto arrastado para cima de outro objeto. OnDragOver Ocorre quando se abre um objeto ComboBox ou ListBox. OnDropDown Ocorre quando o objeto recebe o foco. OnEnter Ocorre quando ocorre um erro de execuo na aplicao. OnException Ocorre quando o objeto perde o foco. OnExit Ocorre quando solicitado a abertura de um arquivo de ajuda. OnHelp Ocorre quando o objeto passa a ser oculto. OnHide Ocorre quando o usurio pressiona uma tecla, incluindo SHIFT, ALT e OnKeyDown INSERT. Ocorre quando o usurio pressiona uma tecla ASCII. OnKeyPress Ocorre quando o usurio solta uma tecla. OnKeyUp Ocorre quando se minimiza uma janela. OnMinimize Ocorre quando o usurio clica em um boto do mouse e o cursor OnMouseDown posicionado sobre a rea clicada. Ocorre quando o usurio move o cursor dentro da rea selecionada. OnMouseMove Ocorre quando o usurio solta um boto do mouse. OnMouseUp Ocorre quando se ativa um menu popup com o boto direito do mouse. OnPopup Ocorre quando se muda o tamanho do objeto. OnResize Ocorre quando se restaura uma janela que foi minimizada. OnRestore Ocorre quando uma aplicao inicia sua execuo. OnRun Ocorre antes que o objeto se torne visvel. OnShow Ocorre em intervalos peridicos de tempo. OnTimer

Prof. Maurcio Capobianco Lopes

19

Ambiente de Programao Visual DELPHI 2.0 Parte 1

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; o 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. 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. Sintaxe: try { Bloco de comandos} except {Bloco de comandos a ser executado 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. Sintaxe: On {Tipo de exceo} Do Prof. Maurcio Capobianco Lopes 20

Ambiente de Programao Visual DELPHI 2.0 Parte 1 {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. . 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: Nome Descrio EaccessViolation ocorre quando se tenta acessar uma regio de memria invlida (ex: tentar atribuir valor a um ponteiro cujo contedo nil). EconvertError 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. EdivByZero EinOutError 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 EintOverFlow registrador alocado para ele (para variveis inteiras). EinvalidCast 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. EinvalidOp EinvalidPointer 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 EoutOfMemory suficiente. ocorre quando o resultado de um clculo excedeu a capacidade do EoverFlow registrador alocado para ele (para variveis de ponto flutuante). ocorre quando uma expresso excede os limites para a qual foi definida ErangeError (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 EStackOverflow na Stack. ocorre quando o resultado de um clculo pequeno demais para ser EUnderflow representado como ponto flutuante. ocorre quando se tenta dividir um valor de ponto flutuante por zero. EZeroDivide

TRY ... FINALLY


O bloco try ... finally permite que um bloco de comandos seja executado, mesmo quando houver uma exceo. Sintaxe: try { Bloco de comandos} Prof. Maurcio Capobianco Lopes 21

Ambiente de Programao Visual DELPHI 2.0 Parte 1 finally {Bloco de comandos a ser executado mesmo quando ocorrer uma exceo} end; Exemplo: garantir que um arquivo ser fechado mesmo quando ocorrer uma exceo. assign (arq, teste.txt); try reset (arq) {outros comandos sobre o arquivo} finally close (arq) end;

Prof. Maurcio Capobianco Lopes

22

Вам также может понравиться