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

OBJECT

PASCAL
Lus Nascimento, Raphael Carneiro

HISTR
IA

OBJECT PASCAL - HISTRIA

Object Pascal uma ramificao de lingaguens derivativas de Pascal, com suporte


aorientao a objetos, ou seja, uma espanso da linguagem Pascal.

Criao;

OBJECT PASCAL - HISTRIA

Object Pascal uma ramificao de lingaguens derivativas de Pascal, com suporte


aorientao a objetos, ou seja, uma espanso da linguagem Pascal.

Criao;
Equipe de Desenvolvimento;

OBJECT PASCAL - HISTRIA

Object Pascal uma ramificao de lingaguens derivativas de Pascal, com suporte


aorientao a objetos, ou seja, uma espanso da linguagem Pascal.

Criao;
Equipe de Desenvolvimento;
Derivaes;

OBJECT PASCAL - HISTRIA

Object Pascal uma ramificao de lingaguens derivativas de Pascal, com suporte


aorientao a objetos, ou seja, uma espanso da linguagem Pascal.

Criao;
Equipe de Desenvolvimento;
Derivaes;
Fim do Suporte da Apple;

OBJECT PASCAL - HISTRIA

Object Pascal uma ramificao de lingaguens derivativas de Pascal, com suporte


aorientao a objetos, ou seja, uma espanso da linguagem Pascal.

Criao;
Equipe de Desenvolvimento;
Derivaes;
Fim do Suporte da Apple;
Borland CodeGear;

OBJECT PASCAL - HISTRIA

Object Pascal uma ramificao de lingaguens derivativas de Pascal, com suporte


aorientao a objetos, ou seja, uma espanso da linguagem Pascal.

Criao;
Equipe de Desenvolvimento;
Derivaes;
Fim do Suporte da Apple;
Borland CodeGear;
Delphi;

OBJECT PASCAL - HISTRIA

Object Pascal uma ramificao de lingaguens derivativas de Pascal, com suporte


aorientao a objetos, ou seja, uma espanso da linguagem Pascal.

Criao;
Equipe de Desenvolvimento;
Derivaes;
Fim do Suporte da Apple;
Borland CodeGear;
Delphi;
Mudana Definitiva.

RECURSOS
DISPONVE
IS
Object Pascal

OBJECT PASCAL RECURSOS DA LINGUAGEM


Identificadores;
Pode ter at 63 caracteres.
Obrigatoriamente comeando com uma letra ou com underline: _

OBJECT PASCAL RECURSOS DA LINGUAGEM


Identificadores;
Pode ter at 63 caracteres.
Obrigatoriamente comeando com uma letra ou com underline: _

Palavras Reservadas;

OBJECT PASCAL RECURSOS DA LINGUAGEM


Identificadores;
Pode ter at 63 caracteres.
Obrigatoriamente comeando com uma letra ou com underline: _

Palavras Reservadas;
Variveis;

OBJECT PASCAL RECURSOS DA LINGUAGEM


Identificadores;
Pode ter at 63 caracteres.
Obrigatoriamente comeando com uma letra ou com underline: _

Palavras Reservadas;

Variveis;
Tipos e Estruturas de Dados;

SINTAX
E

OBJECT PASCAL - SINTAXE


Identificadores
Identificadores (Identifiers) so os nomes que identificam os
elementos de um programa (nomes de variveis, constantes,
procedures, functions e componentes).
Um identificador pode ter at 63 caracteres. Qualquer caractere
que passe desse limite ignorado pelo compilador do Delphi.
Identificadores devem comear sempre com letras, ou com o
caractere de sublinhado (_). Um identificador no pode comear
com um nmero. Os outros caracteres de um identificador (do
segundo em diante) podem ser letras, nmeros ou sublinhados.
Nenhum outro caractere permitido.
Um identificador no pode ser uma palavra reservada da
linguagem Object Pascal (como begin, if ou end, por exemplo).

OBJECT PASCAL - SINTAXE


Palavras Reservadas

OBJECT PASCAL - SINTAXE


Operadores Aritmticos

Exemplos:

OBJECT PASCAL - SINTAXE


Prioridades

OBSERVAES:
a) Quando existe em uma expresso operadores com a mesma prioridade, a
execuo

da
esquerda
para
direita.
b) Caso seja necessrio alterar a ordem de prioridade, deve-se utilizar parnteses.
A expresso entre parnteses ter prioridade mxima. Caso haja parnteses
aninhados, a ordem de execuo ser do mais interno para o mais externo.

OBJECT PASCAL - SINTAXE


Funes e Procedimentos
Predefinidos

Exemplos:

OBJECT PASCAL - SINTAXE


Operadores Relacionais

So usados na comparao de duas expresses de


