Vous êtes sur la page 1sur 66

Programao ADVPL Avanado

Aula 01

Aula 1

Introduo a O.O. Herana ADVPL O.O. 1e Converso de sintaxe Exerccios Homework

Aula 2
ADVPL O.O. 2 Dimensionamento de objetos Exerccios Homework

Aula 3
Recursos ADVPL para Topconnect Embeded SQL Exerccios Homework

Aula 4
Dimensionamento de objetos Objetos de manipulao de e-mail Funcionalidades para o ERP Exerccios Avaliao

Oficina de Programao Pesquisa Pesquisa p/ o Avanado Estudar os fontes da oficina de Programao e avaliar as sintaxes de objetos que substituram as sintaxes clssicas neles utilizadas.

Objetos em ADVPL Classes Pesquisa p/ o Avanado Avaliar no DEM as classes visuais disponveis para a Linguagem ADVPL

Introduo a Orientao a Objetos


Conceitos

Objetos em ADVPL
Assistente de Dilogo

Exerccios
Apostila: ADVPL Avanado pgina XX

Introduo a Orientao a Objetos


Conceitos

Objetos em ADVPL
Assistente de Dilogos

Exerccios
Apostila: ADVPL Avanado pgina XX

Introduo a Orientao a Objetos

Conceitos
Objeto Mtodo Herana Encapsulamento

Atributos
Classe

Abstrao
Instncia

Introduo a O.O. Conceitos


Objeto:
Tipo especial de varivel formado por: Atributos: informaes referentes ao objeto, na forma de variveis tradicionais; Mtodos: funes (aes) que aquele objeto desempenha.

Introduo a O.O. Conceitos


Objeto:
Modelo de uma entidade do mundo real ou de uma entidade de soluo de software que combina atributos (dados) e mtodos (operaes / comportamentos) em

um nico local.

Introduo a O.O. Conceitos


Os objetos modelam:
Entidades concretas do domnio: professor, aluno,
equipamento, automvel ...

Entidades conceituais do domnio: ao, conta


corrente ...

Entidades de software: janela, list-box, combo ...

Introduo a O.O. Conceitos


Classe:
Abstrao de objetos:
Identifica caractersticas comuns a partir de muitos exemplos Funciona como uma fbrica de novos Objetos

Introduo a O.O. Conceitos


Classe:
Representao genrica (abstrao) para um conjunto de objetos especficos e similares;
Um objeto criado a partir de uma classe denominado uma INSTNCIA desta classe; Define ATRIBUTOS e MTODOS compartilhados por todas as suas instncias; Utilizado como MOLDE (template) para criar novos objetos (classes ou instncias)

Introduo a O.O. Conceitos Herana:


Propriedade de classes e objetos, na qual estes

recebem os atributos e mtodos definidos em


sua superclasse quando so instanciados.

Introduo a O.O. Conceitos

Pessoa
Nome Idade Sexo

Classe Atributos
Mtodos

RG
Ler()

CPF
Escrever()

Andar() Pensar()

Introduo a O.O. Conceitos Pessoa


Nome Idade Sexo RG Ler() CPF Escrever()

Pessoa 01
Joo 35 M YY.YY XX.XX Ler()

Escrever()

Andar() Pensar()

Andar() Pensar()

Classe

Instncia

Objeto

Introduo a O.O. Conceitos Abstrao:


Habilidade de concentrar nos aspectos essenciais de um contexto qualquer, ignorando caractersticas menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe uma abstrao de entidades existentes no domnio do sistema de software.

Introduo a O.O. Conceitos Instncia:


Significa a concretizao de uma classe. Em termos intuitivos uma classe vista como um "molde" que gera instncias de um certo tipo. Um objeto uma classe valorada. Um objeto uma instncia.

Introduo a O.O. Conceitos Encapsulamento:


Em programao orientada a objetos,

encapsulamento a propriedade de um objeto


que permite separar um mecanismo de sua funcionamento de uma interface.

Introduo a O.O. Conceitos Encapsulamento:


O encapsulamento protege o acesso direto

(referncia) aos atributos de uma instncia


fora da classe onde estes foram declarados. Esta propriedade utiliza dois princpios:

Introduo a O.O. Conceitos Encapsulamento:


1. Utilizar modificadores de acesso mais
restritivos sobre os atributos definidos na

classe.
2. Criar mtodos para que a interface manipule de forma indireta os atributos da classe.

Introduo a O.O. Conceitos

Aluno
Nome Idade Sexo

Encapsulamento
Somente por mtodos Construtor

RG

CPF

Matrcula Novo() Cadastrar() Consultar()

Altera atributos Retorna atributos

Introduo a O.O. Conceitos Encapsulamento:


