ADVPL - Comandos Para Server, Remote, Http, Objetos

download ADVPL - Comandos Para Server, Remote, Http, Objetos

of 246

Transcript of ADVPL - Comandos Para Server, Remote, Http, Objetos

CLASSES VISUAIS TSRCOBJECT CaractersticasClasse abstrata inicial de todas as classes de interface do Advpl. No deve ser instanciada diretamente.

PropriedadesPropriedade nLeft nTop nWidth nHeight cCaption cTooltip Tipo Numrico. Numrico. Numrico. Numrico. Caractere. Caractere. Descrio Coordenada horizontal em pixels. Coordenada vertical em pixels. Largura em pixels. Altura em pixels. Ttulo ou contedo do objeto. Mensagem exibida quando objeto exibe seu tooltip. Flag que ativa .T. ou desativa .F. a exibio do tooltip do objeto. Mensagem exibida na barra de status da janela principal quando o objeto ganha foco. Cor do texto do objeto. Cor do fundo do objeto. Executado quando h movimentao de foco na janela.Se retornar .T. o objeto continua habilitado, se retornar .F. o objeto ser desabilitado. Executado quando o contedo do objeto modificado e dever ser validado. Deve retornar .T. se o contedo vlido e .F. se contedo invlido. Executado quando acionado click do boto esquerdo do mouse sobre o objeto. Executado quando acionado click do boto direito do mouse sobre o objeto. Executado quando acionado duplo click do boto esquerdo do mouse sobre o objeto. Janela onde o objeto foi criado. Se .T. o objeto visvel, se .F. o objeto invisvel. Contedo associado ao objeto. Executado quando objeto perde foco. Executado quando objeto ganha foco.

lShowHint Lgico. cMsg nClrText nClrPane bWhen bValid blClicked Caractere. Numrico. Numrico. Bloco de cdigo. Bloco de cdigo.

Bloco de cdigo. Bloco de brClicked cdigo. Bloco de blDblClick cdigo. oWnd Objeto. lVisible Booleano. Objeto ou Cargo varivel. Bloco de bLostFocus cdigo. bGotFocus Bloco de

cdigo.

Mtodos

SetFocusSintaxe SetFocus( ) Descrio Fora o foco de entrada de dados mudar para o objeto. Retorno NIL

HideSintaxe Hide( ) Descrio Torna objeto invisvel. Retorno NIL

ShowSintaxe Show( ) Descrio Torna objeto visvel. Retorno NIL

EnableSintaxe Enable( ) Descrio Habilita o objeto. Retorno NIL

DisableSintaxe Disable( ) Descrio Desabilita o objeto. Retorno NIL

RefreshSintaxe Refresh( ) Fora atualizao (sincronia) de propriedades entre o programa e o Descrio Protheus Remote.

CaractersticasMSDialog 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.

PropriedadesVide classes ancestrais.

Mtodos

NewDescrio Mtodo construtor da classe. New([anTop], [anLeft], [anBottom], [anRight], [acCaption], [cPar6], Sintaxe [nPar7], [lPar8], [nPar9], [anClrText], [anClrBack], [oPar12], [aoWnd], [alPixel], [oPar15], [oPar16], [lPar17]) Parmetro Tipo / Descrio Numrico, opcional. Coordenada vertical superior em anTop pixels ou caracteres. Numrico, opcional. Coordenada horizontal esquerda em anLeft 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. Parmetros 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.

Retorno

O Dilogo criado.

Exemplo#INCLUDE protheus.ch

User Function Teste() // cria dilogo Local oDlg:=MSDialog():New(10,10,300,300,Meu dialogo,,,,,CLR_BLACK,CLR_WHITE,,,.T.) // ativa dilogo centralizado oDlg:Activate(,,,.T.,{||msgstop(validou!),.T.},,{|| msgstop(iniciando) ) Return

DescrioUtilize a classe tButton para criar um controle visual do tipo boto.

PropriedadesNome Tipo / Descrio lProcessing Lgico. Se .T. indica o boto est efetuando uma ao. bAction Bloco de cdigo. Executado quando o boto pressionado.

Mtodos

NewDescrio Mtodo construtor da classe. New([anRow], [anCol], [acCaption], [aoWnd], [abAction], Sintaxe [anWidth], [anHeight], [nPar8], [aoFont], [lPar10], [alPixel],[lPar12], [cPar13], [lPar14], [abWhen], [bPar16], [lPar17]) Parmetros Parmetro Tipo / Descrio Numrico, opcional. Coordenada vertical em pixels ou anRow carateres. Numrico, opcional. Coordenada horizontal em pixels ou anCol caracteres. acCaption Caractere, opcional. Titulo do boto. Objeto, opcional. Janela ou controle onde o boto dever aoWnd 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 aoFont lPar10 alPixel lPar12 cPar13 lPar14 abWhen bPar16 lPar17

Reservado. Objeto, opcional. Objeto tipo tFont com propriedades da fonte utilizada para o ttulo do boto. Reservado. Lgico, opcional. Se .T. considera as coordenadas passadas em pixels, se .F. (padro) considera em caracteres. Reservado. Reservado. Reservado. Bloco de cdigo, opcional. Executado quando mudana de foco de entrada de dados est sendo efetuada na janela onde o controle foi criado. O bloco deve retornar .T. se o controle deve permanecer habilitado ou .F. se no. Reservado. Reservado.

Exemplo#include protheus.ch User Function TesteGet() Local oDlg, oButton, oCombo, cCombo, aItems:= {item1,item2,item3} 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) // Boto para fechar a janela oButton:=tButton():New(30,10,fechar,oDlg,{|| oDlg:End()},100,20,,,,.T.) ACTIVATE MSDIALOG oDlg CENTERED MsgStop( O valor +cCombo ) Return NIL

Descrio

Utilize a classe tCheckbox quando desejar criar um controle que possua dois estados .T. ou .F..

Mtodos

NewDescrio Mtodo construtor da classe. New([anRow], [anCol], [acCaption], [abSetGet], [aoWnd], [anWidth], [anHeight], [nPar8], [abClick], [aoFont], [abValid], Sintaxe [anClrFore], [anClrBack], [lPar14], [alPixel], [cPar16], [lPar17], [abWhen]) Parmetros 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. Bloco de cdigo, opcional. Bloco de cdigo no formato {|u| if( Pcount( )>0, := u, ) } que o controle abSetGet utiliza para atualizar a varivel . deve ser tipo lgico, se = .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 controle abClick click do boto esquerdo do mouse acionado sobre o controle. Objeto, opcional. Objeto tipo tFont com propriedades da aoFont fonte utilizada para o texto do controle. Bloco de cdigo, opcional. Executado quando o contedo do controle deve ser validado, deve retornar .T. abValid 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 so alPixel em pixels, se .F. so em caracteres. cPar16 Reservado. lPar17 Reservado. abWhen Bloco de cdigo, opcional. Executado quando mudana

Retorno

de foco de entrada de dados est sendo efetuada na janela onde o controle foi criado. O bloco deve retornar .T. se o controle deve permanecer habilitado ou .F. se no. O objeto construdo.

Exemplo#include protheus.ch User Function Teste() Local oDlg, oButton, oCheck, lCheck:=.F. 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.) ACTIVATE MSDIALOG oDlg CENTERED If lCheck MsgStop( Funcionou! ) Endif Return NIL

DescrioUtilize 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.

PropriedadesNome Tipo / Descrio Array. Lista de itens, caracteres, a serem exibidos. Pode ter os seguintes formatos: aItems a) Seqencial, exemplo: {item1,item2,...,itemN} ou b) Indexada, exemplo: {a=item1,b=item2, ..., n=itemN}. nAt Numrico. Posio do item selecionado.

Mtodos

NewDescrio 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, := u, ) } que o controle utiliza para atualizar a varivel . deve ser abSetGet tipo caracter. Se a lista for seqencial, o controle atualizar com o contedo do item selecionado, se a lista for indexada, 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) Seqencial, anItems 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 controle abChange 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 so alPixel em pixels, se .F. so em caracteres. Objeto, opcional. Objeto tipo tFont utilizado para definir aoFont as caractersticas da fonte utilizada para exibir o contedo do controle. cPar15 Reservado. lPar16 Reservado. abWhen Bloco de cdigo, opcional. Executado quando mudana de foco de entrada de dados est sendo efetuada na

Retorno

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( ). O objeto criado.

SelectDescrio Sintaxe Muda o item selecionado no combobox. Select( [anItem] ) Parmetro Tipo / Descrio Parmetros anItem Numrico, opcional. Posio do item a ser selecionado. Retorno NIL

Exemplo#include protheus.ch User Function TesteGet() Local oDlg, oButton, oCombo, cCombo, aItems:= {item1,item2,item3} 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) // Boto para fechar a janela @ 40,10 BUTTON oButton PROMPT Fechar OF oDlg PIXEL ACTION oDlg:End() ACTIVATE MSDIALOG oDlg CENTERED MsgStop( O valor +cCombo ) Return NIL

CaractersticastControl a classe comum entre todos os componentes visuais editveis.

PropriedadesNome Tipo / Descrio Numrico. Alinhamento do controle no espao disponibilizado pelo seu objeto Align 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. hParent Numrico. Handle (identificador) do objeto sobre o qual o controle foi criado. Bloco de cdigo. Executado quando o estado ou contedo do controle bChange modificado pela ao sobre o controle.

Mtodos

SetFocusDescrio Fora mudana do foco de entrada de dados para o controle. Sintaxe SetFocus( ) REtorno NIL

DescrioUtilize objeto tFont para modificar a fonte padro de controles visuais.

PropriedadesVide classes ancestrais.

Mtodos

NewDescrio Mtodo construtor da classe. New([acName], [nPar2], [anHeight], [lPar4], [alBold], [nPar6], Sintaxe [lPar7], [nPar8], [alItalic], [alUnderline]) Parmetro Tipo / Descrio acName Caractere, opcional. Nome da fonte, o padro Arial. nPar2 Reservado. anHeight Numrico, opcional. Tamanho da fonte. O padro -11. lPar4 Reservado. alBold Lgico, opcional. Se .T. o estilo da fonte ser negrito. Reservado. Parmetros nPar6 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.

Retorno

O objeto criado.