qualquer tipo, retornando um valor lgico (TRUE ou
FALSE) como resultado da operao.
as operaes lgicas s podem ser efetuadas com
relao a valores do mesmo tipo.

OBJECT PASCAL - SINTAXE


Operadores Lgicos

Tabela
Verdade

OBJECT PASCAL - SINTAXE


Tipos de dados
TIPO DE DADO

ABRANGNCIA

Integer

DE

-2.147.483.648

AT

2.147.483.647

SmallInt

DE

-32.768

AT

32.767

ShortInt

DE

-128

AT

127

Word

DE

AT

65.535

Byte

DE

AT

255

Real

DE

5.0 x 10

-324

AT

1.7 x 10

308

Double

DE

5.0 x 10

-324

AT

1.7 x 10

308

Char

1 Caractere

String

At 255 Caracteres

Boolean

True ou False

OBJECT PASCAL - SINTAXE


Tipos de intervalo (Subrange)
So teis quando necessrio limitar uma varivel a
um intervalo contnuo de valores, como de 1 a 100, ou
de "A" a "Z".

OBJECT PASCAL - SINTAXE


Declarando Variveis

A declarao de uma varivel define o nome e o tipo da varivel.

Declaraes de variveis devem ser precedidas pela palavra-chave var.

As declaraes, junto com a palavra-chave var constituem o chamado


bloco var.

Declaraes devem ser agrupadas no incio do programa, ou no incio de


uma procedure ou function (antes da palavra-chave begin).

OBJECT PASCAL - SINTAXE


Declarando Constantes

Constantes so usadas em programas para armazenar valores que no


podem (ou no devem) ser alterados em um programa.

Declaraes de constantes devem ser precedidas pela palavra-chave


const. As declaraes das constantes, junto com a palavra-chave const
constituem o chamado bloco const.

OBJECT PASCAL - SINTAXE


Comentrios

Um comentrio usado para aumentar a clareza de um programa,


embora no seja analisado pelo computador.

Comentrio Simples para uma nica linha: //

Comentrio de Mltiplas linhas: { }

OBJECT PASCAL - SINTAXE


Formato de Programa Object
Pascal

Um programa escrito em Pascal tem o seguinte formato:


PROGRAM <identificador>;
<bloco>.

O <bloco>, por sua vez, est dividido em seis reas, onde somente a
ltima obrigatria e devem obedecer a sequncia abaixo. So elas:

rea de declarao de uso de unidades.

rea de declarao de tipos

rea de declarao de constantes

rea de declarao de variveis

rea de declarao de procedimentos e funes

rea de comandos

OBJECT PASCAL - SINTAXE


rea de Declarao de uso de
unidades

Um programa Object Pascal pode fazer uso de algumas unidades padro que
esto disponveis no Sistema, tais como: SysUtils, Windows, DOS, PRINTER,
GRAPH, etc. A rea de declarao de uso de unidades possui o seguinte formato:
USES <unidade> , ... , <unidade> ;

EXEMPLO:
USES SysUtils;

OBJECT PASCAL - SINTAXE


rea de Declarao de Tipos

Serve para definirmos novos tipos e estruturas de dados.

OBJECT PASCAL - SINTAXE


rea de Declarao de Procedimentos e
Funes

Nesta rea so definidos os procedimentos e funes utilizados pelo programa.

OBJECT PASCAL - SINTAXE


rea de Comandos

nesta rea onde inserido o algoritmo do programa. Os comandos so


separados entre si pelo delimitador ponto-e-vrgula. A forma geral :

OBJECT PASCAL - SINTAXE


Comandos Bsicos da Linguagem Object
Pascal

Comando de atribuio

O comando de atribuio um dos mais usados em muitas linguagem de


programao. O comando de atribuio usado para a alterar valores de
variveis e propriedades.

Ex:

soma:=x+y;

OBJECT PASCAL - SINTAXE


Comandos Bsicos da Linguagem Object
Pascal
Comando de Entrada

read - o cursor permanece na mesma linha aps a execuo do


comando. Formato da declarao:
read(nome) ;

readln - o cursor muda para a prxima linha. Formato da declarao:


readln(nome) ;

OBJECT PASCAL - SINTAXE


Controle de fluxo - Usando blocos
Um bloco um conjunto de comandos delimitado pelas palavras chave
begin e end.
Todo programa em Object Pascal deve ter pelo menos um bloco: o bloco
principal.
Blocos podem ser aninhados, isto pode haver blocos dentro de blocos.
Isso til em estruturas complexas, como ifs dentro de ifs, ou loops
dentro de loops.

OBJECT PASCAL - SINTAXE