O conceito de encapsulamento no est implementado na Linguagem ADVPL pois a mesma no possui modificadores de acesso / escopo para os atributos de uma classe.

Introduo a O.O. Conceitos Objetos

Atributos
Mtodos

Classes
Instncias

Herana

Introduo a Orientao a Objetos


Conceitos

Objetos em ADVPL
Assistente de Dilogos

Exerccios
Apostila: ADVPL Avanado pgina XX

Objetos em ADVPL Classes


1. Definio da Classe CLASS <Nome_da_Classe> DATA <Nome_do_Atributo> METHOD New() CONSTRUCTOR <Parmetros do mtodo> ENDCLASS

Objetos em ADVPL Classes


2. Definio de Mtodos

METHOD <Nome_do_Mtodo()> CLASS


<Nome_da_Classe>

::<Nome_do_Atributo>
<Codificao_do_Mtodo>

<Retorno_do_Mtodo>

Objetos em ADVPL Classes


3. Mtodo Construtor

METHOD New() CLASS <Nome_da_Classe>


::<Nome_do_Atributo>

<Codificao_do_Mtodo>
Return Self

Objetos em ADVPL Classes Exerccio 01 Implementar a Classe Aluno com os mtodos: New() Inscrever() Avaliar()

Objetos em ADVPL
Herana

MsCheckBox

Apostila: ADVPL Avanado pgina XX

Objetos em ADVPL Herana entre classes


1. Definio da Classe CLASS <Nome_da_Classe>

FROM <Nome_da_Superclasse>
DATA <Nome_do_Atributo> METHOD New() CONSTRUCTORMETHOD <Parmetros do mtodo> ENDCLASS

Objetos em ADVPL Herana entre classes


2. Mtodo Construtor

METHOD New() CLASS <Nome_da_Classe>


Execuo do Construtor() da classe superior

::<Nome_do_Atributo>
<Codificao_do_Mtodo> Return Self

Herana entre classes Classe MsCheckBox


CLASS MSCheckBox FROM TWBROWSE DATA oBmp DATA oSay

DATA cBmpRes1 DATA cBmpRes2


DATA bSetGet

METHOD METHOD METHOD METHOD METHOD


ENDCLASS

New() SetBmp() BmpClick() Refresh() SetText()

Herana entre classes Classe MsCheckBox


METHOD New(nRow, nCol, cCaption, bSetGet, oWnd, nWidth, nHeight, oFont, bValid, lStretch ) CLASS MSCheckBox :New( 0,0,0,0,,,,oWnd,,,,,,,,,,,,,,,,,bValid) Local cBmpRes Local bBloco ... Return Self

Herana entre classes MsCheckBox


Objeto MsCheckBox - Marca com BitMap - Desmarcado

Objeto MsCheckBox - Marca com BitMap - Marcado

Introduo a Orientao a Objetos


Conceitos

Objetos em ADVPL
Assistente de Dilogos

Exerccios
Apostila: ADVPL Avanado pgina XX

Assistente de Dilogo Recursos Funcionalidade:


- Novo Arquivo de Dilogo (.PRV)

Barra de ferramentas:
- Palheta de Componentes

Editor de Propriedades
- Parametrizao dos objetos

Assistente de Dilogo Homework Homework 1 Desenvolver um Dilogo para interagir com a classe Aluno implementada anteriormente.

ADVPL Orientado a Objetos Projeto Projeto 01 Desenvolver uma aplicao de cadastro utilizando a classe Aluno e os mtodos disponveis para a mesma.

03 Pontos Extras

Aplicaes com Objetos


Enchoice e MsMGet

MsNewGetDados
EnchoiceBar

Apostila: ADVPL Avanado pgina XX

Aplicaes com Objetos


Enchoice e MsMGet

MsNewGetDados
EnchoiceBar

Apostila: ADVPL Avanado pgina XX

Aplicaes com Objetos Enchoice


A Enchoice() o modelo mais utilizado para

realizar a manuteno de cadastros do sistema.


Seja na incluso, alterao, consulta ou excluso, este componente pode ser usado para manipular os campos de uma tabela de dados definida no dicionrio (SX3).

Aplicaes com Objetos Enchoice


Propriedades da Enchoice:
Disposio e alinhamento automtico dos campos em duas colunas seguindo a ordem definida no dicionrio de dados SX3.
Destaque de campos de preenchimento obrigatrio e bloqueio para campos somente de leitura. Agrupamento de campos por painis, definidos no arquivo SXA e associados em cada campo do dicionrio.

Aplicaes com Objetos Enchoice


