Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Delphi 7 - Programação inicial, Notas de estudo de Matemática

Uma introdução a programação com Borland Delphi, ideal para quem esta começando.

Tipologia: Notas de estudo

Antes de 2010

Compartilhado em 02/08/2009

Abelardo15
Abelardo15 🇧🇷

4.6

(58)

227 documentos

1 / 96

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
CENTRO FEDERAL DE EDUCAÇÃO
TECNOLÓGICA DE SERGIPE
COORDENADORIA DE INFORMÁTICA
PROGRAMAÇÃO INICIAL - DELPHI
Prof. Mário André
SERGIPE – BRASIL
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60

Pré-visualização parcial do texto

Baixe Delphi 7 - Programação inicial e outras Notas de estudo em PDF para Matemática, somente na Docsity!

CENTRO FEDERAL DE EDUCAÇÃO

TECNOLÓGICA DE SERGIPE

COORDENADORIA DE INFORMÁTICA

PROGRAMAÇÃO INICIAL - DELPHI

Prof. Mário André

SERGIPE – BRASIL

Prof. Mário André

Prof. Mário André

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

Prof. Mário André dados de forma sequencial. Esta forma de se programar é dita procedimental. A figura 1 ilustra a sequencialidade encontrada em programas que seguem tal paradigma. 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 Início Entrada de Dados Processamento Fim

Prof. Mário André Ações Sistema 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. Loop de Tratamento dos Eventos

Prof. Mário André

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.

Prof. Mário André Há uma caixa de listagem^1 que permite a escolha de qual componente deverá ser selecionado. Duas guias : Properties – Define as propriedades e valores do Objeto selecionado. Events – Define quais os eventos serão manipulados pelo desenvolvedor. Algumas propriedades trazem opções diferenciadas para alteração. Por exemplo: Caption – Permite a inserção de uma string de caracteres. Color – Permite a inserção de um dos valores pré-definidos na caixa de listagem. BorderIcons – Toda propriedade que possui o sinal de + tem a característica de mostrar subpropriedades. Deve-se clicar no sinal de + para expandir e no sinal de – para ocultar. Icon – Exibe um botão de reticências (...) que dará origem a uma caixa de diálogo. Os nomes definidos como valores das propriedades na object inspector serão os nomes usados na construção do código em Object Pascal. Na parte superior da janela há uma caixa de listagem que permite a seleção de componentes já inseridos no formulário. Duas guias ( Properties e Events ) separam as listas de propriedades e eventos. As propriedades são definidas através de tipos. Podemos citar no exemplo com o objeto form:

Tipos Simples

São tipos String ou valores numéricos definidos ao digitar um valor na frente da propriedade. Exemplo: Name, Caption, Height e Width entre outros.

Tipos Enumerados

São tipos definidos por uma quantidade limitada de opções que devem ser previamente selecionadas, não simplesmente definidas pelo usuário. Exemplo: Cursor, BorderStyle e WindowState entre outros. (^1) Componente ComboBox.

Prof. Mário André

Tipo Set

Algumas propriedades podem conter múltiplos valores. Um exemplo é a propriedade BorderIcons com o sinal + indicando subpropriedades.

Tipos com Editor de Propriedades

As propriedades que são acompanhadas de um ícone de reticências (...) indicam que uma janela de diálogo irá auxiliar na escolha de seu(s) valor(es). Exemplo: Icon.

Manipulando Eventos

A guia Events permite o desenvolvedor definir um handler^2 em Object Pascal para um determinado evento que pode ser disparado pelo usuário ou pelo sistema. Um evento é uma ação disparada dentro de uma aplicação orientada a Objeto. Podemos citar as ocorrências dos principais eventos que são disponibilizados na maioria dos componentes em Delphi: Evento Ocorrência OnClick Quando o usuário clicar uma vez com o botão esquerdo do mouse sobre o componente. OnDblClick Quando o usuário dá um duplo clique no componente com o botão esquerdo do mouse. OnEnter Quando o componente recebe o foco. OnExit Quando o componente perde o foco. OnKeyPress Quando pressiona uma única tecla de caractere. Observe a construção do procedimento criado pelo próprio Delphi: (^2) Manipulador de evento

Prof. Mário André Podemos considerar também o seguinte fato: ‘Tudo o que o Delphi escrever, é problema dele’. Agora, ‘Tudo o que você escrever é problema seu’. Problema no sentido de atualização de código, como veremos adiante. Quando alteramos o nome do objeto, deve-se utilizar o mesmo nome nas rotinas implementadas. Agora, o que o Delphi declarou, ele se encarrega de atualizar. Pode-se personalizar o Editor através do menu Tools | Editor Options.

CODE INSIGHT

Um recurso que vai facilitar nossa vida no momento de desenvolvimento de código é o Code Insight do Code Editor do Delphi., Ele atua como um ajudante de complemento junto ao código do desenvolvedor. Por exemplo, ao digitar o nome de um objeto seguido de ponto (.) abre-se uma listagem de métodos e propriedades que podem ser utilizadas neste objeto. Esta lista pode ser ordenada por nome, clicando com o botão direito dentro da listagem.

