Академический Документы
Профессиональный Документы
Культура Документы
Revisão: 09/06/2003
A Linguagem AdvPl teve seu início em 1994, sendo na verdade uma evolução na
utilização de linguagens no padrão xBase pela Microsiga Software S.A. (Clipper, Visual
Objects e depois FiveWin). Com a criação da tecnologia Protheus, era necessário criar
uma linguagem que suportasse o padrão xBase para a manutenção de todo o código
existente do sistema de ERP Siga Advanced. Foi então criada a linguagem chamada
Advanced Protheus Language.
Pode-se criar rotinas para a customização do sistema ERP Advanced Protheus, desde
processos adicionais até mesmo relatórios. A grande vantagem é aproveitar todo o
ambiente montado pelos módulos do ERP Advanced Protheus. Porém, com o AdvPl é
possível até mesmo criar toda uma aplicação, ou módulo, do começo.
As rotinas criadas sem interface são consideradas nesta categoria porque geralmente
têm uma utilização mais específica do que um processo adicional ou um relatório novo.
Tais rotinas não têm interface com o usuãrio através do Protheus Remote, e qualquer
tentativa nesse sentido (como a criação de uma janela padrão) ocasionará uma exceção
em tempo de execução. Estas rotinas são apenas processos, ou Jobs, executados no
Protheus Server. Algumas vezes, a interface destas rotinas fica a cargo de aplicações
externas, desenvolvidas em outras linguagens, que são responsáveis por iniciar os
processos no servidor Protheus através dos meios disponíveis de integração e
conectividade no Protheus.
De acordo com a utilização e com o meio de conectividade utilizado, estas rotinas são
subcategorizadas assim:
Rotinas escritas em AdvPl podem ser iniciadas como processos individuais (sem
interface) no Protheus Server através de duas maneiras: Iniciadas por outra rotina AdvPl
através da chamada de funções como StartJob ou CallProc ou iniciadas
automaticamente na inicialização do Protheus Server (quando propriamente
configurado).
Programação de RPC
Programação Web
O Protheus Server pode também ser executado como um servidor Web, respondendo a
requisições HTTP. No momento destas requisições, pode executar rotinas escritas em
AdvPl como processos individuais, enviando o resultado das funções como retorno das
requisições para o cliente HTTP (como por exemplo um Browser de Internet). Qualquer
rotina escrita em AdvPl que não contenha comandos de interface pode ser executada
através de requisições HTTP. O Protheus permite a compilação de arquivos HTML
contendo código AdvPl embutido. São os chamados arquivos AdvPl ASP, para a
criação de páginas dinâmicas.
Programação TelNet
Abrangência
Características
Classe abstrata inicial de todas as classes de interface do Advpl. Não deve ser
instanciada diretamente.
Propriedades
Propriedade Tipo Descrição
nLeft Numérico. Coordenada horizontal em pixels.
nTop Numérico. Coordenada vertical em pixels.
nWidth Numérico. Largura em pixels.
nHeight Numérico. Altura em pixels.
cCaption Caractere. Título ou conteúdo do objeto.
cTooltip Caractere. Mensagem exibida quando objeto exibe seu tooltip.
Flag que ativa .T. ou desativa .F. a exibição do tooltip do
lShowHint Lógico.
objeto.
Mensagem exibida na barra de status da janela principal
cMsg Caractere.
quando o objeto ganha foco.
nClrText Numérico. Cor do texto do objeto.
nClrPane Numérico. Cor do fundo do objeto.
Executado quando há movimentação de foco na janela.Se
Bloco de
bWhen retornar .T. o objeto continua habilitado, se retornar .F. o
código.
objeto será desabilitado.
Executado quando o conteúdo do objeto é modificado e
Bloco de
bValid deverá ser validado. Deve retornar .T. se o conteúdo é válido
código.
e .F. se conteúdo inválido.
Bloco de Executado quando acionado click do botão esquerdo do
blClicked
código. mouse sobre o objeto.
Bloco de Executado quando acionado click do botão direito do mouse
brClicked
código. sobre o objeto.
Bloco de Executado quando acionado duplo click do botão esquerdo
blDblClick
código. do mouse sobre o objeto.
oWnd Objeto. Janela onde o objeto foi criado.
lVisible Booleano. Se .T. o objeto é visível, se .F. o objeto é invisível.
Objeto ou
Cargo Conteúdo associado ao objeto.
variável.
Bloco de
bLostFocus Executado quando objeto perde foco.
código.
Bloco de
bGotFocus Executado quando objeto ganha foco.
código.
Métodos
SetFocus
Sintaxe SetFocus( )
Descrição Força o foco de entrada de dados mudar para o objeto.
Retorno NIL
Hide
Sintaxe Hide( )
Descrição Torna objeto invisível.
Retorno NIL
Show
Sintaxe Show( )
Descrição Torna objeto visível.
Retorno NIL
Enable
Sintaxe Enable( )
Descrição Habilita o objeto.
Retorno NIL
Disable
Sintaxe Disable( )
Descrição Desabilita o objeto.
Retorno NIL
Refresh
Sintaxe Refresh( )
Força atualização (sincronia) de propriedades entre o programa e o
Descrição
Protheus Remote.
tFont
Revisão: 23/02/2003
Abrangência
Hierarquia
tFontAbs -> tFont
Descrição
Utilize objeto tFont para modificar a fonte padrão de controles visuais.
Propriedades
Vide classes ancestrais.
Métodos
New
Descrição Método construtor da classe.
New([acName], [nPar2], [anHeight], [lPar4], [alBold], [nPar6],
Sintaxe
[lPar7], [nPar8], [alItalic], [alUnderline])
Parâmetro Tipo / Descrição
Caractere, opcional. Nome da fonte, o padrão é
acName
“Arial”.
nPar2 Reservado.
Parâmetros Numérico, opcional. Tamanho da fonte. O padrão é -
anHeight
11.
lPar4 Reservado.
Lógico, opcional. Se .T. o estilo da fonte será
alBold
negrito.
nPar6 Reservado.
lPar7 Reservado.
nPar8 Reservado.
alItalic Lógico, opcional. Se .T. o estilo da fonte será itálico.
Lógico, 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
Revisão: 23/02/2003
Abrangência
Hierarquia
tSrvObject -> tControl
Características
tControl é a classe comum entre todos os componentes visuais editáveis.
Propriedades
Nome Tipo / Descrição
Numérico. Alinhamento do controle no espaço disponibilizado pelo seu
Align objeto parente. 0 = Nenhum (padrão), 1= no topo, 2 = no rodapé, 3= a
esquerda, 4 = a direita e 5 = em todo o parente.
Lógico. Se .T. indica que o conteúdo da variável associada ao controle foi
lModified
modificado.
Lógico. Se .T. o conteúdo da variável associada ao controle permanecerá
lReadOnly
apenas para leitura.
Numérico. Handle (identificador) do objeto sobre o qual o controle foi
hParent
criado.
Bloco de código. Executado quando o estado ou conteúdo do controle é
bChange
modificado pela ação sobre o controle.
Métodos
SetFocus
Descrição Força mudança do foco de entrada de dados para o controle.
Sintaxe SetFocus( )
REtorno NIL
tButton
Revisão: 23/02/2003
Abrangência
Classe de botão.
Hierarquia
tSrvObject -> tControl -> tButton
Descrição
Utilize a classe tButton para criar um controle visual do tipo botão.
Propriedades
Nome Tipo / Descrição
lProcessing Lógico. Se .T. indica o botão está efetuando uma ação.
bAction Bloco de código. Executado quando o botão é pressionado.
Métodos
New
Descrição Método construtor da classe.
New([anRow], [anCol], [acCaption], [aoWnd], [abAction],
Sintaxe [anWidth], [anHeight], [nPar8], [aoFont], [lPar10],
[alPixel],[lPar12],[cPar13], [lPar14], [abWhen], [bPar16], [lPar17])
Parâmetro Tipo / Descrição
Parâmetros Numérico, opcional. Coordenada vertical em pixels ou
anRow
carateres.
Numérico, opcional. Coordenada horizontal em pixels
anCol
ou caracteres.
acCaption Caractere, opcional. Titulo do botão.
Objeto, opcional. Janela ou controle onde o botão
aoWnd
deverá ser criado.
Bloco de código, opcional. Bloco que deverá ser
abAction
acionado quando o botão for pressionado.
anWidth Numérico, opcional. Largura do botão em pixels.
anHeight Numérico, opcional. Altura do botão em pixels.
nPar8 Reservado.
Objeto, opcional. Objeto tipo tFont com propriedades
aoFont
da fonte utilizada para o título do botão.
lPar10 Reservado.
Lógico, opcional. Se .T. considera as coordenadas
alPixel passadas em pixels, se .F. (padrão) considera em
caracteres.
lPar12 Reservado.
cPar13 Reservado.
lPar14 Reservado.
Bloco de código, opcional. Executado quando
mudança 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 não.
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
Revisão: 23/02/2003
Abrangência
Hierarquia
tSrvObject -> tControl -> tCheckBox
Descrição
Utilize a classe tCheckbox quando desejar criar um controle que possua dois estados .T.
ou .F..
Métodos
New
Descrição Método construtor da classe.
New([anRow], [anCol], [acCaption], [abSetGet], [aoWnd],
[anWidth], [anHeight], [nPar8], [abClick], [aoFont], [abValid],
Sintaxe
[anClrFore], [anClrBack], [lPar14], [alPixel], [cPar16], [lPar17],
[abWhen])
Parâmetro Tipo / Descrição
Numérico, opcional. Coordenada vertical em pixels
anRow
ou carateres.
Parâmetros
Numérico, opcional. Coordenada horizontal em pixels
anCol
ou caracteres.
acCaption Caractere, opcional. Texto exibido pelo controle.
Bloco de código, opcional. Bloco de código no
formato {|u| if( Pcount( )>0, <var>:= u, <var> ) } que
abSetGet o controle utiliza para atualizar a variável <var>.
<var> deve ser tipo lógico, se <var> = .T. então o
controle aparecerá checado.
Objeto, opcional. Janela ou controle onde o controle
aoWnd
deverá ser criado.
anWidth Numérico, opcional. Largura do controle em pixels.
anHeight Numérico, opcional. Altura do controle em pixels.
nPar8 Reservado.
Bloco de código, opcional. Executado quando o
abClick controle click do botão 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 código, opcional. Executado quando o
conteúdo do controle deve ser validado, deve retornar
abValid
.T. se o conteúdo for válido e .F. quando o conteúdo
for inválido.
anClrFore Numérico, opcional. Cor de fundo do controle.
anClrBack Numérico, opcional. Cor do texto do controle.
lPar14 Reservado.
Lógico, opcional. Se .T. as coordenadas informadas
alPixel
são em pixels, se .F. são em caracteres.
cPar16 Reservado.
lPar17 Reservado.
Bloco de código, opcional. Executado quando
mudança 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 não.
Retorno O objeto construído.
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
Revisão: 23/02/2003
Abrangência
Classe de combobox.
Hierarquia
tSrvObject -> tControl -> tComboBox
Descrição
Utilize a classe tComboBox para cria uma entrada de dados com múltipla escolha com
item definido em uma lista vertical, acionada por F4 ou pelo botão esquerdo localizado
na parte direita do controle. A variável 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 / Descrição
Array. Lista de itens, caracteres, a serem exibidos. Pode ter os seguintes
aItems formatos: a) Seqüencial, exemplo: {“item1”,”item2”,...,”itemN”} ou b)
Indexada, exemplo: {“a=item1”,”b=item2”, ..., “n=itemN”}.
nAt Numérico. Posição do item selecionado.
Métodos
New
Descrição Método 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])
Parâmetro Tipo / Descrição
Numérico, opcional. Coordenada vertical em pixels
anRow
ou caracteres.
Numérico, opcional. Coordenada horizontal em
anCol
pixels ou caracteres.
Bloco de código, opcional. Bloco de código no
formato {|u| if( Pcount( )>0, <var>:= u, <var> ) } que
o controle utiliza para atualizar a variável <var>.
abSetGet <var> deve ser tipo caracter. Se a lista for seqüencial,
o controle atualizará <var> com o conteúdo 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 Seqüencial, exemplo: {“item1”,”item2”,...,”itemN”}
ou b) Indexada, exemplo: {“a=item1”,”b=item2”, ...,
“n=itemN”}.
anWidth Numérico, opcional. Largura do controle em pixels.
anHeight Numérico, opcional. Altura do controle em pixels.
Objeto, opcional. Janela ou controle onde o controle
aoWnd
será criado.
Parâmetros nPar8 Reservado.
Bloco de código, opcional. Executado quando o
abChange
controle modifica o item selecionado.
Bloco de código, opcional. Executado quando o
conteúdo do controle deve ser validado, deve retornar
abValid
.T. se o conteúdo for válido e .F. quando o conteúdo
for inválido.
anClrBack Numérico, opcional. Cor de fundo do controle.
anClrText Numérico, opcional. Cor do texto do controle.
Lógico, opcional. Se .T. as coordenadas informadas
alPixel
são em pixels, se .F. são em caracteres.
Objeto, opcional. Objeto tipo tFont utilizado para
aoFont definir as características da fonte utilizada para exibir
o conteúdo do controle.
cPar15 Reservado.
lPar16 Reservado.
Bloco de código, opcional. Executado quando
mudança 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 não.
lPar18 Reservado.
aPar19 Reservado.
bPar20 Reservado.
cPar21 Reservado.
Caractere, opcional. Nome da variável que o controle
deverá manipular, deverá ser a mesma variável
acReadVar
informada no parâmetro abSetGet, e será o retorno da
função ReadVar( ).
Retorno O objeto criado.
Select
Descrição Muda o item selecionado no combobox.
Sintaxe Select( [anItem] )
Parâmetro Tipo / Descrição
Parâmetros Numérico, opcional. Posição do item a ser
anItem
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
Revisão: 23/02/2003
Abrangência
Hierarquia
tSrvObject -> tControl -> tGet
Descrição
Use tGet para criar um controle que armazene ou altere o conteúdo de uma variável
através de digitação. O conteúdo da variável só é modicado quando o controle perde o
foco de edição para outro controle.
Propriedades
Nome Tipo / Descrição
Lógico. Se .T. o controle se comporta como entrada de dados de senha,
lPassword
exibindo asteriscos ‘*’ para esconder o conteúdo digitado.
Picture Caractere. Máscara de formatação do conteúdo a ser exibido.
Métodos
New
Descrição Método construtor do controle.
New([anRow], [anCol], [abSetGet], [aoWnd], [anWidth],
[anHeight], [acPict], [abValid], [anClrFore], [anClrBack],
[aoFont], [lPar12], [oPar13], [alPixel], [cPar15], [lPar16],
Sintaxe
[abWhen], [lPar18], [lPar19], [abChange], [alReadOnly],
[alPassword], [cPar23], [acReadVar], [cPar25], [lPar26], [nPar27],
[lPar28])
Parâmetro Tipo / Descrição
Numérico, opcional. Coordenada vertical em pixels
anRow
ou caracteres.
Numérico, opcional. Coordenada horizontal em
anCol
pixels ou caracteres.
Bloco de código, opcional. Bloco de código no
formato {|u| if( Pcount( )>0, <var>:= u, <var> ) }
abSetGet
que o controle utiliza para atualizar a variável <var>.
<var> deve ser tipo caracter, numérico ou data.
Objeto, opcional. Janela ou controle onde o controle
aoWnd
será criado.
anWidth Numérico, opcional. Largura do controle em pixels.
anHeight Numérico, opcional. Altura do controle em pixels.
Caractere, opcional. Máscara de formatação do
acPict
conteúdo a ser exibido.
Bloco de código, opcional. Executado quando o
conteúdo do controle deve ser validado, deve
abValid
retornar .T. se o conteúdo for válido e .F. quando o
conteúdo for inválido.
anClrFore Numérico, opcional. Cor de fundo do controle.
anClrBack Numérico, opcional. Cor do texto do controle.
Parâmetros
Objeto, opcional. Objeto tipo tFont utilizado para
aoFont definir as características da fonte utilizada para
exibir o conteúdo do controle.
lPar12 Reservado.
oPar13 Reservado.
Lógico, opcional. Se .T. as coordenadas informadas
alPixel
são em pixels, se .F. são em caracteres.
cPar15 Reservado.
lPar16 Reservado.
Bloco de código, opcional. Executado quando
mudança 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 não.
lPar18 Reservado.
lPar19 Reservado.
Bloco de código, opcional. Executado quando o
abChange
controle modifica o valor da variável associada.
Lógico, opcional. Se .T. o controle não poderá ser
alReadOnly
editado.
Lógico, opcional. Se .T. o controle exibirá asteriscos
“*” no lugar dos caracteres exibidos pelo controle
para simular entrada de senha.
cPar23 Reservado.
Caractere, opcional. Nome da variável que o
controle deverá manipular, deverá ser a mesma
acReadVar
variável informada no parâmetro abSetGet, e será o
retorno da função ReadVar( ).
cPar25 Reservado.
lPar26 Reservado.
nPar27 Reservado.
lPar28 Reservado.
Retorno O controle construído.
Exemplo
#include “protheus.ch”
DEFINE MSDIALOG oDlg FROM 0,0 TO 300,300 PIXEL TITLE “Meu Get”
Return NIL
tGroup
Revisão: 23/02/2003
Abrangência
Hierarquia
tSrvObject -> tControl -> tGroup
Descrição
Utilize a classe tGroup para criar um painel onde controles visuais podem ser agrupados
ou classificados. É criada uma borda com título em volta dos controles agrupados.
Métodos
New
Descrição Método construtor da classe.
New([anTop], [anLeft], [anBottom], [anRight], [acCaption],
Sintaxe
[aoWnd], [anClrText], [anClrPane], [alPixel], [lPar10])
Parâmetro Tipo / Descrição
Numérico, opcional. Coordenada vertical superior em
anTop
pixels ou caracteres.
Numérico, opcional. Coordenada horizontal esquerda
anLeft
em pixels ou caracteres.
Numérico, opcional. Coordenada vertical inferior em
Parâmetros anBottom
pixels ou caracteres.
Numérico, opcional. Coordenada horizontal direita em
anRight
pixels ou caracteres.
acCaption Caractere, opcional. Título do grupo.
Objeto, opcional. Janela ou controle onde o controle
aoWnd
será criado.
anClrText Numérico, opcional. Cor do texto.
anClrPane Numérico, opcional. Cor do fundo.
Lógico, opcional. Se .T. as coordenadas informadas
alPixel
são em pixels, se .F. são em caracteres.
lPar10 Reservado.
Retorno O objeto criado.
Exemplo
#include “protheus.ch”
cGet2:= Space(10)
DEFINE MSDIALOG oDlg FROM 0,0 TO 400,400 TITLE “My test” PIXEL
Return NIL
tListBox
Revisão: 23/02/2003
Abrangência
Hierarquia
tSrvObject -> tControl -> tListbox
Descrição
Utilize a classe tListbox para criar uma janela com itens selecionáveis e barra de
rolagem. Ao selecionar um item, uma variável é atualizada com o conteúdo do item
selecionado.
Propriedades
Nome Tipo / Descrição
nAt Numérico. Posição do item selecionado.
aItems Array de items caracteres. Lista do itens selecionáveis.
Métodos
New
Descrição Método 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] )
Parâmetro Tipo / Descrição
Parâmetros
Numérico, opcional. Coordenada vertical em
anRow
pixels ou caracteres.
Numérico, opcional. Coordenada horizontal em
anCol
pixels ou caracteres.
Bloco de código, opcional. Bloco de código no
formato {|u| if( Pcount( )>0, <var>:= u, <var> )}
abSetGet
que o controle utiliza para atualizar a variável
<var>. <var> deve ser tipo caracter ou numérica.
Array de items caracteres, opcional. Lista de items
aaItems
selecionáveis.
Numérico, opcional. Largura do controle em
anWidth
pixels.
anHeight Numérico, opcional. Altura do controle em pixels.
Bloco de código, opcional. Executado quando o
abChange
item selecionado é alterado.
Objeto, opcional. Janela ou controle onde o
aoWnd
controle será criado.
Bloco de código, opcional. Executado quando o
conteúdo do controle deve ser validado, deve
abValid
retornar .T. se o conteúdo for válido e .F. quando o
conteúdo for inválido.
anClrFore Numérico, opcional. Cor de fundo do controle.
anClrBack Numérico, opcional. Cor do texto do controle.
Lógico, opcional. Se .T. as coordenadas
alPixel
informadas são em pixels, se .F. são em caracteres.
lPar13 Reservado.
Bloco de código, opcional. Executado quando
abLDBLClick acionado duplo click do botão esquerdo do mouse
sobre o controle.
Objeto, opcional. Objeto tipo tFont utilizado para
aoFont definir as características da fonte utilizada para
exibir o conteúdo do controle.
cPar16 Reservado.
lPar17 Reservado.
Bloco de código, opcional. Executado quando
mudança 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 não.
aPar19 Reservado.
bPar20 Reservado.
lPar21 Reservado.
lPar22 Reservado.
Bloco de código, opcional. Executado quando
abRightClick acionado click do botão direito do mouse sobre o
controle.
Retorno O objeto criado.
Select
Descrição Força a seleção de um item.
Sintaxe Select( [anItem] )
Parâmetro Tipo / Descrição
Parâmetros Numérico, opcional. Posição do item a ser
nItem
selecionado.
Retorno NIL
Add
Descrição Insere ou adiciona novo item.
Sintaxe Add( cText, nPos )
Parâmetro Tipo / Descrição
cText Caractere, obrigatório. Texto do item.
Parâmetros Numérico, obrigatório. Se 0 ou maior que o número de
itens, insere o item no final da lista. Se valor entre 1 e
nPos
número de itens, insere o item na posição informada,
empurrando o item anterior para baixo.
Retorno NIL
Modify
Descrição Modifica o texto de um item.
Sintaxe Modify( cText, nPos )
Parâmetro Tipo / Descrição
cText Caractere, obrigatório. Novo texto do item.
Parâmetros Numérico, obrigatório. Posição a ser modificada deve
nPos ser maior que 0 e menor ou igual que o número de
itens.
Retorno NIL
Del
Descrição Apaga um item.
Sintaxe Del( nPos )
Parâmetro Tipo / Descrição
Parâmetros Numérico, obrigatório. Posição a ser excluida, deve
nPos ser maior que 0 e menor ou igual que o número de
itens.
Retorno NIL
Len
Descrição Retorna o número de itens.
Sintaxe Len( )
Retorno Numérico. Número de itens.
Reset
Descrição 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
Revisão: 23/02/2003
Abrangência
Hierarquia
tSrvObject -> tControl -> tMeter
Descrição
Utilize a classe tMeter para criar um controle que exibe uma régua (gauge) de
processamento, descrevendo o andamento de um processo atraves da exibição de uma
barra horizontal.
Propriedades
Nome Tipo / Descrição
Numérico. Número total de passos até o preenchimento da régua de
nTotal
processo.
lPercentage Lógico. Se .T. considera o passo de movimentação em porcentagem.
nClrBar Numérico. Cor da barra de andamento.
Métodos
New
Descrição Método construtor da classe.
New([anRow], [anCol], [abSetGet], [anTotal], [aoWnd],
Sintaxe [anWidth], [anHeight], [lPar8], [alPixel], [oPar10], [cPar11],
[alNoPerc], [anClrPane], [nPar14], [anClrBar], [nPar16], [lPar17])
Parâmetro Tipo / Descrição
Parâmetros
Numérico, opcional. Coordenada vertical em pixels ou
anRow
caracteres.
Numérico, opcional. Coordenada horizontal em pixels
anCol
ou caracteres.
Bloco de código, opcional. Bloco de código no
formato {|u| if( Pcount( )>0, <var>:= u, <var> ) } que
abSetGet
o controle utiliza para atualizar a variável <var>.
<var> deve ser tipo numérico.
Numérico, opcional. Numero total de passos até o
anTotal
preenchimento da régua de processo.
Objeto, opcional. Janela ou controle onde o controle
aoWnd
sera criado.
anWidth Numérico, opcional. Largura do controle em pixels.
anHeight Numérico, opcional. Altura do controle em pixels.
lPar8 Reservado.
Lógico, opcional. Se .T. as coordenadas informadas
alPixel
são em pixels, se .F. são em caracteres.
oPar10 Reservado.
cPar11 Reservado.
Lógico, opcional. Se .T. (padrão) não considera os
alNoPerc
passos de atualização em porcentagem.
anClrPane Numérico, opcional. Cor de fundo do controle.
nPar14 Reservado.
anClrBar Numérico, opcional. Cor da barra de andamento.
nPar16 Reservado.
lPar17 Reservado.
Retorno O objeto criado.
Set
Descrição Atualiza a posição da régua de processamento.
Sintaxe Set( [nVal] )
Parâmetro Tipo / Descrição
Parâmetros Numérico, opcional. Novo valor da posição da régua
nVal
de 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 régua
Return NIL
If lRunning
Return
Endif
lRunning:= .T.
oMeter:Set(nCurrent)
if nCurrent==oMeter:nTotal
Return
endif
Enddo
lRunning:= .F.
lStop:= .F.
Return
tMultiGet
Revisão: 23/02/2003
Abrangência
Hierarquia
tSrvObject -> tControl -> tMultiGet
Descrição
Utilize a classe tMultiget para criar controle de edição de texto de múltiplas linhas.
Propriedades
Nome Tipo / Descrição
lWordWrap Lógico. Se .T., faz quebra automática de linhas.
Métodos
New
Descrição Método 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])
Parâmetro Tipo / Descrição
Numérico, opcional. Coordenada vertical em pixels
anRow
Parâmetros ou caracteres.
Numérico, opcional. Coordenada horizontal em
anCol
pixels ou caracteres.
Bloco de código, opcional. Bloco de código no
formato {|u| if( Pcount( )>0, <var>:= u, <var> ) }
abSetGet
que o controle utiliza para atualizar a variável
<var>. <var> deve ser tipo caracter.
Objeto, opcional. Janela ou controle onde o controle
aoWnd
será criado.
anWidth Numérico, opcional. Largura do controle em pixels.
anHeight Numérico, opcional. Altura do controle em pixels.
Objeto, opcional. Objeto tipo tFont utilizado para
aoFont definir as características da fonte utilizada para
exibir o conteúdo do controle.
Lógico, opcional. Se .T., habilita barra de rolagem
alHScroll
horizontal.
anClrFore Numérico, opcional. Cor de fundo do controle.
anClrBack Numérico, opcional. Cor do texto do controle.
oPar11 Reservado.
Lógico, opcional. Se .T. as coordenadas informadas
alPixel
são em pixels, se .F. são em caracteres.
cPar13 Reservado.
lPar14 Reservado.
Bloco de código, opcional. Executado quando
mudança 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 não.
lPar16 Reservado.
lPar17 Reservado.
Lógico, opcional. Se .T. o controle so permitira
alReadOnly
leitura.
Bloco de código, opcional. Executado quando o
conteúdo do controle deve ser validado, deve
abValid
retornar .T. se o conteúdo for válido e .F. quando o
conteúdo for inválido.
bPar20 Reservado.
lPar21 Reservado.
alNoBorder Lógico, opcional. Se .T. cria controle sem borda.
Lógico, opcional. Se .T., habilita barra de rolagem
alNoVScroll
vertical.
Retorno O objeto criado.
EnableVScroll
Descrição Habilita a barra de rolagem vertical.
Sintaxe EnableVScroll( lEnable )
Parâmetro Tipo / Descrição
Parâmetros Lógico, obrigatório. Se .T. habilita se .F. desabilita a
lEnable
barra de rolagem.
Retorno NIL
EnableHScroll
Descrição Habilita a barra de rolagem horizontal.
Sintaxe EnableHScroll( lEnable )
Parâmetro Tipo / Descrição
Parâmetros Lógico, obrigatório. Se .T. habilita se .F. desabilita a
lEnable
barra de rolagem.
Retorno NIL
Exemplo
#include “protheus.ch”
User Function Teste()
DEFINE MSDIALOG oDlg FROM 0,0 TO 400,400 PIXEL TITLE “My test”
oMemo:= tMultiget():New(10,10,{|u|if(Pcount()>0,cMemo:=u,cMemo)};
,oDlg,100,100,,,,,,.T.)
MsgStop(cMemo)
Return NIL
tPanel
Revisão: 23/02/2003
Abrangência
Hierarquia
tSrvObject -> tControl -> tPanel
Descrição
Utilize a classe tPanel quando desejar criar um painel estático, onde podem ser criados
outros controles com o objetivo de organizar ou agrupar componentes visuais.
Métodos
New
Descrição Método construtor da classe.
New([anRow], [anCol], [acText], [aoWnd], [aoFont], [alCentered],
Sintaxe [lPar6], [anClrText], [anClrBack], [anWidth], [anHeight],
[alLowered], [alRaised])
Parâmetro Tipo / Descrição
anRow Numérico, opcional. Coordenada vertical em pixels.
Numérico, opcional. Coordenada horizontal em
anCol
pixels.
acText Caractere, opcional. Texto a ser exibido ao fundo.
Parâmetros Objeto, opcional. Janela ou controle onde será criado
aoWnd
o objeto.
Lógico, opcional. Se .T. exibe o texto de título ao
alCentered
centro do controle.
lPar6 Reservado.
anClrText Numérico, opcional. Cor do texto do controle.
anClrBack Numérico, opcional. Cor do fundo do controle.
anWidth Numérico, opcional. Largura do controle em pixels.
anHeight Numérico, opcional. Altura do controle em pixels.
Lógico, opcional. Se .T. exibe o painel rebaixado em
alLowered
relação ao controle de fundo.
Lógico, opcional. Se .T. exibe a borda do controle
alRaised
rebaixada em relação ao controle de fundo.
Retorno O objeto criado.
Exemplo
#include “protheus.ch”
DEFINE MSDIALOG oDlg FROM 0,0 TO 400,400 PIXEL TITLE “My test”
Return
tRadMenu
Revisão: 23/02/2003
Abrangência
Hierarquia
tSrvObject -> tControl -> tRadMenu
Descrição
Utilize a classe tRadMenu para criar um controle que possibilita escolha de item através
de uma lista.
Propriedades
Nome Tipo / Descrição
nOption Numérico. Item selecionado.
aItems Array de caracteres. Lista de items selecionáveis.
Métodos
New
Descrição Método construtor da classe.
New([anRow], [anCol], [aacItems], [abSetGet], [aoWnd], [aPar6],
[abChange], [anClrText], [anClrPan], [cPar10], [lPar11],
Sintaxe
[abWhen], [anWidth], [anHeight], [abValid], [lPar16], [lPar17],
[alPixel])
Parâmetro Tipo / Descrição
Numérico, opcional. Coordenada vertical em pixels ou
Parâmetros anRow
caracteres.
Numérico, opcional. Coordenada horizontal em pixels
anCol
ou caracteres.
aacItems Array de caracteres, opcional. Lista de opções.
Bloco de código, opcional. Bloco de código no
formato {|u| if( Pcount( )>0, <var>:= u, <var> ) } que
abSetGet
o controle utiliza para atualizar a variável <var>.
<var> deve ser tipo numérico.
Objeto, opcional. Janela ou controle onde o controle
aoWnd
será criado.
aPar6 Reservado.
Bloco de código, opcional. Executado quando o item
abChange
selecionado é alterado.
anClrText Numérico, opcional. Cor do texto do controle
anClrPan Numérico, opcional. Cor de fundo do controle.
cPar10 Reservado.
lPar11 Reservado.
Bloco de código, opcional. Executado quando
mudança de foco de entrada de dados está sendo
abWhen efetuada na janela onde o controle foi criado. O bloco
deve retornar .T. para que o controle permaneça
habilitado, ou .F. se não.
anWidth Numérico, opcional. Largura do controle em pixels.
anHeight Numérico, opcional. Altura do controle em pixels.
Bloco de código, opcional. Executado quando o
abValid conteúdo do controle deva ser validado, retornando .T.
se o conteúdo for válido, e .F. quando inválido.
lPar16 Reservado.
Lpar17 Reservado.
Lógico, opcional. Se .T. as coordenadas informadas
alPixel
são em pixels, se .F. são em caracteres.
Retorno O objeto criado.
EnableItem
Descrição Habilita ou desabilita item.
Sintaxe EnableItem( [nItem], [lEnable])
Parâmetro Tipo / Descrição
nItem Numérico, opcional. Item selecionado.
Parâmetros
Lógico, opcional. Se .T. habilita o item se .F.
lEnable
desabilita 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
Revisão: 23/02/2003
Abrangência
Classe de label.
Hierarquia
tSrvObject -> tControl -> tSay
Descrição
O objeto tipo tSay exibe o conteúdo de texto estático sobre uma janela ou controle.
Propriedades
Nome Tipo / Descrição
Lógico. Se .T. quebra o texto em várias linhas de maneira a enquadrar o
lWordWrap
conteúdo na área determinada para o controle, sendo o padrão .F.
Lógico. Se .T. a cor de fundo do controle é ignorada assumindo o
lTransparent
conteúdo ou cor do controle ou janela ao fundo, sendo o padrão .T.
Métodos
New
Descrição Método construtor da classe.
New([anRow], [anCol], [abText], [aoWnd], [acPicture], [aoFont],
[lPar7], [lPar8], [lPar9], [alPixels], [anClrText], [anClrBack],
Sintaxe
[anWidth], [anHeight], [lPar15], [lPar16], [lPar17], [lPar18],
[lPar19])
Parâmetro Tipo / Descrição
Parâmetros Numérico, opcional. Coordenada vertical em pixels
anRow
ou caracteres.
Numérico, opcional. Coordenada horizontal em pixels
anCol
ou caracteres.
Codeblock, opcional. Quando executado deve retornar
abText
uma cadeia de caracteres a ser exibida.
Objeto, opcional. Janela ou diálogo onde o controle
aoWnd
será criado.
Caractere, opcional. Picture de formatação do
acPicture
conteúdo a ser exibido.
Objeto, opcional. Objeto tipo tFont para configuração
aoFont do tipo de fonte que será utilizado para exibir o
conteúdo.
lPar7 Reservado.
lPar8 Reservado.
lPar9 Reservado.
Lógico, opcional. Se .T. considera coordenadas
alPixels passadas em pixels se .F., padrão, considera as
coordenadas passadas em caracteres.
anClrText Numérico, opcional. Cor do conteúdo do controle.
anClrBack Numérico, opcional. Cor do fundo do controle.
anWidth Numérico, opcional. Largura do controle em pixels.
anHeight Numérico, opcional. Altura do controle em pixels.
lPar15 Reservado.
lPar16 Reservado.
lPar17 Reservado.
lPar18 Reservado.
lPar19 Reservado.
Retorno O objeto criado.
SetText
Descrição Modifica o conteúdo a ser exibido pelo controle.
Sintaxe SetText( [xVal] )
Parâmetro Tipo / Descrição
Parâmetros Caracter / Numérico / Data, Opcional. Valor a ser
xVal
exibido.
Retorno NIL
Exemplo
#include “protheus.ch”
DEFINE MSDIALOG oDlg FROM 0,0 TO 200,200 TITLE “My dialog” PIXEL
Return NIL
tScrollBox
Revisão: 23/02/2003
Abrangência
Hierarquia
tSrvObject -> tControl -> tScrollbox
Descrição
Utilize a classe tScrollbox para criar um painel com scroll deslizantes nas laterais do
controle.
Métodos
New
Descrição Método construtor da classe.
New([aoWnd], [anTop], [anLeft], [anHeight], [anWidth],
Sintaxe
[alVertical], [alHorizontal], [alBorder])
Parâmetro Tipo / Descrição
Objeto, opcional. Janela ou controle onde o controle
aoWnd
será criado.
anTop Numérico, opcional. Coordenada vertical em pixels.
Numérico, opcional. Coordenada horizontal em
anLeft
pixels.
Parâmetros anHeight Numérico, opcional. Altura do controle em pixels.
anWidth Numérico, opcional. Largura do controle em pixels.
Lógico, opcional. Se .T. exibe a barra de scroll
alVertical
vertical.
Lógico, opcional. Se .T. exibe a barra de scroll
alHorizontal
horizontal.
alBorder Lógico, 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
Revisão: 09/06/2003
Abrangência
#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
Revisão: 09/06/2003
Abrangência
Sintaxe
Retorno
Tipo Descrição
(NULO) Este método retorna nil
Descrição
Abrangência
Sintaxe
Parâmetros
Retorno
Tipo Descrição
(NULO) Este método sempre retorna nil
Descrição
Abrangência
Sintaxe
TIBROWSER:NEW ( < anRow > , < anCol > , < anWidth > , < anHeight > , [ ainitLink
] , [ anWindow ] ) --> Retorno
Parâmetros
Retorno
Tipo Descrição
Objeto Retorna o objeto criado
Descrição
[config]
BrowserEnabled=1
Abrangência
Sintaxe
Retorno
Tipo Descrição
(NULO) Este método retorna nil
Descrição
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versão 8.11
A função abaixo cria uma janela de dialogo, com uma twBrowse ocupando toda a
extensão do diálogo, realizando uma consulta na Tabela SX5, filtrada através 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 função 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
Revisão: 16/09/2004
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versão 8.11
Sintaxe
Parâmetros
Retorno
Tipo Descrição
Objeto Retorna uma nova instância do Objeto da Classe TWBrowse.
Descrição
Contrutor da Classe TWBrowse.
Retorna uma nova instância do Objeto da Classe TWBrowse.
Classes de Janelas
MSDialog
Revisão: 23/02/2003
Abrangência
Hierarquia
tSrvObject -> tWindow -> tDialog -> MSDialog
Características
MSDialog deve ser utilizada como padrão de janela para entrada de dados. MSDialog é
um tipo de janela diálogo modal, isto é, não permite que outra janela ativa receba dados
enquanto esta estiver ativa.
Propriedades
Vide classes ancestrais.
Métodos
New
Descrição Método construtor da classe.
New([anTop], [anLeft], [anBottom], [anRight], [acCaption],
Sintaxe [cPar6], [nPar7], [lPar8], [nPar9], [anClrText], [anClrBack],
[oPar12], [aoWnd], [alPixel], [oPar15], [oPar16], [lPar17])
Parâmetro Tipo / Descrição
Numérico, opcional. Coordenada vertical superior em
anTop
Parâmetros pixels ou caracteres.
Numérico, opcional. Coordenada horizontal esquerda
anLeft
em pixels ou caracteres.
Numérico, opcional. Coordenada vertical inferior em
anBotom
pixels ou caracteres.
Numérico, opcional. Coordenada horizontal direita
anRight
em pixels ou caracteres.
acCaption Caractere, opcional. Título da janela.
cPar6 Reservado.
nPar7 Reservado.
lPar8 Reservado.
nPar9 Reservado.
anClrText Numérico,opcional. Cor do texto.
anClrBack Numérico,opcional. Cor de fundo.
oPar12 Reservado.
Objeto, opcional. Janela mãe da janela a ser criada,
aoWnd
padrão é a janela principal do programa.
Lógico, 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 diálogo
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
Revisão: 24/02/2003
Abrangência
Hierarquia
tSrvObject -> tWindow -> tDialog
Características
Classe de janela de diálogo de entrada de dados, uso reservado, recomenda-se utilizar a
classe MSDialog que é herdada desta classe.
Propriedades
Vide classes ancestrais.
Métodos
New
Descrição Método construtor da classe.
New([anTop], [anLeft], [anBottom], [anRight], [acCaption],
[cPar6], [nPar7], [lPar8], [nPar9], [anClrText], [anClrBack],
Sintaxe
[oPar12], [aoWnd], [alPixel], [oPar15], [oPar16], [nPar17],
[anWidth], [anHeight])
Parâmetro Tipo / Descrição
Numérico, opcional. Coordenada vertical superior em
anTop
Parâmetros pixels ou caracteres.
Numérico, opcional. Coordenada horizontal esquerda
anLeft
em pixels ou caracteres.
Numérico, opcional. Coordenada vertical inferior em
anBotom
pixels ou caracteres.
Numérico, opcional. Coordenada horizontal direita
anRight
em pixels ou caracteres.
acCaption Caractere, opcional. Título da janela.
cPar6 Reservado.
nPar7 Reservado.
lPar8 Reservado.
nPar9 Reservado.
anClrText Numérico,opcional. Cor do texto.
anClrBack Numérico,opcional. Cor de fundo.
oPar12 Reservado.
Objeto, opcional. Janela mãe da janela a ser criada,
aoWnd
padrão é a janela principal do programa.
Lógico, opcional. Se .T. considera as coordenadas
alPixel
passadas em pixels, se .F. considera caracteres.
oPar15 Reservado.
oPar16 Reservado.
nPar17 Reservado.
anWidth Numérico, opcional. Largura da janela em pixels.
anHeight Numérico, opcional. Altura da janela em pixels.
Activate
Descrição Ativa (exibe) o diálogo. Chamar somente uma vez este método.
Activate([bPar1], [bPar2], [bPar3], [alCentered], [abValid],
Sintaxe
[lPar6], [abInit], [bPar8], [bPar9] )
Parâmetros
bPar1 Reservado.
bPar2 Reservado.
bPar3 Reservado.
Retorno NIL
End
Descrição Encerra (fecha) o diálogo.
Sintaxe End( )
Retorno Lógico .T. se o diálogo foi encerrado.
Exemplo
#INCLUDE "PROTHEUS.CH"
// cria diálogo
oDlg := MSDialog():New(10,10,300,300,"Meu
dialogo",,,,,CLR_BLACK,CLR_WHITE,,,.T.)
Return NIL
tWindow
Revisão: 23/02/2003
Abrangência
Hierarquia
tSrvObject -> tWindow
Características
Classe de janela principal de programa, deverá existir apenas uma instância deste objeto
na execução do programa.
Propriedades
bInit Bloco de código. Executado quando a janela está sendo exibida.
lEscClose Lógico. Se .T. habilita o <ESC> cancelar a execução da janela.
oCtlFocus Objeto. Objeto contido na janela que está com foco de entrada de dados.
Métodos
New
Descrição Método 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] );
Parâmetro Tipo / Descrição
Numérico, opcional. Coordenada vertical superior em
Parâmetros nTop
pixels ou caracteres.
Numérico, opcional. Coordenada horizontal esquerda
nLeft
em pixels ou caracteres.
Numérico, opcional. Coordenada vertical inferior em
nBottom
pixels ou caracteres.
Numérico, opcional. Coordenada horizontal inferior
nRight
em pixels ou caracteres.
cTitle Caractere, opcional. Título da janela.
nPar6 Reservado.
oPar7 Reservado.
oPar8 Reservado.
oPar9 Reservado.
oParent Objeto, opcional. Janela mãe da janela corrente.
lPar11 Reservado.
lPar12 Reservado.
nClrFore Numérico, opcional. Cor de fundo da janela.
nClrText Numérico, opcional. Cor do texto da janela.
oPar15 Reservado.
cPar16 Reservado.
lPar17 Reservado.
lPar18 Reservado.
lPar19 Reservado.
lPar20 Reservado.
Lógico, opcional. Se .T. (padrão) considera
lPixel coordenadas passadas em pixels, se .F. considera
caracteres.
Retorno Objeto. A janela construída.
Activate
Descrição Ativa (exibe) a janela. Chamar esse método apenas uma vez.
Activate([acShow], [bPar2], [bPar3], [bPar4], [bPar5], [bPar6], [
Sintaxe abInit ], [bPar8], [bPar9], [bPar10], [bPar11], [bPar12] ,[bPar13],
[bPar14], [bPar15], [abValid], [bPar17], [bPar18] ).
Parâmetro Tipo / Descrição
acShow Caracter, opcional. “ICONIZED” para janela
bPar2 Reservado.
Parâmetros bPar3 Reservado.
bPar4 Reservado.
bPar5 Reservado.
bPar5 Reservado.
bPar6 Reservado.
Bloco de código. 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 código. Executado quando a janela for
solicitada de fechar. Deverá retornar .T. se o conteúdo
abValid
da janela for válido, ou .F. se não. Se o bloco retornar
.F. a janela não fechará.
bPar17 Reservado.
bPar18 Reservado.
Retorno NIL
End
Descrição Solicita encerramento da janela.
Sintaxe End( )
Retorno Lógico. .T. se encerrou a janela e .F. se não.
Center
Descrição Centraliza a janela.
Sintaxe Center( )
Retorno NIL
Exemplo
#INCLUDE "PROTHEUS.CH"
Local oWindow
Local abInit:= {||conout("ativando!")}
Local abValid:= {||conout("encerrando!"),.T.}
Return NIL
Descrição
A TMailManager é uma classe que tem por finalidade criar conexões em servidores
SMTP ou POP
Metodos
New()
Construtor do objeto.
SetSmtpTimeOut( nTimeOut )
Configura o tempo para que uma conexão estabelecida ao servidor seja finalizada por
time-out
Parametro Descrição
nTimeOut Tempo para que a conexão 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 conexão estabelecida ao servidor seja finalizada por
time-out
Parametro Descrição
nTimeOut Tempo para que a conexão seja fechada por Time-Out.
GetNumMsgs( @nNumMsg )
Retorna o numero de mensagens que existem no servidor
Parametro Descrição
Parametro passado por referencia, retorna nele o numero de mensagens que
nNumMsg
estão no servidor.
DeleteMsg( nMsg )
Deleta uma mensagem do servidor
Parametro Descrição
nMsg Numero da mensagem a ser deletada.
POPDisconnect()
Disconecta com o servidor POP
TMAILMANAGER:DELETEMSG
Revisão: 09/04/2003
Abrangência
Sintaxe
Parâmetros
Retorno
Tipo Descrição
(NULO) Nil
Descrição
Abrangência
Sintaxe
Parâmetros
Retorno
Tipo Descrição
Numérico 0 = Lista recebida com sucesso
Descrição
Abrangência
Sintaxe
TMAILMANAGER:INIT ( < cPop > , < cSmtp > , < cUser > , < cPass > , [ nTimeOut ]
, [ nPort ] ) --> Nil
Parâmetros
Retorno
Tipo Descrição
(NULO) Nil
Descrição
Abrangência
Sintaxe
Retorno
Tipo Descrição
Objeto Construtor do objeto.
Descrição
Construtor do objeto.
TMAILMANAGER:POPCONNECT
Revisão: 09/04/2003
Abrangência
Sintaxe
Retorno
Tipo Descrição
(NULO) Nil
Descrição
Abrangência
Sintaxe
Retorno
Tipo Descrição
Numérico 0 = Disconectado
Descrição
Abrangência
Sintaxe
Parâmetros
Retorno
Tipo Descrição
Numérico 0 = Time out setado
Descrição
Configura o tempo para que uma conexão estabelecida ao servidor seja finalizada por
time-out
TMAILMANAGER:SETSMTPTIMEO
UT
Revisão: 09/04/2003
Abrangência
Sintaxe
Parâmetros
Retorno
Tipo Descrição
(NULO) 0 - Time out configurado
Descrição
Configura o tempo para que uma conexão estabelecida ao servidor seja finalizada por
time-out
TMAILMANAGER:SMTPCONNECT
Revisão: 09/04/2003
Abrangência
Sintaxe
Retorno
Tipo Descrição
Numérico 0 - Conectado
Descrição
Abrangência
Sintaxe
Retorno
Tipo Descrição
Numérico 0 = Disconectado
Descrição
Abrangência
Sintaxe
Parâmetros
Retorno
Tipo Descrição
Numérico 0 = E-mail enviado com sucesso
Descrição
Abrangência
Descrição
Esta classe permite estabelecer uma conexão cliente de socket do tipo TCP genérica.
Enviar e receber dados através de uma socket genérico e também pode ser usada como
base para implementação de protocolos não suportados pelo protheus.
Métodos
Método Descrição
CloseConnection Finaliza a conexão TCP genérica (socket ) do objeto corrente.
Connect Estabelece um conexão TCP genérica (socket ).
IsConnected Verifica se existe conexão valida no objeto corrente.
New Cria o objeto tSocketClient, sem conexão ativa.
Recebe os dados pela conexão ativa do objeto, qualquer tipo de
Receive
dado pode ser recebido.
Finaliza anormalmente a conexão, não avisa o outro lado que a
Reset conexão será finalizada.
Deve ser utilizado apenas em casos extremos.
Send Transmite o buffer pela conexão TCP Genérica ativa.
CloseConnection
Revisão: 30/06/2003
Abrangência
Sintaxe
Retorno
Tipo Descrição
(NULO) Nil
Descrição
Sintaxe
oObj:Connect ( < nPorta > , < cIP > , < nTimeout > ) --> nSucesso
Parâmetros
Retorno
Tipo Descrição
Retorna 0 (Zero) se conectou com sucesso, diferente de zero se a conexão
Numérico
falhou.
Descrição
Abrangência
Sintaxe
Retorno
Tipo Descrição
Retorna True se a conexão esta ativa e false caso esteja
Lógico
inválida/desconectado.
Descrição
Abrangência
Sintaxe
Retorno
Tipo Descrição
Objeto Retorna um Objeto do tipo tSocketClient
Descrição
Abrangência
Sintaxe
Parâmetros
Retorno
Tipo Descrição
Qtde de bytes recebidos, se houver algum erro nQtdRecebida será menor
Numérico
que zero.
Descrição
Recebe os dados pela conexão ativa do objeto, qualquer tipo de dado pode ser recebido.
Reset
Revisão: 30/06/2003
Abrangência
Sintaxe
Retorno
Tipo Descrição
(NULO) Retorno nulo.
Descrição
Finaliza anormalmente a conexão, não avisa o outro lado que a conexão será finalizada.
Deve ser utilizado apenas em casos extremos.
Send
Revisão: 30/06/2003
Abrangência
Sintaxe
Parâmetros
Retorno
Tipo Descrição
Numero de bytes transmitidos, caso o numero seja diferente do tamanho
Numérico
de cBuffer, algum erro aconteceu.
Descrição
Abrangência
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 Conexão SMTP
Revisão: 17/09/2003
Abrangência
#INCLUDE "Ap5Mail.ch"
CONNECT SMTP SERVER "200.246.142.66" ;
ACCOUNT "test"
PASSWORD "test1234" ;
RESULT lOk
If lOk
MsgStop("Conexão OK")
Else
GET MAIL ERROR cSmtpError
MsgStop("Erro de conexão : " + cSmtpError)
Endif
Exemplo de Envio de e-mail SMTP
Completo
Revisão: 17/09/2003
Abrangência
#INCLUDE "Ap5Mail.ch"
// Conecta com o Servidor SMTP
CONNECT SMTP SERVER "200.246.142.66" ;
ACCOUNT "test" PASSWORD "test1234" ;
RESULT lOk
If lOk
MsgStop( "Conexão 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 conexão : " + cSmtpError)
Endif
Exemplo da função XMLERROR
Revisão: 17/07/2002
Abrangência
Abrangência
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 função AEVAL
Revisão: 03/10/2002
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
aEval(aArray,bBlock)
Caso o array passado como parâmetro seja um array multi-Dimensional , serão passados
como parâmetros 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)
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
*** Este exemplo cria um bloco de código que incrementa um número e depois o
avalia:
*** Este exemplo demonstra como um bloco de código pode ser compilado em tempo
de execuçao utilizando-se o operador macro (&):
Abrangência
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versão 8.11
Abrangência
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
Após executado o programa acima, deve ser exibido no console do Protheus Server o
texto abaixo :
Abrangência
// Buscar página
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 função
HTTPLOGONUSER()
Revisão: 27/01/2004
Abrangência
Observação : Caso esta função seja chamada via Job , Remote , ou com o Protheus
Server HTTP sendo executado como Console ou Serviço , sem usar a .dll ISAPI , a
função sempre retornará uma string em branco.
IF empty(cLogin)
conout("USuario nao identificado")
Else
conout("USuario : "+cLogin)
Endif
Return "
"+cLogin+"
"
Exemplo da Função Directory
Revisão: 09/07/2003
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versão 8.11
#INCLUDE "Directry.ch"
aDirectory := DIRECTORY("*.*","D")
AEVAL( aDirectory, {|aFile| CONOUT(aFile[F_NAME])} )
Abrangência
Abrangência
Este exemplo cria um vetor que conterá os nomes de todos os arquivos (.txt) no
diretório DEFAULT corrente, e os relaciona no console utilizando a funçao AEVAL() :
LOCAL aFiles[ADIR("*.TXT")]
ADIR("*.TXT", aFiles)
AEVAL(aFiles, { |element| conout(element) })
Abrangência
No exemplo abaixo , conferimos o path atual e tentamos setar um novo path atual ,
verificando se a operação 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 função DIRREMOVE
Revisão: 01/05/2003
Abrangência
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 função DISKSPACE
Revisão: 01/05/2003
Abrangência
Abrangência
IF FERASE("C:\ListaTXT.tmp") == -1
MsgStop('Falha na deleção do Arquivo ( FError'+str(ferror(),4)+
')')
Else
MsgStop('Arquivo deletado com sucesso.')
ENDIF
Exemplo da função FILE
Revisão: 04/05/2003
Abrangência
Observação : Caso a função File() seja executada em Job ( programa sem interface
remota ) , sendo passado um caminho absoluto de arquivo ( exemplo c:\teste.txt) , a
função retornará .F. e FERROR() retornará -1 )
Exemplo da função FOPEN
Revisão: 05/05/2003
Abrangência
Abrangência
Abrangência
Este exemplo realiza uma cópia 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('Cópia de Arquivos finalizada com sucesso. '+;
str(nTamArquivo,12,0)+' bytes
copiados.','Final')
Else
MsgStop( 'Falha na Cópia. Arquivo de Destino incompleto. '+;
'Do total de '+str(nTamArquivo,12,0)+'
bytes, faltaram '+str(nBytesFalta,12,0)+' bytes.','Final')
Endif
Return
Exemplo da função GetClientDir()
Revisão: 04/05/2003
Abrangência
Abrangência
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 função ALIAS
Revisão: 25/07/2002
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
cAlias := alias()
IF empty(cAlias)
alert('Não há Area em uso')
Else
alert(Area em uso atual : '+cAlias)
Endif
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
Este exemplo demonstra como se pode utilizar a função DBCLEARINDEX para fechar
os índices.
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
Este exemplo demonstra como se pode utilizar o DBCLOSEALL para fechar todas as
áreas de trabalho abertas.
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
Este exemplo demonstra como se pode utilizar o DBCLOSEAREA para fechar a área
de trabalho atual.
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
Este exemplo demonstra como se pode utilizar o DBSTRUCT para recuperar a estrutura
da tabela corrente.
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
Este exemplo mostra como o DBSKIP pode passar do final da tabela e do início da
tabela
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
Este exemplo mostra como liberar todos os registros bloqueados da tabela corrente.
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
Este exemplo define uma pseudo-funçao, 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 funçao:
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versão 8.11
Versões Anteriores
Abrangência
Este exemplo mostra como liberar todos os registros bloqueados da tabela corrente.
Abrangência
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
Abrangência
aImpRemote := GetImpWindows(.F.)
conout('Impressoras na estação remota')
aeval(aImpRemote , { |x| conout(x) })
aImpServer := GetImpWindows(.T.)
conout('Impressoras no Servidor')
aeval(aImpServer , { |x| conout(x) })
Abrangência
Veja abaixo um exemplo do que foi mostrado no console do Protheus Server, apos a
execução da rotina.
Impressoras na estação 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 função DESCEND
Revisão: 08/09/2002
Abrangência
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)))
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
Abrangência
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões 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 função DATE
Revisão: 04/08/2002
Abrangência
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
Abrangência
Este exemplo utiliza a função ElapTime() para calcular o tempo necessário para um
determinado processamento.
Abrangência
Abrangência
Abrangência
Este exemplo demonstra como utilizar SECONDS() para informar o tempo decorrido
em segundos:
Abrangência
Abrangência
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:
Abrangência
LOCAL aArray
aArray := { 1, 2, 3 } // Resulta: aArray e agora { 1, 2, 3 }
ADEL(aArray, 2) // Resulta: aArray e agora { 1, 3, NIL
}
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
Este exemplo utiliza AEVAL() para fazer uma lista que consiste em itens selecionados
de um vetor multi-dimensional.
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
Neste exemplo, é criado um vetor com três elementos. O vetor é depois preenchido com
falso (.F.). Ao final, aos elementos nas posiçoes dois e três é atribuido o novo valos de
verdadeiro (.T.):
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões 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 função ARRAY
Revisão: 26/07/2002
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
aArray := ARRAY(5)
aArray := { NIL, NIL, NIL, NIL, NIL }
Este exemplo ilustra três declaraçoes 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 função ASCAN
Revisão: 26/07/2002
Abrangência
Versão 5.07 Versão 5.08 Versão 6.09 Versão 7.10 Versões Anteriores
Abrangência
Abrangência