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


Apostila Lazaru - funcionalidades do programa, Resumos de Programação Funcional

Apostila Lazaru - funcionalidades do programa

Tipologia: Resumos

2020

Compartilhado em 06/07/2020

marcos-junior-mqc
marcos-junior-mqc 🇧🇷

3 documentos

1 / 53

Toggle sidebar

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

Não perca as partes importantes!

bg1
Universidade Federal de Viçosa
Departamento de Engenharia Agrícola
Free Pascal Lazarus
Ambiente Windows
ENG 390
Prof. Evandro de Castro Melo, DS
13 de abril de 2011
http://wiki.lazarus.freepascal.org/Main_Page/pt
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

Pré-visualização parcial do texto

Baixe Apostila Lazaru - funcionalidades do programa e outras Resumos em PDF para Programação Funcional, somente na Docsity!

Universidade Federal de Viçosa

Departamento de Engenharia Agrícola

Free Pascal Lazarus

Ambiente Windows

ENG 390

Prof. Evandro de Castro Melo, DS

13 de abril de 2011

http://wiki.lazarus.freepascal.org/Main_Page/pt

1. INTRODUÇÃO

O Projeto Lazarus surgiu em 1 de fevereiro de 1999 com três pessoas: Cliff Baeseman, Shane Miller e Michael A. Hess. Em agosto de 1999 se junta ao grupo Marc Weustink seguido por Mattias Gaertner, que aderiu em setembro de 2001. O Projeto Lazarus desde então só vem crescendo com cada vez mais componentes e recursos.

O Lazarus é uma alternativa de código aberto ( open source ) ao Delphi®, com a grande vantagem de ser multiplataforma. Trata-se de um Ambiente Integrado de Desenvolvimento (IDE) com base na linguagem Pascal e no compilador Free Pascal , que há décadas são utilizados no meio acadêmico.

O Free Pascal (FPC) é um compilador de código fonte aberto com duas notáveis características: um grau elevado de compatibilidade com Delphi e com capacidade para ser executado em Windows, Mac e Linux.

2.3 Modificando o idioma do Lazarus

Depois de instalar o Lazarus no computador, roda-se o programa. Então irão aparecer na área de trabalho do computador uma série de janelas flutuantes, como se vê na Figura 2.

Figura 2 - Janelas do Lazarus na área de trabalho do computador

Para mudar o idioma da interface para o português, deve-se acessar a aba Environment e depois Options , como mostrado na Figura 3.

Figura 3 - Mudando de idioma

Então aparecerá a seguinte tela, onde se escolhe a opção Desktop, optando pelo português, como mostra a Figura 4, finalizando com o botão OK.

Figura 4 – Parte da Janela para modificar o idioma

Para que a modificação tenha efeito é preciso reiniciar o Lazarus. A interface do programa ficará como mostrado na Figura 5:

Figura 5 – Parte da janela do ambiente Lazarus no idioma português.

2.4 O Editor

Quando se ativa o ambiente de programação Lazarus pela primeira vez, uma série de janelas flutuantes, separadas entre si, irão aparecer no desktop do computador.

A primeira, localizada no alto do desktop, é chamada de Lazarus IDE v0.9.28.2 beta

- project1 (que será modificada para refletir a mudança no nome do projeto em que se está trabalhando). Esta é a principal janela de controle de projetos e contém o Menu Principal, a Barra de Botões e a Paleta de Componentes. Ver Figura 6.

Figura 6 - Janela principal do Lazarus IDE ou ambiente Lazarus

Mensagens, que exibe as mensagens do compilador, erros ou relatórios de progresso no projeto.

2.5 O Menu Principal

O Menu Principal contém as seguintes entradas, como indicado na Figura 8 com alguns sub-menus apresentados na Figura 9.

Figura 8 – Entradas do Menu Principal do Ambiente Lazarus

Figura 9 – Alguns Sub-menus do Menu Principal do Ambiente Lazarus

