Programação inicial - delphi

Programação inicial - delphi

(Parte 1 de 19)

CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE SERGIPE

COORDENADORIA DE INFORMÁTICA

PROGRAMAÇÃO INICIAL - DELPHI

Prof. Mário André

SERGIPE – BRASIL

INDICE

Paradigmas da Programação 5

Tipos Simples 11

Tipos Enumerados 11

Tipo Set 12

Tipos com Editor de Propriedades 12

Manipulando Eventos 12

PROJETO EM DELPHI 16

CONVENÇÃO DE NOMEAÇÃO 21

COMPONENTES 31

Propriedades 32

Métodos 33

Métodos 34

Propriedades 34

Propriedades 35

Crie um formulário conforme lay-out abaixo 36

A opção Apaga Tudo só poderá ocorrer após confirmação do usuário 36

Propriedades 39

Métodos 39

Propriedades 40

Propriedades 41

Métodos 41

Propriedades 42

Métodos 42

Propriedades 43

Métodos 43

Propriedades 44

CHAMADA DE FORMS 58

COMPONENTES (VCL) 59

TRATAMENTO DE EXCEÇÕES 74

UM POUCO MAIS SOBRE COMPONENTES (VCL) 80

Opções 81

Valor 81

Significado 81

Principais Eventos 81

Evento 81

Descrição 81

Principais Métodos 82

Métodos 82

Descrição 82

Principais Propriedades 82

Propriedade 82

Descrição 82

Opções 82

Valor 82

Significado 82

Principais Eventos 82

Evento 82

Descrição 82

Principais Métodos 83

Métodos 83

Descrição 83

Principais Propriedades 83

Propriedade 83

Descrição 83

Opções 83

Valor 83

Significado 83

Principais Eventos 84

Evento 84

Descrição 84

Principais Métodos 84

Métodos 84

Descrição 84

UM POUCO MAIS SOBRE COMPONENTES (VCL) 84

Images 90

StateImages 90

Items 90

ShowButtons 90

ShowLines 90

ShowRoot 90

ReadOnly 90

Eventos 90

OnEditing 90

OnEdited 90

Apêndice A - A Linguagem Object Pascal 92

Apêndice B - DICAS 95

Apêndice C - INTRODUÇÃO À ORIENTAÇÃO A OBJETOS 100

REFERÊNCIA BIBLIOGRÁFICA 102

Paradigmas da Programação

"Paradigma é uma forma de pensar e perceber o mundo real e determina o que escolhemos como significativo e o que descartamos ao compreender ou descrever o que existe ou ocorre no mundo em torno de nós".

A mudança de paradigma é uma oportunidade de encontrar novas interpretações para antigas questões, bem como, para rever soluções tidas como definitivas.

Introdução

Antes de começarmos seria interessante ressaltar que aprender a ser um bom desenvolvedor envolve mais do que aprender a sintaxe de uma linguagem de programação em particular, isto porque existem muitos outros aspectos do campo do sw, que têm pouca conexão com o ato em si de escrever código.

Se você pode está pensando: "Ora, vamos, eu só quero aprender Delphi", deveria também pensar que a questão aqui é que, se você pretende desenvolver sw por dinheiro ou para manter-se num emprego, e tem clientes ou chefes esperando que seu sw:

Saia funcionando da caixa,

Seja feito a tempo,

Seja livre de erros e

Seja barato,

Então, vamos ter que começar por aqui mesmo, comentando sobre problemas como a crise de sw; o ciclo de vida e a engenharia de sw porque apenas talento artístico indisciplinado (intuição) não resolve.

Devemos nos lembrar que o objetivo mais direto do desenvolvimento de sw é fazer o produto final satisfazer a especificação dos requisitos. Precisamos portanto, dividir isso em algo mais tratável. Algum grupo menor ou mais preciso de objetivos que sejam mais alcançáveis e fáceis de lembrar.

Lembre-se de que se tem algo que é sempre permanente é a mudança. Conforme sabemos, uma aplicação passará a maior parte de seu ciclo de vida na fase de manutenção. Então, é importante termos um conjunto de objetivos que transceda a mudança.

Entre outros, os quatro objetivos geralmente excluídos da engenharia de software são a capacidade de modificação, eficiência, confiabilidade e inteligibilidade. Devemos também destacar a ergonomia.

Programação Procedimental

A maior parte dos programadores está acostumada a escrever código que é executado de forma sequencial. Tais programas possuem inicio, meio e fim bem definidos. Tipicamente, estes programas possuem telas de entradas de dados de algum tipo de processamento com estes dados de forma sequencial. Esta forma de se programar é dita procedimental. A figura 1 ilustra a sequencialidade encontrada em programas que seguem tal paradigma.

Entrada de

Dados

Processamento

Esta forma de programar é uma conseqüência direta dos sistemas computacionais disponíveis no passado. Estes sistemas eram compostos por uma CPU responsável pelo processamento (mestre) e uma série de periféricos (escravos), responsáveis pela entrada e saída de dados.

O custo da CPU era nitidamente superior ao de qualquer periférico e até mesmo ao custo do trabalho de quem lidava com estes computadores. Consequentemente, todos os sistemas davam prioridade máxima ao processamento, em relação à entrada e saída de dados.

Os programas desenvolvidos visavam normalmente a solução de problemas de natureza científica, que naturalmente requisitavam mais recursos de CPU do que de entrada e saída de dados.

A popularização dos computadores modificou este quadro: as aplicações comerciais típicas dos dias de hoje exigem uma atenção maior dos programadores (e dos sistemas computacionais) para a entrada e saída de dados.

