Escolar Documentos
Profissional Documentos
Cultura Documentos
Advpl - A Linguagem de Programação Protheus
Advpl - A Linguagem de Programação Protheus
Reviso: 09/06/2003
A Linguagem AdvPl teve seu incio em 1994, sendo na verdade uma evoluo na
utilizao de linguagens no padro xBase pela Microsiga Software S.A. (Clipper, Visual
Objects e depois FiveWin). Com a criao da tecnologia Protheus, era necessrio criar
uma linguagem que suportasse o padro xBase para a manuteno de todo o cdigo
existente do sistema de ERP Siga Advanced. Foi ento criada a linguagem chamada
Advanced Protheus Language.
Pode-se criar rotinas para a customizao do sistema ERP Advanced Protheus, desde
processos adicionais at mesmo relatrios. A grande vantagem aproveitar todo o
ambiente montado pelos mdulos do ERP Advanced Protheus. Porm, com o AdvPl
possvel at mesmo criar toda uma aplicao, ou mdulo, do comeo.
Rotinas escritas em AdvPl podem ser iniciadas como processos individuais (sem
interface) no Protheus Server atravs de duas maneiras: Iniciadas por outra rotina AdvPl
atravs da chamada de funes como StartJob ou CallProc ou iniciadas
automaticamente na inicializao do Protheus Server (quando propriamente
configurado).
Programao de RPC
Programao Web
O Protheus Server pode tambm ser executado como um servidor Web, respondendo a
requisies HTTP. No momento destas requisies, pode executar rotinas escritas em
AdvPl como processos individuais, enviando o resultado das funes como retorno das
requisies para o cliente HTTP (como por exemplo um Browser de Internet). Qualquer
rotina escrita em AdvPl que no contenha comandos de interface pode ser executada
atravs de requisies HTTP. O Protheus permite a compilao de arquivos HTML
contendo cdigo AdvPl embutido. So os chamados arquivos AdvPl ASP, para a
criao de pginas dinmicas.
Programao TelNet
Abrangncia
Caractersticas
Classe abstrata inicial de todas as classes de interface do Advpl. No deve ser
instanciada diretamente.
Propriedades
Propriedade Tipo Descrio
nLeft Numrico. Coordenada horizontal em pixels.
nTop Numrico. Coordenada vertical em pixels.
nWidth Numrico. Largura em pixels.
nHeight Numrico. Altura em pixels.
cCaption Caractere. Ttulo ou contedo do objeto.
cTooltip Caractere. Mensagem exibida quando objeto exibe seu tooltip.
Flag que ativa .T. ou desativa .F. a exibio do tooltip do
lShowHint Lgico.
objeto.
Mensagem exibida na barra de status da janela principal
cMsg Caractere.
quando o objeto ganha foco.
nClrText Numrico. Cor do texto do objeto.
nClrPane Numrico. Cor do fundo do objeto.
Executado quando h movimentao de foco na janela.Se
Bloco de
bWhen retornar .T. o objeto continua habilitado, se retornar .F. o
cdigo.
objeto ser desabilitado.
Executado quando o contedo do objeto modificado e
Bloco de
bValid dever ser validado. Deve retornar .T. se o contedo vlido
cdigo.
e .F. se contedo invlido.
blClicked Bloco de Executado quando acionado click do boto esquerdo do
cdigo. mouse sobre o objeto.
Bloco de Executado quando acionado click do boto direito do mouse
brClicked
cdigo. sobre o objeto.
Bloco de Executado quando acionado duplo click do boto esquerdo
blDblClick
cdigo. do mouse sobre o objeto.
oWnd Objeto. Janela onde o objeto foi criado.
lVisible Booleano. Se .T. o objeto visvel, se .F. o objeto invisvel.
Objeto ou
Cargo Contedo associado ao objeto.
varivel.
Bloco de
bLostFocus Executado quando objeto perde foco.
cdigo.
Bloco de
bGotFocus Executado quando objeto ganha foco.
cdigo.
Mtodos
SetFocus
Sintaxe SetFocus( )
Descrio Fora o foco de entrada de dados mudar para o objeto.
Retorno NIL
Hide
Sintaxe Hide( )
Descrio Torna objeto invisvel.
Retorno NIL
Show
Sintaxe Show( )
Descrio Torna objeto visvel.
Retorno NIL
Enable
Sintaxe Enable( )
Descrio Habilita o objeto.
Retorno NIL
Disable
Sintaxe Disable( )
Descrio Desabilita o objeto.
Retorno NIL
Refresh
Sintaxe Refresh( )
Fora atualizao (sincronia) de propriedades entre o programa e o
Descrio
Protheus Remote.
tFont
Reviso: 23/02/2003
Abrangncia
Hierarquia
tFontAbs -> tFont
Descrio
Utilize objeto tFont para modificar a fonte padro de controles visuais.
Propriedades
Vide classes ancestrais.
Mtodos
New
Descrio Mtodo construtor da classe.
New([acName], [nPar2], [anHeight], [lPar4], [alBold], [nPar6],
Sintaxe
[lPar7], [nPar8], [alItalic], [alUnderline])
Parmetro Tipo / Descrio
Caractere, opcional. Nome da fonte, o padro
acName
Arial.
nPar2 Reservado.
Numrico, opcional. Tamanho da fonte. O padro -
Parmetros anHeight 11.
lPar4 Reservado.
alBold Lgico, opcional. Se .T. o estilo da fonte ser negrito.
nPar6 Reservado.
lPar7 Reservado.
nPar8 Reservado.
alItalic Lgico, opcional. Se .T. o estilo da fonte ser itlico.
Lgico, opcional. Se .T. o estilo da fonte ser
alUnderline
sublinhado.
Exemplo
#INCLUDE "PROTHEUS.CH"
DEFINE MSDIALOG oDlg FROM 0,0 TO 200,200 TITLE "My dialog" PIXEL
oSay:lTransparent:= .F.
Return
tControl
Reviso: 23/02/2003
Abrangncia
Hierarquia
tSrvObject -> tControl
Caractersticas
tControl a classe comum entre todos os componentes visuais editveis.
Propriedades
Nome Tipo / Descrio
Numrico. Alinhamento do controle no espao disponibilizado pelo seu
Align objeto parente. 0 = Nenhum (padro), 1= no topo, 2 = no rodap, 3= a
esquerda, 4 = a direita e 5 = em todo o parente.
Lgico. Se .T. indica que o contedo da varivel associada ao controle foi
lModified
modificado.
Lgico. Se .T. o contedo da varivel associada ao controle permanecer
lReadOnly
apenas para leitura.
Numrico. Handle (identificador) do objeto sobre o qual o controle foi
hParent
criado.
Bloco de cdigo. Executado quando o estado ou contedo do controle
bChange
modificado pela ao sobre o controle.
Mtodos
SetFocus
Descrio Fora mudana do foco de entrada de dados para o controle.
Sintaxe SetFocus( )
REtorno NIL
tButton
Reviso: 23/02/2003
Abrangncia
Classe de boto.
Hierarquia
tSrvObject -> tControl -> tButton
Descrio
Utilize a classe tButton para criar um controle visual do tipo boto.
Propriedades
Nome Tipo / Descrio
lProcessing Lgico. Se .T. indica o boto est efetuando uma ao.
bAction Bloco de cdigo. Executado quando o boto pressionado.
Mtodos
New
Descrio Mtodo construtor da classe.
New([anRow], [anCol], [acCaption], [aoWnd], [abAction],
Sintaxe [anWidth], [anHeight], [nPar8], [aoFont], [lPar10],
[alPixel],[lPar12],[cPar13], [lPar14], [abWhen], [bPar16], [lPar17])
Parmetro Tipo / Descrio
Numrico, opcional. Coordenada vertical em pixels ou
anRow
carateres.
Parmetros Numrico, opcional. Coordenada horizontal em pixels
anCol
ou caracteres.
acCaption Caractere, opcional. Titulo do boto.
aoWnd Objeto, opcional. Janela ou controle onde o boto
dever ser criado.
Bloco de cdigo, opcional. Bloco que dever ser
abAction
acionado quando o boto for pressionado.
anWidth Numrico, opcional. Largura do boto em pixels.
anHeight Numrico, opcional. Altura do boto em pixels.
nPar8 Reservado.
Objeto, opcional. Objeto tipo tFont com propriedades
aoFont
da fonte utilizada para o ttulo do boto.
lPar10 Reservado.
Lgico, opcional. Se .T. considera as coordenadas
alPixel passadas em pixels, se .F. (padro) considera em
caracteres.
lPar12 Reservado.
cPar13 Reservado.
lPar14 Reservado.
Bloco de cdigo, opcional. Executado quando mudana
de foco de entrada de dados est sendo efetuada na
abWhen janela onde o controle foi criado. O bloco deve retornar
.T. se o controle deve permanecer habilitado ou .F. se
no.
bPar16 Reservado.
lPar17 Reservado.
Exemplo
#include protheus.ch
cCombo:= aItems[2]
DEFINE MSDIALOG oDlg FROM 0,0 TO 300,300 PIXEL TITLE Meu Combo
oCombo:= tComboBox():New(10,10,{|u|if(PCount()>0,cCombo:=u,cCombo)},;
aItems,100,20,oDlg,,{||MsgStop(Mudou item)},,,,.T.,,,,,,,,,cCombo)
oButton:=tButton():New(30,10,fechar,oDlg,{||oDlg:End()},100,20,,,,.T
.)
Return NIL
tCheckBox
Reviso: 23/02/2003
Abrangncia
Hierarquia
tSrvObject -> tControl -> tCheckBox
Descrio
Utilize a classe tCheckbox quando desejar criar um controle que possua dois estados .T.
ou .F..
Mtodos
New
Descrio Mtodo construtor da classe.
New([anRow], [anCol], [acCaption], [abSetGet], [aoWnd],
[anWidth], [anHeight], [nPar8], [abClick], [aoFont], [abValid],
Sintaxe
[anClrFore], [anClrBack], [lPar14], [alPixel], [cPar16], [lPar17],
[abWhen])
Parmetro Tipo / Descrio
Numrico, opcional. Coordenada vertical em pixels ou
anRow
carateres.
Numrico, opcional. Coordenada horizontal em pixels
anCol
ou caracteres.
acCaption Caractere, opcional. Texto exibido pelo controle.
Parmetros Bloco de cdigo, opcional. Bloco de cdigo no formato
{|u| if( Pcount( )>0, <var>:= u, <var> ) } que o controle
abSetGet utiliza para atualizar a varivel <var>. <var> deve ser
tipo lgico, se <var> = .T. ento o controle aparecer
checado.
Objeto, opcional. Janela ou controle onde o controle
aoWnd
dever ser criado.
anWidth Numrico, opcional. Largura do controle em pixels.
anHeight Numrico, opcional. Altura do controle em pixels.
nPar8 Reservado.
Bloco de cdigo, opcional. Executado quando o
abClick controle click do boto esquerdo do mouse acionado
sobre o controle.
Objeto, opcional. Objeto tipo tFont com propriedades
aoFont
da fonte utilizada para o texto do controle.
Bloco de cdigo, opcional. Executado quando o
contedo do controle deve ser validado, deve retornar
abValid
.T. se o contedo for vlido e .F. quando o contedo
for invlido.
anClrFore Numrico, opcional. Cor de fundo do controle.
anClrBack Numrico, opcional. Cor do texto do controle.
lPar14 Reservado.
Lgico, opcional. Se .T. as coordenadas informadas
alPixel
so em pixels, se .F. so em caracteres.
cPar16 Reservado.
lPar17 Reservado.
Bloco de cdigo, opcional. Executado quando mudana
de foco de entrada de dados est sendo efetuada na
abWhen janela onde o controle foi criado. O bloco deve retornar
.T. se o controle deve permanecer habilitado ou .F. se
no.
Retorno O objeto construdo.
Exemplo
#include protheus.ch
DEFINE MSDIALOG oDlg FROM 0,0 TO 300,300 PIXEL TITLE Meu programa
oCheck:= tCheckBox():New(10,10,funcionou?,;
{|u|if( pcount()>0,lCheck:=u,lCheck)};
,oDlg,100,20,,,,,,,,.T.)
oButton:=tButton():New(30,10,fechar,oDlg,{||oDlg:End()},;
100,20,,,,.T.)
Return NIL
tComboBox
Reviso: 23/02/2003
Abrangncia
Classe de combobox.
Hierarquia
tSrvObject -> tControl -> tComboBox
Descrio
Utilize a classe tComboBox para cria uma entrada de dados com mltipla escolha com
item definido em uma lista vertical, acionada por F4 ou pelo boto esquerdo localizado
na parte direita do controle. A varivel associada ao controle ter o valor de um dos
itens selecionados ou no caso de uma lista indexada, o valor de seu ndice.
Propriedades
Nome Tipo / Descrio
Array. Lista de itens, caracteres, a serem exibidos. Pode ter os seguintes
aItems formatos: a) Seqencial, exemplo: {item1,item2,...,itemN} ou b)
Indexada, exemplo: {a=item1,b=item2, ..., n=itemN}.
nAt Numrico. Posio do item selecionado.
Mtodos
New
Descrio Mtodo construtor da classe.
New([anRow], [anCol], [abSetGet], [anItems], [anWidth],
[anHeight], [aoWnd], [nPar8], [abChange], [abValid], [anClrText],
Sintaxe
[anClrBack], [alPixel], [aoFont], [cPar15], [lPar16], [abWhen],
[lPar18], [aPar19], [bPar20], [cPar21], [acReadVar])
Parmetros Parmetro Tipo / Descrio
Numrico, opcional. Coordenada vertical em pixels ou
anRow
caracteres.
Numrico, opcional. Coordenada horizontal em pixels
anCol
ou caracteres.
Bloco de cdigo, opcional. Bloco de cdigo no
formato {|u| if( Pcount( )>0, <var>:= u, <var> ) } que
o controle utiliza para atualizar a varivel <var>.
abSetGet <var> deve ser tipo caracter. Se a lista for seqencial,
o controle atualizar <var> com o contedo do item
selecionado, se a lista for indexada, <var> ser
atualizada com o valor do ndice do item selecionado.
Array, opcional. Lista de items, caracteres, a serem
exibidos. Pode ter os seguintes formatos: a)
anItems Seqencial, exemplo: {item1,item2,...,itemN}
ou b) Indexada, exemplo: {a=item1,b=item2, ...,
n=itemN}.
anWidth Numrico, opcional. Largura do controle em pixels.
anHeight Numrico, opcional. Altura do controle em pixels.
Objeto, opcional. Janela ou controle onde o controle
aoWnd
ser criado.
nPar8 Reservado.
Bloco de cdigo, opcional. Executado quando o
abChange
controle modifica o item selecionado.
Bloco de cdigo, opcional. Executado quando o
contedo do controle deve ser validado, deve retornar
abValid
.T. se o contedo for vlido e .F. quando o contedo
for invlido.
anClrBack Numrico, opcional. Cor de fundo do controle.
anClrText Numrico, opcional. Cor do texto do controle.
Lgico, opcional. Se .T. as coordenadas informadas
alPixel
so em pixels, se .F. so em caracteres.
Objeto, opcional. Objeto tipo tFont utilizado para
aoFont definir as caractersticas da fonte utilizada para exibir
o contedo do controle.
cPar15 Reservado.
lPar16 Reservado.
Bloco de cdigo, opcional. Executado quando
mudana de foco de entrada de dados est sendo
abWhen efetuada na janela onde o controle foi criado. O bloco
deve retornar .T. se o controle deve permanecer
habilitado ou .F. se no.
lPar18 Reservado.
aPar19 Reservado.
bPar20 Reservado.
cPar21 Reservado.
Caractere, opcional. Nome da varivel que o controle
dever manipular, dever ser a mesma varivel
acReadVar
informada no parmetro abSetGet, e ser o retorno da
funo ReadVar( ).
Retorno O objeto criado.
Select
Descrio Muda o item selecionado no combobox.
Sintaxe Select( [anItem] )
Parmetro Tipo / Descrio
Parmetros
anItem Numrico, opcional. Posio do item a ser selecionado.
Retorno NIL
Exemplo
#include protheus.ch
cCombo:= aItems[2]
DEFINE MSDIALOG oDlg FROM 0,0 TO 300,300 PIXEL TITLE Meu Combo
oCombo:= tComboBox():New(10,10,{|u|if(PCount()>0,cCombo:=u,cCombo)},;
aItems,100,20,oDlg,,{||MsgStop(Mudou item)},;
,,,.T.,,,,,,,,,cCombo)
Return NIL
tGet
Reviso: 23/02/2003
Abrangncia
Hierarquia
tSrvObject -> tControl -> tGet
Descrio
Use tGet para criar um controle que armazene ou altere o contedo de uma varivel
atravs de digitao. O contedo da varivel s modicado quando o controle perde o
foco de edio para outro controle.
Propriedades
Nome Tipo / Descrio
Lgico. Se .T. o controle se comporta como entrada de dados de senha,
lPassword
exibindo asteriscos * para esconder o contedo digitado.
Picture Caractere. Mscara de formatao do contedo a ser exibido.
Mtodos
New
Descrio Mtodo construtor do controle.
New([anRow], [anCol], [abSetGet], [aoWnd], [anWidth],
[anHeight], [acPict], [abValid], [anClrFore], [anClrBack], [aoFont],
Sintaxe [lPar12], [oPar13], [alPixel], [cPar15], [lPar16], [abWhen],
[lPar18], [lPar19], [abChange], [alReadOnly], [alPassword],
[cPar23], [acReadVar], [cPar25], [lPar26], [nPar27], [lPar28])
Parmetro Tipo / Descrio
Parmetros
anRow Numrico, opcional. Coordenada vertical em pixels
ou caracteres.
Numrico, opcional. Coordenada horizontal em pixels
anCol
ou caracteres.
Bloco de cdigo, opcional. Bloco de cdigo no
formato {|u| if( Pcount( )>0, <var>:= u, <var> ) } que
abSetGet
o controle utiliza para atualizar a varivel <var>.
<var> deve ser tipo caracter, numrico ou data.
Objeto, opcional. Janela ou controle onde o controle
aoWnd
ser criado.
anWidth Numrico, opcional. Largura do controle em pixels.
anHeight Numrico, opcional. Altura do controle em pixels.
Caractere, opcional. Mscara de formatao do
acPict
contedo a ser exibido.
Bloco de cdigo, opcional. Executado quando o
contedo do controle deve ser validado, deve retornar
abValid
.T. se o contedo for vlido e .F. quando o contedo
for invlido.
anClrFore Numrico, opcional. Cor de fundo do controle.
anClrBack Numrico, opcional. Cor do texto do controle.
Objeto, opcional. Objeto tipo tFont utilizado para
aoFont definir as caractersticas da fonte utilizada para exibir
o contedo do controle.
lPar12 Reservado.
oPar13 Reservado.
Lgico, opcional. Se .T. as coordenadas informadas
alPixel
so em pixels, se .F. so em caracteres.
cPar15 Reservado.
lPar16 Reservado.
Bloco de cdigo, opcional. Executado quando
mudana de foco de entrada de dados est sendo
abWhen efetuada na janela onde o controle foi criado. O bloco
deve retornar .T. se o controle deve permanecer
habilitado ou .F. se no.
lPar18 Reservado.
lPar19 Reservado.
Bloco de cdigo, opcional. Executado quando o
abChange
controle modifica o valor da varivel associada.
Lgico, opcional. Se .T. o controle no poder ser
alReadOnly
editado.
Lgico, opcional. Se .T. o controle exibir asteriscos
alPassword * no lugar dos caracteres exibidos pelo controle
para simular entrada de senha.
cPar23 Reservado.
Caractere, opcional. Nome da varivel que o controle
acReadVar
dever manipular, dever ser a mesma varivel
informada no parmetro abSetGet, e ser o retorno da
funo ReadVar( ).
cPar25 Reservado.
lPar26 Reservado.
nPar27 Reservado.
lPar28 Reservado.
Retorno O controle construdo.
Exemplo
#include protheus.ch
DEFINE MSDIALOG oDlg FROM 0,0 TO 300,300 PIXEL TITLE Meu Get
Return NIL
tGroup
Reviso: 23/02/2003
Abrangncia
Hierarquia
tSrvObject -> tControl -> tGroup
Descrio
Utilize a classe tGroup para criar um painel onde controles visuais podem ser agrupados
ou classificados. criada uma borda com ttulo em volta dos controles agrupados.
Mtodos
New
Descrio Mtodo construtor da classe.
New([anTop], [anLeft], [anBottom], [anRight], [acCaption],
Sintaxe
[aoWnd], [anClrText], [anClrPane], [alPixel], [lPar10])
Parmetro Tipo / Descrio
Numrico, opcional. Coordenada vertical superior em
anTop
pixels ou caracteres.
Numrico, opcional. Coordenada horizontal esquerda
anLeft
em pixels ou caracteres.
Numrico, opcional. Coordenada vertical inferior em
anBottom
Parmetros pixels ou caracteres.
Numrico, opcional. Coordenada horizontal direita em
anRight
pixels ou caracteres.
acCaption Caractere, opcional. Ttulo do grupo.
Objeto, opcional. Janela ou controle onde o controle
aoWnd
ser criado.
anClrText Numrico, opcional. Cor do texto.
anClrPane Numrico, opcional. Cor do fundo.
Lgico, opcional. Se .T. as coordenadas informadas so
alPixel
em pixels, se .F. so em caracteres.
lPar10 Reservado.
Retorno O objeto criado.
Exemplo
#include protheus.ch
cGet2:= Space(10)
Return NIL
tListBox
Reviso: 23/02/2003
Abrangncia
Hierarquia
tSrvObject -> tControl -> tListbox
Descrio
Utilize a classe tListbox para criar uma janela com itens selecionveis e barra de
rolagem. Ao selecionar um item, uma varivel atualizada com o contedo do item
selecionado.
Propriedades
Nome Tipo / Descrio
nAt Numrico. Posio do item selecionado.
aItems Array de items caracteres. Lista do itens selecionveis.
Mtodos
New
Descrio Mtodo construtor da classe.
New([anRow], [anCol], [abSetGet], [aaItems], [anWidth],
[anHeigth], [abChange], [aoWnd], [abValid], [anClrFore],
Sintaxe [anClrBack], [alPixel], [lPar13], [abLDBLClick], [aoFont],
[cPar16], [lPar17], [abWhen], [aPar19], [bPar20], [lPar21],
[lPar22], [abRightClick] )
Parmetro Tipo / Descrio
Parmetros Numrico, opcional. Coordenada vertical em pixels
anRow
ou caracteres.
Numrico, opcional. Coordenada horizontal em
anCol
pixels ou caracteres.
Bloco de cdigo, opcional. Bloco de cdigo no
formato {|u| if( Pcount( )>0, <var>:= u, <var> )}
abSetGet
que o controle utiliza para atualizar a varivel
<var>. <var> deve ser tipo caracter ou numrica.
Array de items caracteres, opcional. Lista de items
aaItems
selecionveis.
anWidth Numrico, opcional. Largura do controle em pixels.
anHeight Numrico, opcional. Altura do controle em pixels.
Bloco de cdigo, opcional. Executado quando o
abChange
item selecionado alterado.
Objeto, opcional. Janela ou controle onde o
aoWnd
controle ser criado.
Bloco de cdigo, opcional. Executado quando o
contedo do controle deve ser validado, deve
abValid
retornar .T. se o contedo for vlido e .F. quando o
contedo for invlido.
anClrFore Numrico, opcional. Cor de fundo do controle.
anClrBack Numrico, opcional. Cor do texto do controle.
Lgico, opcional. Se .T. as coordenadas informadas
alPixel
so em pixels, se .F. so em caracteres.
lPar13 Reservado.
Bloco de cdigo, opcional. Executado quando
abLDBLClick acionado duplo click do boto esquerdo do mouse
sobre o controle.
Objeto, opcional. Objeto tipo tFont utilizado para
aoFont definir as caractersticas da fonte utilizada para
exibir o contedo do controle.
cPar16 Reservado.
lPar17 Reservado.
Bloco de cdigo, opcional. Executado quando
mudana de foco de entrada de dados est sendo
abWhen efetuada na janela onde o controle foi criado. O
bloco deve retornar .T. se o controle deve
permanecer habilitado ou .F. se no.
aPar19 Reservado.
bPar20 Reservado.
lPar21 Reservado.
lPar22 Reservado.
Bloco de cdigo, opcional. Executado quando
abRightClick acionado click do boto direito do mouse sobre o
controle.
Retorno O objeto criado.
Select
Descrio Fora a seleo de um item.
Sintaxe Select( [anItem] )
Parmetro Tipo / Descrio
Parmetros
nItem Numrico, opcional. Posio do item a ser selecionado.
Retorno NIL
Add
Descrio Insere ou adiciona novo item.
Sintaxe Add( cText, nPos )
Parmetro Tipo / Descrio
cText Caractere, obrigatrio. Texto do item.
Parmetros Numrico, obrigatrio. Se 0 ou maior que o nmero de
itens, insere o item no final da lista. Se valor entre 1 e
nPos
nmero de itens, insere o item na posio informada,
empurrando o item anterior para baixo.
Retorno NIL
Modify
Descrio Modifica o texto de um item.
Sintaxe Modify( cText, nPos )
Parmetro Tipo / Descrio
cText Caractere, obrigatrio. Novo texto do item.
Parmetros Numrico, obrigatrio. Posio a ser modificada deve
nPos ser maior que 0 e menor ou igual que o nmero de
itens.
Retorno NIL
Del
Descrio Apaga um item.
Sintaxe Del( nPos )
Parmetro Tipo / Descrio
Parmetros Numrico, obrigatrio. Posio a ser excluida, deve ser
nPos
maior que 0 e menor ou igual que o nmero de itens.
Retorno NIL
Len
Descrio Retorna o nmero de itens.
Sintaxe Len( )
Retorno Numrico. Nmero de itens.
Reset
Descrio Apaga todos os itens.
Sintaxe Reset( )
Retorno NIL
Exemplo
#include protheus.ch
Aadd(aItems,Item 1)
Aadd(aItems,Item 2)
Aadd(aItems,Item 3)
Aadd(aItems,Item 4)
oList:= tListBox():New(10,10,{|u|if(Pcount()>0,nList:=u,nList)};
,aItems,100,100,,oDlg,,,,.T.)
Return NIL
tMeter
Reviso: 23/02/2003
Abrangncia
Hierarquia
tSrvObject -> tControl -> tMeter
Descrio
Utilize a classe tMeter para criar um controle que exibe uma rgua (gauge) de
processamento, descrevendo o andamento de um processo atraves da exibio de uma
barra horizontal.
Propriedades
Nome Tipo / Descrio
Numrico. Nmero total de passos at o preenchimento da rgua de
nTotal
processo.
lPercentage Lgico. Se .T. considera o passo de movimentao em porcentagem.
nClrBar Numrico. Cor da barra de andamento.
Mtodos
New
Descrio Mtodo construtor da classe.
New([anRow], [anCol], [abSetGet], [anTotal], [aoWnd],
Sintaxe [anWidth], [anHeight], [lPar8], [alPixel], [oPar10], [cPar11],
[alNoPerc], [anClrPane], [nPar14], [anClrBar], [nPar16], [lPar17])
Parmetro Tipo / Descrio
Parmetros Numrico, opcional. Coordenada vertical em pixels ou
anRow
caracteres.
Numrico, opcional. Coordenada horizontal em pixels
anCol
ou caracteres.
Bloco de cdigo, opcional. Bloco de cdigo no formato
{|u| if( Pcount( )>0, <var>:= u, <var> ) } que o controle
abSetGet
utiliza para atualizar a varivel <var>. <var> deve ser
tipo numrico.
Numrico, opcional. Numero total de passos at o
anTotal
preenchimento da rgua de processo.
Objeto, opcional. Janela ou controle onde o controle
aoWnd
sera criado.
anWidth Numrico, opcional. Largura do controle em pixels.
anHeight Numrico, opcional. Altura do controle em pixels.
lPar8 Reservado.
Lgico, opcional. Se .T. as coordenadas informadas so
alPixel
em pixels, se .F. so em caracteres.
oPar10 Reservado.
cPar11 Reservado.
Lgico, opcional. Se .T. (padro) no considera os
alNoPerc
passos de atualizao em porcentagem.
anClrPane Numrico, opcional. Cor de fundo do controle.
nPar14 Reservado.
anClrBar Numrico, opcional. Cor da barra de andamento.
nPar16 Reservado.
lPar17 Reservado.
Retorno O objeto criado.
Set
Descrio Atualiza a posio da rgua de processamento.
Sintaxe Set( [nVal] )
Parmetro Tipo / Descrio
Parmetros Numrico, opcional. Novo valor da posio da rgua de
nVal
processamento.
Retorno NIL
Exemplo
#include protheus.ch
oMeter:= tMeter():New(10,10,{|u|if(Pcount()>0,nMeter:=u,nMeter)};
,100,oDlg,100,20,,.T.) // cria a rgua
Return NIL
If lRunning
Return
Endif
lRunning:= .T.
oMeter:Set(nCurrent)
if nCurrent==oMeter:nTotal
Return
endif
Enddo
lRunning:= .F.
lStop:= .F.
Return
tMultiGet
Reviso: 23/02/2003
Abrangncia
Hierarquia
tSrvObject -> tControl -> tMultiGet
Descrio
Utilize a classe tMultiget para criar controle de edio de texto de mltiplas linhas.
Propriedades
Nome Tipo / Descrio
lWordWrap Lgico. Se .T., faz quebra automtica de linhas.
Mtodos
New
Descrio Mtodo construtor da classe.
New([anRow], [anCol], [abSetGet], [aoWnd], [anWidth],
[anHeight], [aoFont], [alHScroll], [anClrFore], [anClrBack],
Sintaxe [oPar11], [alPixel], [cPar13], [lPar14], [abWhen], [lPar16],
[lPar17], [alReadOnly], [abValid], [bPar20], [lPar21],
[alNoBorder], [alNoVScroll])
Parmetro Tipo / Descrio
Numrico, opcional. Coordenada vertical em pixels
anRow
ou caracteres.
Parmetros
Numrico, opcional. Coordenada horizontal em
anCol
pixels ou caracteres.
abSetGet Bloco de cdigo, opcional. Bloco de cdigo no
formato {|u| if( Pcount( )>0, <var>:= u, <var> ) } que
o controle utiliza para atualizar a varivel <var>.
<var> deve ser tipo caracter.
Objeto, opcional. Janela ou controle onde o controle
aoWnd
ser criado.
anWidth Numrico, opcional. Largura do controle em pixels.
anHeight Numrico, opcional. Altura do controle em pixels.
Objeto, opcional. Objeto tipo tFont utilizado para
aoFont definir as caractersticas da fonte utilizada para exibir
o contedo do controle.
Lgico, opcional. Se .T., habilita barra de rolagem
alHScroll
horizontal.
anClrFore Numrico, opcional. Cor de fundo do controle.
anClrBack Numrico, opcional. Cor do texto do controle.
oPar11 Reservado.
Lgico, opcional. Se .T. as coordenadas informadas
alPixel
so em pixels, se .F. so em caracteres.
cPar13 Reservado.
lPar14 Reservado.
Bloco de cdigo, opcional. Executado quando
mudana de foco de entrada de dados est sendo
abWhen efetuada na janela onde o controle foi criado. O bloco
deve retornar .T. se o controle deve permanecer
habilitado ou .F. se no.
lPar16 Reservado.
lPar17 Reservado.
Lgico, opcional. Se .T. o controle so permitira
alReadOnly
leitura.
Bloco de cdigo, opcional. Executado quando o
contedo do controle deve ser validado, deve retornar
abValid
.T. se o contedo for vlido e .F. quando o contedo
for invlido.
bPar20 Reservado.
lPar21 Reservado.
alNoBorder Lgico, opcional. Se .T. cria controle sem borda.
Lgico, opcional. Se .T., habilita barra de rolagem
alNoVScroll
vertical.
Retorno O objeto criado.
EnableVScroll
Descrio Habilita a barra de rolagem vertical.
Sintaxe EnableVScroll( lEnable )
Parmetro Tipo / Descrio
Parmetros Lgico, obrigatrio. Se .T. habilita se .F. desabilita a
lEnable
barra de rolagem.
Retorno NIL
EnableHScroll
Descrio Habilita a barra de rolagem horizontal.
Sintaxe EnableHScroll( lEnable )
Parmetro Tipo / Descrio
Parmetros Lgico, obrigatrio. Se .T. habilita se .F. desabilita a
lEnable
barra de rolagem.
Retorno NIL
Exemplo
#include protheus.ch
User Function Teste()
oMemo:= tMultiget():New(10,10,{|u|if(Pcount()>0,cMemo:=u,cMemo)};
,oDlg,100,100,,,,,,.T.)
MsgStop(cMemo)
Return NIL
tPanel
Reviso: 23/02/2003
Abrangncia
Hierarquia
tSrvObject -> tControl -> tPanel
Descrio
Utilize a classe tPanel quando desejar criar um painel esttico, onde podem ser criados
outros controles com o objetivo de organizar ou agrupar componentes visuais.
Mtodos
New
Descrio Mtodo construtor da classe.
New([anRow], [anCol], [acText], [aoWnd], [aoFont], [alCentered],
Sintaxe [lPar6], [anClrText], [anClrBack], [anWidth], [anHeight],
[alLowered], [alRaised])
Parmetro
Tipo / Descrio
anRow Numrico, opcional. Coordenada vertical em pixels.
anCol Numrico, opcional. Coordenada horizontal em pixels.
acText Caractere, opcional. Texto a ser exibido ao fundo.
Objeto, opcional. Janela ou controle onde ser criado o
aoWnd
objeto.
Parmetros
Lgico, opcional. Se .T. exibe o texto de ttulo ao
alCentered
centro do controle.
lPar6 Reservado.
anClrText Numrico, opcional. Cor do texto do controle.
anClrBack Numrico, opcional. Cor do fundo do controle.
anWidth Numrico, opcional. Largura do controle em pixels.
anHeight Numrico, opcional. Altura do controle em pixels.
Lgico, opcional. Se .T. exibe o painel rebaixado em
alLowered
relao ao controle de fundo.
Lgico, opcional. Se .T. exibe a borda do controle
alRaised
rebaixada em relao ao controle de fundo.
Retorno O objeto criado.
Exemplo
#include protheus.ch
Return
tRadMenu
Reviso: 23/02/2003
Abrangncia
Hierarquia
tSrvObject -> tControl -> tRadMenu
Descrio
Utilize a classe tRadMenu para criar um controle que possibilita escolha de item atravs
de uma lista.
Propriedades
Nome Tipo / Descrio
nOption Numrico. Item selecionado.
aItems Array de caracteres. Lista de items selecionveis.
Mtodos
New
Descrio Mtodo construtor da classe.
New([anRow], [anCol], [aacItems], [abSetGet], [aoWnd], [aPar6],
[abChange], [anClrText], [anClrPan], [cPar10], [lPar11],
Sintaxe
[abWhen], [anWidth], [anHeight], [abValid], [lPar16], [lPar17],
[alPixel])
Parmetro Tipo / Descrio
Numrico, opcional. Coordenada vertical em pixels ou
anRow
Parmetros caracteres.
Numrico, opcional. Coordenada horizontal em pixels
anCol
ou caracteres.
aacItems Array de caracteres, opcional. Lista de opes.
Bloco de cdigo, opcional. Bloco de cdigo no formato
{|u| if( Pcount( )>0, <var>:= u, <var> ) } que o controle
abSetGet
utiliza para atualizar a varivel <var>. <var> deve ser
tipo numrico.
Objeto, opcional. Janela ou controle onde o controle
aoWnd
ser criado.
aPar6 Reservado.
Bloco de cdigo, opcional. Executado quando o item
abChange
selecionado alterado.
anClrText Numrico, opcional. Cor do texto do controle
anClrPan Numrico, opcional. Cor de fundo do controle.
cPar10 Reservado.
lPar11 Reservado.
Bloco de cdigo, opcional. Executado quando mudana
de foco de entrada de dados est sendo efetuada na
abWhen janela onde o controle foi criado. O bloco deve retornar
.T. para que o controle permanea habilitado, ou .F. se
no.
anWidth Numrico, opcional. Largura do controle em pixels.
anHeight Numrico, opcional. Altura do controle em pixels.
Bloco de cdigo, opcional. Executado quando o
abValid contedo do controle deva ser validado, retornando .T.
se o contedo for vlido, e .F. quando invlido.
lPar16 Reservado.
Lpar17 Reservado.
Lgico, opcional. Se .T. as coordenadas informadas so
alPixel
em pixels, se .F. so em caracteres.
Retorno O objeto criado.
EnableItem
Descrio Habilita ou desabilita item.
Sintaxe EnableItem( [nItem], [lEnable])
Parmetro Tipo / Descrio
nItem Numrico, opcional. Item selecionado.
Parmetros
Lgico, opcional. Se .T. habilita o item se .F. desabilita
lEnable
o item.
Retorno NIL
Exemplo
#include protheus.ch
DEFINE MSDIALOG oDlg FROM 0,0 TO 300,300 PIXEL TITLE Meu Get
oRadio:= tRadMenu():New(10,10,aOptions,;
{|u|if(PCount()>0,nRadio:=u,nRadio)},;
oDlg,,,,,,,,100,20,,,,.T.)
MsgStop(Escolheu +aOptions[nRadio] )
Return NIL
tSay
Reviso: 23/02/2003
Abrangncia
Classe de label.
Hierarquia
tSrvObject -> tControl -> tSay
Descrio
O objeto tipo tSay exibe o contedo de texto esttico sobre uma janela ou controle.
Propriedades
Nome Tipo / Descrio
Lgico. Se .T. quebra o texto em vrias linhas de maneira a enquadrar o
lWordWrap
contedo na rea determinada para o controle, sendo o padro .F.
Lgico. Se .T. a cor de fundo do controle ignorada assumindo o contedo
lTransparent
ou cor do controle ou janela ao fundo, sendo o padro .T.
Mtodos
New
Descrio Mtodo construtor da classe.
New([anRow], [anCol], [abText], [aoWnd], [acPicture], [aoFont],
[lPar7], [lPar8], [lPar9], [alPixels], [anClrText], [anClrBack],
Sintaxe
[anWidth], [anHeight], [lPar15], [lPar16], [lPar17], [lPar18],
[lPar19])
Parmetro Tipo / Descrio
Numrico, opcional. Coordenada vertical em pixels ou
Parmetros anRow
caracteres.
anCol Numrico, opcional. Coordenada horizontal em pixels
ou caracteres.
Codeblock, opcional. Quando executado deve retornar
abText
uma cadeia de caracteres a ser exibida.
Objeto, opcional. Janela ou dilogo onde o controle
aoWnd
ser criado.
Caractere, opcional. Picture de formatao do contedo
acPicture
a ser exibido.
Objeto, opcional. Objeto tipo tFont para configurao
aoFont do tipo de fonte que ser utilizado para exibir o
contedo.
lPar7 Reservado.
lPar8 Reservado.
lPar9 Reservado.
Lgico, opcional. Se .T. considera coordenadas
alPixels passadas em pixels se .F., padro, considera as
coordenadas passadas em caracteres.
anClrText Numrico, opcional. Cor do contedo do controle.
anClrBack Numrico, opcional. Cor do fundo do controle.
anWidth Numrico, opcional. Largura do controle em pixels.
anHeight Numrico, opcional. Altura do controle em pixels.
lPar15 Reservado.
lPar16 Reservado.
lPar17 Reservado.
lPar18 Reservado.
lPar19 Reservado.
Retorno O objeto criado.
SetText
Descrio Modifica o contedo a ser exibido pelo controle.
Sintaxe SetText( [xVal] )
Parmetro Tipo / Descrio
Parmetros Caracter / Numrico / Data, Opcional. Valor a ser
xVal
exibido.
Retorno NIL
Exemplo
#include protheus.ch
Return NIL
tScrollBox
Reviso: 23/02/2003
Abrangncia
Hierarquia
tSrvObject -> tControl -> tScrollbox
Descrio
Utilize a classe tScrollbox para criar um painel com scroll deslizantes nas laterais do
controle.
Mtodos
New
Descrio Mtodo construtor da classe.
New([aoWnd], [anTop], [anLeft], [anHeight], [anWidth],
Sintaxe
[alVertical], [alHorizontal], [alBorder])
ParmetroTipo / Descrio
Objeto, opcional. Janela ou controle onde o controle
aoWnd
ser criado.
anTop Numrico, opcional. Coordenada vertical em pixels.
Numrico, opcional. Coordenada horizontal em
anLeft
pixels.
Parmetros anHeight Numrico, opcional. Altura do controle em pixels.
anWidth Numrico, opcional. Largura do controle em pixels.
Lgico, opcional. Se .T. exibe a barra de scroll
alVertical
vertical.
Lgico, opcional. Se .T. exibe a barra de scroll
alHorizontal
horizontal.
alBorder Lgico, opcional. Se .T. exibe a borda do controle.
Retorno O objeto criado.
Exemplo
#include protheus.ch
cGet1:= Space(10)
cGet2:= Space(10)
cGet3:= Space(10)
Return NIL
Classe TIBrowser
Exemplo de uso da classe TIBrowser
Reviso: 09/06/2003
Abrangncia
#include "protheus.ch"
function teste()
DEFINE MSDIALOG oDlg FROM 0,0 TO 320,460 PIXEL TITLE "Teste TIBrowser"
@ 10, 160 BUTTON oBtnNav PROMPT "Ir para Microsiga" SIZE 50,10 ACTION
oTIBrowser:Navigate("http://www.microsiga.com.br") OF oDlg PIXEL
@ 20, 160 BUTTON oBtnPrint PROMPT "Imprimir" SIZE 50,10 ACTION
oTIBrowser:Print() OF oDlg PIXEL
@ 30, 160 BUTTON oBtnHome PROMPT "Home" SIZE 50,10 ACTION
oTIBrowser:GoHome() OF oDlg PIXEL
return
TIBROWSER:GOHOME
Reviso: 09/06/2003
Abrangncia
Sintaxe
Retorno
Tipo Descrio
(NULO) Este mtodo retorna nil
Descrio
Abrangncia
Sintaxe
Parmetros
Retorno
Tipo Descrio
(NULO) Este mtodo sempre retorna nil
Descrio
Abrangncia
Sintaxe
TIBROWSER:NEW ( < anRow > , < anCol > , < anWidth > , < anHeight > , [ ainitLink
] , [ anWindow ] ) --> Retorno
Parmetros
Retorno
Tipo Descrio
Objeto Retorna o objeto criado
Descrio
[config]
BrowserEnabled=1
Abrangncia
Sintaxe
Retorno
Tipo Descrio
(NULO) Este mtodo retorna nil
Descrio
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verso 8.11
A funo abaixo cria uma janela de dialogo, com uma twBrowse ocupando toda a
extenso do dilogo, realizando uma consulta na Tabela SX5, filtrada atravs do ndice
1, para mostrar apenas os elementos pertencentes tabela 01 do SX5.
Vale lembrar que, para testar o fonte abaixo, deve-se compil-lo no projeto, e inserir
uma chamada esta funo no Menu do ERP.
#INCLUDE 'PROTHEUS.CH'
dbselectarea('SX5')
DbSetORder(1)
DEFINE MSDIALOG oDlg TITLE 'Exemplo TWBrowse' FROM 000, 000 TO 500,
600 PIXEL
Return
New
Reviso: 16/09/2004
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verso 8.11
Sintaxe
Parmetros
Retorno
Tipo Descrio
Objeto Retorna uma nova instncia do Objeto da Classe TWBrowse.
Descrio
MSDialog
Reviso: 23/02/2003
Abrangncia
Hierarquia
tSrvObject -> tWindow -> tDialog -> MSDialog
Caractersticas
MSDialog deve ser utilizada como padro de janela para entrada de dados. MSDialog
um tipo de janela dilogo modal, isto , no permite que outra janela ativa receba dados
enquanto esta estiver ativa.
Propriedades
Vide classes ancestrais.
Mtodos
New
Descrio Mtodo construtor da classe.
New([anTop], [anLeft], [anBottom], [anRight], [acCaption],
Sintaxe [cPar6], [nPar7], [lPar8], [nPar9], [anClrText], [anClrBack],
[oPar12], [aoWnd], [alPixel], [oPar15], [oPar16], [lPar17])
Parmetro Tipo / Descrio
Numrico, opcional. Coordenada vertical superior em
anTop
Parmetros pixels ou caracteres.
Numrico, opcional. Coordenada horizontal esquerda
anLeft
em pixels ou caracteres.
Numrico, opcional. Coordenada vertical inferior em
anBotom
pixels ou caracteres.
Numrico, opcional. Coordenada horizontal direita em
anRight
pixels ou caracteres.
acCaption Caractere, opcional. Ttulo da janela.
cPar6 Reservado.
nPar7 Reservado.
lPar8 Reservado.
nPar9 Reservado.
anClrText Numrico,opcional. Cor do texto.
anClrBack Numrico,opcional. Cor de fundo.
oPar12 Reservado.
Objeto, opcional. Janela me da janela a ser criada,
aoWnd
padro a janela principal do programa.
Lgico, opcional. Se .T. considera as coordenadas
alPixel
passadas em pixels, se .F. considera caracteres.
oPar15 Reservado.
oPar16 Reservado.
nPar17 Reservado.
Exemplo
#INCLUDE protheus.ch
// cria dilogo
Local oDlg:=MSDialog():New(10,10,300,300,Meu
dialogo,,,,,CLR_BLACK,CLR_WHITE,,,.T.)
oDlg:Activate(,,,.T.,{||msgstop(validou!),.T.},,{||msgstop(iniciand
o) )
Return
tDialog
Reviso: 24/02/2003
Abrangncia
Hierarquia
tSrvObject -> tWindow -> tDialog
Caractersticas
Classe de janela de dilogo de entrada de dados, uso reservado, recomenda-se utilizar a
classe MSDialog que herdada desta classe.
Propriedades
Vide classes ancestrais.
Mtodos
New
Descrio Mtodo construtor da classe.
New([anTop], [anLeft], [anBottom], [anRight], [acCaption],
[cPar6], [nPar7], [lPar8], [nPar9], [anClrText], [anClrBack],
Sintaxe
[oPar12], [aoWnd], [alPixel], [oPar15], [oPar16], [nPar17],
[anWidth], [anHeight])
Parmetro Tipo / Descrio
Numrico, opcional. Coordenada vertical superior em
anTop
pixels ou caracteres.
Parmetros
Numrico, opcional. Coordenada horizontal esquerda
anLeft
em pixels ou caracteres.
anBotom Numrico, opcional. Coordenada vertical inferior em
pixels ou caracteres.
Numrico, opcional. Coordenada horizontal direita em
anRight
pixels ou caracteres.
acCaption Caractere, opcional. Ttulo da janela.
cPar6 Reservado.
nPar7 Reservado.
lPar8 Reservado.
nPar9 Reservado.
anClrText Numrico,opcional. Cor do texto.
anClrBack Numrico,opcional. Cor de fundo.
oPar12 Reservado.
Objeto, opcional. Janela me da janela a ser criada,
aoWnd
padro a janela principal do programa.
Lgico, opcional. Se .T. considera as coordenadas
alPixel
passadas em pixels, se .F. considera caracteres.
oPar15 Reservado.
oPar16 Reservado.
nPar17 Reservado.
anWidth Numrico, opcional. Largura da janela em pixels.
anHeight Numrico, opcional. Altura da janela em pixels.
Activate
Descrio Ativa (exibe) o dilogo. Chamar somente uma vez este mtodo.
Activate([bPar1], [bPar2], [bPar3], [alCentered], [abValid], [lPar6],
Sintaxe
[abInit], [bPar8], [bPar9] )
ParmetroTipo / Descrio
bPar1 Reservado.
bPar2 Reservado.
bPar3 Reservado.
Lgico, opcional. Se .T. exibe a janela centralizada, .F.
alCentered
Parmetros padro.
Bloco de cdigo, opcional. Deve retornar .T. se
abValid contedo do dilogo vlido, se retornar .F. o dilogo
no fechar quando solicitada de encerrar.
lPar6 Reservado.
Bloco de cdigo, opcional. Executado quando o
abInit
dilogo inicia exibio.
bPar8 Reservado.
bPar9 Reservado.
Retorno NIL
End
Descrio Encerra (fecha) o dilogo.
Sintaxe End( )
Retorno Lgico .T. se o dilogo foi encerrado.
Exemplo
#INCLUDE "PROTHEUS.CH"
// cria dilogo
oDlg := MSDialog():New(10,10,300,300,"Meu
dialogo",,,,,CLR_BLACK,CLR_WHITE,,,.T.)
Return NIL
tWindow
Reviso: 23/02/2003
Abrangncia
Hierarquia
tSrvObject -> tWindow
Caractersticas
Classe de janela principal de programa, dever existir apenas uma instncia deste objeto
na execuo do programa.
Propriedades
bInit Bloco de cdigo. Executado quando a janela est sendo exibida.
lEscClose Lgico. Se .T. habilita o <ESC> cancelar a execuo da janela.
oCtlFocus Objeto. Objeto contido na janela que est com foco de entrada de dados.
Mtodos
New
Descrio Mtodo construtor da janela.
New( [anTop], [anLeft],[anBottom], [anRight], [acTitle], [nPar6],
[oPar7] ,[oPar8],[oPar9], [aoParent], [lPar11], [lPar12],
Sintaxe
[anClrFore], [anClrBack], [oPar15], [cPar16], [lPar17], [lPar18],
[lPar19], [lPar20], [alPixel] );
Parmetro Tipo / Descrio
Numrico, opcional. Coordenada vertical superior em
nTop
Parmetros pixels ou caracteres.
Numrico, opcional. Coordenada horizontal esquerda
nLeft
em pixels ou caracteres.
Numrico, opcional. Coordenada vertical inferior em
nBottom
pixels ou caracteres.
Numrico, opcional. Coordenada horizontal inferior em
nRight
pixels ou caracteres.
cTitle Caractere, opcional. Ttulo da janela.
nPar6 Reservado.
oPar7 Reservado.
oPar8 Reservado.
oPar9 Reservado.
oParent Objeto, opcional. Janela me da janela corrente.
lPar11 Reservado.
lPar12 Reservado.
nClrFore Numrico, opcional. Cor de fundo da janela.
nClrText Numrico, opcional. Cor do texto da janela.
oPar15 Reservado.
cPar16 Reservado.
lPar17 Reservado.
lPar18 Reservado.
lPar19 Reservado.
lPar20 Reservado.
Lgico, opcional. Se .T. (padro) considera
lPixel coordenadas passadas em pixels, se .F. considera
caracteres.
Retorno Objeto. A janela construda.
Activate
Descrio Ativa (exibe) a janela. Chamar esse mtodo apenas uma vez.
Activate([acShow], [bPar2], [bPar3], [bPar4], [bPar5], [bPar6], [
Sintaxe abInit ], [bPar8], [bPar9], [bPar10], [bPar11], [bPar12] ,[bPar13],
[bPar14], [bPar15], [abValid], [bPar17], [bPar18] ).
Parmetro Tipo / Descrio
Caracter, opcional. ICONIZED para janela iconizada
acShow
ou MAXIMIZED para janela maximizada.
bPar2 Reservado.
bPar3 Reservado.
Parmetros bPar4 Reservado.
bPar5 Reservado.
bPar6 Reservado.
Bloco de cdigo. Executado quando janela est sendo
abInit
exibida.
bPar8 Reservado.
bPar9 Reservado.
bPar10 Reservado.
bPar11 Reservado.
bPar12 Reservado.
bPar13 Reservado.
bPar14 Reservado.
bPar15 Reservado.
Bloco de cdigo. Executado quando a janela for
solicitada de fechar. Dever retornar .T. se o contedo
abValid
da janela for vlido, ou .F. se no. Se o bloco retornar
.F. a janela no fechar.
bPar17 Reservado.
bPar18 Reservado.
Retorno NIL
End
Descrio Solicita encerramento da janela.
Sintaxe End( )
Retorno Lgico. .T. se encerrou a janela e .F. se no.
Center
Descrio Centraliza a janela.
Sintaxe Center( )
Retorno NIL
Exemplo
#INCLUDE "PROTHEUS.CH"
Local oWindow
Local abInit:= {||conout("ativando!")}
Local abValid:= {||conout("encerrando!"),.T.}
Return NIL
Classes no visuais
Classe TMailManager
Reviso: 09/06/2003
Descrio
A TMailManager uma classe que tem por finalidade criar conexes em servidores
SMTP ou POP
Metodos
New()
Construtor do objeto.
SetSmtpTimeOut( nTimeOut )
Configura o tempo para que uma conexo estabelecida ao servidor seja finalizada por
time-out
Parametro Descrio
nTimeOut Tempo para que a conexo seja fechada por Time-Out.
SmtpDisconnect()
Disconecta com o servidor SMTP
POPConnect()
Conecta com o servidor, atraves dos parametros de Init
SetPopTimeOut( nTimeOut )
Configura o tempo para que uma conexo estabelecida ao servidor seja finalizada por
time-out
Parametro Descrio
nTimeOut Tempo para que a conexo seja fechada por Time-Out.
GetNumMsgs( @nNumMsg )
Retorna o numero de mensagens que existem no servidor
Parametro Descrio
Parametro passado por referencia, retorna nele o numero de mensagens que
nNumMsg
esto no servidor.
DeleteMsg( nMsg )
Deleta uma mensagem do servidor
Parametro Descrio
nMsg Numero da mensagem a ser deletada.
POPDisconnect()
Disconecta com o servidor POP
TMAILMANAGER:DELETEMSG
Reviso: 09/04/2003
Abrangncia
Sintaxe
Parmetros
Retorno
Tipo Descrio
(NULO) Nil
Descrio
Abrangncia
Sintaxe
Parmetros
Retorno
Tipo Descrio
Numrico 0 = Lista recebida com sucesso
Descrio
Abrangncia
Sintaxe
TMAILMANAGER:INIT ( < cPop > , < cSmtp > , < cUser > , < cPass > , [ nTimeOut ]
, [ nPort ] ) --> Nil
Parmetros
Retorno
Tipo Descrio
(NULO) Nil
Descrio
Abrangncia
Sintaxe
Retorno
Tipo Descrio
Objeto Construtor do objeto.
Descrio
Construtor do objeto.
TMAILMANAGER:POPCONNECT
Reviso: 09/04/2003
Abrangncia
Sintaxe
Retorno
Tipo Descrio
(NULO) Nil
Descrio
Abrangncia
Sintaxe
Retorno
Tipo Descrio
Numrico 0 = Disconectado
Descrio
Abrangncia
Sintaxe
Parmetros
Retorno
Tipo Descrio
Numrico 0 = Time out setado
Descrio
Configura o tempo para que uma conexo estabelecida ao servidor seja finalizada por
time-out
TMAILMANAGER:SETSMTPTIMEO
UT
Reviso: 09/04/2003
Abrangncia
Sintaxe
Parmetros
Retorno
Tipo Descrio
(NULO) 0 - Time out configurado
Descrio
Configura o tempo para que uma conexo estabelecida ao servidor seja finalizada por
time-out
TMAILMANAGER:SMTPCONNECT
Reviso: 09/04/2003
Abrangncia
Sintaxe
Retorno
Tipo Descrio
Numrico 0 - Conectado
Descrio
Abrangncia
Sintaxe
Retorno
Tipo Descrio
Numrico 0 = Disconectado
Descrio
Abrangncia
Sintaxe
Parmetros
Retorno
Tipo Descrio
Numrico 0 = E-mail enviado com sucesso
Descrio
Abrangncia
Descrio
Esta classe permite estabelecer uma conexo cliente de socket do tipo TCP genrica.
Enviar e receber dados atravs de uma socket genrico e tambm pode ser usada como
base para implementao de protocolos no suportados pelo protheus.
Mtodos
Mtodo Descrio
CloseConnection Finaliza a conexo TCP genrica (socket ) do objeto corrente.
Connect Estabelece um conexo TCP genrica (socket ).
IsConnected Verifica se existe conexo valida no objeto corrente.
New Cria o objeto tSocketClient, sem conexo ativa.
Recebe os dados pela conexo ativa do objeto, qualquer tipo de
Receive
dado pode ser recebido.
Finaliza anormalmente a conexo, no avisa o outro lado que a
Reset conexo ser finalizada.
Deve ser utilizado apenas em casos extremos.
Send Transmite o buffer pela conexo TCP Genrica ativa.
CloseConnection
Reviso: 30/06/2003
Abrangncia
Sintaxe
Retorno
Tipo Descrio
(NULO) Nil
Descrio
Sintaxe
oObj:Connect ( < nPorta > , < cIP > , < nTimeout > ) --> nSucesso
Parmetros
Retorno
Tipo Descrio
Retorna 0 (Zero) se conectou com sucesso, diferente de zero se a conexo
Numrico
falhou.
Descrio
Abrangncia
Sintaxe
Retorno
Tipo Descrio
Retorna True se a conexo esta ativa e false caso esteja
Lgico
invlida/desconectado.
Descrio
Abrangncia
Sintaxe
Retorno
Tipo Descrio
Objeto Retorna um Objeto do tipo tSocketClient
Descrio
Abrangncia
Sintaxe
Parmetros
Retorno
Tipo Descrio
Qtde de bytes recebidos, se houver algum erro nQtdRecebida ser menor
Numrico
que zero.
Descrio
Recebe os dados pela conexo ativa do objeto, qualquer tipo de dado pode ser recebido.
Reset
Reviso: 30/06/2003
Abrangncia
Sintaxe
Retorno
Tipo Descrio
(NULO) Retorno nulo.
Descrio
Finaliza anormalmente a conexo, no avisa o outro lado que a conexo ser finalizada.
Deve ser utilizado apenas em casos extremos.
Send
Reviso: 30/06/2003
Abrangncia
Sintaxe
Parmetros
Retorno
Tipo Descrio
Numero de bytes transmitidos, caso o numero seja diferente do tamanho
Numrico
de cBuffer, algum erro aconteceu.
Descrio
Abrangncia
cBuffer := ""
nQtd = oObj:Receive( cBuffer, 10000 )
if( nQtd >= 0 )
conout( "Dados Recebidos " + Str( nQtd, 4, 0 ), cBuffer )
else
conout( "Nao recebi nada" )
endif
cSend = "Dados que ser transmitido!!!"
nResp := oObj:Send( cSend )
if( nResp != len( cSend ) )
conout( "Erro! Dado nao transmitido" )
else
conout( "Dado Enviado" )
endif
if( oObj:IsConnected() )
conout( "OK! Estou conectado" )
else
conout( "Ops! Nao estou conectado" )
endif
oObj:CloseConnection()
if( !oObj:IsConnected() )
conout( "Desconectei" )
else
conout( "Ainda estou conectado, erro na desconexao" )
endif
return
Exemplo de Conexo SMTP
Reviso: 17/09/2003
Abrangncia
#INCLUDE "Ap5Mail.ch"
CONNECT SMTP SERVER "200.246.142.66" ;
ACCOUNT "test"
PASSWORD "test1234" ;
RESULT lOk
If lOk
MsgStop("Conexo OK")
Else
GET MAIL ERROR cSmtpError
MsgStop("Erro de conexo : " + cSmtpError)
Endif
Exemplo de Envio de e-mail SMTP
Completo
Reviso: 17/09/2003
Abrangncia
#INCLUDE "Ap5Mail.ch"
// Conecta com o Servidor SMTP
CONNECT SMTP SERVER "200.246.142.66" ;
ACCOUNT "test" PASSWORD "test1234" ;
RESULT lOk
If lOk
MsgStop( "Conexo OK" )
SEND MAIL FROM "eo@aqui.com.br" ;
TO "jose@bemlonge.com.br;joao@exemplo.com.br" ;
SUBJECT "Teste de e-Mail" ;
BODY "E-MAIL HTML de TESTE" ;
RESUILT lOk
If lOk
MsgStop( "Envio OK" )
Else
GET MAIL ERROR cSmtpError
MsgSTop( "Erro de envio : " + cSmtpError)
Endif
// Desconecta do Servidor
DISCONNECT SMTP SERVER
Else
GET MAIL ERROR cSmtpError
MsgStop( "Erro de conexo : " + cSmtpError)
Endif
Exemplo da funo XMLERROR
Reviso: 17/07/2002
Abrangncia
Abrangncia
Function u_TesteXml()
Local cModelo := ''
Local aLivros := {}
Local cXml := '' , oXml
Local nL , nTotL
nXmlStatus := XMLError()
If ( nXmlStatus == XERROR_SUCCESS )
nTotL := len(aLivros)
For nL := 1 to nTotL
If nL > 1
// Apenas acrescento nodes novos caso j tenha realizado a
// primeira volta do looping , que ir atribuir os valores
// do primeiro livro ao node j existente no objeto Xml
ADDNODE oXml:_MeuDoc:_Livro NODE '_Livro' ON oXML
Endif
Next
Return
Exemplo da funo AEVAL
Reviso: 03/10/2002
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
aEval(aArray,bBlock)
Caso o array passado como parmetro seja um array multi-Dimensional , sero passados
como parmetros os arrays de primeiro nivel para o code-BLock.
aItens := {}
aadd(aItens,{"Branco",10})
aadd(aItens,{"Preto",15})
aadd(aItens,{"Cinza",12})
nTotal := 0
For nI := 1 to len(aItens)
nTotal := nTotal + aItens[nI][2]
Next
conout(nTotal) // 37
nTotal := 0
aeval(aItens , {|x| nTotal += x[2] } )
conout(nTotal)
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
*** Este exemplo cria um bloco de cdigo que incrementa um nmero e depois o
avalia:
*** Este exemplo demonstra como um bloco de cdigo pode ser compilado em tempo
de execuao utilizando-se o operador macro (&):
Abrangncia
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verso 8.11
Abrangncia
aadd(aArq,'c:\path\arquivo.ext')
aadd(aArq,'c:\path\arquivo')
aadd(aArq,'c:\path\')
aadd(aArq,'c:\arquivo')
aadd(aArq,'\path\arquivo.ext')
aadd(aArq,'path\arquivo')
aadd(aArq,'\\servidor\pasta\')
aadd(aArq,'\\servidor\pasta\arquivo.ext')
aadd(aArq,'')
For nI := 1 to len(aArq)
SplitPath( aArq[nI], @cDrive, @cDir, @cNome, @cExt )
conout( aArq[nI] + ' ['+cDrive+'] ['+ cDir +'] ['+ cNome +'] ['+
cExt + ']')
Next
Aps executado o programa acima, deve ser exibido no console do Protheus Server o
texto abaixo :
Abrangncia
// Buscar pgina
cHtmlPage := Httpget('http://www.servidor.com.br/pageteste.htm')
cHtmlPage :=
Httpget('http://www.servidor.com.br/funteste.asp?Id=123&Nome=Teste')
// ou
cHtmlPage :=
Httpget('http://www.servidor.com.br/funteste.asp','Id=123&Nome=Teste')
Exemplo da funo
HTTPLOGONUSER()
Reviso: 27/01/2004
Abrangncia
Observao : Caso esta funo seja chamada via Job , Remote , ou com o Protheus
Server HTTP sendo executado como Console ou Servio , sem usar a .dll ISAPI , a
funo sempre retornar uma string em branco.
IF empty(cLogin)
conout("USuario nao identificado")
Else
conout("USuario : "+cLogin)
Endif
Return "
"+cLogin+"
"
Exemplo da Funo Directory
Reviso: 09/07/2003
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verso 8.11
#INCLUDE "Directry.ch"
aDirectory := DIRECTORY("*.*","D")
AEVAL( aDirectory, {|aFile| CONOUT(aFile[F_NAME])} )
Abrangncia
Abrangncia
Este exemplo cria um vetor que conter os nomes de todos os arquivos (.txt) no
diretrio DEFAULT corrente, e os relaciona no console utilizando a funao AEVAL() :
LOCAL aFiles[ADIR("*.TXT")]
ADIR("*.TXT", aFiles)
AEVAL(aFiles, { |element| conout(element) })
Abrangncia
No exemplo abaixo , conferimos o path atual e tentamos setar um novo path atual ,
verificando se a operao foi realizada com sucesso.
cOldDir := curdir()
cNewDir := '\webadv\xis'
curdir(cNewDir) // Troca o path
If cNewDir <> '\'+curdir() // E verifica se trocou mesmo
conout('Falha ao Trocar de Path de '+cOldDir + ' para '+cNewDir)
Else
conout('Path de '+cOldDir + ' trocado para '+cNewDir+' com
sucesso.')
Endif
Exemplo da funo DIRREMOVE
Reviso: 01/05/2003
Abrangncia
cDelPath := 'c:\TmpFiles'
lRemoveOk := DIRREMOVE(cDelPath)
IF !lRemoveOk
MsgStop('Falha ao remover a pasta '+cDelPath+' ( File Error
'+str(Fewrror(),4)+' ) ')
Else
MsgStop('Pasta '+cDelPath+' removida com sucesso.')
Endif
Exemplo da funo DISKSPACE
Reviso: 01/05/2003
Abrangncia
Abrangncia
IF FERASE("C:\ListaTXT.tmp") == -1
MsgStop('Falha na deleo do Arquivo ( FError'+str(ferror(),4)+
')')
Else
MsgStop('Arquivo deletado com sucesso.')
ENDIF
Exemplo da funo FILE
Reviso: 04/05/2003
Abrangncia
Observao : Caso a funo File() seja executada em Job ( programa sem interface
remota ) , sendo passado um caminho absoluto de arquivo ( exemplo c:\teste.txt) , a
funo retornar .F. e FERROR() retornar -1 )
Exemplo da funo FOPEN
Reviso: 05/05/2003
Abrangncia
Abrangncia
Abrangncia
Este exemplo realiza uma cpia de um arquivo Texto chamado ORIGEM.TXT , para
um arquivo chamado DESTINO.TXT , no ambiente do Protheus Server.
#INCLUDE "FILEIO.CH"
#DEFINE F_BLOCK 1024 // Define o bloco de Bytes a serem lidos
/ gravados por vez
// l os dados do Arquivo
nBytesLidos := FREAD(nHOrigem, @cBuffer, nBytesLer )
Enddo
If lCopiaOk
MsgStop('Cpia de Arquivos finalizada com sucesso. '+;
str(nTamArquivo,12,0)+' bytes
copiados.','Final')
Else
MsgStop( 'Falha na Cpia. Arquivo de Destino incompleto. '+;
'Do total de '+str(nTamArquivo,12,0)+'
bytes, faltaram '+str(nBytesFalta,12,0)+' bytes.','Final')
Endif
Return
Exemplo da funo GetClientDir()
Reviso: 04/05/2003
Abrangncia
Abrangncia
Function TstRmtPath()
Local cIniName:= GetRemoteIniName()
Local lUnix:= IsSrvUnix()
Local nPos:= Rat( IIf(lUnix,"/","\"),cIniName )
Local cPathRmt
if nPos!=0
cPathRmt:= Substr( cIniName,1,nPos-1 )
else
cPathRmt:=""
endif
QOut( cPathRmt )
Return
Exemplo da funo ALIAS
Reviso: 25/07/2002
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
cAlias := alias()
IF empty(cAlias)
alert('No h Area em uso')
Else
alert(Area em uso atual : '+cAlias)
Endif
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
Este exemplo demonstra como se pode utilizar a funo DBCLEARINDEX para fechar
os ndices.
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
Este exemplo demonstra como se pode utilizar o DBCLOSEALL para fechar todas as
reas de trabalho abertas.
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
Este exemplo demonstra como se pode utilizar o DBCLOSEAREA para fechar a rea
de trabalho atual.
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
Este exemplo demonstra como se pode utilizar o DBSTRUCT para recuperar a estrutura
da tabela corrente.
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
Este exemplo mostra como o DBSKIP pode passar do final da tabela e do incio da
tabela
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
Este exemplo mostra como liberar todos os registros bloqueados da tabela corrente.
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
Este exemplo define uma pseudo-funao, DbfSize(), que utiliza HEADER() juntamente
com RECSIZE() e LASTREC() para calcular o tamanho do arquivo de banco de dados
corrente em bytes:
#define DbfSize() ((RECSIZE() * LASTREC()) + HEADER() + 1)
Depois, voc pode utilizar DbfSize() como se fosse qualquer outra funao:
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verso 8.11
Verses Anteriores
Abrangncia
Este exemplo mostra como liberar todos os registros bloqueados da tabela corrente.
Abrangncia
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
Abrangncia
aImpRemote := GetImpWindows(.F.)
conout('Impressoras na estao remota')
aeval(aImpRemote , { |x| conout(x) })
aImpServer := GetImpWindows(.T.)
conout('Impressoras no Servidor')
aeval(aImpServer , { |x| conout(x) })
Abrangncia
Veja abaixo um exemplo do que foi mostrado no console do Protheus Server, apos a
execuo da rotina.
Impressoras na estao remota
COM1:COM2:COM3:COM4:FILE:LPT1:LPT2:LPT3:\\prnserver\prx-lp1
Impressoras no Servidor
COM1:COM2:COM3:COM4:FILE:LPT1:LPT2:LPT3:
Exemplo da funo DESCEND
Reviso: 08/09/2002
Abrangncia
Este exemplo utiliza DESCEND() em uma expressao INDEX para criar um ndice de
datas de ordem descendente:
Depois, DESCEND() pode ser utilizado para fazer uma pesquisa (SEEK) no ndice
descendente:
DbSEEK(DESCEND(DTOS(dFindDate)))
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
Abrangncia
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
conout( CMONTH(DATE()) ) //
Resulta: August
conout( CMONTH(DATE() + 45) ) //
Resulta: September
conout( SUBSTR(CMONTH(DATE()), 1, 3) + STR(DAY(DATE()),3)) //
Resulta: Aug 4
Exemplo da funo DATE
Reviso: 04/08/2002
Abrangncia
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
Abrangncia
Este exemplo utiliza a funo ElapTime() para calcular o tempo necessrio para um
determinado processamento.
Abrangncia
Abrangncia
Abrangncia
Este exemplo demonstra como utilizar SECONDS() para informar o tempo decorrido
em segundos:
Abrangncia
Abrangncia
Este exemplo cria dois vetores, cada um deles preenchido com um valor. Os dois
primeiros elementos do vetor fonte sao entao copiados para o vetor destino:
Abrangncia
LOCAL aArray
aArray := { 1, 2, 3 } // Resulta: aArray e agora { 1, 2, 3 }
ADEL(aArray, 2) // Resulta: aArray e agora { 1, 3, NIL
}
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
Este exemplo utiliza AEVAL() para fazer uma lista que consiste em itens selecionados
de um vetor multi-dimensional.
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
Neste exemplo, criado um vetor com trs elementos. O vetor depois preenchido com
falso (.F.). Ao final, aos elementos nas posioes dois e trs atribuido o novo valos de
verdadeiro (.T.):
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
LOCAL aArray
aArray := { 1, 2, 3 } // Resulta: aArray e agora { 1, 2, 3 }
AINS(aArray, 2) // Resulta: aArray e agora { 1, NIL, 2
}
Exemplo da funo ARRAY
Reviso: 26/07/2002
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
aArray := ARRAY(5)
aArray := { NIL, NIL, NIL, NIL, NIL }
Este exemplo ilustra trs declaraoes diferentes que criam o mesmo vetor multi-
dimensional:
aArray := ARRAY(3, 2)
aArray := { {NIL, NIL}, {NIL, NIL}, {NIL, NIL} }
aArray := { ARRAY(2), ARRAY(2), ARRAY(2) }
Exemplo da funo ASCAN
Reviso: 26/07/2002
Abrangncia
Verso 5.07 Verso 5.08 Verso 6.09 Verso 7.10 Verses Anteriores
Abrangncia
Abrangncia