2.6 A Barra de Botões

Uma pequena barra de ferramentas à esquerda da janela principal do editor, logo abaixo do menu principal e à esquerda da paleta de componentes, contém um conjunto de botões que repetem as opções que são frequentemente mais usadas no menu principal. Ver Figura 10.

Figura 10 – Barra de Botôes do Ambiente Lazarus

2.7 A Paleta de Componentes

É uma barra de ferramentas organizada em abas com um grande número de ícones comumente usados para construir Forms. Cada aba tem um conjunto diferente de ícones, representando um grupo funcional de componentes. O ícone mais à esquerda em cada aba é uma seta inclinada para a esquerda chamada Selection Tool. Parando-se o mouse sobre qualquer um dos ícones, sem clicar nele, o nome do componente será mostrado em uma pequena janela.

É importante observar que cada título inicia-se com 'T', que significa Type , ou mais precisamente Class do componente. Quando um componente é selecionado para inclusão em um Form , a Class é adicionada à seção Type da interface da Unit (geralmente como parte de TForm1 ).

Qualquer método projetado para ser usado pelo Form ou componentes (isto é, Procedures ou Functions ) serão colocados após o item Implementation da unidade.

A seguir estão relacionados os nove componentes da paleta.

1

2

2.8 Como usar a Paleta

Para usar a Paleta deve haver um Form aberto no editor. Aciona-se um ícone do componente na aba apropriada e, depois, outro clique no Form , na posição desejada onde o componente deve aparecer. Quando o componente desejado aparecer, pode-se selecioná-lo clicando no mesmo com o mouse e arrastando-o para o local exato do Form. Podem ser feitos ajustes na aparência do componente, alterando a figura do objeto no Form ou alterando as propriedades correspondentes do componente no Inspetor de Objetos.

Se componentes adicionais forem instalados, criados pelo programador ou que veem em um pacote de outra fonte, abas extras, com ícones relevantes irão aparecer na Paleta de Componentes. Esses componentes podem ser selecionados e usados nos Forms da mesma forma que os componentes padrões.

2.9 Os arquivos do Lazarus

Quando se salva um projeto no ambiente Lazarus, como mínimo, dois arquivos básicos serão gravados no disco, cujas extensões são *.pas (arquivo da Unit ) e *.lpr (arquivo do Project ). Mais arquivos serão gravados, mas apenas estes dois requerem que sejam nomeados pelo usuário. É importante ressaltar que esses dois arquivos devem ter nomes diferentes: isto é uma exigência do compilador.

Assim que se salva um projeto chamado teste , se tentar salvar teste.pas e teste.lpr , haverá uma mensagem de erro, porque os nomes da unidade e do projeto são iguais. Depois de modificado o nome da unidade para testeu.pas , os seguintes arquivos serão gerados:

teste.exe: O programa principal em formato binário executável.

teste.lpi: Arquivo principal do projeto Lazarus ( Lazarus Project Information ), que equivale no Delphi à extensão * .dpr. É armazenado no formato XML.

teste.lpr: Arquivo fonte do programa principal no formato Pascal.

testeu.lfm: Desenho do formulário. O Lazarus utilizará este arquivo para gerar um arquivo fonte, que está incluído na seção de inicio da Unit testeu.pas. Equivale no Delphi à extensão *. dfm.

teste.lrs: Este é o arquivo fonte gerado. Note que não é um arquivo fonte de Windows.

testeu.pas: Arquivo da Unit que contém o código-fonte do formulário (unidade).

teste.ppu: Arquivo da Unit compilada.

ppas.bat: Arquivo que contém um script para criar o executável. Se a compilação tiver sucesso, este arquivo é removido pelo compilador.

Programas escritos em Delphi (unidades, projetos e pacotes) podem ser convertidos para o ambiente Lazarus, empregando-se a opção Ferramentas do Menu Principal, segundo a Figura 12, onde o usuário irá optar pela conversão que lhe for a mais adequada.