Exemplo#INCLUDE "PROTHEUS.CH" User Function Teste() Local oDlg, oSay Local oFont:= TFont():New("Courier New",,-14,.T.) DEFINE MSDIALOG oDlg FROM 0,0 TO 200,200 TITLE "My dialog" PIXEL // Apresenta o tSay com a fonte Courier New oSay := TSay():New( 10, 10, {|| "Mensagem"},oDlg,, oFont,,,, .T., CLR_WHITE,CLR_RED ) /* o comando abaixo proporciona o mesmo resultado @ 10,10 SAY oSay PROMPT "Mensagem" FONT oFont COLOR CLR_WHITE,CLR_RED OF oDlg PIXEL */ oSay:lTransparent:= .F. ACTIVATE MSDIALOG oDlg CENTERED Return

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.

PropriedadesNome 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

NewDescrio Mtodo construtor do controle. New([anRow], [anCol], [abSetGet], [aoWnd], [anWidth], [anHeight], [acPict], [abValid], [anClrFore], [anClrBack], [aoFont], [lPar12], Sintaxe [oPar13], [alPixel], [cPar15], [lPar16], [abWhen], [lPar18], [lPar19], [abChange], [alReadOnly], [alPassword], [cPar23], [acReadVar], [cPar25], [lPar26], [nPar27], [lPar28]) 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, := u, ) } que o controle abSetGet utiliza para atualizar a varivel . 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 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. Objeto, opcional. Objeto tipo tFont utilizado para aoFont definir as caractersticas da fonte utilizada para exibir o contedo do controle.

Retorno

Reservado. Reservado. Lgico, opcional. Se .T. as coordenadas informadas so alPixel 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 efetuada na abWhen 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 dever manipular, dever ser a mesma varivel acReadVar informada no parmetro abSetGet, e ser o retorno da funo ReadVar( ). cPar25 Reservado. lPar26 Reservado. nPar27 Reservado. lPar28 Reservado. O controle construdo.

lPar12 oPar13

Exemplo#include protheus.ch User Function TesteGet() Local oDlg, oGet1, oButton, nGet1:=0 DEFINE MSDIALOG oDlg FROM 0,0 TO 300,300 PIXEL TITLE Meu Get oGet1:= TGet():New(10,10,{|u| if(PCount()>0,nGet1:=u,nGet1}}, oDlg,; 100,20,@E 999,999.99,; {|o|nGet1>1000.00},,,,,,.T.,,,,,,,,,,nGet1) /* Tem o mesmo efeito @ 10,10 MSGET oGet1 VAR nGet1 SIZE 100,20 OF oDlg PIXEL PICTURE @E 999,999.99 VALID nGet1>1000.00 */

// Boto para fechar a janela @ 40,10 BUTTON oButton PROMPT Fechar OF oDlg PIXEL ACTION oDlg:End() ACTIVATE MSDIALOG oDlg CENTERED MsgStop( O valor +Transform(nGet1,@E 999,999.00) ) Return NIL

DescrioUtilize 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

NewDescrio 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 em anLeft pixels ou caracteres. Numrico, opcional. Coordenada vertical inferior em anBottom pixels ou caracteres. Numrico, opcional. Coordenada horizontal direita em anRight pixels ou caracteres. Parmetros acCaption Caractere, opcional. Ttulo do grupo. Objeto, opcional. Janela ou controle onde o controle ser aoWnd 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 User function teste() Local oDlg, oGroup, oGet1, oGet2, cGet1:=Space(10),; cGet2:= Space(10) DEFINE MSDIALOG oDlg FROM 0,0 TO 400,400 TITLE My test PIXEL oGroup:= tGroup():New(10,10,200,200,grupo de gets,oDlg,,,.T.) @ 10,10 MSGET oGet1 VAR cGet1 SIZE 100,10 OF oGroup PIXEL @ 30,10 MSGET oGet2 VAR cGet2 SIZE 100,10 OF oGroup PIXEL ACTIVATE MSDIALOG oDlg CENTERED Return NIL

DescrioUtilize 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.

PropriedadesNome Tipo / Descrio nAt Numrico. Posio do item selecionado. aItems Array de items caracteres. Lista do itens selecionveis.

Mtodos

NewDescrio 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] ) Parmetros Parmetro Tipo / Descrio Numrico, opcional. Coordenada vertical em pixels anRow ou caracteres. Numrico, opcional. Coordenada horizontal em anCol pixels ou caracteres. abSetGet Bloco de cdigo, opcional. Bloco de cdigo no

Retorno

formato {|u| if( Pcount( )>0, := u, )} que o controle utiliza para atualizar a varivel . 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 item abChange selecionado alterado. Objeto, opcional. Janela ou controle onde o controle aoWnd 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. O objeto criado.

SelectDescrio Fora a seleo de um item. Sintaxe Select( [anItem] ) Parmetros Parmetro Tipo / Descrio

Retorno

nItem NIL

Numrico, opcional. Posio do item a ser selecionado.

AddDescrio Sintaxe Insere ou adiciona novo item. Add( cText, nPos ) Parmetro Tipo / Descrio cText Caractere, obrigatrio. Texto do item. Numrico, obrigatrio. Se 0 ou maior que o nmero de Parmetros 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

ModifyDescrio Sintaxe Modifica o texto de um item. Modify( cText, nPos ) Parmetro Tipo / Descrio cText Caractere, obrigatrio. Novo texto do item. Parmetros Numrico, obrigatrio. Posio a ser modificada deve ser nPos maior que 0 e menor ou igual que o nmero de itens. Retorno NIL

DelDescrio Sintaxe Apaga um item. 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

LenDescrio Retorna o nmero de itens. Sintaxe Len( ) Retorno Numrico. Nmero de itens.

ResetDescrio Apaga todos os itens. Sintaxe Reset( )

Retorno

NIL

Exemplo#include protheus.ch User Funcion Teste() Local oDlg, oList, nList:= 1, aItems:={} Aadd(aItems,Item Aadd(aItems,Item Aadd(aItems,Item Aadd(aItems,Item 1) 2) 3) 4)

DEFINE MSDIALOG oDlg FROM 0,0 TO 400,400 PIXEL TITLE Teste oList:= tListBox():New(10,10,{|u|if(Pcount()>0,nList:=u,nList)}; ,aItems,100,100,,oDlg,,,,.T.) ACTIVATE MSDIALOG oDlg CENTERED Return NIL

DescrioUtilize 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.

PropriedadesNome nTotal lPercentage nClrBar Tipo / Descrio Numrico. Nmero total de passos at o preenchimento da rgua de processo. Lgico. Se .T. considera o passo de movimentao em porcentagem. Numrico. Cor da barra de andamento.

Mtodos

NewDescrio Mtodo construtor da classe. New([anRow], [anCol], [abSetGet], [anTotal], [aoWnd], [anWidth], Sintaxe [anHeight], [lPar8], [alPixel], [oPar10], [cPar11], [alNoPerc], [anClrPane], [nPar14], [anClrBar], [nPar16], [lPar17]) Parmetros Parmetro Tipo / Descrio

Retorno

Numrico, opcional. Coordenada vertical em pixels ou caracteres. Numrico, opcional. Coordenada horizontal em pixels ou anCol caracteres. Bloco de cdigo, opcional. Bloco de cdigo no formato {|u| if( Pcount( )>0, := u, ) } que o controle abSetGet utiliza para atualizar a varivel . 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 sera aoWnd 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. O objeto criado. anRow

SetDescrio Sintaxe Atualiza a posio da rgua de processamento. Set( [nVal] ) Parmetro Tipo / Descrio Parmetros Numrico, opcional. Novo valor da posio da rgua de nVal processamento. Retorno NIL

Exemplo#include protheus.ch STATIC lRunning:=.F., lStop:=.F. User Function Teste() Local oDlg, oMeter, nMeter:=0, oBtn1, oBtn2

DEFINE MSDIALOG oDlg FROM 0,0 TO 400,400 TITLE Teste oMeter:= tMeter():New(10,10,{|u|if(Pcount()>0,nMeter:=u,nMeter)}; ,100,oDlg,100,20,,.T.) // cria a rgua // boto para ativar andamento da rgua @ 30,10 BUTTON oBtn1 PROMPT Run OF oDlg PIXEL ACTION RunMeter(oMeter) @ 50,10 BUTTON oBtn2 PROMPT Stop OF oDlg PIXEL ACTION lStop:=.T. ACTIVATE MSDIALOG oDlg CENTERED Return NIL

STATIC Function RunMeter(oMeter) If lRunning Return Endif lRunning:= .T. oMeter:Set(0) // inicia a rgua While .T. .and. !lStop Sleep(1000) // pra 1 segundo ProcessMessages() // atualiza a pintura da janela, processa mensagens do windows nCurrent:= Eval(oMeter:bSetGet) // pega valor corrente da rgua nCurrent+=10 // atualiza rgua oMeter:Set(nCurrent) if nCurrent==oMeter:nTotal Return endif Enddo lRunning:= .F. lStop:= .F. Return

DescrioUtilize a classe tMultiget para criar controle de edio de texto de mltiplas linhas.

PropriedadesNome Tipo / Descrio lWordWrap Lgico. Se .T., faz quebra automtica de linhas.

Mtodos

NewDescrio Mtodo construtor da classe. New([anRow], [anCol], [abSetGet], [aoWnd], [anWidth], [anHeight], [aoFont], [alHScroll], [anClrFore], [anClrBack], [oPar11], [alPixel], Sintaxe [cPar13], [lPar14], [abWhen], [lPar16], [lPar17], [alReadOnly], [abValid], [bPar20], [lPar21], [alNoBorder], [alNoVScroll]) 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, := u, ) } que abSetGet o controle utiliza para atualizar a varivel . 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.

Retorno

alReadOnly Lgico, opcional. Se .T. o controle so permitira leitura. 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. bPar20 Reservado. lPar21 Reservado. alNoBorder Lgico, opcional. Se .T. cria controle sem borda. Lgico, opcional. Se .T., habilita barra de rolagem alNoVScroll vertical. O objeto criado.

EnableVScrollDescrio Sintaxe Habilita a barra de rolagem vertical. EnableVScroll( lEnable ) Parmetro Tipo / Descrio Parmetros Lgico, obrigatrio. Se .T. habilita se .F. desabilita a lEnable barra de rolagem. Retorno NIL

EnableHScrollDescrio Sintaxe Habilita a barra de rolagem horizontal. 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() Local oDlg, oMemo, cMemo:= space(50) 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.) @ 200,10 BUTTON oBtn PROMPT Fecha OF oDlg PIXEL ACTION oDlg:End() ACTIVATE MSDIALOG oDlg CENTERED MsgStop(cMemo)

Return NIL