Prof. Mário André No momento de chamada de procedimentos ou métodos: Para forçar o code insight em determinada situação, utiliza-se:  Ctrl + Barra de Espaço - Para complemento de objetos; seus métodos e propriedades.  Ctrl + Shift + Barra de Espaço – Para complemento de parâmetros. Prática 1 - Vamos realizar um pequeno exemplo no Delphi para resultar na execução abaixo: Siga os seguintes passos:

  1. Defina para o Formulário no Object Inspector: Caption: Pô, que emoção cara Name: Form
  2. Insira um botão no formulário (Ver Guia Standard na Barra de Ferramentas)
  3. Defina para o Botao no Object Inspector: Caption: Olá Pessoal Name: Btn_Ola
  4. Dê um click duplo no botão e aparecerá no editor de código:

Prof. Mário André configuradas. .DOF Delphi Option File: um arquivo de texto com as configurações atuais para as opções de projeto. Desenvolvimento Exigido apenas se opções de compilação especiais foram configuradas. .DSK Arquivo de Desktop: contém informações sobre a posição das janelas do Delphi, os arquivos abertos no editor e outros ajustes da área de trabalho. Desenvolvimento Não. Você deve excluí-lo se copiar o projeto em um novo diretório. .EXE Aquivo executável: o aplicativo Windows que você produziu. Compilação: Ligação (linking) Não. Esse é o arquivo que você vai distribuir. Ele inclui todas as unidades compiladas, formulários e recursos. .~PA Backup do arquivo Pascal Pode ser ativado ou desativado através do Menu Tools – Editor Options - guia display – Item: Create backup file. Desenvolvimento Não. Esse arquivo é gerado automaticamente pelo Delphi, quando você salva uma nova versão do código-fonte. .TODO Arquivo da lista to - do , contendo os itens relacionados ao projeto inteiro. Desenvolvimento Não. Esse arquivo contém notas para os programadores. O Delphi possui um mecanismo de gerência de arquivos de projeto informando os principais arquivos e seu path. Clique em View – Project Manager A figura acima é um exemplo de um projeto inicial, ainda não salvo. O diretório padrão para criação dos arquivos é projects , obviamente devemos definir na gravação pasta e nomes de arquivos mais específicos.

.PAS E .DPR

Para visualizarmos o código fonte da unidade (.PAS) em Delphi basta selecionarmos o code editor (F12). Para visualizarmos o código fonte no arquivo de projeto (.DPR) basta selecionarmos o menu Project – View Source. O arquivo de projeto é exibido em uma guia no code editor. Para fechar a guia basta clicar com o botão direito e escolher close page.

Unidades

Prof. Mário André Existem três tipos de unidades: unidades associadas aos formulários (as mais comuns), arquivos de unidade usados para armazenar funções e procedures, e arquivos de unidade usados para construir componentes. Vamos ver una unidade básica associada a um formulário: Unit Unit1; Interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; Type Tform1 = class(Tform) procedure FormCreate(Sender: Tobject); private {Declarações privativas} public {Declarações públicas} end; var Form1: Tform1; implementation {$R *.DFM} procedure TForm1.FormCreate(Sender: Tobject); begin end; end.

Prof. Mário André

OPÇÕES DE PROJETO

O Delphi permite a configuração de vários itens do sistema através do menu Project – Options.

Forms

 Main form - Nesta guia permite a escolha do formulário principal da aplicação.  Available form - Os formulários available (disponíveis) em caso de criação em tempo de execução.

Application

 Title - Define um nome para a sua aplicação diferente do nome do arquivo de projeto (.DPR).  Help file – Define o nome do arquivo de Help (.HLP) associado à aplicação.  Icon – Define o ícone utilizado no arquivo executável. (.EXE)

Compiler

 Estas opções permitem especificar uma compilação personalizada , ou seja, cada projeto pode ser compilado com uma característica.

Linker

 Estas opções incluem informações para a depuração.

Directories/Conditionals

 Nesta guia pode-se configurar o diretório de saída para os arquivos gerados pela aplicação.

Version Info

 Estas informações podem ser visualizadas no Windows através do menu rápido do mouse no arquivo executável.

Packages

 Os packages permitem um controle de distribuição através de DLL’s básicas externas ao executável entre outros recursos. CONVENÇÃO DE NOMEAÇÃO

Prof. Mário André A propriedade mais importante de um componente é a propriedade Name. É ela que define o nome interno com relação ao código escrito em Object Pascal. Para organizar e facilitar o processo de desenvolvimento/manutenção do sistema, grande parte dos desenvolvedores adota uma nomenclatura para tornar o código mais legível possível. O Delphi adota como nomenclatura padrão o nome da classe da qual o componente é instanciado e um número crescente de acordo com o número de ocorrência deste componente no form. Exemplo: Button1, Button2, etc... são componentes instanciados da classe TButton. Não é obrigatória a utilização da convenção de nomes utilizados nesta apostila, mas é muito importante fazer uso de uma convenção mais clara possível. Exemplo: Nome gerado pelo Delphi Objetivo Convenção Button1 Sair da aplicação BtnSair Edit1 Receber nome do usuário EdtNome Label1 Indicar componente Edit LblNome

A Lista de Units

A janela de lista de units permite que você alterne entre as units que fazem parte do projeto ativo, sem que elas tenham de estar todas abertas no editor de código. Caso você selecione uma unit que não esteja aberta, o Delphi a abrirá e mostrará no Code Editor. Figura 31 – A Lista de Units A lista de units pode ser ativada através do menu View , opção Units... , ou através do primeiro ícone inferior da SpeedBar ou através da combinação das teclas .

A Lista de Forms