Você está na página 1de 99

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS

DEPARTAMENTO DE COMPUTAÇÃO
FERRAMENTAS VISUAIS DE DESENVOLVIMENTO DE SOFTWARE
PROF. MSC. ANIBAL SANTOS JUKEMURA

DELPHI
(OBJECT PASCAL)
DELPHI

Agenda:

• Um pouco de história...
• Revisão geral de PASCAL
• Revisão geral de DELPHI
• Exercício
DELPHI

Origem: Pascal

Pascal é uma linguagem de


programação estruturada,
que recebeu este nome em
homenagem ao matemático
Blaise Pascal.

Foi criada em 1970 pelo


suíço Niklaus Wirth, tendo
em mente encorajar o uso de Matemático francês
Blaise Pascal
código estruturado. [1623 - 1662]
DELPHI

O próprio Niklaus Wirth


diz que Pascal foi criada
simultaneamente para
Niklaus Wirth
85 anos
ensinar programação
estruturada e para ser
utilizada em sua fábrica de
software.

Pascal originou uma


enorme gama de dialetos,
podendo também ser
considerada uma família de
linguagens de programação.
DELPHI

Niklaus Wirth
85 anos

https://pt.wikipedia.org/wiki/Niklaus_Wirth
DELPHI

O pascal só tornou-se
popular em 1973, quando
foi adotado pela
Universidade da Califórnia,
San Diego.
DELPHI

Apesar de todos os
transtornos iniciais, o
Pascal começou a ser
utilizado por
programadores de outras
linguagens, tornando-se um
produto comercial, após o
lançamento do TURBO
PASCAL (Borland
Internacional), em 1983.
DELPHI

Turbo Pascal foi lançado no 4 º trimestre de 1983

A versão final do Turbo Pascal era a versão 7 , que foi


lançado em 1992.
DELPHI

• O Delphi foi lançado oficialmente em 1995 para Windows 16-bit 3.1.

• Foi um dos primeiros exemplos de uma ferramenta para


Desenvolvimento Rápido de Aplicações (RAD – Rapid Application
Development)

• Ele foi uma evolução do Borland Turbo Pascal for Windows também já
evoluído do Turbo Pascal, o Pascal da Borland.

• A linguagem Pascal foi extinta na década de 1990 em favor das línguas


mais rápidos de programação como C /C + + e Visual Basic.

• Delphi sempre utilizou a linguagem Object Pascal (passou a ser Delphi).


DELPHI

• Delphi 2.0 (1996): para Windows 32 Bits com ferramentas para geração
de relatórios, QuickReport usado até hoje por muitas empresas.

• A chegada do Delphi 3 veio em 1997: acréscimo de diversos


componentes à sua VCL (Visual Component Library), TDataset, depuração
de DLL (Dinamic Link Library), code insight, pacotes de componentes.

• O Delphi 4 surgiu em 1998 e a IDE recebeu atualização em seu editor. Foi


adicionado suporte a ActionLists, ao Windows 98, interoperabilidade
Java, drivers de banco de dados de alto desempenho, desenvolvimento
CORBA, etc.

• A quinta versão da ferramenta, lançada em 1999 com suporte a XML, o


suporte de banco de dados ADO.
DELPHI

• Delphi 6 foi lançada em 2001.

• Delphi 7 em 2002. Foi a versão mais amada por todos os adeptos do


Delphi desde sua primeira versão (inclusive por mim). Uma das versões
mais estáveis da ferramenta e permaneceu em uso até 2011. Possuia
suporte para o temas do Windows XP Temas e possibilidade de criação de
aplicações Web.

• 2003 foi marcado pela oitava versão do Delphi que possuía suporte a
.NET da Microsoft. Criticado por parecer com o arque rival Visual Studio
.NET da Microsoft. Sua baixa qualidade e sua incapacidade para criar
aplicativos nativos (Win32 código API/x86) foi apenas uma das principais
críticas a ferramenta desde sua primeira versão.
DELPHI

• Para voltar a atender a comunidade Delphi, a Borland lançou o Delphi


2005, equivalente ao que seria então o Delphi 9. Seria uma evolução da
versão 8, mas com o retorno do desenvolvimento Win32 e. NET em um
único IDE, reiterando o compromisso da Borland para desenvolvedores
Win32.

• No final de 2005 o Delphi 2006 foi lançado e combinado com o


desenvolvimento em C# e Delphi.NET além é claro de Win32. Também foi
adicionado um preview para o desenvolvimento com C/C++, tudo em um
único IDE. Era muito mais estável do que o Delphi 8 ou Delphi 2005.
DELPHI