DescrioUtilize 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

NewDescrio 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. Lgico, opcional. Se .T. exibe o texto de ttulo ao centro alCentered do controle. Parmetros 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 User Function Teste() Local oDlg, oPanel, oBtn1, oBtn2

DEFINE MSDIALOG oDlg FROM 0,0 TO 400,400 PIXEL TITLE My test oPanel:= tPanel():New(10,10,,oDlg,,,,,CLR_BLUE,100,100) // cria o painel @ 10,10 BUTTON oBtn1 PROMPT hide OF oPanel ACTION oPanel:Hide() // cria boto sobre o painel @ 200,10 BUTTON oBtn2 PROMPT show OF oDlg ACTION oPanel:Show() // cria boto fora o painel ACTIVATE MSDIALOG oDlg CENTERED Return

DescrioUtilize a classe tRadMenu para criar um controle que possibilita escolha de item atravs de uma lista.

PropriedadesNome Tipo / Descrio nOption Numrico. Item selecionado. aItems Array de caracteres. Lista de items selecionveis.

Mtodos

NewDescrio Mtodo construtor da classe. New([anRow], [anCol], [aacItems], [abSetGet], [aoWnd], [aPar6], Sintaxe [abChange], [anClrText], [anClrPan], [cPar10], [lPar11], [abWhen], [anWidth], [anHeight], [abValid], [lPar16], [lPar17], [alPixel]) Parmetros Parmetro Tipo / Descrio Numrico, opcional. Coordenada vertical em pixels ou anRow caracteres. Numrico, opcional. Coordenada horizontal em pixels ou anCol caracteres. aacItems Array de caracteres, opcional. Lista de opes. Bloco de cdigo, opcional. Bloco de cdigo no formato {|u| if( Pcount( )>0, := u, ) } que o controle abSetGet utiliza para atualizar a varivel . deve ser tipo numrico. Objeto, opcional. Janela ou controle onde o controle ser aoWnd criado.

Retorno

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 janela abWhen 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 contedo abValid 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. O objeto criado.

aPar6

EnableItemDescrio Sintaxe Habilita ou desabilita item. EnableItem( [nItem], [lEnable]) Parmetro Tipo / Descrio nItem Numrico, opcional. Item selecionado. Parmetros Lgico, opcional. Se .T. habilita o item se .F. desabilita o lEnable item. Retorno NIL

Exemplo#include protheus.ch User Function Teste() Local oDlg, oButton, oRadio, nRadio:=1 Local aOptions:={escolha1,escolha2} 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.) @ 40,10 BUTTON oButton PROMPT Fechar OF oDlg PIXEL ACTION oDlg:End()

ACTIVATE MSDIALOG oDlg CENTERED MsgStop(Escolheu +aOptions[nRadio] ) Return NIL

DescrioO objeto tipo tSay exibe o contedo de texto esttico sobre uma janela ou controle.

PropriedadesNome 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

NewDescrio 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]) Parmetros Parmetro Tipo / Descrio Numrico, opcional. Coordenada vertical em pixels ou anRow caracteres. Numrico, 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 dilogo onde o controle ser aoWnd criado. Caractere, opcional. Picture de formatao do contedo a acPicture ser exibido. Objeto, opcional. Objeto tipo tFont para configurao do aoFont tipo de fonte que ser utilizado para exibir o contedo. lPar7 Reservado. lPar8 Reservado.

Retorno

Reservado. Lgico, opcional. Se .T. considera coordenadas passadas alPixels 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. O objeto criado.

lPar9

SetTextDescrio Sintaxe Modifica o contedo a ser exibido pelo controle. SetText( [xVal] ) Parmetro Tipo / Descrio Parmetros Caracter / Numrico / Data, Opcional. Valor a ser xVal exibido. Retorno NIL

Exemplo#include protheus.ch User Function Teste() Local oDlg, oSay DEFINE MSDIALOG oDlg FROM 0,0 TO 200,200 TITLE My dialog PIXEL oSay:= tSay():New(10,10,{||para exibir},oDlg,,,,; ,,.T.,CLR_WHITE,CLR_RED,100,20) ACTIVATE MSDIALOG oDlg CENTERED Return NIL

Descrio

Utilize a classe tScrollbox para criar um painel com scroll deslizantes nas laterais do controle.

Mtodos

NewDescrio Mtodo construtor da classe. New([aoWnd], [anTop], [anLeft], [anHeight], [anWidth], Sintaxe [alVertical], [alHorizontal], [alBorder]) Parmetro Tipo / Descrio Objeto, opcional. Janela ou controle onde o controle aoWnd ser criado. anTop Numrico, opcional. Coordenada vertical em pixels. anLeft Numrico, opcional. Coordenada horizontal em pixels. anHeight Numrico, opcional. Altura do controle em pixels. Parmetros 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 User Function Teste() Local oDlg, oScr, oGet1, oGet2, oGet3 Local cGet1, cGet2, cGet3 cGet1:= Space(10) cGet2:= Space(10) cGet3:= Space(10) DEFINE MSDIALOG oDlg FROM 0,0 TO 400,400 PIXEL My test oScr:= TScrollBox():New(oDlg,10,10,200,200,.T.,.T.,.T.) // cria controles dentro do scrollbox @ 10,10 MSGET oGet1 VAR cGet1 SIZE 100,10 OF oScr PIXEL @ 50,10 MSGET oGet2 VAR cGet2 SIZE 100,10 OF oScr PIXEL @ 150,100 MSGET oGet3 VAR cGet3 SIZE 100,10 OF oScr PIXEL ACTIVATE MSDIALOG oDlg CENTERED Return NIL

CaractersticasClasse de janela principal de programa, dever existir apenas uma instncia deste objeto na execuo do programa.

PropriedadesbInit Bloco de cdigo. Executado quando a janela est sendo exibida. lEscClose Lgico. Se .T. habilita o cancelar a execuo da janela. oCtlFocus Objeto. Objeto contido na janela que est com foco de entrada de dados.

Mtodos

NewDescrio Mtodo construtor da janela. New( [anTop], [anLeft],[anBottom], [anRight], [acTitle], [nPar6], [oPar7] ,[oPar8],[oPar9], [aoParent], [lPar11], [lPar12], [anClrFore], Sintaxe [anClrBack], [oPar15], [cPar16], [lPar17], [lPar18], [lPar19], [lPar20], [alPixel] ); Parmetros Parmetro Tipo / Descrio Numrico, opcional. Coordenada vertical superior em nTop pixels ou caracteres. Numrico, opcional. Coordenada horizontal esquerda em nLeft 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.

Retorno

Reservado. Reservado. Reservado. Reservado. Reservado. Lgico, opcional. Se .T. (padro) considera coordenadas lPixel passadas em pixels, se .F. considera caracteres. Objeto. A janela construda.

cPar16 lPar17 lPar18 lPar19 lPar20

ActivateDescrio 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. bPar4 Reservado. bPar5 Reservado. bPar6 Reservado. Bloco de cdigo. Executado quando janela est sendo abInit exibida. bPar8 Reservado. bPar9 Reservado. Parmetros 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 da abValid janela for vlido, ou .F. se no. Se o bloco retornar .F. a janela no fechar. bPar17 Reservado. bPar18 Reservado. Retorno NIL

EndDescrio Solicita encerramento da janela. Sintaxe End( ) Retorno Lgico. .T. se encerrou a janela e .F. se no.

CenterDescrio Centraliza a janela. Sintaxe Center( ) Retorno NIL

Exemplo#INCLUDE "PROTHEUS.CH" USER FUNCTION Teste() Local oWindow Local abInit:= {||conout("ativando!")} Local abValid:= {||conout("encerrando!"),.T.} oWindow:= tWindow():New( 10, 10, 200, 200, "Meu programa",,,,,,,,CLR_WHITE,CLR_BLACK,,,,,,,.T. ) oWindow:Activate("MAXIMIZED",,,,,,abInit,,,,,,,,,abValid,,) /* os comandos abaixo proporcionam o mesmo resultado DEFINE WINDOW oWindow FROM 10, 10 TO 200,200 PIXEL TITLE "Meu programa" COLOR CLR_WHITE,CLR_BLACK ACTIVATE WINDOW oWindow MAXIMIZED ON INIT abInit VALID abValid */ Return NIL

CLASSES NO VISUAIS DescrioA TMailManager uma classe que tem por finalidade criar conexes em servidores SMTP ou POP Mtodos MtodoCHANGEFOLDER

Descrio Mtodo CHANGEFOLDER usado apenas para conexo IMAP. O mtodo ChangeFolder() da classe TMailManager tem

como objetivo realizar a mudana de pasta em que estamos conectados. Mtodo COPYMSG usado apenas para conexo IMAP. O mtodo CopyMsg() da classe tMailManager tem como objetivo Copiar uma determinada mensagem da pasta corrente em que estamos posicionados no servidor IMAP para uma outra pasta no servidor, ou at mesmo para a pasta corrente. muito importante entendermos a localizao que estamos no server IMAP, isso quando usamos funoes que lidam com o posicionamento no folder do servidor IMAP como changeFolder(), createFolder() ou deleteFolder(). Para Copiar uma mensagem devemos informar qual mensagem queremos mover atravs do primeiro parametro da funo e a pasta de acordo com o nome no servidor IMAP, a funo ir procurar pelo ID da mensagem apenas na pasta em que estamos posicionados e tentar mover para o folder informado(lembrando que o nome deve ser identico ao criado no servidor) Mtodo CREATEFOLDER usado apenas para conexo IMAP O mtodo CreateFolder() da classe tMailManager tem como objetivo realizar a criao de uma nova pasta de mensagens no servidor de emails IMAP.CREATEFOLDER

COPYMSG

Para se criar uma pasta no diretrio root do servidor IMAP basta apenas passar o nome da pasta que desejamos, sem path algum de um device. Para se criar uma subpasta, devemos informar a hierarquia de pastas e o nome da pasta. Para se criar uma subpasta de Inbox, basta chamar a funo create folder informando 'Inbox\Teste' e assim por diante. Mtodo DELETEFOLDER usado apenas para conexo IMAP.

DELETEFOLDER

O mtodo DeleteFolder() da classe tMailManager, tem como objetivo deletar uma pasta do servidor de email IMAP. Informando a pasta que ser deletada por parametro na funo, que deve conter o nome passado idntico ao da pasta no sevidor (case sensitive). Mtodo DELETEMSG O mtodo DeleteMsg() da classe tMailManager tem como

