ADVPL II - Aula 03 e 04 - Orientação A Objetos
ADVPL II - Aula 03 e 04 - Orientação A Objetos
ADVPL II - Aula 03 e 04 - Orientação A Objetos
Recursos Avanados
Orientao
a Objetos
Orientao a Objetos
Orientao a Objetos
Conceitos Bsicos
Orientao a Objetos
Conceitos Bsicos
Orientao a Objetos
Conceitos Bsicos
Atributos so os dados ou
informaes do objeto, basicamente a
estrutura de dados que vai
representar a classe.
Exemplos:
Orientao a Objetos
Conceitos Bsicos
Normalmente,
uma
classe
possui
diversos mtodos, que no caso da classe
empresa
poderiam
ser
treina(),
atendetelefone() .
Orientao a Objetos
Conceitos Bsicos
Orientao a Objetos
Conceitos Bsicos
Orientao a Objetos
Conceitos Bsicos
Orientao a Objetos
Conceitos Bsicos
Orientao a Objetos
Conceitos Bsicos
Orientao a Objetos
Exemplo Form
Propriedades / Atributos
Mtodos / Eventos
Orientao a Objetos
Exerccios
Desvendando as
Classes
Classes Padro OO
TWINDOW
Classes Padro OO
TWINDOW
Slide 17
Exemplo
#INCLUDE "PROTHEUS.CH"
USER FUNCTION Teste()
Local oWindow
Local abInit:= {||conout("ativando!")}
Local abValid:= {||conout("encerrando!"),.T.}
oWindow:= tWindow():New( 10, 10, 200, 200, "Meu programa",;
,,,,,,, CLR_WHITE,CLR_BLACK,;
,,,,,,.T. )
oWindow:Activate("MAXIMIZED",,,,,,abInit,,,,,,,,,abValid,,)
// os comandos abaixo proporcionam o mesmo resultado
DEFINE WINDOW oWindow FROM 10, 10 TO 200,200 PIXEL ;
TITLE "Meu programa" COLOR CLR_WHITE,CLR_BLACK
ACTIVATE WINDOW oWindow MAXIMIZED ON INIT abInit VALID
abValid
Return NIL
Classes
ENTENDENDO OS INCLUDES
Classes Padro OO
MSDIALOG
New
Descrio Mtodo construtor da classe.
Sintaxe
New([anTop], [anLeft], [anBottom], [anRight], [acCaption], [cPar6],
;
[nPar7], [lPar8], [nPar9], [anClrText], [anClrBack], [oPar12], ;
[aoWnd], [alPixel], [oPar15], [oPar16], [lPar17])
Exemplo
#INCLUDE "protheus.ch"
User Function Teste()
// cria dilogo
Local oDlg:=MSDialog():New(10,10,300,300,"Meu dialogo",,,,,;
CLR_BLACK,CLR_WHITE,,,.T.)
// ativa dilogo centralizado
oDlg:Activate(,,,.T.,{||msgstop("validou!"),.T.},,;
{||msgstop("iniciando") )
Return
Classes Padro OO
MSDIALOG
Private oDlg
Define MSDialog oDlg Title OemToAnsi("Titulo da janela") From 0,0 To 160,380 Pixel
@05,10 To 50,180 Pixel
@15,20 Say "Colocar aqui a mensagem que quiser" Pixel Of oDlg
@25,20 MSGet oVar Var nVar Picture "@E 999,999.99" Size 50,10 Pixel
Of oDlg
Classes Padro OO
TFONT
Classes Padro MS
TFONT
Classes Padro MS
TFONT
Classes
ENTENDENDO OS INCLUDES
Protheus.ch
Fonts.ch
Colors.ch
Classes
Exerccios
Classes
Objetos de Controle
Dialog_objetos.prw
Say
Folder
MSGet
Button / SButton
Box (Label)
ComboBox
CheckBox
Radio
Busca de diretrios
Funo cGetFile
cGetFile ( cMask, cTit, nMask , cDirIni, lBut, nBits)
cMask -> Mascara para filtro (Ex: "Arquivos Texto|*.##R|Tabelas Dbase|*.DBF")
cTit-> Titulo da Janela
nMask -> No. Mascara Default-> ( Ex: 1 p/ *.##R, 2 p/ *.;DBF )
cDirIni-> Diretorio inicial se necessario (Ex: C:\ADVPL)
lBut-> .T. para mostrar botao como "Salvar" e .F. para botao "Abrir"
nBits-> Mascara de bits para escolher as opcoes de visualizacao do Objeto.
GETF_OVERWRITEPROMPT
GETF_LOCALFLOPPY
GETF_LOCALHARD
GETF_NETWORKDRIVE
GETF_RETDIRECTORY
1
8
16
32
128
Retorna o
Mostra as
Mostra as
Mostra as
Retorna o
Busca de diretrios
Diretrio
cTitle:= "Escolha o Arquivo"
nBits := GETF_RETDIRECTORY
cDir:=AllTrim(cGetFile(, cTitle,,,.T.,nBits))
Arquivo
cExt := "Arquivos Texto|*.##R|Tabelas Dbase|*.DBF"
cTitle:= "Escolha o Arquivo"
nBits := GETF_OVERWRITEPROMPT
cArq:=AllTrim(cGetFile(cExt,cTitle,,,.T.,nBits))
Classes
Usando o Gaia
Fazer o Exercicio da pagina 21
cUsername Nome do usuario
Funes de apoio:
AADD(aMatriz, cConteudo)
dbSetOrder(nOrd)
dbSeek(cChave, lAcha)
EOF()
While cCondicao
RecLock(cAlias, lNovo)
(cAlias)->nome_campo := "0015"
MSUnLock()