Figura 12 – Opção Ferramentas do Menu Principal com as opções de conversão de arquivos tipo Delphi para tipo Lazarus

3.2 Tipos de dados na linguagem FPL

A base ou tipos simples do FPL são os tipos da linguagem Delphi:

  • Ordinais – Define um conjunto de valores, onde cada valor desse conjunto, com exceção do primeiro e do último, tem um valor anterior e posterior. Os tipos ordinais na linguagem FPL são: Integer, Character, Boolean e Enumerated.
  • Integer – Representa um subconjunto de números inteiros. Segue na tabela os limites e formatos para armazenamento.

Tipo Faixa Tamanho em bytes Byte 0 .. 255 1 Shortint -128 .. 127 1 Smallint -32768 .. 32767 2 Word 0 .. 65535 2 Integer smallint ou longint tamanho 2 ou 4 Cardinal longword 4 Longint -2147483648 .. 2147483647 4 Longword 0 .. 4294967295 4 Int64 -9223372036854775808 .. 9223372036854775807 8 QWord 0 .. 18446744073709551615 8

  • Caractere – Um caractere pode ser qualquer símbolo que possa ser representado (um número, uma letra ou símbolos especiais)
  • Boolean – Este tipo de dado é o responsável pela representação de valores lógicos e ocupa 1 byte de memória. Pode ser dois valores: True ou False.
  • Enumerated – Um tipo de dado enumerado define um conjunto ordenador de valores simplesmente listando identificadores que os denotem.

Type Direction = ( North, East, South, West );

  • Reais – Um tipo de dado real ou flutuante define um conjunto de números que podem ser representados com notação de ponto flutuante.

Tipo Faixa Dígitos significativos Tamanho Real depende da plataforma ??? 4 ou 8 Single 1.5E-45 .. 3.4E38 7-8 4 Double 5.0E-324 .. 1.7E308 15-16 8 Extended 1.9E-4932 .. 1.1E4932 19-20 10 Comp -2E64+1 .. 2E63-1 19-20 8 Currency -922337203685477.5808 922337203685477.5807 8

3.3 Estrutura Básica de um Programa em FPL

Para se declarar variáveis, constantes, procedures e functions de maneira correta em qualquer linguagem, são necessários o conhecimento de sua estrutura e a identificação dos pontos onde elas podem ser declaradas.

Estrutura básica de uma Unit

Uma Unit é, na maioria das vezes, associada a um formulário ( form ) que contém seu código, ou seja, as declarações de variáveis, os componentes utilizados e as rotinas definidas. É possível verificar que, à medida que componentes são inseridos, são também adicionados automaticamente linhas de código na Unit relacionada. A Uni t tem áreas predefinidas e que devem ser respeitadas para que a programação tenha êxito. São elas:

  • unit xxxx – Representa o nome físico do arquivo onde está o código da referida unidade. Por meio desse nome, units podem usar outras units.
  • interface – A seção interface começa com a palavra reservada interface e termina no inicio da seção implementation. Nessa seção, são declarados constantes ( const ), tipos ( types ), variáveis ( var ), procedures e functions , que estão disponíveis para outras units ou outros programas. Essas declarações são chamadas de públicas ( public ), indicando que as mesmas podem ser usadas por quaisquer outras unidades dentro do mesmo programa. A
  • begin/end. – estas duas palavras reservadas indicam inicio e fim do projeto.
  • Application.Initialize;Inicitialize é o primeiro método chamado pelo arquivo-fonte do projeto que, por padrão, simplesmente inicializa a aplicação.
  • Application.CreateForm(TForm1, Form1); cria um objeto formulário da classe TForm1. Aqui são listados todos os formulários criados pela aplicação.
  • Application.Run; - quando um projeto é criado, o IDE insere automaticamente a linha de código com o método Application.Run , responsável pela execução da aplicação.