DELETEMSG

objetivo deletar uma determinada mensagem do servidor, de acordo com o numero da mensagem passada por parametro para a funo. A funo ir retornar true caso tenha sido encontrado a mensagem e deletada. Mtodo GETALLFOLDERLIST usado apenas para conexo IMAP. O mtodo GetAllFolderList() da classe TMailManager, tem como objetivo obter todas as pastas de determinada conta de email, que esto no servidor email IMAP. O mtodo retorna todas as pastas assinadas(so as pastas abilitadas ou Subscribe)e no assinadas, esse retorno vem em forma de array, do seguinte modo: array[1]GETALLFOLDERLIST

: :

array[1][1]:cNome array[1][2]:nNumMsg array[1][3]:nNumMsgNaoLidas array[1][4]:cStatus : :

cStatus: I = NOINFERIOS, N = NOSELECT, M = MAKED e U = UNMARKED nNumMsg: Quantidade de mensagens que existem na pasta. cNome: O respectivo nome da pasta. nNumMsgNaoLidas: Numero de mensagens nao lidas na pasta Mtodo GETERRORSTRING O mtodo GetErrorString da classe TMailManager, tem como objetivo retornar um erro em forma de string, trazendo sua descrio de acordo com algum erro que tenha ocorrido durante alguma outra funo da classe com SendMail(), algum connect e assim por diante. O valor informado por parametro representa erros definidos por padro do protocolo de conexo SMTP. Mtodo GETFOLDER usado apenas para conexo IMAP. O mtodo getFolder da classe tMailManager tem como objetivo obter o folder corrente em que estamos posicionados(est em uso) no servidor IMAP. A funo ir retornar o nome do folder, de acordo com o nome criado no servidor.

GETERRORSTRING

GETFOLDER

Mtodo GETFOLDERLIST usado apenas para conexo IMAP. O mtodo GetFolderList() da classe TMailManager, tem como objetivo obter todas as pastas de determinada conta de email, que esto no servidor email IMAP. O mtodo retorna todas as pastas assinadas(so as pastas abilitadas ou Subscribe), esse retorno vem em forma de array, do seguinte modo: array[1]GETFOLDERLIST

: :

array[1][1]:cNome array[1][1]:nNumMsgNaoLidas array[1][1]:nNumMsg array[1][1]:cStatus : :

cStatus: I = NOINFERIOS, N = NOSELECT, M = MAKED e U = UNMARKED nNumMsg: Quantidade de mensagens que existem na pasta. cNome: O respectivo nome da pasta. nNumMsgNaoLidas: Numero de mensagens nao lidas da pasta Mtodo GETMSGBODY usado apenas para conexo IMAP. O mtodo GetMsgBody() da classe de tMailManager tem como objetivo obter o conteudo da mensagem indicada de acordo com o parametro que representa o numero da mensagem para a funo. O valor informado por parametro o numero da mensagem na pasta do servidor. O mtodo ir procurar pela mensagem no folder que estiver posicionado no server IMAP. Mtodo GETMSGHEADER usado apenas para conexo IMAP. O mtodo GetMsgHeader() da classe tMailManager tem como objetivo se comunicar com o server de email IMAP e obter o cabealho da mensagem requerida de acordo com o parametro informando. Esse cabealho da mensagem contem todos os dados relativos ao email como : From, To, CC, BCC, etc... O valor informado por parametro o numero da mensagem na pasta do servidor.

GETMSGBODY

GETMSGHEADER

Obs.: o servidor IMAP ir procurar pela mensagem apenas na pasta corrente em uso, caso a pasta em uso seja a 'Inbox' o mensagem ser procurada apenas na nesta pasta. Mtodo GETNUMMSGS O mtodo GetNumMsgs() da classe TMailManager tem como objetivo retornar o numero de mensagens que existem no servidor.GETNUMMSGS

Devemos informar um numrico no parametro da funo como referncia, indicando o total de mensagens aps a execuo da funo, o valor retornado pela funo apenas o status de funcionou ou no. Obs.: A funo retorna o numero de mensagens total da conta de usurio informada e nao apenas por pasta como inbox, sent itens, etc.. Mtodo GETPOPTIMEOUT O mtodo GetPopTimeOut() da classe tMailManager tem como objetivo retornar o tempo em segundos que est estabelecido com o servidor POP para que seja finalizada a conexo por time-out. Obs.: caso nao tenha sido estabelecido nenhum tempo de time-out pela funo SETPOPTIMEOUT, ser retornado 0(zero). Mtodo GETSMTPTIMEOUT O mtodo GetSMTPTimeOut() da classe tMailManager tem como objetivo retornar o tempo em segundos que est estabelecido com o servidor SMTP para que seja finalizada a conexo por time-out. Obs.: caso nao tenha sido estabelecido nenhum tempo de time-out pela funo SETSMTPTIMEOUT, ser retornado 0(zero). Mtodo GETUSER O mtodo usado apenas para conexo IMAP.

GETPOPTIMEOUT

GETSMTPTIMEOUT

GETUSER

A funo GetUser() da classe de email tMailManager tem como objetivo obter o usuario corrente em que estamos logados no momento. A funo ir retornar uma string contendo o valor da conta de email do usuario antes do @. Mtodo IMAPCONNECT usado apenas para conexo

IMAPCONNECT

IMAP. O mtodo IMAPConnect() da classe TMailManager tem como objetivo realizar a conexo em um IMAP e-mail server e sincroniza o mailbox folders. A conexo atravs de IMAP trata-se de um mtodo de acesso a mensagens eletrnicas armazenadas em um servidor local ou remoto. O mtodo ir se conectar de acordo com os dados informados atravs do mtodo init(). Obs.:Uma caracterstica importante do IMAP permitir que a manipulao de mensagens e pastas seja feita como se estivessem no computador local. Sempre que for estabelecida uma conexo com servidor IMAP atravs da funo imapConnect() importante finalizar a conexo utilizando a imapDisconnect(). Mtodo IMAPDISCONNECT usado apenas para conexo IMAP. O mtodo IMAPDisConnect() da classe TMailManager tem como objetivo realizar o fim da conexo entre a aplicao e um IMAP e-mail server. Obs.: sempre que for estabelecida uma conexo com servidor IMAP atravs da funo imapConnect() importante finalizar a conexo utilizando a disconnect. Mtodo IMAPSTORE usado apenas para conexo IMAP O mtodo imapStore() da classe tMailManager tem como objetivo armazenar uma determinada mensagem em algum folder do servidor IMAP. Obs.: A funo muito util quando por exemplo desejamos que ao enviar uma mensagem ela seja salva em alguma pasta do server IMAP. Mtodo INIT Atravs desse mtodo da classe tMailManager, iniciamos uma nova conexo com um servidor de emails POP ou SMTP. Quando informamos por argumento o servidor pop (Ex.: pop3.microsiga.com.br) que siginifica o protocolo usado na internet para a recebimento de mensagens ao usurio final e o servidor smtp (Ex.: smtp.microsiga.com.br) que siginifica o protocolo usado na internet para a envio de mensagens ao usurio final, devemos tambm informar um

IMAPDISCONNECT

IMAPSTORE

INIT

usuario que esteja devidamente cadastrado no servidor e sua senha. Podemos ainda informar o tempo de timeout para queda da conexo e ainda o numero de porta, caso a porta do servidor desejado no seja a default de um smtp Mtodo MOVEMSG usada apenas para conexo IMAP. A funo MoveMsg() da classe tMailManager tem como objetivo mover uma determinada mensagem da pasta corrente em que estamos posicionados no servidor IMAP para uma outra pasta no servidor. muito importante entendermos a localizao que estamos no server IMAP, isso quando usamos funoes que lidam com os folder como changeFolder(), createFolder() ou deleteFolder(). Para mover uma mensagem devemos informar qual mensagem queremos mover atravs do primeiro parametro da funo e a pasta de acordo com o nome no servidor IMAP, a funo ir procurar pelo ID da mensagem apenas na pasta em que estamos posicionados e tentar mover para o folder informado(lembrando que o nome deve ser identico ao criado no servidor) Contrutor da Classe tMailManager. Retorna uma nova instncia do Objeto da Classe tMailManager.NEW

MOVEMSG

Antes da utilizao das funes e/ou propriedades da classe de email necessario criarmos uma instancia da classe atravs do contrutor New(). Mtodo POPCONNECT O mtodo PopConnect() da classe TmailManager se conecta com o servidor de email, atravs dos parametros que foram informados atravs do mtodo INIT(). Com esse mtodo realizamos a conexo no servidor POP, ou seja, apenas realizaremos o recebimento das mensagens existentes na caixa postal do usuario informado. Mtodo POPDISCONNECT O mtodo POPDisconnect() da classe TMailManager ir realizar o fim da conexo com o servidor POP, se desconectando apenas com o servidor POP. Ao solicitar a finalizao da conexo com o servidor POP, a funo ir retornar o status da operao, caso tenha sido bem

POPCONNECT

POPDISCONNECT

sucedida retorna 0, outros valores de erro caso contrrio. Mtodo PURGE usado apenas para conexo IMAPPURGE

O metodo purge() da classe tMailManager Mtodo RENAMEFOLDER usado apenas para conexo IMAP.RENAMEFOLDER

A funo RenameFolder() da classe tMailManger tem como objetivo realizar a mudana entre os nomes da pastas no servidor de e-mails IMAP. Mtodo SENDMAIL O mtodo SendMail() da classe TMailManager tem a funo de mandar um e-mail de acordo com os dados passados por parametro para a funo. Ao informar os parametros que representam os destinatarios pode-se informar mais de uma conta de email, porm devidamente separada por ; Ex.: [email protected]; [email protected] Mtodo SETFOLDERSUBSCRIBE usado apenas para conexo IMAP. A funo setFolderSubscribe da classe tMailManager tem como objetivo tornar uma pasta do servidor de email IMAP assinada. Tornar uma pasta assinada, tem um significado parecido como deixa-l visivel em nossa caixa de email, as mensagens para esta pasta sero 'baixadas'. A pasta Inbox por exemplo, sempre assinada por default. Mtodo SETMSGFLAG usado apenas para conexo IMAP. A funo SetMsgFlag() da classe tMailManager tem como objetivo indicar o status para uma determinada mensagem indicada de acordo com o parametro informado para a funo. Os estados possiveis para setar na mensagem so: A = ANSWERED, F = FLAGGED, D = DELETED, S = SEEN, R =DRAFT, C = RECENT, P = SPECIAL