• Delphi XE foi lançado em 30 de agosto de 2010. Com suporte Delphi para


Amazon EC2, Microsoft Azure, etc.

• Com XE2(2011): o framework Firemonkey suportando GPU.

• Em 2012 a versão XE3 adicionou suporte total ao Windows 8.0 através da


nova versão do Firemonkey, FM2.

• Em 2013 a versão XE4 que implementou suporte total a iOS, Windows 32


e 64 bits e Mac OS X através do novo compilador da ferramenta.

• O XE5 lançado no mesmo ano (2013) veio com total compatibilidade com
Android, ou seja, compilador nativo para a plataforma, mais um marco na
história.
DELPHI

• Duas novas versões lançadas no mesmo ano, 2014, o XE6 e o XE7. Foram
introduzidos um novo compilador C++ para Android, In-App Payment
Services, Advertising Services, esses dois últimos para possibilitar
compras dentro de nossos aplicativos mobile. Também Push
Notifications, suporte ao óculos do Google, o Google Glass, sensores para
VCL, Taskbar Buttons para VCL e suporte a Apache Server e SubVersion.

• Delphi XE8 (2015): suporte total a aplicativos iOS 64 bits , TListView,


TSwitch, TMemo, TCalendar, TMultiview e TEdit, todos 100% compatíveis
e nativos para iOS. Desktop Web Browsers, Mapas Interativos,
AppAnalytics, suporte a Beacons (Internet das Coisas) etc.
DELPHI

• Delphi 10 Seattle (2015)


• Delphi 10.1 Berlin (2016)
• Delphi 10.2 Tokyo (2017) / Delphi 10.2 Tokyo (Community Edition 2018)
• Delphi 10.3 Rio (2019)
DELPHI

DELPHI 1.0
DELPHI

DELPHI 2.0
DELPHI

DELPHI 3.0
DELPHI

DELPHI 4.0
DELPHI

DELPHI 5.0
DELPHI

DELPHI 6.0
DELPHI

DELPHI 7.0
DELPHI

DELPHI 8.0
DELPHI

DELPHI 2005
DELPHI

DELPHI 2006
DELPHI

DELPHI XE
DELPHI

DELPHI XE2
DELPHI

DELPHI XE3
DELPHI

DELPHI XE4
DELPHI

DELPHI XE5
DELPHI

DELPHI XE6
DELPHI

DELPHI XE7
DELPHI

DELPHI XE8
DELPHI

DELPHI 10 Seattle
DELPHI

DELPHI 10.1 Berlim


DELPHI

DELPHI 10.1 Tokyo


DELPHI

Borland Delphi + Linguagem Delphi (Object Pascal)

Free Pascal + Linguagem Delphi (Object Pascal)


PASCAL

Visão Geral
da
Linguagem
Pascal
PASCAL

Estrutura

Declaração procedimentos ou functions

Declaração de Variáveis Globais

Corpo principal do programa

Entrada / Saída de dados

Exemplo de um programa em Pascal


PASCAL

Variáveis Locais

Variável Local
PASCAL

Palavras Reservadas
PASCAL

Tipos de Dados

char e boolean também


PASCAL

Funcionalidades

Comentários {* *} ou { }

Declaração de Constantes

Atribuições :=
PASCAL

Operadores
PASCAL

Operadores
PASCAL

Operadores

Strings e concatenação
PASCAL

Funções Matemáticas
PASCAL

If ... then .. else

Reparar na
ausência do ;
PASCAL

If ... then .. else

Exemplo
PASCAL

for ...
PASCAL

for ...

Exemplo
PASCAL

while ... do
PASCAL

while ... do

Exemplo
PASCAL

repeat ... until


PASCAL

repeat ... until

Exemplo
PASCAL

Vetores e Matrizes
PASCAL

Vetores e Matrizes

Exemplo
PASCAL

Vetores e Matrizes

Exemplo
PASCAL

select ... case


PASCAL

select ... case

Exemplo
PASCAL

Units
PASCAL

procedures
PASCAL

procedures

Exemplo
PASCAL

procedures com parâmetros

Passagem por valor


PASCAL

Procedures com parâmetros

procedure Calc_adicao(var A, B : integer);


var
Z : integer;
begin
Z := A + B;
A:=0;
B:=A;
writeln(Z);
end;

Passagem por referência


PASCAL

functions
PASCAL

functions

Exemplo

Nome da function = usado para retorno

Conceito de Passagem por referência e valor se aplicam também para functions