A hierarquia rígida imposta pela estrutura de menus e a sequencialidade com que os formulários são preenchidos pelo usuário impõem limitações sérias na qualidade da interação do usuário com o computador na programação procedimental.

Um exemplo não baseado em eventos

Program Verif_Nome;

Var Nome : String;

Begin

Write ('Digite um nome: ');

Readln (Nome);

If Nome = 'Ze Silva' then

writeln ('Nome bem original cara')

else

writeln ('O que poderia dizer');

End.

Note que o fluxo do programa é bem definido. Primeiramente ele pergunta o nome do usuário. Agora, você pode esperar que o usuário introduza seu nome, e não precisa se preocupar com nenhuma outra entrada ou ação que ocorra no ambiente.

Depois que o nome é informado, uma instrução if define o que o programa deve fazer em seguida e o programa termina. A lógica deste programa linear é direta e sequencial. O modelo baseado em eventos não pode utilizar controle de fluxo do início até o fim, pois o aplicativo deve manipular todas as ações ou eventos possíveis

Programação Orientada a Eventos

Um aplicativo baseado em eventos, na verdade, não faz nada - a não ser que ocorra um evento. É isso mesmo, ele não tem um início ou final lógico. Ele simplesmente precisa saber como responde aos diferentes tipos de eventos. Isto não quer dizer que você não pode ter um evento que ocorra quando o programa começa ou quando vai se fechar; entretanto, você precisa pensar sobre seu modelo de programação de modo diferente.

No exemplo anterior, você sabia exatamente que ações o usuário executaria - digitar um nome. Contudo, pense em aplicativo processador de textos baseado no Windows. Não há meios de saber se o usuário digitará uma frase, escolherá uma opção no menu ou dará um clique em um botão, na barra de atalho. Independentemente da ação que o usuário executa, o aplicativo precisa ser consistente o suficiente para responder ao evento.

A idéia básica por trás da programação dirigida a eventos é que alguns eventos determinam o fluxo do aplicativo. Um programa gasta a maior parte de seu tempo aguardando eventos e tem código que responde a diversos deles (nem todos, já que normalmente um programa ignora eventos nos quais não tem interesse). Por exemplo, quando o usuário dá um clique em um dos botões do mouse, ocorre um evento. É enviada uma mensagem descrevendo esse evento para a janela que está sob o cursor do mouse no momento. A aplicação intercepta a mensagem e chama o método associado ao evento correspondente. Quando o metodo termina, o programa retorna a um estado de espera.

Como a explanação acima demonstra, eventos são serializados; cada evento é manipulado somente após o anterior ter sido completado. Quando uma aplicação está executando código de resposta ao evento (ou seja, não está aguardando um evento), outros eventos para essa aplicação devem aguardar em uma fila reservada de multitarefa gerenciada através de um manipulador de eventos.

Ações Sistema Eventos

Loop de Tratamento dos Eventos

O avanço da tecnologia barateou o custo dos sistemas computacionais e introduziu recursos gráficos para a interação com os usuários (GUI- Graphic User Interface).

Uma aplicação que se utiliza de interface gráfica, permite que o usuário decida a seqüência mais apropriada de interação. Esta abordagem muda completamente a forma de se construir programas.

As interfaces gráficas introduziram assim uma forma completamente nova de se programar. Nesta abordagem, uma aplicação constitui-se de um loop para tratamento de eventos e de procedimentos associados a eventos específicos. Toda vez que ocorre um determinado evento, o seu procedimento equivalente é executado. Eventos acontecem em decorrência da interação do usuário com o sistema, gerados pelo sistema operacional ou ainda gerados na própria aplicação. Exemplos de eventos: mover o mouse, pressionar uma tecla, selecionar um ítem de menu, setar o foco para um determinado controle, etc.

A cada ação do usuário corresponde um ou mais eventos “enviados” para a aplicação. Estes eventos devem ser identificados e tratados de maneira adequada pelo programa. Esta abordagem é conhecida como programação orientada a eventos.

As interfaces gráficas tornaram a interação dos usuários com as aplicações bastante atraentes. Em compensação, introduziram uma complexidade enorme do ponto de vista de programação. Para se ter uma idéia, o código em linguagem C no windows para escreve na tela “Alô mundo” possui cerca de 100 linhas.

Se acrescentarmos a isto o fato de que 80% do código escrito para uma aplicação é consumido na elaboraçào de interface, fica difícil de massificar a programação em ambientes de interface gráfica.

Felizmente, o paradigma da orientação a objetos consegui esconder do programador a maior parte da complexidade da programação nestes ambientes.

IDE

O ambiente de desenvolvimento do Delphi é composto de várias ‘partes’ compondo um conjunto integrado de ‘janelas’ que interagem entre si.

Vamos abordar cada uma separadamente:

O FORM DESIGN

Form é o termo utilizado para representar as janelas do Windows que compõem uma aplicação. Os forms servem como base para o posicionamento dos componentes, que são responsáveis pela interação entre usuário e máquina.

Para selecionarmos o form devemos clicar (uma vez) em sua área interna ou na object inspector, e não simplesmente em seu título.

As características iniciais do form como tamanho, botões (minimizar, maximizar, fechar, controle) e ícone podem (e serão) ser modificadas através de recursos que veremos adiante.

A BARRA DE MENU PRINCIPAL

Como todo programa padrão Windows, há uma janela onde estão situados os menus da aplicação, a barra que contem os menus também agrupa outras partes.

A PALETA DE COMPONENTES

Aplicativos orientados a objetos trabalham com elementos que denominamos componentes. No Delphi, os componentes encontram-se em uma paleta com várias guias.

(Parte 1 de 19)

Comentários