SENDMAIL

SETFOLDERSUBSCRIBE

SETMSGFLAG

SETPOPTIMEOUT

Mtodo SETPOPTIMEOUT O mtodo SetPopTimeOut() da classe tMailmanager ir configurar um tempo para que uma conexo

estabelecida com servidor POP seja finalizada por time-out. Obs.: O tempo informado pelo mtodo deve ser em segundos. Mtodo SETSMTPTIMEOUT O mtodo SetSMTPTimeOut() da classe tMailmanager ir configurar um tempo para que uma conexo estabelecida com servidor SMTP seja finalizada por timeout. Obs.: O tempo informado pelo mtodo deve ser em segundos. Mtodo SMTPCONNECT O mtodo SMTPConnect() da classe TmailManager se conecta com o servidor de email, atravs dos parametros que foram informados atravs do mtodo INIT(). Com esse mtodo realizamos a conexo no servidor SMTP, ou seja, apenas realizaremos o envio de mensagens para uma determinada conta de usuario, informados anteriormente pelo metodo INIT(). Mtodo SMTPDISCONNECT O mtodo SMTPDisconnect() da classe TMailManager ir realizar o fim da conexo com o servidor SMTP, se desconectando apenas com o servidor SMTP. Ao solicitar a finalizao da conexo com o servidor SMTP, a funo ir retornar o status da operao, caso tenha sido bem sucedida retorna 0, outros valores de erro caso contrrio. Mtodo SETUSEREALID usado apenas para conexo IMAP. A funo SetUseRealID() da classe tMailManager tem como objetivo definir qual id ser usado para busca das mensagens. Uma mensagem de email possui dois modos de se identificada no servidor IMAP: -Atravs do seu nmero(o servidor mantm um 'contador' do numero de mensagens que chegam para determinada conta e atribui esse numero a mensagem. Ex: Imagine uma conta que acabou de ser criada, ao receber sua 1 msg, esta recebera um identificador de numero 1 e assim por diante..). -Atravs de um ID nico que o servidor atribui para a

SETSMTPTIMEOUT

SMTPCONNECT

SMTPDISCONNECT

SETUSEREALID

mensagem. Por default as funoes usam o numero da mensagem, podemos usar a funo SetUseRealID() para mudar isso, passando um parametro booleano para a funo. Mtodo ENDGETALLMSGHEADER usado apenas para conexo IMAP. A funo EndGetAllMsgHeader() da classe tMailManager usada aps a chamada da funo StartGetAllMsgHeader() que inicia o processo de pegar o header das mensagens.ENDGETALLMSGHEADER

A funo recebe um array como parametro que deve ser passado como referncia pois os headers das mensagens iro ser retornados atravs deste array. Quando o servidor terminar de baixar as mensagens ser retornado true atravs da funo, enquanto for retornado false o parametro nao vem populado com as mensagens. Mtodo STARTGETALLMSGHEADER usado apenas para conexo IMAP. A funo StartGetAllMsgHeader() da classe tMailManager tem como objetivo dar inicio ao processo de obteno de todos os cabealhos(headers) de todas as mensagens de uma determinada pasta.

STARTGETALLMSGHEADER

A funo ir avisar ao servidor IMAP que um processo de obteno das mensagens vai ocorrer, definindo qual a pasta(folder) deve se iniciar o processo e qual as infomao no header da mensagem deve ser retornada. obs.: a funo apenas inicia o processo, para pegar os cabealhos das mensagens da pasta use a funo EndGetAllMsgHeader().

Este exemplo tem como objetivo principal documentar a classe tMailManager, com foco nas funoes que so usadas apenas por conexo IMAP. Este exemplo ir fazer basicamente manipulao dos folders de uma conta de email, atravs de uma conexo com o servidor IMAP. Ex: imap.microsiga.com.br#include "Protheus.ch" STATIC oMailManager := Nil User Function tstIMAP()

Local aStPastas := {} Local sFolder := "TSTIMAP" Local sErro := "" if !myConnect( "imap.microsiga.com.br", "", "seuNomeAntesDo@", "senhadoemail", @sErro ) return .F. endif //tento ir para o folder TSTIMAP If ! oMailManager:ChangeFolder( ConvFdlName( sFolder, .F. ) ) //entrei aqui pq o folder nao existe, entao crio ele CreateFolder( sFolder ) EndIf TSTIMAP //pego os folders(pastas) existentes no servidor, incluido o GetFolderList( @aStPastas ) varinfo("PASTAS", aStPastas) //Verificamos o folder corrente em uso GetFolder( @sFolder ) conout("Folder Corrente" + sFolder)

If !oMailManager:DeleteFolder( ConvFdlName( sFolder, .F. ) ) conout("nao foi possivel deletar a pasta" + sFolder) Return .F. EndIf myDisconnect() return .T. function myConnect( sSrvIMAP, sSrvSMTP, sLogin, sPass, sErro ) Local nErro := 0 //obtenho uma nova instancia da classe de email. oMailManager := TMailManager():New() //uso a funo init para setar os dados. If (nErro := oMailManager:Init( sSrvIMAP, sSrvSMTP, sLogin, sPass )) != 0 sErro := oMailManager:GetErrorString( nErro ) Conout( sErro ) Return .F. EndIf //realizo uma CONEXAO IMAP If (nErro := oMailManager:IMAPConnect()) != 0 sErro := oMailManager:GetErrorString( nErro ) Conout( sErro ) Return .F. EndIf //informo o server que iremos trabalhar com ID real da mensagem oMailManager:SetUseRealID( .T. ) Return .T.

function myDisconnect() oMailManager:IMAPDisconnect() Return .T. function GetFolderList( aStPastas ) Local nI := 0, nTam := 0 Local aTemp := {} Local aFolder aTemp := oMailManager:GetFolderList() nTam := Len( aTemp ) For nI := 1 To nTam //crio um array temp {nome, nTotalMensagens, nMensagensNaoLidas, lAssinada} aFolder := {} aAdd(aFolder, ConvFdlName( aTemp[ nI ][1], .T. )) aAdd(aFolder, aTemp[ nI ][3]) aAdd(aFolder, aTemp[ nI ][5]) aAdd(aFolder, .T.) //adiciono no array de referencia do parametro aAdd( aStPastas, aFolder ) aFolder := NIL

Next Return .T.

// Retorna a pasta que esta em uso, sFolder referencia function GetFolder( sFolder ) sFolder := ConvFdlName( oMailManager:GetFolder(), .F. ) Return .T. Function CreateFolder( sFolder ) sFolder := ConvFdlName( sFolder, .F. ) //tento criar o folder no server IMAP If ! oMailManager:CreateFolder( sFolder ) Return .F. EndIf //set o folder como assinado, para aparecer If ! oMailManager:SetFolderSubscribe( sFolder, .T. ) Return .F. EndIf Return .T.

Sintaxe oObj:CHANGEFOLDER ( < sFolder > ) --> lRet

Parmetros Argumento sFolder Retorno Tipo Lgico Descrio Mtodo CHANGEFOLDER usado apenas para conexo IMAP. O mtodo ChangeFolder() da classe TMailManager tem como objetivo realizar a mudana de pasta em que estamos conectados. Descrio Retorna true, caso tenha sido possivel mudar de pasta no servidor IMAP, false caso contrario. Tipo Descrio Representa o nome da pasta na qual desejamos nos Caracter mudar(conectar) no servidor IMAP.

oObj:COPYMSG ( < nMsg > , < sFolder > ) --> lRet Parmetros Argumento nMsg sFolder Retorno Tipo Lgico Descrio Mtodo COPYMSG usado apenas para conexo IMAP. O mtodo CopyMsg() da classe tMailManager tem como objetivo Copiar uma determinada mensagem da pasta corrente em que estamos posicionados no servidor IMAP para uma outra pasta no servidor, ou at mesmo para a pasta corrente. muito importante entendermos a localizao que estamos no server IMAP, isso quando usamos funoes que lidam com o posicionamento no folder do servidor IMAP como changeFolder(), createFolder() ou deleteFolder(). Descrio Retorna true caso tenha sido possivel encontrar a mensagem requirida e Copiar para a pasta informada, false caso contrrio. Tipo Descrio Valor numerico da mensagem no servidor de email IMAP Numrico ou seu ID. Indica o nome da pasta no servidor de email IMAP, no qual Caracter desejamos transferir a mensagem.

Para Copiar uma mensagem devemos informar qual mensagem queremos mover atravs do primeiro parametro da funo e a pasta de acordo com o nome no servidor IMAP, a funo ir procurar pelo ID da mensagem apenas na pasta em que estamos posicionados e tentar mover para o folder informado(lembrando que o nome deve ser identico ao criado no servidor) oObj:COPYMSG ( < nMsg > , < sFolder > ) --> lRet Parmetros Argumento nMsg sFolder Retorno Tipo Lgico Descrio Mtodo COPYMSG usado apenas para conexo IMAP. O mtodo CopyMsg() da classe tMailManager tem como objetivo Copiar uma determinada mensagem da pasta corrente em que estamos posicionados no servidor IMAP para uma outra pasta no servidor, ou at mesmo para a pasta corrente. muito importante entendermos a localizao que estamos no server IMAP, isso quando usamos funoes que lidam com o posicionamento no folder do servidor IMAP como changeFolder(), createFolder() ou deleteFolder(). Para Copiar uma mensagem devemos informar qual mensagem queremos mover atravs do primeiro parametro da funo e a pasta de acordo com o nome no servidor IMAP, a funo ir procurar pelo ID da mensagem apenas na pasta em que estamos posicionados e tentar mover para o folder informado(lembrando que o nome deve ser identico ao criado no servidor) Sintaxe oObj:DELETEFOLDER ( < cFolder > ) --> lRet Parmetros Argumento cFolder Tipo Descrio Representa o nome da pasta na qual desejamos deletar no Caracter servidor IMAP. Descrio Retorna true caso tenha sido possivel encontrar a mensagem requirida e Copiar para a pasta informada, false caso contrrio. Tipo Descrio Valor numerico da mensagem no servidor de email IMAP Numrico ou seu ID. Indica o nome da pasta no servidor de email IMAP, no qual Caracter desejamos transferir a mensagem.