Atenção : a linha {$IFDEF WINDOWS}{$R project1.rc}{$ENDIF} deve ser sempre excluída do corpo do projeto, porque a presença da mesma causará erro na execução do mesmo. Esta linha foi divulgada na Internet como um bug.

3.5 Funções (Functions) e Procedimentos (Procedures)

Funções são rotinas que recebem valores, passados como parâmetros, a partir da

unidade ou fora dela, e retornam apenas um valor como resultado. As funções são definidas

obedecendo à seguinte sintaxe:

Function NomeDaFunção( Parâmetro1: Tipo; ParâmetroN: Tipo): Tipo do valor de retorno;

var {declaração de variáveis locais á função quando necessárias} begin {bloco de instruções} end;

Procedimentos são semelhantes às funções, porém não retornam um valor como parte de sua definição. Os procedimentos obedecem à seguinte sintaxe:

Procedure NomeDoProcedimento (Parâmetro1: Tipo; ParâmetroN : Tipo);

var {declaração de variáveis locais á função quando necessárias} begin {bloco de instruções} end;

3.6 Declarando Variáveis

Quando se atribui nomes às variáveis, faz-se necessário seguir algumas regras genéricas às linguagens:

  • O primeiro caractere deve ser uma letra;
  • Não se pode usar espaço em branco e nem hífen para declaração de variável;
  • O FPL não distingue letra maiúscula de minúscula no nome da variável;
  • Não se podem usar palavras reservadas da linguagem como nome de variável.

3.7 Entrada e Saída de Dados Numéricos

A entrada de dados em ambientes visuais normalmente se dá através de componentes

(objetos visuais), porém as linguagens também possuem funções responsáveis pela entrada de dados a partir de “janelas de diálogo com o usuário”.

É importante frisar que dados numéricos são apresentados sob o tipo caracteres

( string ) em um formulário do ambiente Lazarus. Assim sendo, em aplicações de engenharia,

estes dados numéricos, antes de serem repassados ao programa, devem ser transformados de

caracteres para numérico. E o contrário, quando forem apresentados no formulário, deve-se,

antes, serem transformados de numéricos para caracteres. As funções do FPL que fazem essas tarefas são:

StrToFloat e StrToInt – Transforma de caractere ( string ) para numérico (real e inteiro

respectivamente).

FloatToStr e IntToStr - Transforma de numérico (real e inteiro respectivamente) para

caractere ( string ).

StrToDate e StrToTime – Transforma de caractere ( string ) para data e hora respectivamente.

DateToStr e TimeToStr - Transforma de data e hora para caractere ( string ) respectivamente.

4.1 Criando um projeto FPL em ambiente console

Para criar um programa em FPL referente ao algoritmo anteriormente desenvolvido, o

respectivo projeto será criado acessando-se Arquivo – Novo / Projeto / Programa , de

acordo com a Figura 13:

Figura 13 – Janelas do FPL para criar um projeto

Irá aparecer a seguinte janela, à qual se deve responder com um Não.

Figura 14 –Janela do FPL que aparece após a solicitação de criação de um projeto

Em seguida aparecerá a janela com o Editor de Código, onde se escreverão os comandos

do primeiro programa como indicado nas Figuras 15 e 16. As variáveis ( var ) deverão ser

descritas acima da palavra begin e o restante do programa, após a mesma, finalizando antes

da palavra end seguida de um ponto em vermelho. Deve-se observar que na aba referente ao projeto existe um asterisco antes de project1.lpr : isto indica que o presente arquivo ainda não

foi gravado no disco.

Figura 15 – Editor de código do FPL Atenção : a linha {$IFDEF WINDOWS}{$R project1.rc}{$ENDIF} deve ser excluída do corpo do projeto, porque a sua presença causará erro na execução do programa.

Transcrevendo o programa no Editor de Código, o mesmo ficará assim:

Figura 16 – Janela do Editor de Código do FPL com o programa proprosto já transcrito