Controle de fluxo - Usando blocos
Comando IF
O comando mais usado para fazer decises simples o comando if. O
comando if verifica uma condio e executa um comando ou bloco de
comandos somente se a condio for verdadeira.
Ex:

if condio then
comando;

OBJECT PASCAL - SINTAXE


Controle de fluxo - Usando loops
O loop FOR
O loop for o mais rpido e mais compacto dos trs tipos de loops.

Esse loop usa um contador, uma varivel inteira que aumentada


(incrementada) automaticamente cada vez que o loop executado.

O nmero de repeties do loop for fixo. Ele depende somente do valor


inicial e do valor final do contador, que so definidos no incio do loop.
Ex:

for x := <condio mnima> to <condio mxima> do


<comando>;

OBJECT PASCAL - SINTAXE


Controle de fluxo - Usando loops
O loop WHILE
O loop while um loop mais verstil que o for, embora um pouco mais
complexo.
O loop while repete um comando, ou um bloco de comandos, at que a
condio especificada se torne falsa.

Ex:

O nmero de repeties no preestabelecido como no loop for.


While <condio> do
Begin
<comando>
End;

OBJECT PASCAL - SINTAXE


Controle de fluxo - Usando loops
O loop REPEAT
O loop repeat uma verso "invertida" do loop while. Nele, a condio verificada
somente no final do loop.
A condio do loop repeat aparece no final, ao lado da palavra-chave until ("at").
Alm disso, devido estrutura simples do loop repeat, os comandos do loop no
precisam ser delimitados por begin e end.
Begin
Repeat
<comando>
Until <condio>
End;

OBJECT PASCAL - SINTAXE


Procedures e Functions
A linguagem object pascal permite que possamos
declarar trechos de cdigo fora do programa
principal e associados a um identificador que podem
ser executadas sempre que invocados. Estes trechos
de cdigo so chamados de mdulos ou rotinas.

OBJECT PASCAL - SINTAXE


Procedures e Functions
A linguagem object pascal permite que possamos
declarar trechos de cdigo fora do programa
principal e associados a um identificador que podem
ser executadas sempre que invocados. Estes trechos
de cdigo so chamados de mdulos ou rotinas.

OBJECT PASCAL - SINTAXE


Modularizao
Consiste em dividir o programa em diversos
mdulos ou subprogramas, de certa forma
independentes uns dos outros.
Existe um mdulo que o principal, a partir do qual
so chamados os outros mdulos, esse mdulo
recebe o nome de programa principal, enquanto que
os outros so chamados de subprogramas.

OBJECT PASCAL - SINTAXE


Rotinas
Os principais motivos para se usar rotinas so:
Evitar codificao: trocar certos trechos de
programas que se repetem por chamadas de apenas
uma rotina que ser codificada apenas uma vez.
Modularizar o programa, dividindo-o em mdulos
(rotinas) logicamente coerentes, cada uma com
funo bem definida. Isto facilita a organizao do
programa, bem como o entendimento dele.

OBJECT PASCAL - SINTAXE


Procedures (Procedimentos)
A procedure como se fosse um programa.
Ela tem a estrutura praticamente igual a de um
programa.
A procedure deve ser ativada(chamada) pelo
programa principal ou por uma outra procedure, ou
at por ela mesma.

OBJECT PASCAL - SINTAXE


Procedures (Procedimentos)
A sintaxe para uma procedure a seguinte:
procedure NomeDaProcedure(param1, param2, ... : Tipo1; param1, ... :
tipo2;
... );
type
{definies de tipos}
var
{declaraes de variveis }
const
{definies de constantes}
begin
{ corpo }
end;

OBJECT PASCAL - SINTAXE


Functions (Funes)
As funes so muito parecidas com as procedures. A
principal diferena que o identificador de uma funo
assume o valor de retorno da funo.
Uma funo deve sempre retornar um valor.

OBJECT PASCAL - SINTAXE


Functions (Funes)
Para funes, a sintaxe praticamente idntica. A nica diferena que
o tipo do valor retornado deve ser especificado no final da primeira linha.
function nome da funo (param1, param2, ... : tipo1; param1, ... :
tipo2; ... ): tipo de retorno;
type
{definies de tipos}
var
{declaraes de variveis }
const
{definies de constantes}
begin
{corpo}
end;

OBJECT PASCAL - SINTAXE


Chamando Procedures e Functions
Para chamar uma procedure ou function, basta especificar o seu
nome e valores para seus parmetros.
O seguinte trecho de cdigo mostra como chamar a procedure Descontar para
realizar um desconto de 10% sobre um preo p. (O valor de p no final ser
450.0).
procedure Descontar(Taxa: Real; var Preco: Currency);
begin
Preco := Preco - Preco*(Taxa/100);
end;
...
p := 500.0;
Descontar(10, p);
...