Retorno Tipo Lgico Descrio Mtodo DELETEFOLDER usado apenas para conexo IMAP. O mtodo DeleteFolder() da classe tMailManager, tem como objetivo deletar uma pasta do servidor de email IMAP. Informando a pasta que ser deletada por parametro na funo, que deve conter o nome passado idntico ao da pasta no sevidor (case sensitive). Sintaxe oObj:DELETEMSG ( < nMsg > ) --> lRet Parmetros Argumento nMsg Retorno Tipo (NULO) Descrio Mtodo DELETEMSG O mtodo DeleteMsg() da classe tMailManager tem como objetivo deletar uma determinada mensagem do servidor, de acordo com o numero da mensagem passada por parametro para a funo. A funo ir retornar true caso tenha sido encontrado a mensagem e deletada. Sintaxe oObj:ENDGETALLMSGHEADER ( < aHeaders > ) --> lRet Parmetros Argumento aHeaders Tipo Descrio Array Array usado como referncia para o retorno dos headers das Descrio Retorna true, caso tenha sido possivel deletar a mensagem. Caso contrrio retorna false. Tipo Descrio Numrico Numero da mensagem a ser deletada. Descrio Retorna true, caso tenha sido possivel mudar de pasta no servidor IMAP, false caso contrario.

mensagens. Retorno Tipo Lgico Descrio Mtodo ENDGETALLMSGHEADER usado apenas para conexo IMAP. A funo EndGetAllMsgHeader() da classe tMailManager usada aps a chamada da funo StartGetAllMsgHeader() que inicia o processo de pegar o header das mensagens. A funo recebe um array como parametro que deve ser passado como referncia pois os headers das mensagens iro ser retornados atravs deste array. Quando o servidor terminar de baixar as mensagens ser retornado true atravs da funo, enquanto for retornado false o parametro nao vem populado com as mensagens. Descrio Retorna true quando o servidor IMAP terminou de mandar todos os headers das mensagens, false caso contrrio.

Sintaxe oObj:GETALLFOLDERLIST ( ) --> aRet Retorno Tipo Array Descrio Mtodo GETALLFOLDERLIST usado apenas para conexo IMAP. O mtodo GetAllFolderList() da classe TMailManager, tem como objetivo obter todas as pastas de determinada conta de email, que esto no servidor email IMAP. O mtodo retorna todas as pastas assinadas(so as pastas abilitadas ou Subscribe)e no assinadas, esse retorno vem em forma de array, do seguinte modo: array[1] array[1][1]:cNome array[1][2]:nNumMsg array[1][3]:nNumMsgNaoLidas array[1][4]:cStatus Descrio Retorna um Array contendo todas as pastas (Assinadas/Nao Assinadas) e informaoes sobre a respectiva pasta, como est status, o seu nome e numero de mensagens existentes nela.

: :

: :

cStatus: I = NOINFERIOS, N = NOSELECT, M = MAKED e U = UNMARKED nNumMsg: Quantidade de mensagens que existem na pasta. cNome: O respectivo nome da pasta. nNumMsgNaoLidas: Numero de mensagens nao lidas na pasta

Sintaxe oObj:GETERRORSTRING ( < nError > ) --> cRet Parmetros Argumento nError Retorno Tipo Caracter Descrio Mtodo GETERRORSTRING O mtodo GetErrorString da classe TMailManager, tem como objetivo retornar um erro em forma de string, trazendo sua descrio de acordo com algum erro que tenha ocorrido durante alguma outra funo da classe com SendMail(), algum connect e assim por diante. O valor informado por parametro representa erros definidos por padro do protocolo de conexo SMTP. Sintaxe oObj:GETFOLDER ( ) --> cFolder Retorno Tipo Caracter Descrio Descrio Retorna uma string contendo o nome do folder em uso pela aplicao. Descrio Retorna uma cadeia de caracteres com a descrio, de acordo com o valor do erro passado. Tipo Descrio Representa um valor numrico a ser passado de algum erro Numrico de acordo como SMTP.

Mtodo GETFOLDER usado apenas para conexo IMAP. O mtodo getFolder da classe tMailManager tem como objetivo obter o folder corrente em que estamos posicionados(est em uso) no servidor IMAP. A funo ir retornar o nome do folder, de acordo com o nome criado no servidor. Sintaxe oObj:GETFOLDERLIST ( ) --> aRet Retorno Tipo Array Descrio Mtodo GETFOLDERLIST usado apenas para conexo IMAP. O mtodo GetFolderList() da classe TMailManager, tem como objetivo obter todas as pastas de determinada conta de email, que esto no servidor email IMAP. O mtodo retorna todas as pastas assinadas(so as pastas abilitadas ou Subscribe), esse retorno vem em forma de array, do seguinte modo: array[1] array[1][1]:cNome array[1][1]:nNumMsgNaoLidas array[1][1]:nNumMsg array[1][1]:cStatus : : Descrio Retorna um Array contendo todas as pastas e informaoes sobre a respectiva pasta, como se est status, o seu nome e numero de mensagens existentes nela.

: :

cStatus: I = NOINFERIOS, N = NOSELECT, M = MAKED e U = UNMARKED nNumMsg: Quantidade de mensagens que existem na pasta. cNome: O respectivo nome da pasta. nNumMsgNaoLidas: Numero de mensagens nao lidas da pasta

Sintaxe oObj:GETMSGBODY ( ) --> NIL Retorno Tipo Descrio

(NULO) Descrio

Retorno nulo.

Mtodo GETMSGBODY usado apenas para conexo IMAP. O mtodo GetMsgBody() da classe de tMailManager tem como objetivo obter o conteudo da mensagem indicada de acordo com o parametro que representa o numero da mensagem para a funo. O valor informado por parametro o numero da mensagem na pasta do servidor. O mtodo ir procurar pela mensagem no folder que estiver posicionado no server IMAP.

Sintaxe oObj:GETMSGHEADER ( < nMsg > ) --> lRet Parmetros Argumento nMsg Retorno Tipo Lgico Descrio Mtodo GETMSGHEADER usado apenas para conexo IMAP. O mtodo GetMsgHeader() da classe tMailManager tem como objetivo se comunicar com o server de email IMAP e obter o cabealho da mensagem requerida de acordo com o parametro informando. Esse cabealho da mensagem contem todos os dados relativos ao email como : From, To, CC, BCC, etc... O valor informado por parametro o numero da mensagem na pasta do servidor. Obs.: o servidor IMAP ir procurar pela mensagem apenas na pasta corrente em uso, caso a pasta em uso seja a 'Inbox' o mensagem ser procurada apenas na nesta pasta. Descrio Retorna true caso tenha sido possivel encontrar a mensagem requirida e retornar seu cabealho, false caso contrrio. Tipo Descrio Numrico Valor numerico da mensagem no servidor de email IMAP.

Sintaxe

oObj:GETNUMMSGS ( < nNumMsg > ) --> nRet Parmetros Argumento nNumMsg Retorno Tipo Numrico Descrio Mtodo GETNUMMSGS O mtodo GetNumMsgs() da classe TMailManager tem como objetivo retornar o numero de mensagens que existem no servidor. Devemos informar um numrico no parametro da funo como referncia, indicando o total de mensagens aps a execuo da funo, o valor retornado pela funo apenas o status de funcionou ou no. Obs.: A funo retorna o numero de mensagens total da conta de usurio informada e nao apenas por pasta como inbox, sent itens, etc.. Descrio 0 = Lista recebida com sucesso Tipo Descrio Parametro passado por referencia, retorna nele o numero de Numrico mensagens que esto no servidor.

Sintaxe oObj:GETPOPTIMEOUT ( ) --> nRet Retorno Tipo Numrico Descrio Mtodo GETPOPTIMEOUT O mtodo GetPopTimeOut() da classe tMailManager tem como objetivo retornar o tempo em segundos que est estabelecido com o servidor POP para que seja finalizada a conexo por time-out. Obs.: caso nao tenha sido estabelecido nenhum tempo de time-out pela funo SETPOPTIMEOUT, ser retornado 0(zero). Descrio Retorna o tempo em segundos para a finalizao por time out da conexao POP.

Sintaxe oObj:GETSMTPTIMEOUT ( ) --> nRet Retorno Tipo Numrico Descrio Mtodo GETSMTPTIMEOUT O mtodo GetSMTPTimeOut() da classe tMailManager tem como objetivo retornar o tempo em segundos que est estabelecido com o servidor SMTP para que seja finalizada a conexo por time-out. Obs.: caso nao tenha sido estabelecido nenhum tempo de time-out pela funo SETSMTPTIMEOUT, ser retornado 0(zero). Descrio Retorna um tempo em segundos, que representa o tempo para a finalizao da conexo com o servidor SMTP.

Sintaxe oObj:GETUSER ( ) --> sRet Retorno Tipo Caracter Descrio Mtodo GETUSER O mtodo usado apenas para conexo IMAP. A funo GetUser() da classe de email tMailManager tem como objetivo obter o usuario corrente em que estamos logados no momento. A funo ir retornar uma string contendo o valor da conta de email do usuario antes do @. Descrio Retorna uma String contento o nome do usuario da conta de email que estamos conectados.

Sintaxe oObj:IMAPCONNECT ( ) --> lRet

Retorno Tipo Lgico Descrio Mtodo IMAPCONNECT usado apenas para conexo IMAP. O mtodo IMAPConnect() da classe TMailManager tem como objetivo realizar a conexo em um IMAP e-mail server e sincroniza o mailbox folders. A conexo atravs de IMAP trata-se de um mtodo de acesso a mensagens eletrnicas armazenadas em um servidor local ou remoto. O mtodo ir se conectar de acordo com os dados informados atravs do mtodo init(). Obs.:Uma caracterstica importante do IMAP permitir que a manipulao de mensagens e pastas seja feita como se estivessem no computador local. Sempre que for estabelecida uma conexo com servidor IMAP atravs da funo imapConnect() importante finalizar a conexo utilizando a imapDisconnect(). Descrio Retorna true caso tenha sido possvel realizar a conexo no servidor Imap, false caso contrrio.

Sintaxe oObj:IMAPDISCONNECT ( ) --> lRet Retorno Tipo Lgico Descrio Mtodo IMAPDISCONNECT usado apenas para conexo IMAP. O mtodo IMAPDisConnect() da classe TMailManager tem como objetivo realizar o fim da conexo entre a aplicao e um IMAP e-mail server. Obs.: sempre que for estabelecida uma conexo com servidor IMAP atravs da funo imapConnect() importante finalizar a conexo utilizando a disconnect. Descrio Retorna true caso tenha sido possvel realizar a finalizao da conexo no servidor Imap, false caso contrrio.

Sintaxe oObj:IMAPSTORE ( < cFolder > , < oMsg > ) --> nRet