PASCAL

Visão Geral
da
Linguagem
Delphi (Object Pascal)
DELPHI

Geral: Usa a funcionalidade do Pascal (Sintaxe)

• Constantes
• Tipos de dados
• Variáveis Globais e Locais
• Atribuições
• Relacionadores numéricos e lógicos
• Procedures
• Functions
• Novas funcionalidades, tipos e caraterísticas
• Orientação a Objetos
DELPHI

Constantes Tipadas

Comentários
DELPHI

Tipos de Dados
DELPHI

Tipos de Dados
DELPHI

Funções de Manipulação de Strings


DELPHI

Tipos de Dados
DELPHI

Tipos de Dados
DELPHI

Tipos de Dados - Variant

procedure TForm1.Button1Click(Sender:
TObject);
var
v1,v2,v3: variant;
begin
v1:=true;
v2:=12.23;
v3:=Date;
ShowMessage(v1);
ShowMessage(v2);
ShowMessage(v3);
end;
DELPHI

Type Casting

var TypeCast é uma conversão direta de tipo,


I: Integer; usando o identificador do tipo destino
C: Char; como se fosse uma função.
B: Boolean; Como o Delphi não faz nenhuma
begin verificação se a conversão é válida, você
I := Integer('A'); deve tomar um certo cuidado ao usar um
C := Char(48); TypeCast para não criar programas
B := Boolean(1); instáveis.
end;
DELPHI

Conversões
DELPHI

Tipos de Dados

Exemplo
DELPHI

Operadores

Exemplo A := Power(A, 4);


DELPHI

Operadores
DELPHI

Quebras de Laço: continue / break

I := 1;
while true do
begin
Inc(I);
if I < 10000000 then
Continue;
ShowMessage('Chegamos a dez milhões');
Break;
end;
DELPHI

with – usado para acessar as propriedades e métodos de um objeto

with Edt do
begin
CharCase := ecUpperCase;
MaxLenght := 10;
PasswordChar := '*';
Text := 'Brasil';
end;
DELPHI

Classes

Declaração

Métodos
DELPHI

Create – criando objetos

Antes de tudo, você deve declarar o objeto, se quiser referenciá-lo. Para criá-lo, use o
método Create, que é um método de classe. Para você usar um método de classe,
referencie a classe, não o Objeto.

var;
Btn: TBitBt
begin
Btn := TBitBtn.Create(Self);
With Btn do
begin
Parent := Self;
Kind := bkClose;
Caption := '&Sair';
Left := Self.ClientWidth - Width - 8;
Top := Self.ClientHeight - Height - 8;
end;
end;
DELPHI

Free / Release: destruindo objetos e forms

Para destruir um objeto, use o método Free. Para Forms, é recomendado usar o
Release, para que todos os eventos sejam chamados.

var
Lst: TStringList;
begin
Lst := TStringList.Create;
Lst.Add('Alô, Teresinha!');
Lst.Add('Uhh uhh...');
Lst.SaveToFile('Teresinha.txt');
Lst.Free;
end;

FrmSobre := TFrmSobre.Create(Application);
FrmSobre.ShowModal;
FrmSobre.Release;
DELPHI

Exercício: cálculo de IMC


DELPHI

Exercício: cálculo de IMC


DELPHI

Exercício: cálculo de IMC


DELPHI

Exercício: cálculo de IMC


DELPHI

Exercício: cálculo de IMC


DELPHI

Exercício: cálculo de IMC


DELPHI

Exercício: cálculo de IMC


DELPHI

Exercício: cálculo de IMC


DELPHI

Exercício: cálculo de IMC


DELPHI

Exercício: cálculo de IMC


DELPHI

Exercício: cálculo de IMC


DELPHI

Exercício: cálculo de IMC

Métodos Auxiliares:

LbPeso.Text := stringreplace(LbPeso.Text, ',', '.',[rfReplaceAll, rfIgnoreCase]);

Val(LbPeso.Text, peso, code1);

If (fileexists('.\1.fw.png')) then
image1.Picture.Graphic.LoadFromFile('.\1.fw.png')
Referência Bibliográfica Principal

1. OLIVEIRA NETTO, A. IHC e a engenharia pedagógica. Florianópolis: Visual books,


2010.

2. ORTH, A. I. Interface homem-máquina. Porto Alegre: AIO, 2005.

3. ROCHA, H.; BARANAUSKAS, M. Design e avaliação de interfaces humano-


computador. Campinas: Unicamp, 2003.

Você também pode gostar