OBJECT PASCAL - SINTAXE


Units
As Units contm praticamente todo o cdigo de um aplicativo
no Delphi.
As Units geralmente so associadas a formulrios, mas
podem ser criadas de forma totalmente independente.

OBJECT PASCAL - SINTAXE


Units - Estrutura bsica de uma Unit
Todas as Units tm a mesma estrutura bsica:
program
unit <nome da unit>
interface
uses <lista de Units>
type
var
procedure
function
implementation
uses <lista de Units>
{cdigo para os procedures e functions}
initialization {opcional}
{cdigo para inicializao}
finalization {opcional}
{codigo para finalizao}
end.

OBJECT PASCAL - SINTAXE


Units - Parte Interface
A parte interface comea com a palavra interface e termina
imediatamente antes da palavra-chave implementation.

Esta parte contm a definio de todos os tipos, constantes,


variveis, procedures e functions que devem ser "visveis"
(ou acessveis) para outras Units que se referenciem a esta.

Somente o que estiver definido na parte interface pode ser


acessado por outras Units.

OBJECT PASCAL - SINTAXE


Units - Parte Implementation
A parte implementation contm todo o cdigo das
procedures e functions da Unit.
Esta parte pode conter tambm declaraes de variveis e
constantes, mas estas s sero "visveis" pelo cdigo desta
Unit.
Nenhuma outra Unit pode ter acesso s variveis e
constantes declaradas aqui.

OBJECT PASCAL - SINTAXE


Units - Parte Initialization
A parte initialization opcional.
Voc pode usar a parte initialization para declarar e inicializar
variveis, por exemplo.
O cdigo nesta parte executado antes de qualquer outro
cdigo na Unit.
Se um aplicativo tiver vrias Units, a parte initialization (se
houver) de cada Unit executada antes de qualquer outro
cdigo na Unit.

OBJECT PASCAL - SINTAXE


Units - Parte finalization
A parte finalization tambm opcional.
O cdigo nessa parte executado logo antes do trmino do
aplicativo.
Essa parte geralmente usada para realizar "operaes de
limpeza", como recuperar memria e outros recursos, ao final
da execuo do aplicativo.

OBJECT PASCAL - SINTAXE


Excees
O uso de excees permite uma separao entre o cdigo
normal de um programa e o cdigo usado para lidar com
erros que podem surgir.
Quando ocorre um erro em um programa, o Delphi levanta
uma exceo. Se uma exceo que foi levantada no for
tratada, o programa interrompido e mostrada uma caixa
de dilogo com uma descrio da exceo.

OBJECT PASCAL - SINTAXE


Tratamento de Excees
Deve-se tratar as excees, protegendo blocos de cdigo que
contenham comandos que possam causar erros.
Para proteger um bloco de cdigo cerca-se com as palavraschave try e end.
Dentro de um bloco protegido, pode-se usar as comandos
except ou finally, para tratar as excees.

OBJECT PASCAL - SINTAXE


Tratamento de Excees
H dois de tipos blocos protegidos: O primeiro tipo de bloco protegido
chamado de bloco try-except. O segundo, de bloco try-finally.
try
{comandos
except
{comandos
end;
try
{comandos
finally
{comandos
end;

que podem levantar excees }


executados quando uma exceo levantada}
que podem levantar excees }
sempre executados, havendo excees ou no}

OBJECT PASCAL - SINTAXE


Alguns tipos comuns de excees:

OBJECT PASCAL - SINTAXE


Rotinas teis- Manipulao de strings
principais rotinas de manipulao de strings

OBJECT PASCAL - SINTAXE


Rotinas teis- Funes de converso de tipo
As principais funes de converso de tipo so listadas na
tabela a seguir.

PRS E
CONTRAS
Object Pascal

OBJECT PASCAL PRS E CONTRAS

Prs:

Clara separao entre interface e implementao;

Dependncias da unidade reduzidas;

Herana mltipla;

Contagem de referncia, etc.

Contras:

Referncias de classe e de interface no podem ser misturadas (pelo menos com a contagem
de referncia);

Funes get e set so necessrias para todas as propriedades;

Contagem de referncia no funciona com referncias circulares;

Dificuldades de depurao, etc.

APLICAE
S
Object Pascal

OBJECT PASCAL - APLICAES


Aplicaes Desktop;
Aplicaes mobile;
Aplicaes web;
Aplicaes multicamadas e cliente/servidor.

OBJECT PASCAL - APLICAES


Aplicaes desenvolvidas em Object Pascal;
Skype;
Dev C++,
DB design;
Everest;
DataRecovery;
http://delphi.wikia.com/wiki/Good_Quality_Applications_Built_
With_Delphi

Obrigado!

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