Parmetros Argumento cFolder oMsg Retorno Tipo Numrico Descrio Mtodo IMAPSTORE usado apenas para conexo IMAP O mtodo imapStore() da classe tMailManager tem como objetivo armazenar uma determinada mensagem em algum folder do servidor IMAP. Obs.: A funo muito util quando por exemplo desejamos que ao enviar uma mensagem ela seja salva em alguma pasta do server IMAP. Sintaxe oObj:INIT ( < cPopImap > , < cSmtp > , < cUser > , < cPass > , < nTimeOut > , < nPorta > ) --> NIL Parmetros Argumento cPopImap cSmtp cUser cPass nTimeOut nPorta Retorno Tipo (NULO) Descrio Descrio Retorno nulo. Tipo Caracter Caracter Caracter Caracter Numrico Numrico Descrio Endereo do servidor POP ou IMAP, no caso de conexo SMTP passe esse como ""(branco). Endereo do servidor SMTP, no caso de conexo POP passe esse como ""(branco) Login no servidor. Senha no servidor. Time out para a conexo. Porta para se conectar. Descrio Retorna um inteiro informando o status da operao, caso retornado 1 ocorreu erro durante a funo, caso contrario retorna outros valores de informao. Tipo Descrio Representa uma String que contm o nome da pasta(folder) Caracter no qual desejamos armazenar a mensagem. Indica um objeto tMailMessage que contem as informaoes Objeto da mensagem que desejamos armazenar.

Mtodo INIT Atravs desse mtodo da classe tMailManager, iniciamos uma nova conexo com um servidor de emails POP ou SMTP. Quando informamos por argumento o servidor pop (Ex.: pop3.microsiga.com.br) que siginifica o protocolo usado na internet para a recebimento de mensagens ao usurio final e o servidor smtp (Ex.: smtp.microsiga.com.br) que siginifica o protocolo usado na internet para a envio de mensagens ao usurio final, devemos tambm informar um usuario que esteja devidamente cadastrado no servidor e sua senha. Podemos ainda informar o tempo de timeout para queda da conexo e ainda o numero de porta, caso a porta do servidor desejado no seja a default de um smtp Sintaxe oObj:MOVEMSG ( < nNumMsg > , < sFolder > ) --> lRet Parmetros Argumento nNumMsg sFolder Retorno Tipo Lgico Descrio Mtodo MOVEMSG usada apenas para conexo IMAP. A funo MoveMsg() da classe tMailManager tem como objetivo mover uma determinada mensagem da pasta corrente em que estamos posicionados no servidor IMAP para uma outra pasta no servidor. muito importante entendermos a localizao que estamos no server IMAP, isso quando usamos funoes que lidam com os folder como changeFolder(), createFolder() ou deleteFolder(). Para mover uma mensagem devemos informar qual mensagem queremos mover atravs do primeiro parametro da funo e a pasta de acordo com o nome no servidor IMAP, a funo ir procurar pelo ID da mensagem apenas na pasta em que estamos posicionados e tentar mover para o folder informado(lembrando que o nome deve ser identico ao criado no servidor) Descrio Retorna true caso tenha sido possivel encontrar a mensagem requirida e mover para a pasta informada, false caso contrrio. Tipo Descrio Numrico Valor numerico da mensagem no servidor de email IMAP. Indica o nome da pasta no servidor de email IMAP, no qual Caracter desejamos transferir a mensagem.

Sintaxe tMailManager():NEW ( ) --> oObjtMailManager Retorno Tipo Objeto Descrio Contrutor da Classe tMailManager. Retorna uma nova instncia do Objeto da Classe tMailManager. Antes da utilizao das funes e/ou propriedades da classe de email necessario criarmos uma instancia da classe atravs do contrutor New(). Descrio Retorna uma nova instncia do Objeto da Classe tMailManager.

Sintaxe oObj:POPCONNECT ( ) --> NIL Retorno Tipo (NULO) Descrio Mtodo POPCONNECT O mtodo PopConnect() da classe TmailManager se conecta com o servidor de email, atravs dos parametros que foram informados atravs do mtodo INIT(). Com esse mtodo realizamos a conexo no servidor POP, ou seja, apenas realizaremos o recebimento das mensagens existentes na caixa postal do usuario informado. Sintaxe oObj:POPDISCONNECT ( ) --> nRet Retorno Tipo Numrico Descrio Descrio Retorna 0 quando for Disconectado, outro valor caso contrrio. Descrio Retorno nulo.

Mtodo POPDISCONNECT O mtodo POPDisconnect() da classe TMailManager ir realizar o fim da conexo com o servidor POP, se desconectando apenas com o servidor POP. Ao solicitar a finalizao da conexo com o servidor POP, a funo ir retornar o status da operao, caso tenha sido bem sucedida retorna 0, outros valores de erro caso contrrio. Sintaxe oObj:PURGE ( ) --> NIL Retorno Tipo (NULO) Descrio Mtodo PURGE usado apenas para conexo IMAP O metodo purge() da classe tMailManager Descrio Retorno nulo.

Sintaxe oObj:RENAMEFOLDER ( < sOldFolder > , < sNewFolder > ) --> lRet Parmetros Argumento sOldFolder sNewFolder Retorno Tipo (NULO) Descrio Mtodo RENAMEFOLDER usado apenas para conexo IMAP. Descrio Retorna true caso tenha sido possvel realizar a mudana de nome das pastas, false caso contrrio. Tipo Descrio Representa o nome atual que a pasta tem no servidor de email IMAP, o valor aqui informado deve ser idntico ao Caracter gravado no servidor, caso contrrio a pasta no ser encontrada. Caracter Indica o novo nome no qual desejamos atribuir para a pasta.

A funo RenameFolder() da classe tMailManger tem como objetivo realizar a mudana entre os nomes da pastas no servidor de e-mails IMAP. Sintaxe oObj:SENDMAIL ( < sFrom > , < sTo > , < sSubject > , < sBody > , [ sCC ] , [ cBCC ] , [ aAttach ] , [ nNumAttach ] ) --> nRet Parmetros Argumento sFrom sTo sSubject sBody sCC cBCC aAttach Tipo Caracter Caracter Caracter Caracter Caracter Caracter Array Descrio Indica uma conta de email no qual ser usada para representar de quem foi mandado o email. Ex: [email protected] Indica a conta de email no qual ser usada para enviar o respectivo email. Ex: [email protected] Representa o assunto do email ou mensagem, que ser enviado para a conta de email indicada. Representa o conteudo da mensagem que ser enviada. Opcional. Parametro para adicionar endereos ao qual ser enviado na seo Com Cpia(CC). Opicional. Parametro para adicionar endereos de email no qual ser enviado na seo Com Cpia Oculta(BCC) Opcional. Parametro no qual podemos informar um Array de strings contento de o Path dos arquivos que desejamos enviar como atachados ao email. Opicional. Quando desejamos enviar arquivos atachados devemos informar esse argumento que contem a quandidade de arquivos que sero atachados no email, no caso a quantidade de elementos do array.

nNumAttach

Numrico

Retorno Tipo (NULO) Descrio Mtodo SENDMAIL O mtodo SendMail() da classe TMailManager tem a funo de mandar um e-mail de acordo com os dados passados por parametro para a funo. Ao informar os parametros que representam os destinatarios pode-se informar mais de uma conta de email, porm devidamente separada por ; Ex.: [email protected]; [email protected] Descrio Retrona 0, quando o E-mail for enviado com sucesso, outro valor qualquer caso contrario.

Sintaxe oObj:SETFOLDERSUBSCRIBE ( < cFolder > , < lAssinado > ) --> lRet Parmetros Argumento cFolder lAssinado Retorno Tipo Lgico Descrio Mtodo SETFOLDERSUBSCRIBE usado apenas para conexo IMAP. A funo setFolderSubscribe da classe tMailManager tem como objetivo tornar uma pasta do servidor de email IMAP assinada. Tornar uma pasta assinada, tem um significado parecido como deixa-l visivel em nossa caixa de email, as mensagens para esta pasta sero 'baixadas'. A pasta Inbox por exemplo, sempre assinada por default. Descrio Retorna true caso a operao tenha sido realizada com sucesso, falso caso contrrio. Tipo Descrio Representa o nome do folder no servidor de email IMAP Caracter que desejamos deixar subscribe ou no. True caso desejamos que o folder esteja assinado(subscribe), Lgico falso caso contrrio.

Sintaxe oObj:SETMSGFLAG ( < nNumMsg > , < sFlag > ) --> lRet Parmetros Argumento nNumMsg sFlag Retorno Tipo Lgico Descrio Retorna true caso a mensagem tenha sido setada corretamente, caso contrrio false. Tipo Descrio Indica o numero da mensagem que desejamos alterar seu Array status(flag). Array Informa o novo status que desejamos para a mensagem.

Descrio Mtodo SETMSGFLAG usado apenas para conexo IMAP. A funo SetMsgFlag() da classe tMailManager tem como objetivo indicar o status para uma determinada mensagem indicada de acordo com o parametro informado para a funo. Os estados possiveis para setar na mensagem so: A = ANSWERED, F = FLAGGED, D = DELETED, S = SEEN, R = DRAFT, C = RECENT, P =SPECIAL

Sintaxe oObj:SETPOPTIMEOUT ( < nTimeOut > ) --> nRet Parmetros Argumento nTimeOut Retorno Tipo Numrico Descrio Mtodo SETPOPTIMEOUT O mtodo SetPopTimeOut() da classe tMailmanager ir configurar um tempo para que uma conexo estabelecida com servidor POP seja finalizada por time-out. Obs.: O tempo informado pelo mtodo deve ser em segundos. Descrio 0 = Time out setado Tipo Descrio Numrico Tempo para que a conexo seja fechada por Time-Out.

Sintaxe oObj:SETSMTPTIMEOUT ( < nTime > ) --> nRet Parmetros Argumento nTime Tipo Descrio Numrico Tempo para que a conexo seja fechada por Time-Out.

Retorno Tipo Numrico Descrio Mtodo SETSMTPTIMEOUT O mtodo SetSMTPTimeOut() da classe tMailmanager ir configurar um tempo para que uma conexo estabelecida com servidor SMTP seja finalizada por time-out. Obs.: O tempo informado pelo mtodo deve ser em segundos. Descrio 0 - Time out configurado