Propriedades da Enchoice:
Considera os tipos de campos e suas propriedades
(calculadora para nmeros, calendrios para datas, listas de opes, F3-pesquisa em outras tabelas etc) Aplicao das propriedades dos campos de dicionrio (X3_RELACAO, X3_USADO, X3_VALID, X3_CBOX,

X3_F3, etc) e permite o uso de gatilhos (SX7)

Aplicaes com Objetos Enchoice Enchoice ( cAlias, nReg, nOpc, aCRA,


cLetra, cTexto, aCpoEnch, aPos,
aAlterEnch, nModelo, nColMens, cMensagem, cTudoOk, oWnd, lF3, lMemoria, lColumn, caTela, lNoFolder, lProperty ) Parmetros Obrigatrios No utilizados

Aplicaes com Objetos Enchoice Exerccio 02 Implementar uma Enchoice para o cadastro de produtos (SB1).

Aplicaes com Objetos MsMGet MsMGet ( cAlias, nReg, nOpc, aCRA, cLetra,
cTexto, aCpoEnch, aPos,
aAlterEnch, nModelo, nColMens, cMensagem, cTudoOk, oWnd, lF3, lMemoria, lColumn, caTela, lNoFolder, lProperty ) Parmetros Obrigatrios

Aplicaes com Objetos MsMGet Exerccio 03 Converter o cadastro desenvolvido no exerccio 02 para que o mesmo utilize o objeto MsMGet

Aplicaes com Objetos Enchoice

DEM Enchoice

DEM MsMGet

Aplicaes com Objetos


Enchoice e MsMGet

MsNewGetDados
EnchoiceBar

Apostila: ADVPL Avanado pgina XX

Aplicaes com Objetos MsGetDados


A MSGetDados() o componente mais utilizado para a
construo de grids de digitao/exibio. Algumas das propriedades so:

Incluso, alterao e excluso de linhas


Incluso de nmero seqencial automtico (identificador de item)

Considera os tipos de campos e suas propriedades


(calculadora para nmeros, calendrios para datas, listas de opes, F3-pesquisa em outras tabelas etc).

Aplicaes com Objetos MsGetDados


Propriedades da MsGetDados
Validao por linha e validao aps todo o preenchimento. Aplicao das propriedades dos campos de dicionrio (X3_VALID, X3_CBOX, X3_F3, etc) e permite o uso de gatilhos (SX7).

Aplicaes com Objetos MsGetDados

MsNewGetDados (nSuperior,
nEsquerda, nInferior, nDireita, nOpc, cLinOk, cTudoOk, cIniCpos, aAlterGDa, nFreeze, nMax, cFieldOk, cSuperDel, cDelOk, oDLG, aHeader, aCols) Parmetros Obrigatrios

Aplicaes com Objetos MsGetDados Exerccio 04 Desenvolver uma interface de cadastro que combine os objetos MsMGet e MsNewGetDados causando o efeito de uma Modelo3().

Aplicaes com Objetos MsGetDados

DEF Classe MsNewGetDados

Aplicaes com Objetos


Enchoice e MsMGet

MsNewGetDados
EnchoiceBar

Apostila: ADVPL Avanado pgina XX

Aplicaes com Objetos EnchoiceBar


A EnchoiceBar a barra de botes de um objeto de dilogo padro do Protheus. Esta barra contm os botes de funcionalidades como Copiar, Colar e Calculadora, e os botes OK e Cancelar, e permite a incluso de novos botes, personalizados para cada funcionalidade.

Aplicaes com Objetos EnchoiceBar EnchoiceBar (oDlg, bOk, bCancel,


lMsgDel, aButtons, nRecno, cAlias)

Aadd( aButtons, {IMAGEM", {|| Rotina()}, "Texto"}) Parmetros Obrigatrios

Aplicaes com Objetos EnchoiceBar Exerccio 05 Adicionar na interface de cadastro desenvolvida no exerccio anterior uma EnchoiceBar com um boto de usurio que exiba o AxCadastro de um item utilizado na interface.

Aplicaes com Objetos EnchoiceBar

DEM EnchoiceBar

DEF - Bitmaps

Oficina de Programao
Apresentao da Oficina de Programao

Estudo dos principais fontes


Converso para sintaxe orientada a objeto
Apostila: ADVPL Avanado pgina XX
Autor: Robson Luiz Estefani Gonalves

Oficina de Programao Converso de sintaxe Exerccio 06 Converter o fonte dialog_objetos.prw para orientao a objetos.

Oficina de Programao Projeto Projeto 02 Converter os fontes do pacote de oficina de programao para orientao a objetos.

03 Pontos Extras

Objetos em ADVPL Pesquisa Para conhecimento: Avaliar os seguintes recursos nos fontes da Oficina de programao: DbTree MsExplorer ButtonBar
01 Ponto Extra

Vous aimerez peut-être aussi