Sintaxe oObj:SETUSEREALID ( < lOpt > ) --> NIL Parmetros Argumento lOpt Retorno Tipo (NULO) Descrio Mtodo SETUSEREALID usado apenas para conexo IMAP. A funo SetUseRealID() da classe tMailManager tem como objetivo definir qual id ser usado para busca das mensagens. Uma mensagem de email possui dois modos de se identificada no servidor IMAP: -Atravs do seu nmero(o servidor mantm um 'contador' do numero de mensagens que chegam para determinada conta e atribui esse numero a mensagem. Ex: Imagine uma conta que acabou de ser criada, ao receber sua 1 msg, esta recebera um identificador de numero 1 e assim por diante..). -Atravs de um ID nico que o servidor atribui para a mensagem. Por default as funoes usam o numero da mensagem, podemos usar a funo SetUseRealID() para mudar isso, passando um parametro booleano para a funo. Descrio Retorno nulo. Tipo Descrio Indica qual tipo de Identificador deseja-se usar, caso Lgico informado true ser usado o ID real da mensagem, caso informado false ser usado o numero da mensagem.

Sintaxe oObj:SMTPCONNECT ( ) --> nRet Retorno Tipo Numrico Descrio Mtodo SMTPCONNECT O mtodo SMTPConnect() da classe TmailManager se conecta com o servidor de email, atravs dos parametros que foram informados atravs do mtodo INIT(). Com esse mtodo realizamos a conexo no servidor SMTP, ou seja, apenas realizaremos o envio de mensagens para uma determinada conta de usuario, informados anteriormente pelo metodo INIT(). Descrio 0 - Conectado

Sintaxe oObj:SMTPDISCONNECT ( ) --> nRet Retorno Tipo (NULO) Descrio Mtodo SMTPDISCONNECT O mtodo SMTPDisconnect() da classe TMailManager ir realizar o fim da conexo com o servidor SMTP, se desconectando apenas com o servidor SMTP. Ao solicitar a finalizao da conexo com o servidor SMTP, a funo ir retornar o status da operao, caso tenha sido bem sucedida retorna 0, outros valores de erro caso contrrio. Sintaxe oObj:STARTGETALLMSGHEADER ( < sFOlder > , < aHeader > ) --> lRet Parmetros Descrio 0 = Disconectado

Argumento sFOlder aHeader Retorno Tipo Lgico Descrio

Tipo

Descrio Indica qual o folder no servidor que desejamos obter os Caracter cabealhos das mensagens. Array que representa as informaoes que desejamos serem Array retornadas nos cabealhos das mensagens.

Descrio Retorna true caso tenha sido possivel iniciar o processo de obteno de cabealho das mensagens, false caso contrario.

Mtodo STARTGETALLMSGHEADER usado apenas para conexo IMAP. A funo StartGetAllMsgHeader() da classe tMailManager tem como objetivo dar inicio ao processo de obteno de todos os cabealhos(headers) de todas as mensagens de uma determinada pasta. A funo ir avisar ao servidor IMAP que um processo de obteno das mensagens vai ocorrer, definindo qual a pasta(folder) deve se iniciar o processo e qual as infomao no header da mensagem deve ser retornada. obs.: a funo apenas inicia o processo, para pegar os cabealhos das mensagens da pasta use a funo EndGetAllMsgHeader().

TmailmessageEste exemplo tem como objetivo principal mostrar o uso dos mtodos da classe tMailMessage. Para isto usamos a classe tMailManager(responsavel por estabelecer a conexo de fato). A classe tMailMessage possu uma dependencia direta com a classe tMailManager, devemos imaginar a classe tMailMessage como a mensagem que ser enviada de fato e tendo atravs dos mtodos e propriedades a forma que iremos preencher os dados necessrios para um email como: Assunto, Corpo da Mensagem, 'Com Cpia', etc.. Assim atravs da classe podemos customizar tambm a mensagem que queremos enviar. Acompanhe o exemplo abaixo.#include "Protheus.ch" user Function EMail() Local oServer Local oMessage Local nNumMsg := 0

Local nTam Local nI

:= 0 := 0

//Crio a conexo com o server STMP ( Envio de e-mail ) oServer := TMailManager():New() oServer:Init( "", "smtp.microsiga.com.br", "ricardo.reis", "rica4758", 0, 25 ) //seto um tempo de time out com servidor de 1min If oServer:SetSmtpTimeOut( 60 ) != 0 Conout( "Falha ao setar o time out" ) Return .F. EndIf //realizo a conexo SMTP If oServer:SmtpConnect() != 0 Conout( "Falha ao conectar" ) Return .F. EndIf //Apos a conexo, crio o objeto da mensagem oMessage := TMailMessage():New() //Limpo o objeto oMessage:Clear() //Populo com os dados de envio oMessage:cFrom := "Microsiga " oMessage:cTo := "[email protected];[email protected]" oMessage:cCc := "[email protected]" oMessage:cBcc := "[email protected]" oMessage:cSubject := "Teste de Email" oMessage:cBody := "Conteudo do e-mail" //Adiciono um attach If oMessage:AttachFile( "arquivo.txt" ) < 0 Conout( "Erro ao atachar o arquivo" ) Return .F. Else //adiciono uma tag informando que um attach e o nome do arq oMessage:AddAtthTag( 'Content-Disposition: attachment; filename=arquivo.txt') EndIf //Envio o e-mail If oMessage:Send( oServer ) != 0 Conout( "Erro ao enviar o e-mail" ) Return .F. EndIf //Disconecto do servidor If oServer:SmtpDisconnect() != 0 Conout( "Erro ao disconectar do servidor SMTP" ) Return .F. EndIf //Crio uma nova conexo, agora de POP oServer := TMailManager():New() oServer:Init( "pop3.microsiga.com.br", "", "SeunomeAntesDo@", "senhaDoEmail", 0, 110 )

If oServer:SetPopTimeOut( 60 ) != 0 Conout( "Falha ao setar o time out" ) Return .F. EndIf If oServer:PopConnect() != 0 Conout( "Falha ao conectar" ) Return .F. EndIf //Recebo o nmero de mensagens do servidor oServer:GetNumMsgs( @nNumMsg ) nTam := nNumMsg For nI := 1 To nTam //Limpo o objeto da mensagem oMessage:Clear() //Recebo a mensagem do servidor oMessage:Receive( oServer, nI ) //Escrevo no server os dados do e-mail recebido Conout( oMessage:cFrom ) Conout( oMessage:cTo ) Conout( oMessage:cCc ) Conout( oMessage:cSubject ) Conout( oMessage:cBody ) Next //Deleto todas as mensagens do servidor For nI := 1 To nTam oServer:DeleteMsg( nI ) Next //Diconecto do servidor POP oServer:POPDisconnect() Return .T.

Sintaxe oObj:ADDATTHTAG ( < cTag > ) --> NIL Parmetros Argumento cTag Retorno Tipo (NULO) Descrio Descrio Retorno nulo. Tipo Descrio Representa os dados que desejamos informa no caso de um Caracter arquivo atachado.

Mtodo ADDATTHTAG O mtodo addAttTag() da classe tMailMessage tem como objetivo setar alguma informao especial quando passado algum arquivo atachado para a mensagem que ser enviada. Ex: AddAtthTag( 'Content-Disposition: attachment; filename=arquivo.txt') adiciono uma tag informando que um attach e o nome do arquivo.

Sintaxe oObj:ATTACHFILE ( < cArq > ) --> NIL Parmetros Argumento cArq Retorno Tipo (NULO) Descrio Mtodo ATTACHFILE O mtodo AttachFile() da classe tMailMessage tem como objetivo adicionar um arquivo ao objeto de e-mail, 'um Attach'. Descrio Retorno nulo. Tipo Descrio Caracter Indica o nome do arquivo a ser adicionado no e-mail.

Sintaxe oObj:CLEAR ( ) --> NIL Retorno Tipo (NULO) Descrio Mtodo CLEAR Descrio Retorno nulo.

O mtodo clear() da classe tMailMessage tem como objetivo limpar o conteudo do objeto, assim podemos receber varias mensagem no mesmo objeto, apenas limpando o seu conteudo antes. Usando a funo clear, nao precisamos criar varias vezes o mesmo objeto, para receber mais de uma mensagem. Sintaxe oObj:GETATTACH ( < cNumMsg > ) --> sRet Parmetros Argumento cNumMsg Retorno Tipo Caracter Descrio Mtodo GETATTACH O mtodo getAttach da classe tMailMessage tem como objetivo obter o conteudo do arquivo atachado e retornar esse conteudo atravs de uma String. Devemos informar o numero da mensagem que desejamos obter o attach. Descrio Retorno uma String(cadeia de caracteres) contendo o conteudo do arquivo atachado na mensagem. Tipo Descrio Representa o Id(numero da mensagem) que desejamos Numrico obter informaes.

Sintaxe oObj:GETATTACHCOUNT ( ) --> nRet Retorno Tipo Numrico Descrio Mtodo GETATTACHCOUNT O mtodo getAttachCount() da classe tMailMessage tem como objetivo informar qual a quantidade de arquivos anexados a mensagem. Descrio Retorna o numero de anexos a mensagem.

Sintaxe oObj:GETATTACHINFO ( < nMsg > ) --> NIL Parmetros Argumento nMsg Retorno Tipo (NULO) Descrio Mtodo GETATTACHINFO O mtodo getAttachInfo() da classe tMailMessage tem como objetivo trazer todas informaoes sobre um attachment em alguma mensagem. Devemos informar o numero da mensagem que desejamos trazer as informaoes sobre os attachments, o mtodo ir retornar as seguintes informaes: ShortName: O nome do attachment Type: O tipo do attachment, podendo ser FILE e TEXT por exemplo. Disposition: Tipo do arquivo DispositionName: informa o nome do tipo de arquivo Id: Identificao do attachment Location: Local fisico do attachment Descrio Retorno nulo. Tipo Descrio Numrico Indica o numero da mensagem que desejamos verificar.

Sintaxe tMailMessage():NEW ( ) --> oObjtMailMessage Retorno Tipo Objeto Descrio Contrutor da Classe tMailMessage. Descrio Retorna uma nova instncia do Objeto da Classe tMailMessage.

Retorna uma nova instncia do Objeto da Classe tMailMessage, representa uma mensagem

Sintaxe oObj:RECEIVE ( < oServer > , < nMsg > ) --> nRet Parmetros Argumento oServer nMsg Retorno Tipo Numrico Descrio Mtodo RECEIVE O mtodo receive() da classe tMailMessage, tem como objetivo receber uma nova mensagem do servidor populando o obje