Você está na página 1de 127

A Linguagem AdvPl

Reviso: 09/06/2003 A Linguagem AdvPl teve seu incio em 1994, sendo na ve dade uma evolu!o na utili"a!o de linguagens no #ad o $%ase #ela &ic osiga 'o(t)a e '*A* +,li##e , -isual ./0ects e de#ois 1ive2in3* ,om a c ia!o da tecnologia P ot4eus, e a necess5 io c ia uma linguagem 6ue su#o tasse o #ad o $%ase #a a a manuten!o de todo o c7digo e$istente do sistema de 8RP 'iga Advanced* 1oi ento c iada a linguagem c4amada Advanced P ot4eus Language* . AdvPl 9 uma e$tenso do #ad o $%ase de comandos e (un!:es, o#e ado es, est utu as de cont ole de (lu$o e #alav as ese vadas, contando tam/9m com (un!:es e comandos dis#oni/ili"ados #ela &ic osiga 6ue a to na uma linguagem com#leta #a a a c ia!o de a#lica!:es 8RP # ontas #a a a ;nte net* <am/9m 9 uma linguagem o ientada a o/0etos e eventos, #e mitindo ao # og amado desenvolve a#lica!:es visuais e c ia suas # 7# ias classes de o/0etos* =uando com#ilados, todos os a 6uivos de c7digo to nam>se unidades de intelig?ncia /5sicas, c4amados AP.@s +de Advanced P ot4eus ./0ects3* <ais AP.@s so mantidos em um e#osit7 io e ca egados dinamicamente #elo P ot4eus 'e ve #a a a e$ecu!o* ,omo no e$iste a linAedi!o, ou unio (sica do c7digo com#ilado a um dete minado m7dulo ou a#lica!o, (un!:es c iadas em AdvPl #odem se e$ecutadas em 6ual6ue #onto do am/iente Advanced P ot4eus* . com#ilado e o inte # etado da linguagem AdvPl 9 o # 7# io se vido P ot4eus +P ot4eus 'e ve 3, e e$iste um am/iente visual #a a desenvolvimento integ ado +P ot4eus ;B83 onde o c7digo #ode se c iado, com#ilado e de#u ado* .s # og amas em AdvPl #odem conte comandos ou (un!:es de inte (ace com o usu5 io* Be aco do com tal ca acte stica, tais # og amas so su/divididos nas seguintes catego ias:

Programao Com Interface Prpria com o Usurio


Cesta catego ia ent am os # og amas desenvolvidos #a a se em e$ecutados at av9s do te minal emoto do P ot4eus, o P ot4eus Remote* . P ot4eus Remote 9 a a#lica!o enca egada da inte (ace e da inte a!o com o usu5 io, sendo 6ue todo o # ocessamento do c7digo em AdvPl, o acesso ao /anco de dados e o ge enciamento de cone$:es 9 e(etuado no P ot4eus 'e ve * . P ot4eus Remote 9 o # inci#al meio de acesso a e$ecu!o de otinas esc itas em AdvPl no P ot4eus 'e ve , e #o isso #e mite e$ecuta 6ual6ue ti#o de c7digo, ten4a ele inte (ace com o usu5 io ou no* Po 9m nesta catego ia so conside ados a#enas os # og amas 6ue eali"em algum ti#o de inte (ace emota utili"ando o # otocolo de comunica!o do P ot4eus* Pode>se c ia otinas #a a a customi"a!o do sistema 8RP Advanced P ot4eus, desde # ocessos adicionais at9 mesmo elat7 ios* A g ande vantagem 9 a# oveita todo o am/iente montado #elos m7dulos do 8RP Advanced P ot4eus* Po 9m, com o AdvPl 9

#ossvel at9 mesmo c ia toda uma a#lica!o, ou m7dulo, do come!o* <odo o c7digo do sistema 8RP Advanced P ot4eus 9 esc ito em AdvPl*

Programao Sem Interface Prpria com o Usurio


As otinas c iadas sem inte (ace so conside adas nesta catego ia #o 6ue ge almente t?m uma utili"a!o mais es#ec(ica do 6ue um # ocesso adicional ou um elat7 io novo* <ais otinas no t?m inte (ace com o usu io at av9s do P ot4eus Remote, e 6ual6ue tentativa nesse sentido +como a c ia!o de uma 0anela #ad o3 ocasiona 5 uma e$ce!o em tem#o de e$ecu!o* 8stas otinas so a#enas # ocessos, ou Do/s, e$ecutados no P ot4eus 'e ve * Algumas ve"es, a inte (ace destas otinas (ica a ca go de a#lica!:es e$te nas, desenvolvidas em out as linguagens, 6ue so es#ons5veis #o inicia os # ocessos no se vido P ot4eus at av9s dos meios dis#onveis de integ a!o e conectividade no P ot4eus* Be aco do com a utili"a!o e com o meio de conectividade utili"ado, estas otinas so su/catego i"adas assim:

P P P P

og og og og

ama!o #o P ocessos ama!o de RP, ama!o 2e/ ama!o <elCet

Programao por Processos


Rotinas esc itas em AdvPl #odem se iniciadas como # ocessos individuais +sem inte (ace3 no P ot4eus 'e ve at av9s de duas manei as: ;niciadas #o out a otina AdvPl at av9s da c4amada de (un!:es como 'ta tDo/ ou ,allP oc ou iniciadas automaticamente na iniciali"a!o do P ot4eus 'e ve +6uando # o# iamente con(igu ado3*

Programao de RPC
At av9s de uma /i/lioteca de (un!:es dis#onvel no P ot4eus +uma AP; de comunica!o3, #ode>se e$ecuta otinas esc itas em AdvPl di etamente no P ot4eus 'e ve , at av9s de a#lica!:es e$te nas esc itas em out as linguagens* ;sto 9 o 6ue se c4ama de RP, +de Remote P ocedu e ,all, ou ,4amada de P ocedimentos Remota3* . se vido P ot4eus tam/9m #ode e$ecuta otinas em AdvPl em out os se vido es P ot4eus at av9s de cone$o <,P/;P di eta utili"ando o conceito de RP,* Bo mesmo modo, a#lica!:es e$te nas #odem e6uisita a e$ecu!o de otinas esc itas em AdvPl at av9s de cone$o <,P/;P di eta*

Programao We
. P ot4eus 'e ve #ode tam/9m se e$ecutado como um se vido 2e/, es#ondendo a e6uisi!:es E<<P* Co momento destas e6uisi!:es, #ode e$ecuta otinas esc itas em AdvPl como # ocessos individuais, enviando o esultado das (un!:es como eto no das e6uisi!:es #a a o cliente E<<P +como #o e$em#lo um % o)se de ;nte net3* =ual6ue otina esc ita em AdvPl 6ue no conten4a comandos de inte (ace #ode se e$ecutada at av9s de e6uisi!:es E<<P* . P ot4eus #e mite a com#ila!o de a 6uivos E<&L contendo c7digo AdvPl em/utido* 'o os c4amados a 6uivos AdvPl A'P, #a a a c ia!o de #5ginas dinFmicas*

Programao !el"et
<elCet 9 #a te da gama de # otocolos <,P/;P 6ue #e mite a cone$o a um com#utado emoto at av9s de uma a#lica!o cliente deste # otocolo* . P ot4eus 'e ve #ode emula um te minal <elCet, at av9s da e$ecu!o de otinas esc itas em AdvPl* .u se0a, #ode>se esc eve otinas AdvPl cu0a inte (ace (inal se 5 um te minal <elCet ou um coleto de dados m7vel*

Classes da Interface #isual tSrv$ %ect


Reviso: 22/02/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

,lasse me de todas as classes de inte (ace*

Caracter&sticas
,lasse a/st ata inicial de todas as classes de inte (ace do Adv#l* Co deve se instanciada di etamente*

Propriedades
P o# iedade nLe(t n<o# n2idt4 nEeig4t c,a#tion c<oolti# <i#o Cum9 ico* Cum9 ico* Cum9 ico* Cum9 ico* ,a acte e* ,a acte e* Besc i!o ,oo denada 4o i"ontal em #i$els* ,oo denada ve tical em #i$els* La gu a em #i$els* Altu a em #i$els* <tulo ou conteJdo do o/0eto* &ensagem e$i/ida 6uando o/0eto e$i/e seu toolti#* 1lag 6ue ativa *<* ou desativa *1* a e$i/i!o do toolti# do o/0eto* &ensagem e$i/ida na /a a de status da 0anela # inci#al 6uando o o/0eto gan4a (oco* ,o do te$to do o/0eto* ,o do (undo do o/0eto* 8$ecutado 6uando 45 movimenta!o de (oco na 0anela*'e eto na *<* o o/0eto continua 4a/ilitado, se eto na *1* o o/0eto se 5 desa/ilitado* 8$ecutado 6uando o conteJdo do o/0eto 9 modi(icado e deve 5 se validado* Beve eto na *<* se o conteJdo 9 v5lido e *1* se conteJdo inv5lido* 8$ecutado 6uando acionado clicA do /oto es6ue do do mouse so/ e o o/0eto* 8$ecutado 6uando acionado clicA do /oto di eito do mouse

l'4o)Eint L7gico* c&sg n,l <e$t n,l Pane /24en /-alid /l,licAed / ,licAed ,a acte e* Cum9 ico* Cum9 ico* %loco de c7digo* %loco de c7digo* %loco de c7digo* %loco de

c7digo* %loco de /lB/l,licA c7digo* o2nd ./0eto* l-isi/le %ooleano* ./0eto ou ,a go va i5vel* %loco de /Lost1ocus c7digo* %loco de /Kot1ocus c7digo*

so/ e o o/0eto* 8$ecutado 6uando acionado du#lo clicA do /oto es6ue do do mouse so/ e o o/0eto* Danela onde o o/0eto (oi c iado* 'e *<* o o/0eto 9 visvel, se *1* o o/0eto 9 invisvel* ,onteJdo associado ao o/0eto* 8$ecutado 6uando o/0eto #e de (oco* 8$ecutado 6uando o/0eto gan4a (oco*

'(todos

Set)ocus
'inta$e 'et1ocus+ 3 Besc i!o 1o !a o (oco de ent ada de dados muda #a a o o/0eto* Reto no C;L

*ide
'inta$e Eide+ 3 Besc i!o <o na o/0eto invisvel* Reto no C;L

S+o,
'inta$e '4o)+ 3 Besc i!o <o na o/0eto visvel* Reto no C;L

-na le
'inta$e 8na/le+ 3 Besc i!o Ea/ilita o o/0eto* Reto no C;L

.isa le
'inta$e Bisa/le+ 3 Besc i!o Besa/ilita o o/0eto* Reto no C;L

Refres+
'inta$e Re( es4+ 3 1o !a atuali"a!o +sinc onia3 de # o# iedades ent e o # og ama e o Besc i!o P ot4eus Remote*

t)ont
Reviso: 23/02/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

,lasse 6ue enca#sula (onte de edi!o*

*ierar/uia
tFontAbs -> tFont

.escrio
Ltili"e o/0eto t1ont #a a modi(ica a (onte #ad o de cont oles visuais*

Propriedades
-ide classes ancest ais*

'(todos

"e,
.escrio &9todo const uto da classe* Ce)+MacCameN, MnPa 2N, ManEeig4tN, MlPa 4N, Mal%oldN, MnPa 6N, Sinta0e MlPa HN, MnPa IN, Mal;talicN, MalLnde lineN3 Par1metros Pa Fmet o <i#o / Besc i!o ,a acte e, o#cional* Come da (onte, o #ad o 9 acCame OA ialP* nPa 2 Rese vado* Cum9 ico, o#cional* <aman4o da (onte* . #ad o 9 anEeig4t >11* lPa 4 Rese vado* al%old L7gico, o#cional* 'e *<* o estilo da (onte se 5 neg ito* nPa 6 Rese vado* lPa H Rese vado*

nPa I al;talic

Rese vado* L7gico, o#cional* 'e *<* o estilo da (onte se 5 it5lico* L7gico, o#cional* 'e *<* o estilo da (onte se 5 alLnde line su/lin4ado*

Retorno

. o/0eto c iado*

-0emplo
#INCLUDE "PROTHEUS.CH" User Function Teste ! Loc"# oD#$% oS"& Loc"# oFont'( TFont !'Ne) "Courier Ne)"%%-*+%.T.! DEFINE ,SDIALO- oD#$ FRO, .%. TO /..%/.. TITLE ",& 0i"#o$" PI1EL 22 A3resent" o tS"& co4 " 5onte Courier Ne) oS"& '( TS"& !'Ne) *.% *.% 677 ",ens"$e4"8%oD#$%% oFont%%%% .T.% CLR9:HITE%CLR9RED ! 2; o co4"n0o "b"i<o 3ro3orcion" o 4es4o resu#t"0o = *.%*. SA> oS"& PRO,PT ",ens"$e4" FONT oFont COLOR CLR9:HITE%CLR9RED OF oD#$ PI1EL ;2 oS"&'#Tr"ns3"rent'( .F. ACTI?ATE ,SDIALO- oD#$ CENTERED Return

tControl
Reviso: 23/02/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

,lasse a/st ata me de todos os cont oles edit5veis*

*ierar/uia
tSr@ObAect -> tContro#

Caracter&sticas
t,ont ol 9 a classe comum ent e todos os com#onentes visuais edit5veis*

Propriedades
Come <i#o / Besc i!o Cum9 ico* Alin4amento do cont ole no es#a!o dis#oni/ili"ado #elo seu Align o/0eto #a ente* 0 Q Cen4um +#ad o3, 1Q no to#o, 2 Q no oda#9, 3Q a es6ue da, 4 Q a di eita e G Q em todo o #a ente* L7gico* 'e *<* indica 6ue o conteJdo da va i5vel associada ao cont ole (oi l&odi(ied modi(icado* L7gico* 'e *<* o conteJdo da va i5vel associada ao cont ole #e manece 5 lRead.nlR a#enas #a a leitu a* Cum9 ico* Eandle +identi(icado 3 do o/0eto so/ e o 6ual o cont ole (oi 4Pa ent c iado* %loco de c7digo* 8$ecutado 6uando o estado ou conteJdo do cont ole 9 /,4ange modi(icado #ela a!o so/ e o cont ole*

'(todos

Set)ocus
.escrio 1o !a mudan!a do (oco de ent ada de dados #a a o cont ole* Sinta0e 'et1ocus+ 3 R-torno C;L

t2utton
Reviso: 23/02/2003 A/ ang?ncia -e so G*0H ,lasse de /oto* -e so G*0I -e so 6*09 -e so H*10

*ierar/uia
tSr@ObAect -> tContro# -> tButton

.escrio
Ltili"e a classe t%utton #a a c ia um cont ole visual do ti#o /oto*

Propriedades
Come <i#o / Besc i!o lP ocessing L7gico* 'e *<* indica o /oto est5 e(etuando uma a!o* /Action %loco de c7digo* 8$ecutado 6uando o /oto 9 # essionado*

'(todos

"e,
.escrio &9todo const uto da classe* Ce)+ManRo)N, Man,olN, Mac,a#tionN, Mao2ndN, Ma/ActionN, Sinta0e Man2idt4N, ManEeig4tN, MnPa IN, Mao1ontN, MlPa 10N, MalPi$elN, MlPa 12N,McPa 13N, MlPa 14N, Ma/24enN, M/Pa 16N, MlPa 1HN3 Par1metros Pa Fmet o <i#o / Besc i!o Cum9 ico, o#cional* ,oo denada ve tical em #i$els ou anRo) ca ate es* Cum9 ico, o#cional* ,oo denada 4o i"ontal em #i$els an,ol ou ca acte es* ac,a#tion ,a acte e, o#cional* <itulo do /oto* ./0eto, o#cional* Danela ou cont ole onde o /oto ao2nd deve 5 se c iado* a/Action %loco de c7digo, o#cional* %loco 6ue deve 5 se

acionado 6uando o /oto (o # essionado* an2idt4 Cum9 ico, o#cional* La gu a do /oto em #i$els* anEeig4t Cum9 ico, o#cional* Altu a do /oto em #i$els* nPa I Rese vado* ./0eto, o#cional* ./0eto ti#o t1ont com # o# iedades ao1ont da (onte utili"ada #a a o ttulo do /oto* lPa 10 Rese vado* L7gico, o#cional* 'e *<* conside a as coo denadas alPi$el #assadas em #i$els, se *1* +#ad o3 conside a em ca acte es* lPa 12 Rese vado* cPa 13 Rese vado* lPa 14 Rese vado* %loco de c7digo, o#cional* 8$ecutado 6uando mudan!a de (oco de ent ada de dados est5 sendo e(etuada na a/24en 0anela onde o cont ole (oi c iado* . /loco deve eto na *<* se o cont ole deve #e manece 4a/ilitado ou *1* se no* /Pa 16 Rese vado* lPa 1H Rese vado*

-0emplo
#inc#u0e C3rotDeus.cDE User Function Teste-et ! Loc"# oD#$% oButton% oCo4bo% cCo4bo% "Ite4s'( 6Cite4*E%Eite4/E%Eite4FE8 cCo4bo'( "Ite4sG/H DEFINE ,SDIALO- oD#$ FRO, .%. TO F..%F.. PI1EL TITLE C,eu Co4boE oCo4bo'( tCo4boBo< !'Ne) *.%*.%67u7i5 PCount !>.%cCo4bo'(u%cCo4bo!8%I "Ite4s%*..%/.%oD#$%%677,s$Sto3 C,u0ou ite4E!8%%%%.T.%%%%%%%%%EcCo4boE! 22 BotJo 3"r" 5ecD"r " A"ne#" oButton'(tButton !'Ne) F.%*.%E5ecD"rE%oD#$%677 oD#$'En0 !8%*..%/.%%%%.T.! ACTI?ATE ,SDIALO- oD#$ CENTERED ,s$Sto3 CO @"#or K ELcCo4bo ! Return NIL

tC+ec32o0
Reviso: 23/02/2003

A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

,lasse de cai$a c4ecA/o$*

*ierar/uia
tSr@ObAect -> tContro# -> tCDecMBo<

.escrio
Ltili"e a classe t,4ecA/o$ 6uando dese0a c ia um cont ole 6ue #ossua dois estados *<* ou *1**

'(todos

"e,
.escrio &9todo const uto da classe* Ce)+ManRo)N, Man,olN, Mac,a#tionN, Ma/'etKetN, Mao2ndN, Man2idt4N, ManEeig4tN, MnPa IN, Ma/,licAN, Mao1ontN, Ma/-alidN, Sinta0e Man,l 1o eN, Man,l %acAN, MlPa 14N, MalPi$elN, McPa 16N, MlPa 1HN, Ma/24enN3 Par1metros Pa Fmet o <i#o / Besc i!o Cum9 ico, o#cional* ,oo denada ve tical em #i$els ou anRo) ca ate es* Cum9 ico, o#cional* ,oo denada 4o i"ontal em #i$els an,ol ou ca acte es* ac,a#tion ,a acte e, o#cional* <e$to e$i/ido #elo cont ole* %loco de c7digo, o#cional* %loco de c7digo no (o mato STuT i(+ Pcount+ 3U0, Vva U:Q u, Vva U 3 W 6ue o cont ole a/'etKet utili"a #a a atuali"a a va i5vel Vva U* Vva U deve se ti#o l7gico, se Vva U Q *<* ento o cont ole a#a ece 5 c4ecado* ./0eto, o#cional* Danela ou cont ole onde o cont ole ao2nd deve 5 se c iado* an2idt4 Cum9 ico, o#cional* La gu a do cont ole em #i$els* anEeig4t Cum9 ico, o#cional* Altu a do cont ole em #i$els* nPa I Rese vado* %loco de c7digo, o#cional* 8$ecutado 6uando o a/,licA cont ole clicA do /oto es6ue do do mouse 9 acionado so/ e o cont ole*

Retorno

./0eto, o#cional* ./0eto ti#o t1ont com # o# iedades da (onte utili"ada #a a o te$to do cont ole* %loco de c7digo, o#cional* 8$ecutado 6uando o conteJdo do cont ole deve se validado, deve a/-alid eto na *<* se o conteJdo (o v5lido e *1* 6uando o conteJdo (o inv5lido* an,l 1o e Cum9 ico, o#cional* ,o de (undo do cont ole* an,l %acA Cum9 ico, o#cional* ,o do te$to do cont ole* lPa 14 Rese vado* L7gico, o#cional* 'e *<* as coo denadas in(o madas so alPi$el em #i$els, se *1* so em ca acte es* cPa 16 Rese vado* lPa 1H Rese vado* %loco de c7digo, o#cional* 8$ecutado 6uando mudan!a de (oco de ent ada de dados est5 sendo e(etuada na a/24en 0anela onde o cont ole (oi c iado* . /loco deve eto na *<* se o cont ole deve #e manece 4a/ilitado ou *1* se no* . o/0eto const udo* ao1ont

-0emplo
#inc#u0e C3rotDeus.cDE User Function Teste ! Loc"# oD#$% oButton% oCDecM% #CDecM'(.F. DEFINE ,SDIALO- oD#$ FRO, .%. TO F..%F.. PI1EL TITLE C,eu 3ro$r"4"E oCDecM'( tCDecMBo< !'Ne) *.%*.%E5uncionouNE%I 67u7i5 3count !>.%#CDecM'(u%#CDecM!8I %oD#$%*..%/.%%%%%%%%.T.! oButton'(tButton !'Ne) F.%*.%E5ecD"rE%oD#$%677oD#$'En0 !8%I *..%/.%%%%.T.! ACTI?ATE ,SDIALO- oD#$ CENTERED I5 #CDecM ,s$Sto3 CFuncionouOE ! En0i5 Return NIL

tCom o2o0
Reviso: 23/02/2003 A/ ang?ncia -e so G*0H ,lasse de com/o/o$* -e so G*0I -e so 6*09 -e so H*10

*ierar/uia
tSr@ObAect -> tContro# -> tCo4boBo<

.escrio
Ltili"e a classe t,om/o%o$ #a a c ia uma ent ada de dados com mJlti#la escol4a com item de(inido em uma lista ve tical, acionada #o 14 ou #elo /oto es6ue do locali"ado na #a te di eita do cont ole* A va i5vel associada ao cont ole te 5 o valo de um dos itens selecionados ou no caso de uma lista inde$ada, o valo de seu ndice*

Propriedades
Come <i#o / Besc i!o A aR* Lista de itens, ca acte es, a se em e$i/idos* Pode te os seguintes a;tems (o matos: a3 'e6Xencial, e$em#lo: SOitem1P,Pitem2P,***,PitemCPW ou /3 ;nde$ada, e$em#lo: SOaQitem1P,P/Qitem2P, ***, OnQitemCPW* nAt Cum9 ico* Posi!o do item selecionado*

'(todos

"e,
.escrio &9todo const uto da classe* Ce)+ManRo)N, Man,olN, Ma/'etKetN, Man;temsN, Man2idt4N, ManEeig4tN, Mao2ndN, MnPa IN, Ma/,4angeN, Ma/-alidN, Man,l <e$tN, Sinta0e Man,l %acAN, MalPi$elN, Mao1ontN, McPa 1GN, MlPa 16N, Ma/24enN, MlPa 1IN, MaPa 19N, M/Pa 20N, McPa 21N, MacRead-a N3 Par1metros Pa Fmet o <i#o / Besc i!o Cum9 ico, o#cional* ,oo denada ve tical em #i$els ou anRo) ca acte es*

Retorno

Cum9 ico, o#cional* ,oo denada 4o i"ontal em #i$els ou ca acte es* %loco de c7digo, o#cional* %loco de c7digo no (o mato STuT i(+ Pcount+ 3U0, Vva U:Q u, Vva U 3 W 6ue o cont ole utili"a #a a atuali"a a va i5vel Vva U* Vva U deve se a/'etKet ti#o ca acte * 'e a lista (o se6Xencial, o cont ole atuali"a 5 Vva U com o conteJdo do item selecionado, se a lista (o inde$ada, Vva U se 5 atuali"ada com o valo do ndice do item selecionado* A aR, o#cional* Lista de items, ca acte es, a se em e$i/idos* Pode te os seguintes (o matos: a3 'e6Xencial, an;tems e$em#lo: SOitem1P,Pitem2P,***,PitemCPW ou /3 ;nde$ada, e$em#lo: SOaQitem1P,P/Qitem2P, ***, OnQitemCPW* an2idt4 Cum9 ico, o#cional* La gu a do cont ole em #i$els* anEeig4t Cum9 ico, o#cional* Altu a do cont ole em #i$els* ./0eto, o#cional* Danela ou cont ole onde o cont ole ao2nd se 5 c iado* nPa I Rese vado* %loco de c7digo, o#cional* 8$ecutado 6uando o a/,4ange cont ole modi(ica o item selecionado* %loco de c7digo, o#cional* 8$ecutado 6uando o conteJdo do cont ole deve se validado, deve a/-alid eto na *<* se o conteJdo (o v5lido e *1* 6uando o conteJdo (o inv5lido* an,l %acA Cum9 ico, o#cional* ,o de (undo do cont ole* an,l <e$t Cum9 ico, o#cional* ,o do te$to do cont ole* L7gico, o#cional* 'e *<* as coo denadas in(o madas so alPi$el em #i$els, se *1* so em ca acte es* ./0eto, o#cional* ./0eto ti#o t1ont utili"ado #a a ao1ont de(ini as ca acte sticas da (onte utili"ada #a a e$i/i o conteJdo do cont ole* cPa 1G Rese vado* lPa 16 Rese vado* %loco de c7digo, o#cional* 8$ecutado 6uando mudan!a de (oco de ent ada de dados est5 sendo e(etuada na a/24en 0anela onde o cont ole (oi c iado* . /loco deve eto na *<* se o cont ole deve #e manece 4a/ilitado ou *1* se no* lPa 1I Rese vado* aPa 19 Rese vado* /Pa 20 Rese vado* cPa 21 Rese vado* ,a acte e, o#cional* Come da va i5vel 6ue o cont ole deve 5 mani#ula , deve 5 se a mesma va i5vel acRead-a in(o mada no #a Fmet o a/'etKet, e se 5 o eto no da (un!o Read-a + 3* . o/0eto c iado* an,ol

Select
.escrio Sinta0e &uda o item selecionado no com/o/o$* 'elect+ Man;temN 3 Pa Fmet o <i#o / Besc i!o Par1metros an;tem Cum9 ico, o#cional* Posi!o do item a se selecionado* Retorno C;L

-0emplo
#inc#u0e C3rotDeus.cDE User Function Teste-et ! Loc"# oD#$% oButton% oCo4bo% cCo4bo% "Ite4s'( 6Cite4*E%Eite4/E%Eite4FE8 cCo4bo'( "Ite4sG/H DEFINE ,SDIALO- oD#$ FRO, .%. TO F..%F.. PI1EL TITLE C,eu Co4boE oCo4bo'( tCo4boBo< !'Ne) *.%*.%67u7i5 PCount !>.%cCo4bo'(u%cCo4bo!8%I "Ite4s%*..%/.%oD#$%%677,s$Sto3 C,u0ou ite4E!8%I %%%.T.%%%%%%%%%EcCo4boE! 22 BotJo 3"r" 5ecD"r " A"ne#" = +.%*. BUTTON oButton PRO,PT CFecD"rE OF oD#$ PI1EL ACTION oD#$'En0 ! ACTI?ATE ,SDIALO- oD#$ CENTERED ,s$Sto3 CO @"#or K ELcCo4bo !

Return NIL

t4et
Reviso: 23/02/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

,lasse de cont ole #a a ent ada de dados edit5veis*

*ierar/uia
tSr@ObAect -> tContro# -> t-et

.escrio
Lse tKet #a a c ia um cont ole 6ue a ma"ene ou alte e o conteJdo de uma va i5vel at av9s de digita!o* . conteJdo da va i5vel s7 9 modicado 6uando o cont ole #e de o (oco de edi!o #a a out o cont ole*

Propriedades
Come <i#o / Besc i!o L7gico* 'e *<* o cont ole se com#o ta como ent ada de dados de sen4a, lPass)o d e$i/indo aste iscos YZ[ #a a esconde o conteJdo digitado* Pictu e ,a acte e* &5sca a de (o mata!o do conteJdo a se e$i/ido*

'(todos

"e,
.escrio &9todo const uto do cont ole* Ce)+ManRo)N, Man,olN, Ma/'etKetN, Mao2ndN, Man2idt4N, ManEeig4tN, MacPictN, Ma/-alidN, Man,l 1o eN, Man,l %acAN, Mao1ontN, Sinta0e MlPa 12N, MoPa 13N, MalPi$elN, McPa 1GN, MlPa 16N, Ma/24enN, MlPa 1IN, MlPa 19N, Ma/,4angeN, MalRead.nlRN, MalPass)o dN, McPa 23N, MacRead-a N, McPa 2GN, MlPa 26N, MnPa 2HN, MlPa 2IN3 Par1metros Pa Fmet o <i#o / Besc i!o Cum9 ico, o#cional* ,oo denada ve tical em #i$els ou anRo) ca acte es* an,ol Cum9 ico, o#cional* ,oo denada 4o i"ontal em #i$els

a/'etKet ao2nd an2idt4 anEeig4t acPict a/-alid an,l 1o e an,l %acA ao1ont lPa 12 oPa 13 alPi$el cPa 1G lPa 16 a/24en lPa 1I lPa 19 a/,4ange alRead.nlR alPass)o d cPa 23 acRead-a cPa 2G lPa 26

ou ca acte es* %loco de c7digo, o#cional* %loco de c7digo no (o mato STuT i(+ Pcount+ 3U0, Vva U:Q u, Vva U 3 W 6ue o cont ole utili"a #a a atuali"a a va i5vel Vva U* Vva U deve se ti#o ca acte , num9 ico ou data* ./0eto, o#cional* Danela ou cont ole onde o cont ole se 5 c iado* Cum9 ico, o#cional* La gu a do cont ole em #i$els* Cum9 ico, o#cional* Altu a do cont ole em #i$els* ,a acte e, o#cional* &5sca a de (o mata!o do conteJdo a se e$i/ido* %loco de c7digo, o#cional* 8$ecutado 6uando o conteJdo do cont ole deve se validado, deve eto na *<* se o conteJdo (o v5lido e *1* 6uando o conteJdo (o inv5lido* Cum9 ico, o#cional* ,o de (undo do cont ole* Cum9 ico, o#cional* ,o do te$to do cont ole* ./0eto, o#cional* ./0eto ti#o t1ont utili"ado #a a de(ini as ca acte sticas da (onte utili"ada #a a e$i/i o conteJdo do cont ole* Rese vado* Rese vado* L7gico, o#cional* 'e *<* as coo denadas in(o madas so em #i$els, se *1* so em ca acte es* Rese vado* Rese vado* %loco de c7digo, o#cional* 8$ecutado 6uando mudan!a de (oco de ent ada de dados est5 sendo e(etuada na 0anela onde o cont ole (oi c iado* . /loco deve eto na *<* se o cont ole deve #e manece 4a/ilitado ou *1* se no* Rese vado* Rese vado* %loco de c7digo, o#cional* 8$ecutado 6uando o cont ole modi(ica o valo da va i5vel associada* L7gico, o#cional* 'e *<* o cont ole no #ode 5 se editado* L7gico, o#cional* 'e *<* o cont ole e$i/i 5 aste iscos OZP no luga dos ca acte es e$i/idos #elo cont ole #a a simula ent ada de sen4a* Rese vado* ,a acte e, o#cional* Come da va i5vel 6ue o cont ole deve 5 mani#ula , deve 5 se a mesma va i5vel in(o mada no #a Fmet o a/'etKet, e se 5 o eto no da (un!o Read-a + 3* Rese vado* Rese vado*

Retorno

nPa 2H Rese vado* lPa 2I Rese vado* . cont ole const udo*

-0emplo
#inc#u0e C3rotDeus.cDE User Function Teste-et ! Loc"# oD#$% o-et*% oButton% n-et*'(. DEFINE ,SDIALO- oD#$ FRO, .%. TO F..%F.. PI1EL TITLE C,eu -etE o-et*'( T-et !'Ne) *.%*.%67u7 i5 PCount !>.%n-et*'(u%n-et*88% oD#$%I *..%/.%E=E PPP%PPP.PPE%I 67o7n-et*>*......8%%%%%%.T.%%%%%%%%%%En-et*E! 2; Te4 o 4es4o e5eito = *.%*. ,S-ET o-et* ?AR n-et* SIQE *..%/. OF oD#$ PI1EL PICTURE C=E PPP%PPP.PPE ?ALID n-et*>*...... ;2 22 BotJo 3"r" 5ecD"r " A"ne#" = +.%*. BUTTON oButton PRO,PT CFecD"rE OF oD#$ PI1EL ACTION oD#$'En0 ! ACTI?ATE ,SDIALO- oD#$ CENTERED ,s$Sto3 CO @"#or K ELTr"ns5or4 n-et*%E=E PPP%PPP...E! !

Return NIL

t4roup
Reviso: 23/02/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

,lasse de #ainel de g u#o de cont oles*

*ierar/uia
tSr@ObAect -> tContro# -> t-rou3

.escrio
Ltili"e a classe tK ou# #a a c ia um #ainel onde cont oles visuais #odem se ag u#ados ou classi(icados* \ c iada uma /o da com ttulo em volta dos cont oles ag u#ados*

'(todos

"e,
.escrio &9todo const uto da classe* Ce)+Man<o#N, ManLe(tN, Man%ottomN, ManRig4tN, Mac,a#tionN, Sinta0e Mao2ndN, Man,l <e$tN, Man,l PaneN, MalPi$elN, MlPa 10N3 Par1metros Pa Fmet o <i#o / Besc i!o Cum9 ico, o#cional* ,oo denada ve tical su#e io em an<o# #i$els ou ca acte es* Cum9 ico, o#cional* ,oo denada 4o i"ontal es6ue da anLe(t em #i$els ou ca acte es* Cum9 ico, o#cional* ,oo denada ve tical in(e io em an%ottom #i$els ou ca acte es* Cum9 ico, o#cional* ,oo denada 4o i"ontal di eita em anRig4t #i$els ou ca acte es* ac,a#tion ,a acte e, o#cional* <tulo do g u#o* ./0eto, o#cional* Danela ou cont ole onde o cont ole ao2nd se 5 c iado* an,l <e$t Cum9 ico, o#cional* ,o do te$to* an,l Pane Cum9 ico, o#cional* ,o do (undo* alPi$el L7gico, o#cional* 'e *<* as coo denadas in(o madas so

Retorno

em #i$els, se *1* so em ca acte es* lPa 10 Rese vado* . o/0eto c iado*

-0emplo
#inc#u0e C3rotDeus.cDE User 5unction teste ! Loc"# oD#$% o-rou3% o-et*% o-et/% c-et*'(S3"ce *.!%I c-et/'( S3"ce *.! DEFINE ,SDIALO- oD#$ FRO, .%. TO +..%+.. TITLE C,& testE PI1EL o-rou3'( t-rou3 !'Ne) *.%*.%/..%/..%E$ru3o 0e $etsE%oD#$%%%.T.! = *.%*. ,S-ET o-et* ?AR c-et* SIQE *..%*. OF o-rou3 PI1EL = F.%*. ,S-ET o-et/ ?AR c-et/ SIQE *..%*. OF o-rou3 PI1EL ACTI?ATE ,SDIALO- oD#$ CENTERED Return NIL

tList2o0
Reviso: 23/02/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

,lasse de lista de items*

*ierar/uia
tSr@ObAect -> tContro# -> tListbo<

.escrio
Ltili"e a classe tList/o$ #a a c ia uma 0anela com itens selecion5veis e /a a de olagem* Ao seleciona um item, uma va i5vel 9 atuali"ada com o conteJdo do item selecionado*

Propriedades
Come <i#o / Besc i!o nAt Cum9 ico* Posi!o do item selecionado* a;tems A aR de items ca acte es* Lista do itens selecion5veis*

'(todos

"e,
.escrio &9todo const uto da classe* Ce)+ManRo)N, Man,olN, Ma/'etKetN, Maa;temsN, Man2idt4N, ManEeigt4N, Ma/,4angeN, Mao2ndN, Ma/-alidN, Man,l 1o eN, Sinta0e Man,l %acAN, MalPi$elN, MlPa 13N, Ma/LB%L,licAN, Mao1ontN, McPa 16N, MlPa 1HN, Ma/24enN, MaPa 19N, M/Pa 20N, MlPa 21N, MlPa 22N, Ma/Rig4t,licAN 3 Par1metros Pa Fmet o <i#o / Besc i!o Cum9 ico, o#cional* ,oo denada ve tical em #i$els anRo) ou ca acte es* Cum9 ico, o#cional* ,oo denada 4o i"ontal em an,ol #i$els ou ca acte es*

Retorno

%loco de c7digo, o#cional* %loco de c7digo no (o mato STuT i(+ Pcount+ 3U0, Vva U:Q u, Vva U 3W a/'etKet 6ue o cont ole utili"a #a a atuali"a a va i5vel Vva U* Vva U deve se ti#o ca acte ou num9 ica* A aR de items ca acte es, o#cional* Lista de items aa;tems selecion5veis* an2idt4 Cum9 ico, o#cional* La gu a do cont ole em #i$els* anEeig4t Cum9 ico, o#cional* Altu a do cont ole em #i$els* %loco de c7digo, o#cional* 8$ecutado 6uando o a/,4ange item selecionado 9 alte ado* ./0eto, o#cional* Danela ou cont ole onde o cont ole ao2nd se 5 c iado* %loco de c7digo, o#cional* 8$ecutado 6uando o conteJdo do cont ole deve se validado, deve a/-alid eto na *<* se o conteJdo (o v5lido e *1* 6uando o conteJdo (o inv5lido* an,l 1o e Cum9 ico, o#cional* ,o de (undo do cont ole* an,l %acA Cum9 ico, o#cional* ,o do te$to do cont ole* L7gico, o#cional* 'e *<* as coo denadas in(o madas alPi$el so em #i$els, se *1* so em ca acte es* lPa 13 Rese vado* %loco de c7digo, o#cional* 8$ecutado 6uando a/LB%L,licA acionado du#lo clicA do /oto es6ue do do mouse so/ e o cont ole* ./0eto, o#cional* ./0eto ti#o t1ont utili"ado #a a ao1ont de(ini as ca acte sticas da (onte utili"ada #a a e$i/i o conteJdo do cont ole* cPa 16 Rese vado* lPa 1H Rese vado* %loco de c7digo, o#cional* 8$ecutado 6uando mudan!a de (oco de ent ada de dados est5 sendo a/24en e(etuada na 0anela onde o cont ole (oi c iado* . /loco deve eto na *<* se o cont ole deve #e manece 4a/ilitado ou *1* se no* aPa 19 Rese vado* /Pa 20 Rese vado* lPa 21 Rese vado* lPa 22 Rese vado* %loco de c7digo, o#cional* 8$ecutado 6uando a/Rig4t,licA acionado clicA do /oto di eito do mouse so/ e o cont ole* . o/0eto c iado*

Select
.escrio 1o !a a sele!o de um item* Sinta0e 'elect+ Man;temN 3 Par1metros Pa Fmet o <i#o / Besc i!o

Retorno

n;tem C;L

Cum9 ico, o#cional* Posi!o do item a se selecionado*

Add
.escrio Sinta0e ;nse e ou adiciona novo item* Add+ c<e$t, nPos 3 Pa Fmet o <i#o / Besc i!o c<e$t ,a acte e, o/ igat7 io* <e$to do item* Cum9 ico, o/ igat7 io* 'e 0 ou maio 6ue o nJme o de Par1metros itens, inse e o item no (inal da lista* 'e valo ent e 1 e nPos nJme o de itens, inse e o item na #osi!o in(o mada, em#u ando o item ante io #a a /ai$o* Retorno C;L

'odif5
.escrio Sinta0e &odi(ica o te$to de um item* &odi(R+ c<e$t, nPos 3 Pa Fmet o <i#o / Besc i!o c<e$t ,a acte e, o/ igat7 io* Covo te$to do item* Par1metros Cum9 ico, o/ igat7 io* Posi!o a se modi(icada deve nPos se maio 6ue 0 e meno ou igual 6ue o nJme o de itens* Retorno C;L

.el
.escrio Sinta0e A#aga um item* Bel+ nPos 3 Pa Fmet o <i#o / Besc i!o Par1metros Cum9 ico, o/ igat7 io* Posi!o a se e$cluida, deve se nPos maio 6ue 0 e meno ou igual 6ue o nJme o de itens* Retorno C;L

Len
.escrio Reto na o nJme o de itens* Sinta0e Len+ 3 Retorno Cum9 ico* CJme o de itens*

Reset
.escrio A#aga todos os itens* Sinta0e Reset+ 3 Retorno C;L

-0emplo

#inc#u0e C3rotDeus.cDE User Funcion Teste ! Loc"# oD#$% oList% nList'( *% "Ite4s'(68 A"00 A"00 A"00 A"00 "Ite4s%EIte4 "Ite4s%EIte4 "Ite4s%EIte4 "Ite4s%EIte4 *E! /E! FE! +E!

DEFINE ,SDIALO- oD#$ FRO, .%. TO +..%+.. PI1EL TITLE CTesteE oList'( tListBo< !'Ne) *.%*.%67u7i5 Pcount !>.%nList'(u%nList!8I %"Ite4s%*..%*..%%oD#$%%%%.T.! ACTI?ATE ,SDIALO- oD#$ CENTERED Return NIL

t'eter
Reviso: 23/02/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

,lasse de 9gua de # ocessamento*

*ierar/uia
tSr@ObAect -> tContro# -> t,eter

.escrio
Ltili"e a classe t&ete #a a c ia um cont ole 6ue e$i/e uma 9gua +gauge3 de # ocessamento, desc evendo o andamento de um # ocesso at aves da e$i/i!o de uma /a a 4o i"ontal*

Propriedades
Come <i#o / Besc i!o Cum9 ico* CJme o total de #assos at9 o # eenc4imento da 9gua de n<otal # ocesso* lPe centage L7gico* 'e *<* conside a o #asso de movimenta!o em #o centagem* n,l %a Cum9 ico* ,o da /a a de andamento*

'(todos

"e,
.escrio &9todo const uto da classe* Ce)+ManRo)N, Man,olN, Ma/'etKetN, Man<otalN, Mao2ndN, Man2idt4N, Sinta0e ManEeig4tN, MlPa IN, MalPi$elN, MoPa 10N, McPa 11N, MalCoPe cN, Man,l PaneN, MnPa 14N, Man,l %a N, MnPa 16N, MlPa 1HN3 Par1metros Pa Fmet o <i#o / Besc i!o Cum9 ico, o#cional* ,oo denada ve tical em #i$els ou anRo) ca acte es* Cum9 ico, o#cional* ,oo denada 4o i"ontal em #i$els an,ol ou ca acte es*

Retorno

%loco de c7digo, o#cional* %loco de c7digo no (o mato STuT i(+ Pcount+ 3U0, Vva U:Q u, Vva U 3 W 6ue o cont ole a/'etKet utili"a #a a atuali"a a va i5vel Vva U* Vva U deve se ti#o num9 ico* Cum9 ico, o#cional* Cume o total de #assos at9 o an<otal # eenc4imento da 9gua de # ocesso* ./0eto, o#cional* Danela ou cont ole onde o cont ole ao2nd se a c iado* an2idt4 Cum9 ico, o#cional* La gu a do cont ole em #i$els* anEeig4t Cum9 ico, o#cional* Altu a do cont ole em #i$els* lPa I Rese vado* L7gico, o#cional* 'e *<* as coo denadas in(o madas so alPi$el em #i$els, se *1* so em ca acte es* oPa 10 Rese vado* cPa 11 Rese vado* L7gico, o#cional* 'e *<* +#ad o3 no conside a os alCoPe c #assos de atuali"a!o em #o centagem* an,l Pane Cum9 ico, o#cional* ,o de (undo do cont ole* nPa 14 Rese vado* an,l %a Cum9 ico, o#cional* ,o da /a a de andamento* nPa 16 Rese vado* lPa 1H Rese vado* . o/0eto c iado*

Set
.escrio Sinta0e Atuali"a a #osi!o da 9gua de # ocessamento* 'et+ Mn-alN 3 Pa Fmet o <i#o / Besc i!o Par1metros Cum9 ico, o#cional* Covo valo da #osi!o da 9gua de n-al # ocessamento* Retorno C;L

-0emplo
#inc#u0e C3rotDeus.cDE STATIC #Runnin$'(.F.% #Sto3'(.F. User Function Teste ! Loc"# oD#$% o,eter% n,eter'(.% oBtn*% oBtn/ DEFINE ,SDIALO- oD#$ FRO, .%. TO +..%+.. TITLE CTesteE o,eter'( t,eter !'Ne) *.%*.%67u7i5 Pcount !>.%n,eter'(u%n,eter!8I %*..%oD#$%*..%/.%%.T.! 22 cri" " rK$u" 22 botJo 3"r" "ti@"r "n0"4ento 0" rK$u"

= F.%*. BUTTON oBtn* PRO,PT CRunE OF oD#$ PI1EL ACTION Run,eter o,eter! = R.%*. BUTTON oBtn/ PRO,PT CSto3E OF oD#$ PI1EL ACTION #Sto3'(.T. ACTI?ATE ,SDIALO- oD#$ CENTERED Return NIL

STATIC Function Run,eter o,eter! I5 #Runnin$ Return En0i5 #Runnin$'( .T. o,eter'Set .! 22 inici" " rK$u" :Di#e .T. ."n0. O#Sto3 S#ee3 *...! 22 3Sr" * se$un0o Process,ess"$es ! 22 "tu"#iT" " 3intur" 0" A"ne#"% 3rocess" 4ens"$ens 0o )in0o)s nCurrent'( E@"# o,eter'bSet-et! 22 3e$" @"#or corrente 0" rK$u" nCurrentL(*. 22 "tu"#iT" rK$u" o,eter'Set nCurrent! i5 nCurrent((o,eter'nTot"# Return en0i5 En00o #Runnin$'( .F. #Sto3'( .F. Return

t'ulti4et
Reviso: 23/02/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

,lasse de cam#o &emo de edi!o*

*ierar/uia
tSr@ObAect -> tContro# -> t,u#ti-et

.escrio
Ltili"e a classe t&ultiget #a a c ia cont ole de edi!o de te$to de mJlti#las lin4as*

Propriedades
Come <i#o / Besc i!o l2o d2 a# L7gico* 'e *<*, (a" 6ue/ a autom5tica de lin4as*

'(todos

"e,
.escrio &9todo const uto da classe* Ce)+ManRo)N, Man,olN, Ma/'etKetN, Mao2ndN, Man2idt4N, ManEeig4tN, Mao1ontN, MalE'c ollN, Man,l 1o eN, Man,l %acAN, Sinta0e MoPa 11N, MalPi$elN, McPa 13N, MlPa 14N, Ma/24enN, MlPa 16N, MlPa 1HN, MalRead.nlRN, Ma/-alidN, M/Pa 20N, MlPa 21N, MalCo%o de N, MalCo-'c ollN3 Pa Fmet o <i#o / Besc i!o Cum9 ico, o#cional* ,oo denada ve tical em #i$els anRo) ou ca acte es* Cum9 ico, o#cional* ,oo denada 4o i"ontal em #i$els an,ol Par1metros ou ca acte es* %loco de c7digo, o#cional* %loco de c7digo no (o mato STuT i(+ Pcount+ 3U0, Vva U:Q u, Vva U 3 W 6ue a/'etKet o cont ole utili"a #a a atuali"a a va i5vel Vva U* Vva U deve se ti#o ca acte *

Retorno

./0eto, o#cional* Danela ou cont ole onde o cont ole se 5 c iado* an2idt4 Cum9 ico, o#cional* La gu a do cont ole em #i$els* anEeig4t Cum9 ico, o#cional* Altu a do cont ole em #i$els* ./0eto, o#cional* ./0eto ti#o t1ont utili"ado #a a ao1ont de(ini as ca acte sticas da (onte utili"ada #a a e$i/i o conteJdo do cont ole* L7gico, o#cional* 'e *<*, 4a/ilita /a a de olagem alE'c oll 4o i"ontal* an,l 1o e Cum9 ico, o#cional* ,o de (undo do cont ole* an,l %acA Cum9 ico, o#cional* ,o do te$to do cont ole* oPa 11 Rese vado* L7gico, o#cional* 'e *<* as coo denadas in(o madas alPi$el so em #i$els, se *1* so em ca acte es* cPa 13 Rese vado* lPa 14 Rese vado* %loco de c7digo, o#cional* 8$ecutado 6uando mudan!a de (oco de ent ada de dados est5 sendo a/24en e(etuada na 0anela onde o cont ole (oi c iado* . /loco deve eto na *<* se o cont ole deve #e manece 4a/ilitado ou *1* se no* lPa 16 Rese vado* lPa 1H Rese vado* L7gico, o#cional* 'e *<* o cont ole so #e miti a alRead.nlR leitu a* %loco de c7digo, o#cional* 8$ecutado 6uando o conteJdo do cont ole deve se validado, deve eto na a/-alid *<* se o conteJdo (o v5lido e *1* 6uando o conteJdo (o inv5lido* /Pa 20 Rese vado* lPa 21 Rese vado* alCo%o de L7gico, o#cional* 'e *<* c ia cont ole sem /o da* L7gico, o#cional* 'e *<*, 4a/ilita /a a de olagem alCo-'c oll ve tical* . o/0eto c iado* ao2nd

-na le#Scroll
.escrio Sinta0e Ea/ilita a /a a de olagem ve tical* 8na/le-'c oll+ l8na/le 3 Pa Fmet o <i#o / Besc i!o Par1metros L7gico, o/ igat7 io* 'e *<* 4a/ilita se *1* desa/ilita a l8na/le /a a de olagem* Retorno C;L

-na le*Scroll

.escrio Sinta0e

Ea/ilita a /a a de olagem 4o i"ontal* 8na/leE'c oll+ l8na/le 3 Pa Fmet o <i#o / Besc i!o Par1metros L7gico, o/ igat7 io* 'e *<* 4a/ilita se *1* desa/ilita a l8na/le /a a de olagem* Retorno C;L

-0emplo
#inc#u0e C3rotDeus.cDE User Function Teste ! Loc"# oD#$% o,e4o% c,e4o'( s3"ce R.! DEFINE ,SDIALO- oD#$ FRO, .%. TO +..%+.. PI1EL TITLE C,& testE o,e4o'( t,u#ti$et !'Ne) *.%*.%67u7i5 Pcount !>.%c,e4o'(u%c,e4o!8I %oD#$%*..%*..%%%%%%.T.! = /..%*. BUTTON oBtn PRO,PT CFecD"E OF oD#$ PI1EL ACTION oD#$'En0 ! ACTI?ATE ,SDIALO- oD#$ CENTERED ,s$Sto3 c,e4o! Return NIL

tPanel
Reviso: 23/02/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

,lasse de #ainel est5tico*

*ierar/uia
tSr@ObAect -> tContro# -> tP"ne#

.escrio
Ltili"e a classe tPanel 6uando dese0a c ia um #ainel est5tico, onde #odem se c iados out os cont oles com o o/0etivo de o gani"a ou ag u#a com#onentes visuais*

'(todos

"e,
.escrio &9todo const uto da classe* Ce)+ManRo)N, Man,olN, Mac<e$tN, Mao2ndN, Mao1ontN, Mal,ente edN, Sinta0e MlPa 6N, Man,l <e$tN, Man,l %acAN, Man2idt4N, ManEeig4tN, MalLo)e edN, MalRaisedN3 Par1metros Pa Fmet o <i#o / Besc i!o anRo) Cum9 ico, o#cional* ,oo denada ve tical em #i$els* an,ol Cum9 ico, o#cional* ,oo denada 4o i"ontal em #i$els* ac<e$t ,a acte e, o#cional* <e$to a se e$i/ido ao (undo* ./0eto, o#cional* Danela ou cont ole onde se 5 c iado o ao2nd o/0eto* L7gico, o#cional* 'e *<* e$i/e o te$to de ttulo ao al,ente ed cent o do cont ole* lPa 6 Rese vado* an,l <e$t Cum9 ico, o#cional* ,o do te$to do cont ole* an,l %acA Cum9 ico, o#cional* ,o do (undo do cont ole* an2idt4 Cum9 ico, o#cional* La gu a do cont ole em #i$els* anEeig4t Cum9 ico, o#cional* Altu a do cont ole em #i$els* alLo)e ed L7gico, o#cional* 'e *<* e$i/e o #ainel e/ai$ado em

Retorno

ela!o ao cont ole de (undo* L7gico, o#cional* 'e *<* e$i/e a /o da do cont ole alRaised e/ai$ada em ela!o ao cont ole de (undo* . o/0eto c iado*

-0emplo
#inc#u0e C3rotDeus.cDE User Function Teste ! Loc"# oD#$% oP"ne#% oBtn*% oBtn/ DEFINE ,SDIALO- oD#$ FRO, .%. TO +..%+.. PI1EL TITLE C,& testE oP"ne#'( tP"ne# !'Ne) *.%*.%EE%oD#$%%%%%CLR9BLUE%*..%*..! 22 cri" o 3"ine# = *.%*. BUTTON oBtn* PRO,PT CDi0eE OF oP"ne# ACTION oP"ne#'Hi0e ! 22 cri" botJo sobre o 3"ine# = /..%*. BUTTON oBtn/ PRO,PT CsDo)E OF oD#$ ACTION oP"ne#'SDo) ! 22 cri" botJo 5or" o 3"ine# ACTI?ATE ,SDIALO- oD#$ CENTERED Return

tRad'enu
Reviso: 23/02/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

,lasse de adio g ou#*

*ierar/uia
tSr@ObAect -> tContro# -> tR"0,enu

.escrio
Ltili"e a classe tRad&enu #a a c ia um cont ole 6ue #ossi/ilita escol4a de item at av9s de uma lista*

Propriedades
Come <i#o / Besc i!o n.#tion Cum9 ico* ;tem selecionado* a;tems A aR de ca acte es* Lista de items selecion5veis*

'(todos

"e,
.escrio &9todo const uto da classe* Ce)+ManRo)N, Man,olN, Maac;temsN, Ma/'etKetN, Mao2ndN, MaPa 6N, Sinta0e Ma/,4angeN, Man,l <e$tN, Man,l PanN, McPa 10N, MlPa 11N, Ma/24enN, Man2idt4N, ManEeig4tN, Ma/-alidN, MlPa 16N, MlPa 1HN, MalPi$elN3 Par1metros Pa Fmet o <i#o / Besc i!o Cum9 ico, o#cional* ,oo denada ve tical em #i$els ou anRo) ca acte es* Cum9 ico, o#cional* ,oo denada 4o i"ontal em #i$els an,ol ou ca acte es* aac;tems A aR de ca acte es, o#cional* Lista de o#!:es* a/'etKet %loco de c7digo, o#cional* %loco de c7digo no (o mato STuT i(+ Pcount+ 3U0, Vva U:Q u, Vva U 3 W 6ue o cont ole

ao2nd aPa 6 a/,4ange an,l <e$t an,l Pan cPa 10 lPa 11 a/24en an2idt4 anEeig4t a/-alid lPa 16 L#a 1H alPi$el Retorno

. o/0eto c

utili"a #a a atuali"a a va i5vel Vva U* Vva U deve se ti#o num9 ico* ./0eto, o#cional* Danela ou cont ole onde o cont ole se 5 c iado* Rese vado* %loco de c7digo, o#cional* 8$ecutado 6uando o item selecionado 9 alte ado* Cum9 ico, o#cional* ,o do te$to do cont ole Cum9 ico, o#cional* ,o de (undo do cont ole* Rese vado* Rese vado* %loco de c7digo, o#cional* 8$ecutado 6uando mudan!a de (oco de ent ada de dados est5 sendo e(etuada na 0anela onde o cont ole (oi c iado* . /loco deve eto na *<* #a a 6ue o cont ole #e mane!a 4a/ilitado, ou *1* se no* Cum9 ico, o#cional* La gu a do cont ole em #i$els* Cum9 ico, o#cional* Altu a do cont ole em #i$els* %loco de c7digo, o#cional* 8$ecutado 6uando o conteJdo do cont ole deva se validado, eto nando *<* se o conteJdo (o v5lido, e *1* 6uando inv5lido* Rese vado* Rese vado* L7gico, o#cional* 'e *<* as coo denadas in(o madas so em #i$els, se *1* so em ca acte es* iado*

-na leItem
.escrio Sinta0e Ea/ilita ou desa/ilita item* 8na/le;tem+ Mn;temN, Ml8na/leN3 Pa Fmet o <i#o / Besc i!o n;tem Cum9 ico, o#cional* ;tem selecionado* Par1metros L7gico, o#cional* 'e *<* 4a/ilita o item se *1* desa/ilita l8na/le o item* Retorno C;L

-0emplo
#inc#u0e C3rotDeus.cDE User Function Teste ! Loc"# oD#$% oButton% oR"0io% nR"0io'(* Loc"# "O3tions'(6Cesco#D"*E%Eesco#D"/E8 DEFINE ,SDIALO- oD#$ FRO, .%. TO F..%F.. PI1EL TITLE C,eu -etE

oR"0io'( tR"0,enu !'Ne) *.%*.%"O3tions%I 67u7i5 PCount !>.%nR"0io'(u%nR"0io!8%I oD#$%%%%%%%%*..%/.%%%%.T.! = +.%*. BUTTON oButton PRO,PT CFecD"rE OF oD#$ PI1EL ACTION oD#$'En0 ! ACTI?ATE ,SDIALO- oD#$ CENTERED ,s$Sto3 CEsco#Deu CL"O3tionsGnR"0ioH ! Return NIL

tSa5
Reviso: 23/02/2003 A/ ang?ncia -e so G*0H ,lasse de la/el* -e so G*0I -e so 6*09 -e so H*10

*ierar/uia
tSr@ObAect -> tContro# -> tS"&

.escrio
. o/0eto ti#o t'aR e$i/e o conteJdo de te$to est5tico so/ e uma 0anela ou cont ole*

Propriedades
Come <i#o / Besc i!o L7gico* 'e *<* 6ue/ a o te$to em v5 ias lin4as de manei a a en6uad a o l2o d2 a# conteJdo na 5 ea dete minada #a a o cont ole, sendo o #ad o *1* L7gico* 'e *<* a co de (undo do cont ole 9 igno ada assumindo o conteJdo l< ans#a ent ou co do cont ole ou 0anela ao (undo, sendo o #ad o *<*

'(todos

"e,
.escrio &9todo const uto da classe* Ce)+ManRo)N, Man,olN, Ma/<e$tN, Mao2ndN, MacPictu eN, Mao1ontN, MlPa HN, MlPa IN, MlPa 9N, MalPi$elsN, Man,l <e$tN, Man,l %acAN, Sinta0e Man2idt4N, ManEeig4tN, MlPa 1GN, MlPa 16N, MlPa 1HN, MlPa 1IN, MlPa 19N3 Par1metros Pa Fmet o <i#o / Besc i!o Cum9 ico, o#cional* ,oo denada ve tical em #i$els ou anRo) ca acte es* Cum9 ico, o#cional* ,oo denada 4o i"ontal em #i$els an,ol ou ca acte es*

Retorno

,ode/locA, o#cional* =uando e$ecutado deve eto na uma cadeia de ca acte es a se e$i/ida* ./0eto, o#cional* Danela ou di5logo onde o cont ole ao2nd se 5 c iado* ,a acte e, o#cional* Pictu e de (o mata!o do conteJdo acPictu e a se e$i/ido* ./0eto, o#cional* ./0eto ti#o t1ont #a a con(igu a!o ao1ont do ti#o de (onte 6ue se 5 utili"ado #a a e$i/i o conteJdo* lPa H Rese vado* lPa I Rese vado* lPa 9 Rese vado* L7gico, o#cional* 'e *<* conside a coo denadas alPi$els #assadas em #i$els se *1*, #ad o, conside a as coo denadas #assadas em ca acte es* an,l <e$t Cum9 ico, o#cional* ,o do conteJdo do cont ole* an,l %acA Cum9 ico, o#cional* ,o do (undo do cont ole* an2idt4 Cum9 ico, o#cional* La gu a do cont ole em #i$els* anEeig4t Cum9 ico, o#cional* Altu a do cont ole em #i$els* lPa 1G Rese vado* lPa 16 Rese vado* lPa 1H Rese vado* lPa 1I Rese vado* lPa 19 Rese vado* . o/0eto c iado* a/<e$t

Set!e0t
.escrio Sinta0e &odi(ica o conteJdo a se e$i/ido #elo cont ole* 'et<e$t+ M$-alN 3 Pa Fmet o <i#o / Besc i!o Par1metros ,a acte / Cum9 ico / Bata, .#cional* -alo a se $-al e$i/ido* Retorno C;L

-0emplo
#inc#u0e C3rotDeus.cDE User Function Teste ! Loc"# oD#$% oS"& DEFINE ,SDIALO- oD#$ FRO, .%. TO /..%/.. TITLE C,& 0i"#o$E PI1EL oS"&'( tS"& !'Ne) *.%*.%677E3"r" e<ibirE8%oD#$%%%%I %%.T.%CLR9:HITE%CLR9RED%*..%/.! ACTI?ATE ,SDIALO- oD#$ CENTERED Return NIL

tScroll2o0
Reviso: 23/02/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

,lasse de 5 ea de sc oll*

*ierar/uia
tSr@ObAect -> tContro# -> tScro##bo<

.escrio
Ltili"e a classe t'c oll/o$ #a a c ia um #ainel com sc oll desli"antes nas late ais do cont ole*

'(todos

"e,
.escrio &9todo const uto da classe* Ce)+Mao2ndN, Man<o#N, ManLe(tN, ManEeig4tN, Man2idt4N, Sinta0e Mal-e ticalN, MalEo i"ontalN, Mal%o de N3 Pa Fmet o <i#o / Besc i!o ./0eto, o#cional* Danela ou cont ole onde o cont ole ao2nd se 5 c iado* an<o# Cum9 ico, o#cional* ,oo denada ve tical em #i$els* Cum9 ico, o#cional* ,oo denada 4o i"ontal em anLe(t #i$els* Par1metros anEeig4t Cum9 ico, o#cional* Altu a do cont ole em #i$els* an2idt4 Cum9 ico, o#cional* La gu a do cont ole em #i$els* L7gico, o#cional* 'e *<* e$i/e a /a a de sc oll al-e tical ve tical* L7gico, o#cional* 'e *<* e$i/e a /a a de sc oll alEo i"ontal 4o i"ontal* al%o de L7gico, o#cional* 'e *<* e$i/e a /o da do cont ole* Retorno . o/0eto c iado*

-0emplo

#inc#u0e C3rotDeus.cDE User Function Teste ! Loc"# oD#$% oScr% o-et*% o-et/% o-etF Loc"# c-et*% c-et/% c-etF c-et*'( S3"ce *.! c-et/'( S3"ce *.! c-etF'( S3"ce *.! DEFINE ,SDIALO- oD#$ FRO, .%. TO +..%+.. PI1EL C,& testE oScr'( TScro##Bo< !'Ne) oD#$%*.%*.%/..%/..%.T.%.T.%.T.! 22 cri" contro#es 0entro 0o scro##bo< = *.%*. ,S-ET o-et* ?AR c-et* SIQE *..%*. OF oScr PI1EL = R.%*. ,S-ET o-et/ ?AR c-et/ SIQE *..%*. OF oScr PI1EL = *R.%*.. ,S-ET o-etF ?AR c-etF SIQE *..%*. OF oScr PI1EL ACTI?ATE ,SDIALO- oD#$ CENTERED Return NIL

Classe !I2ro,ser -0emplo de uso da classe !I2ro,ser


Reviso: 09/06/2003 A/ ang?ncia -e so 6*09
#inc#u0e "3rotDeus.cD" 5unction teste ! #oc"# oD#$% oTIBro)ser% oBtnN"@% oBtnPrint% oBtnHo4e DEFINE ,SDIALO- oD#$ FRO, .%. TO F/.%+U. PI1EL TITLE "Teste TIBro)ser" oTIBro)ser'( TIBro)ser !'Ne) *.%*.% *R.% *R.% "Dtt3'22))).$oo$#e.co4"% oD#$ ! = *.% *U. BUTTON oBtnN"@ PRO,PT "Ir 3"r" ,icrosi$"" SIQE R.%*. ACTION oTIBro)ser'N"@i$"te "Dtt3'22))).4icrosi$".co4.br"! OF oD#$ PI1EL = /.% *U. BUTTON oBtnPrint PRO,PT "I43ri4ir" SIQE R.%*. ACTION oTIBro)ser'Print ! OF oD#$ PI1EL = F.% *U. BUTTON oBtnHo4e PRO,PT "Ho4e" SIQE R.%*. ACTION oTIBro)ser'-oHo4e ! OF oD#$ PI1EL ACTI?ATE ,SDIALO- oD#$ CENTERED return

-e so H*10

!I2R$WS-R64$*$'Reviso: 09/06/2003 A/ ang?ncia -e so 6*09 'inta$e <;%R.2'8R:K.E.&8 + 3 >>U nil Reto no <i#o +CLL.3 Besc i!o Bi eciona navega!o #a a #5gina VE.&8U cadast ada no ;nte net 8$#lo e Besc i!o 8ste m9todo eto na nil -e so H*10

!I2R$WS-R6"A#I4A!Reviso: 09/06/2003 A/ ang?ncia -e so 6*09 'inta$e <;%R.2'8R:CA-;KA<8 + V a4Re( U 3 >>U nil Pa Fmet os A gumento a4Re( Reto no <i#o +CLL.3 Besc i!o < oca a #5gina a se visuali"ada Besc i!o 8ste m9todo sem# e eto na nil <i#o Besc i!o ,a acte 8nde e!o da #5gina a se navegada -e so H*10

!I2R$WS-R6"-W
Reviso: 09/06/2003 A/ ang?ncia -e so 6*09 'inta$e <;%R.2'8R:C82 + V anRo) U , V an,ol U , V an2idt4 U , V anEeig4t U , M ainitLinA N , M an2indo) N 3 >>U Reto no Pa Fmet os A gumento anRo) an,ol an2idt4 anEeig4t ainitLinA an2indo) Reto no <i#o ./0eto Besc i!o , ia uma instFncia do &ic oso(t ;nte net 8$#lo e +tm3 dent o de um com#onente visual* Pa a 6ue o o/0eto este0a dis#onvel #a a o usu5 io, 9 neces5 io con(igu a no a 6uivo de con(igu a!o do AP Remote +8$: a#6 mt*ini 3 como a/ai$o: Mcon(igN % o)se 8na/ledQ1 A<8C]A.: A classe somente (unciona 5 se o &' ;nte net 8$#lo e estive instalado na m56uina 6ue est5 e$ecutando o AP Remote* Besc i!o Reto na o o/0eto c iado <i#o Cum9 Cum9 Cum9 Cum9 Besc i!o ico coo denada ve tical ico ,oo denada 4o i"ontal ico La gu a do o/0eto ico Altu a do o/0eto 8nde e!o da #5gina inicial a se ca egada, se no ,a acte in(o mada, ca ega 5 a #5gina VE.&8U cadast ada no ;nte net 8$#lo e * ./0eto Danela ou com#onente visual onde o o/0eto se 5 c iado -e so H*10

!I2R$WS-R6PRI"!
Reviso: 09/06/2003 A/ ang?ncia -e so 6*09 'inta$e <;%R.2'8R:PR;C< + 3 >>U nil Reto no <i#o +CLL.3 Besc i!o ;m# ime a #5gina 6ue esta sendo visuali"ada Besc i!o 8ste m9todo eto na nil -e so H*10

-0emplo de uso da Classe !W2ro,se


Reviso: 16/09/2004 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e so I*11

A (un!o a/ai$o c ia uma 0anela de dialogo, com uma t)% o)se ocu#ando toda a e$tenso do di5logo, eali"ando uma consulta na <a/ela '^G, (ilt ada at av9s do ndice 1, #a a most a a#enas os elementos #e tencentes _ ta/ela 01 do '^G* -ale lem/ a 6ue, #a a testa o (onte a/ai$o, deve>se com#il5>lo no # o0eto, e inse i uma c4amada _ esta (un!o no &enu do 8RP*
#INCLUDE VPROTHEUS.CHV User Function TstT:Br) ! 0bse#ect"re" VS1RV! DbSetOR0er *! DEFINE ,SDIALO- oD#$ TITLE VE<e43#o T:Bro)seV FRO, ...% ... TO R..% U.. PI1EL oBr) '( T:Bro)se !'Ne) NIL%NIL%NIL%NIL%I 677 6 S1R->1R9TABELA% S1R->1R9CHA?E% S1R->1R9DESCRI % str S1R-> recno !!%W%.! 8 8%I 6 VT"be#"V%VCD"@eV%VDescriXJoV% VRECNOV8%I NIL% oD#$% "1R9FILIALL1R9TABELA" %" .*" % " .*" %%%%%%%%%% "S1R"% .T. ! 22 AAust" "#inD"4ento 0o T:Bro)se 3"r" 3e$"r o 0i"#o$o inteiro oBr)'A#i$n '( CONTROL9ALI-N9ALLCLIENT ACTI?ATE ,SDIALO- oD#$ CENTERED Return

"e,
Reviso: 16/09/2004 A/ ang?ncia -e so G*0H 'inta$e <2% o)se+3:Ce) + M nRo) N , M /'c oll N , M Pa am2G N , M Pa am2H N , M n,ol N , M n2idt4 N , M nEeigt4 N , V /Line U , V aEeade s U , M a,ol'i"es N , M o2nd N , M c1ield N , M c<o#Limit N , M c%ottomLiit N , M /,4ange N , M /LB/l,licA N , M Pa am14 N , M o1ont N , M Pa am16 N , M n,l 1o e N , M n,l %acA N , M Pa am19 N , M Pa am20 N , M cAlias N , M lPi$el N , M Pa am23 N , M Pa am24 N 3 >>U o./0<2% o)se Pa Fmet os A gumento nRo) /'c oll Pa am2G Pa am2H n,ol n2idt4 nEeigt4 /Line <i#o Cum9 ico Besc i!o ,oo denada ve tical inicial do ./0eto* ,aso *<*, 4a/ilita /a a de sc oll 4o i"ontal e /ot:es de L7gico navega!o ve tical* +CLL.3 + #a Fmet o ese vado 3 +CLL.3 + #a Fmet o ese vado 3 Cum9 ico ,oo denada 4o i"ontal inicial do ./0eto Cum9 ico <aman4o 4o i"ontal do o/0eto Cum9 ico <aman4o ve tical do o/0eto ,ode>%locA, 6ue deve eto na um a aR, com uma dimenso, onde devem se eto nados as st ings ,ode>%locA e(e entes aos elementos e(e entes _s colunas do % o)se* A aR, 6ue deve eto na um a aR, com uma dimenso, A aR contendo as st ings e(e entes aos <tulos das colunas do % o)se* A aR, com uma dimenso, onde devem se eto nados os nJme os e(e entes _o taman4o 4o i"ontal das colunas do A aR % o)se* ,aso es#eci(icado C;L, os taman4os das colunas so calculados automaticamente* ./0eto ./0eto visual so/ e o 6ual a t2% o)se se 5 c iada* Ltili"ado #a a es#eci(ica a e$# esso de ndice #a a de(ini!o de limite su#e io e in(e io do % o)se* 8ste ,a acte #a Fmet o 9 utili"ado 6uando eali"ado um / o)se de uma ta/ela, a/e ta so/ um alias, com uma e$# esso de ndice* ,a acte Ltili"ado #a a es#eci(ica uma st ing, de aco do com a -e so G*0I -e so 6*09 -e so H*10 -e so I*11

aEeade s

a,ol'i"es o2nd c1ield c<o#Limit

c%ottomLiit

/,4ange /LB/l,licA Pa am14 o1ont Pa am16 n,l 1o e n,l %acA Pa am19 Pa am20 cAlias lPi$el Pa am23 Pa am24 Reto no <i#o ./0eto Besc i!o

c4ave de ndice #assada em c1ield, a se utili"ada #a a identi(ica o limite su#e io do % o)se* A#enas devemos in(o ma conteJdo neste, caso o #a Fmet o c1ield se0a es#eci(icado* Ltili"ado #a a es#eci(ica uma st ing, de aco do com a c4ave de ndice #assada em c1ield, a se utili"ada #a a ,a acte identi(ica o limite in(e io do % o)se* A#enas devemos in(o ma conteJdo neste, caso o #a Fmet o c1ield se0a es#eci(icado* A!o a se e$ecutada 6uando alte ado o (oco ent e as ,ode>%locA lin4as do % o)se* Rece/e o o/0eto do % o)se como #a Fmet o* A!o a se e$ecutada 6uando e$ecutado um du#li>cli6ue ,ode>%locA so/ e uma c9lula do % o)se* +CLL.3 + #a Fmet o ese vado 3 ./0eto e(e ente _ uma (onte alte nativa #a a e$i/i!o ./0eto dos dados neste % o)se* +CLL.3 + #a Fmet o ese vado 3 ,o de esc ita dos dados no <2% o)se* -e i(i6ue co es Cum9 ico dis#onveis no include `colo s*c4` ,o de (undo da 5 ea da <2% o)se no # eenc4ida com Cum9 ico dados* -e i(i6ue co es dis#onveis no include `colo s*c4` +CLL.3 + #a Fmet o ese vado 3 +CLL.3 + #a Fmet o ese vado 3 ,aso o % o)se se0a eali"ado so/ e uma ta/ela a/e ta, ,a acte esteci(i6ue o alias da ta/ela a se utili"ada neste #a Fmet o* ,aso *<*, indica 6ue as coo denadas de tela so L7gico es#eci(icadas em P;^8L'* ,aso cont 5 io, so coo denadas es#eci(icadas em ,ARA,<8R8'* +CLL.3 + #a Fmet o ese vado 3 +CLL.3 + #a Fmet o ese vado 3

Besc i!o Reto na uma nova instFncia do ./0eto da ,lasse <2% o)se*

,ont uto da ,lasse <2% o)se* Reto na uma nova instFncia do ./0eto da ,lasse <2% o)se*

,lasses de Danelas

'S.ialog
Reviso: 23/02/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

,lasse de di5logo de ent ada de dados*

*ierar/uia
tSr@ObAect -> t:in0o) -> tDi"#o$ -> ,SDi"#o$

Caracter&sticas
&'Bialog deve se utili"ada como #ad o de 0anela #a a ent ada de dados* &'Bialog 9 um ti#o de 0anela di5logo modal, isto 9, no #e mite 6ue out a 0anela ativa ece/a dados en6uanto esta estive ativa*

Propriedades
-ide classes ancest ais*

'(todos

"e,
.escrio &9todo const uto da classe* Ce)+Man<o#N, ManLe(tN, Man%ottomN, ManRig4tN, Mac,a#tionN, Sinta0e McPa 6N, MnPa HN, MlPa IN, MnPa 9N, Man,l <e$tN, Man,l %acAN, MoPa 12N, Mao2ndN, MalPi$elN, MoPa 1GN, MoPa 16N, MlPa 1HN3 Par1metros Pa Fmet o <i#o / Besc i!o Cum9 ico, o#cional* ,oo denada ve tical su#e io em an<o# #i$els ou ca acte es* Cum9 ico, o#cional* ,oo denada 4o i"ontal es6ue da anLe(t em #i$els ou ca acte es* an%otom Cum9 ico, o#cional* ,oo denada ve tical in(e io em

#i$els ou ca acte es* Cum9 ico, o#cional* ,oo denada 4o i"ontal di eita em anRig4t #i$els ou ca acte es* ac,a#tion ,a acte e, o#cional* <tulo da 0anela* cPa 6 Rese vado* nPa H Rese vado* lPa I Rese vado* nPa 9 Rese vado* an,l <e$t Cum9 ico,o#cional* ,o do te$to* an,l %acA Cum9 ico,o#cional* ,o de (undo* oPa 12 Rese vado* ./0eto, o#cional* Danela me da 0anela a se c iada, ao2nd #ad o 9 a 0anela # inci#al do # og ama* L7gico, o#cional* 'e *<* conside a as coo denadas alPi$el #assadas em #i$els, se *1* conside a ca acte es* oPa 1G Rese vado* oPa 16 Rese vado* nPa 1H Rese vado*

Retorno

. Bi5logo c iado*

-0emplo
#INCLUDE C3rotDeus.cDE User Function Teste ! 22 cri" 0iS#o$o Loc"# oD#$'(,SDi"#o$ !'Ne) *.%*.%F..%F..%E,eu 0i"#o$oE%%%%%CLR9BLACY%CLR9:HITE%%%.T.! 22 "ti@" 0iS#o$o centr"#iT"0o oD#$'Acti@"te %%%.T.%6774s$sto3 C@"#i0ouOE!%.T.8%%677 4s$sto3 Cinici"n0oZE! ! Return

t.ialog
Reviso: 24/02/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

,lasse de 0anela de di5logo*

*ierar/uia
tSr@ObAect -> t:in0o) -> tDi"#o$

Caracter&sticas
,lasse de 0anela de di5logo de ent ada de dados, uso ese vado, ecomenda>se utili"a a classe &'Bialog 6ue 9 4e dada desta classe*

Propriedades
-ide classes ancest ais*

'(todos

"e,
.escrio &9todo const uto da classe* Ce)+Man<o#N, ManLe(tN, Man%ottomN, ManRig4tN, Mac,a#tionN, McPa 6N, MnPa HN, MlPa IN, MnPa 9N, Man,l <e$tN, Man,l %acAN, Sinta0e MoPa 12N, Mao2ndN, MalPi$elN, MoPa 1GN, MoPa 16N, MnPa 1HN, Man2idt4N, ManEeig4tN3 Par1metros Pa Fmet o <i#o / Besc i!o Cum9 ico, o#cional* ,oo denada ve tical su#e io em an<o# #i$els ou ca acte es* Cum9 ico, o#cional* ,oo denada 4o i"ontal es6ue da anLe(t em #i$els ou ca acte es* Cum9 ico, o#cional* ,oo denada ve tical in(e io em an%otom #i$els ou ca acte es* Cum9 ico, o#cional* ,oo denada 4o i"ontal di eita em anRig4t #i$els ou ca acte es*

ac,a#tion cPa 6 nPa H lPa I nPa 9 an,l <e$t an,l %acA oPa 12

,a acte e, o#cional* <tulo da 0anela* Rese vado* Rese vado* Rese vado* Rese vado* Cum9 ico,o#cional* ,o do te$to* Cum9 ico,o#cional* ,o de (undo* Rese vado* ./0eto, o#cional* Danela me da 0anela a se c iada, ao2nd #ad o 9 a 0anela # inci#al do # og ama* L7gico, o#cional* 'e *<* conside a as coo denadas alPi$el #assadas em #i$els, se *1* conside a ca acte es* oPa 1G Rese vado* oPa 16 Rese vado* nPa 1H Rese vado* an2idt4 Cum9 ico, o#cional* La gu a da 0anela em #i$els* anEeig4t Cum9 ico, o#cional* Altu a da 0anela em #i$els*

Retorno

. Bi5logo c iado*

Activate
.escrio Ativa +e$i/e3 o di5logo* ,4ama somente uma ve" este m9todo* Activate+M/Pa 1N, M/Pa 2N, M/Pa 3N, Mal,ente edN, Ma/-alidN, MlPa 6N, Sinta0e Ma/;nitN, M/Pa IN, M/Pa 9N 3 Pa Fmet o <i#o / Besc i!o /Pa 1 Rese vado* /Pa 2 Rese vado* /Pa 3 Rese vado* L7gico, o#cional* 'e *<* e$i/e a 0anela cent ali"ada, *1* al,ente ed 9 #ad o* %loco de c7digo, o#cional* Beve eto na *<* se a/-alid conteJdo do di5logo 9 v5lido, se eto na *1* o di5logo Par1metros no (ec4a 5 6uando solicitada de ence a * lPa 6 Rese vado* %loco de c7digo, o#cional* 8$ecutado 6uando o di5logo a/;nit inicia e$i/i!o* /Pa I Rese vado* /Pa 9 Rese vado*

Retorno

C;L

-nd
.escrio 8nce a +(ec4a3 o di5logo*

Sinta0e 8nd+ 3 Retorno L7gico *<* se o di5logo (oi ence ado*

-0emplo
#INCLUDE "PROTHEUS.CH" User Function Teste ! Loc"# oD#$ 22 cri" 0iS#o$o oD#$ '( ,SDi"#o$ !'Ne) *.%*.%F..%F..%",eu 0i"#o$o"%%%%%CLR9BLACY%CLR9:HITE%%%.T.! 22 "ti@" 0iS#o$o centr"#iT"0o oD#$'Acti@"te %%%.T.%6774s$sto3 "@"#i0ouO"!%.T.8%%677 4s$sto3 "inici"n0o..."!8 ! 2; os co4"n0os "b"i<o 3ro3orcion"4 o 4es4o resu#t"0o 22 cri" 0iS#o$o DEFINE DIALO- oD#$ TITLE ",eu 0i"#o$o" FRO, *.%*. TO F..%F.. COLOR CLR9BLACY%CLR9:HITE PI1EL 22 "ti@" 0iS#o$o centr"#iT"0o ACTI?ATE DIALO- oD#$ CENTER ON INIT 4s$sto3 "@"#i0ouO"!%.T.! ;2 Return NIL 4s$sto3 "inici"n0o..."!! ?ALID

tWindo,
Reviso: 23/02/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

,lasse de 0anela # inci#al de # og ama*

*ierar/uia
tSr@ObAect -> t:in0o)

Caracter&sticas
,lasse de 0anela # inci#al de # og ama, deve 5 e$isti a#enas uma instFncia deste o/0eto na e$ecu!o do # og ama*

Propriedades
/;nit %loco de c7digo* 8$ecutado 6uando a 0anela est5 sendo e$i/ida* l8sc,lose L7gico* 'e *<* 4a/ilita o V8',U cancela a e$ecu!o da 0anela* o,tl1ocus ./0eto* ./0eto contido na 0anela 6ue est5 com (oco de ent ada de dados*

'(todos

"e,
.escrio &9todo const uto da 0anela* Ce)+ Man<o#N, ManLe(tN,Man%ottomN, ManRig4tN, Mac<itleN, MnPa 6N, MoPa HN ,MoPa IN,MoPa 9N, MaoPa entN, MlPa 11N, MlPa 12N, Sinta0e Man,l 1o eN, Man,l %acAN, MoPa 1GN, McPa 16N, MlPa 1HN, MlPa 1IN, MlPa 19N, MlPa 20N, MalPi$elN 3a Par1metros Pa Fmet o <i#o / Besc i!o Cum9 ico, o#cional* ,oo denada ve tical su#e io em n<o# #i$els ou ca acte es* Cum9 ico, o#cional* ,oo denada 4o i"ontal es6ue da nLe(t em #i$els ou ca acte es* Cum9 ico, o#cional* ,oo denada ve tical in(e io em n%ottom #i$els ou ca acte es*

Retorno

Cum9 ico, o#cional* ,oo denada 4o i"ontal in(e io em #i$els ou ca acte es* c<itle ,a acte e, o#cional* <tulo da 0anela* nPa 6 Rese vado* oPa H Rese vado* oPa I Rese vado* oPa 9 Rese vado* oPa ent ./0eto, o#cional* Danela me da 0anela co ente* lPa 11 Rese vado* lPa 12 Rese vado* n,l 1o e Cum9 ico, o#cional* ,o de (undo da 0anela* n,l <e$t Cum9 ico, o#cional* ,o do te$to da 0anela* oPa 1G Rese vado* cPa 16 Rese vado* lPa 1H Rese vado* lPa 1I Rese vado* lPa 19 Rese vado* lPa 20 Rese vado* L7gico, o#cional* 'e *<* +#ad o3 conside a coo denadas lPi$el #assadas em #i$els, se *1* conside a ca acte es* ./0eto* A 0anela const uda* nRig4t

Activate
.escrio Ativa +e$i/e3 a 0anela* ,4ama esse m9todo a#enas uma ve"* Activate+Mac'4o)N, M/Pa 2N, M/Pa 3N, M/Pa 4N, M/Pa GN, M/Pa 6N, Sinta0e M a/;nit N, M/Pa IN, M/Pa 9N, M/Pa 10N, M/Pa 11N, M/Pa 12N ,M/Pa 13N, M/Pa 14N, M/Pa 1GN, Ma/-alidN, M/Pa 1HN, M/Pa 1IN 3* Par1metros Pa Fmet o <i#o / Besc i!o ,a acte , o#cional* O;,.C;b8BP #a a 0anela iconi"ada ac'4o) ou O&A^;&;b8BP #a a 0anela ma$imi"ada* /Pa 2 Rese vado* /Pa 3 Rese vado* /Pa 4 Rese vado* /Pa G Rese vado* /Pa 6 Rese vado* %loco de c7digo* 8$ecutado 6uando 0anela est5 sendo a/;nit e$i/ida* /Pa I Rese vado* /Pa 9 Rese vado* /Pa 10 Rese vado* /Pa 11 Rese vado* /Pa 12 Rese vado* /Pa 13 Rese vado* /Pa 14 Rese vado* /Pa 1G Rese vado* a/-alid %loco de c7digo* 8$ecutado 6uando a 0anela (o

Retorno

/Pa 1H /Pa 1I C;L

solicitada de (ec4a * Beve 5 eto na *<* se o conteJdo da 0anela (o v5lido, ou *1* se no* 'e o /loco eto na *1* a 0anela no (ec4a 5* Rese vado* Rese vado*

-nd
.escrio 'olicita ence amento da 0anela* Sinta0e 8nd+ 3 Retorno L7gico* *<* se ence ou a 0anela e *1* se no*

Center
.escrio ,ent ali"a a 0anela* Sinta0e ,ente + 3 Retorno C;L

-0emplo
#INCLUDE "PROTHEUS.CH" USER FUNCTION Teste ! Loc"# o:in0o) Loc"# "bInit'( 677conout ""ti@"n0oO"!8 Loc"# "b?"#i0'( 677conout "encerr"n0oO"!%.T.8 o:in0o)'( t:in0o) !'Ne) *.% *.% /..% /..% ",eu 3ro$r"4""%%%%%%%%CLR9:HITE%CLR9BLACY%%%%%%%.T. ! o:in0o)'Acti@"te ",A1I,IQED"%%%%%%"bInit%%%%%%%%%"b?"#i0%%! 2; os co4"n0os "b"i<o 3ro3orcion"4 o 4es4o resu#t"0o DEFINE :INDO: o:in0o) FRO, *.% *. TO /..%/.. PI1EL TITLE ",eu 3ro$r"4"" COLOR CLR9:HITE%CLR9BLACY ACTI?ATE :INDO: o:in0o) ,A1I,IQED ON INIT "bInit ?ALID "b?"#i0 ;2 Return NIL

Classes no visuais Classe !'ail'anager


Reviso: 09/06/2003

.escrio

A <&ail&anage 9 uma classe 6ue tem #o (inalidade c ia cone$:es em se vido es '&<P ou P.P

'etodos "e,78
,onst uto do o/0eto*

Init7 cPop9 cSmtp9 cUser9 cPass9 n!ime$ut9 nPor 8


;nicia uma nova cone$o no se vido Parametro .escrio 8nde e!o do se vido P.P, no caso de cone$o '&<P #asse esse como cPo# ``+/ anco3* 8nde e!o do se vido '&<P, no caso de cone$o P.P #asse esse como c'mt# ``+/ anco3* cLse Login no se vido * cPass 'en4a no se vido * n<ime.ut <ime out #a a a cone$o* nPo t Po ta #a a se conecta *

SmtpConnect78
,onecta com o se vido , at aves dos #a amet os de ;nit

SetSmtp!ime$ut7 n!ime$ut 8
,on(igu a o tem#o #a a 6ue uma cone$o esta/elecida ao se vido se0a (inali"ada #o time>out Parametro .escrio n<ime.ut <em#o #a a 6ue a cone$o se0a (ec4ada #o <ime>.ut*

Smtp.isconnect78
Bisconecta com o se vido '&<P

P$PConnect78
,onecta com o se vido , at aves dos #a amet os de ;nit

SetPop!ime$ut7 n!ime$ut 8
,on(igu a o tem#o #a a 6ue uma cone$o esta/elecida ao se vido se0a (inali"ada #o time>out Parametro .escrio n<ime.ut <em#o #a a 6ue a cone$o se0a (ec4ada #o <ime>.ut*

4et"um'sgs7 :n"um'sg 8
Reto na o nume o de mensagens 6ue e$istem no se vido Parametro .escrio Pa amet o #assado #o e(e encia, eto na nele o nume o de mensagens 6ue nCum&sg esto no se vido *

.elete'sg7 n'sg 8
Beleta uma mensagem do se vido Parametro .escrio n&sg Cume o da mensagem a se deletada*

P$P.isconnect78
Bisconecta com o se vido P.P

!'AIL'A"A4-R6.-L-!-'S4
Reviso: 09/04/2003 A/ ang?ncia -e so G*0H 'inta$e <&A;L&ACAK8R:B8L8<8&'K + V n&sg U 3 >>U Cil Pa Fmet os A gumento n&sg Reto no <i#o +CLL.3 Besc i!o Beleta uma mensagem do se vido Besc i!o Cil <i#o Besc i!o Cum9 ico Cume o da mensagem a se deletada* -e so G*0I -e so 6*09 -e so H*10

!'AIL'A"A4-R64-!"U''S4S
Reviso: 09/04/2003 A/ ang?ncia -e so G*0H 'inta$e <&A;L&ACAK8R:K8<CL&&'K' + V cnCum&sg U 3 >>U nRet Pa Fmet os A gumento nCum&sg Reto no <i#o Cum9 ico Besc i!o Reto na o nume o de mensagens 6ue e$istem no se vido Besc i!o 0 Q Lista ece/ida com sucesso <i#o Besc i!o Pa amet o #assado #o e(e encia, eto na nele o nume o Cum9 ico de mensagens 6ue esto no se vido * -e so G*0I -e so 6*09 -e so H*10

!'AIL'A"A4-R6I"I!
Reviso: 09/04/2003 A/ ang?ncia -e so G*0H 'inta$e <&A;L&ACAK8R:;C;< + V cPo# U , V c'mt# U , V cLse U , V cPass U , M n<ime.ut N , M nPo t N 3 >>U Cil Pa Fmet os A gumento cPo# c'mt# cLse cPass n<ime.ut nPo t Reto no <i#o +CLL.3 Besc i!o ;nicia uma nova cone$o no se vido Besc i!o Cil <i#o Besc i!o 8nde e!o do se vido P.P, no caso de cone$o '&<P ,a acte #asse esse como ``+/ anco3* 8nde e!o do se vido '&<P, no caso de cone$o P.P ,a acte #asse esse como ``+/ anco3 ,a acte Login no se vido * ,a acte 'en4a no se vido * Cum9 ico <ime out #a a a cone$o* Cum9 ico Po ta #a a se conecta * -e so G*0I -e so 6*09 -e so H*10

!'AIL'A"A4-R6"-W
Reviso: 09/04/2003 A/ ang?ncia -e so G*0H 'inta$e <&A;L&ACAK8R:C82 + 3 >>U o'e ve Reto no <i#o ./0eto Besc i!o ,onst uto do o/0eto* Besc i!o ,onst uto do o/0eto* -e so G*0I -e so 6*09 -e so H*10

!'AIL'A"A4-R6P$PC$""-C!
Reviso: 09/04/2003 A/ ang?ncia -e so G*0H 'inta$e <&A;L&ACAK8R:P.P,.CC8,< + 3 >>U Cil Reto no <i#o +CLL.3 Besc i!o ,onecta com o se vido , at aves dos #a amet os de ;nit Besc i!o Cil -e so G*0I -e so 6*09 -e so H*10

!'AIL'A"A4-R6P$P.ISC$""-C!
Reviso: 09/04/2003 A/ ang?ncia -e so G*0H 'inta$e <&A;L&ACAK8R:P.PB;',.CC8,< + 3 >>U nRet Reto no <i#o Cum9 ico Besc i!o Bisconecta com o se vido P.P Besc i!o 0 Q Bisconectado -e so G*0I -e so 6*09 -e so H*10

!'AIL'A"A4-R6S-!P$P!I'-$U!
Reviso: 09/04/2003 A/ ang?ncia -e so G*0H 'inta$e <&A;L&ACAK8R:'8<P.P<;&8.L< + V n<ime.ut U 3 >>U nRet Pa Fmet os A gumento n<ime.ut Reto no <i#o Cum9 ico Besc i!o ,on(igu a o tem#o #a a 6ue uma cone$o esta/elecida ao se vido se0a (inali"ada #o time>out Besc i!o 0 Q <ime out setado <i#o Besc i!o Cum9 ico <em#o #a a 6ue a cone$o se0a (ec4ada #o <ime>.ut* -e so G*0I -e so 6*09 -e so H*10

!'AIL'A"A4-R6S-!S'!P!I'-$ U!
Reviso: 09/04/2003 A/ ang?ncia -e so G*0H 'inta$e <&A;L&ACAK8R:'8<'&<P<;&8.L< + V n<ime.ut U 3 >>U nRet Pa Fmet os A gumento n<ime.ut Reto no <i#o +CLL.3 Besc i!o ,on(igu a o tem#o #a a 6ue uma cone$o esta/elecida ao se vido se0a (inali"ada #o time>out Besc i!o 0 > <ime out con(igu ado <i#o Besc i!o +CLL.3 <em#o #a a 6ue a cone$o se0a (ec4ada #o <ime>.ut* -e so G*0I -e so 6*09 -e so H*10

!'AIL'A"A4-R6S'!PC$""-C!
Reviso: 09/04/2003 A/ ang?ncia -e so G*0H 'inta$e <&A;L&ACAK8R:'&<P,.CC8,< + 3 >>U nRet Reto no <i#o Cum9 ico Besc i!o ,onecta com o se vido , at aves dos #a amet os de ;nit Besc i!o 0 > ,onectado -e so G*0I -e so 6*09 -e so H*10

!'AIL'A"A4-R6S'!P.ISC$""C!
Reviso: 09/04/2003 A/ ang?ncia -e so G*0H 'inta$e <&A;L&ACAK8R:'&<PB;',.CC8,< + 3 >>U nRet Reto no <i#o Cum9 ico Besc i!o Bisconecta com o se vido '&<P Besc i!o 0 Q Bisconectado -e so G*0I -e so 6*09 -e so H*10

!'AIL'-SSA4-6S-".
Reviso: 14/04/2003 A/ ang?ncia -e so G*0H 'inta$e <&A;L&8''AK8:'8CB + V o'e ve U 3 >>U nRet Pa Fmet os A gumento o'e ve Reto no <i#o Cum9 ico Besc i!o 8nvia o e>mail ece/endo como #a amet o a instancia do se vido c iado +'&<P3* Besc i!o 0 Q 8>mail enviado com sucesso <i#o Besc i!o ,a acte ;nstancia do se vido c iado +'&<P3* -e so G*0I -e so 6*09 -e so H*10

tSoc3etClient
Reviso: 30/06/2003 A/ ang?ncia -e so 6*09 Besc i!o 8sta classe #e mite esta/elece uma cone$o cliente de socAet do ti#o <,P gen9 ica* 8nvia e ece/e dados at av9s de uma socAet gen9 ico e tam/9m #ode se usada como /ase #a a im#lementa!o de # otocolos no su#o tados #elo # ot4eus* &9todos &9todo
CloseConnection Connect IsConnected New Receive Reset Send

-e so H*10

-e so I*11

Besc i!o 1inali"a a cone$o <,P gen9 ica +socAet 3 do o/0eto co ente* 8sta/elece um cone$o <,P gen9 ica +socAet 3* -e i(ica se e$iste cone$o valida no o/0eto co ente* , ia o o/0eto t'ocAet,lient, sem cone$o ativa* Rece/e os dados #ela cone$o ativa do o/0eto, 6ual6ue ti#o de dado #ode se ece/ido* 1inali"a ano malmente a cone$o, no avisa o out o lado 6ue a cone$o se 5 (inali"ada* Beve se utili"ado a#enas em casos e$t emos* < ansmite o /u((e #ela cone$o <,P Ken9 ica ativa*

CloseConnection
Reviso: 30/06/2003 A/ ang?ncia -e so 6*09 'inta$e o./0:,lose,onnection + 3 >>U Cil Reto no <i#o +CLL.3 Besc i!o 1inali"a a cone$o <,P gen9 ica +socAet 3 do o/0eto co ente* Besc i!o Cil -e so H*10 -e so I*11

Connect
Reviso: 30/06/2003 'inta$e o./0:,onnect + V nPo ta U , V c;P U , V n<imeout U 3 >>U n'ucesso Pa Fmet os A gumento nPo ta c;P n<imeout Reto no <i#o Cum9 ico Besc i!o 8sta/elece um cone$o <,P gen9 ica +socAet 3* Besc i!o Reto na 0 +be o3 se conectou com sucesso, di(e ente de "e o se a cone$o (al4ou* <i#o Besc i!o Cum9 ico Cume o da #o ta onde a cone$o deve se eali"ada CJme o ;P ou nome do se vido onde a cone$o deve se ,a acte eali"ada CJme o em milisegundos 6ue o m9todo deve es#e a #a a Cum9 ico conecta

IsConnected
Reviso: 30/06/2003 A/ ang?ncia -e so 6*09 'inta$e o./0:;s,onnected + 3 >>U lLogico Reto no <i#o L7gico Besc i!o -e i(ica se e$iste cone$o valida no o/0eto co ente* Besc i!o Reto na < ue se a cone$o esta ativa e (alse caso este0a inv5lida/desconectado* -e so H*10 -e so I*11

"e,
Reviso: 30/06/2003 A/ ang?ncia -e so 6*09 'inta$e t'ocAet,lient+3:Ce) + 3 >>U o'ocAet Reto no <i#o ./0eto Besc i!o , ia o o/0eto t'ocAet,lient, sem cone$o ativa* Besc i!o Reto na um ./0eto do ti#o t'ocAet,lient -e so H*10 -e so I*11

Receive
Reviso: 30/06/2003 A/ ang?ncia -e so 6*09 'inta$e o./0:Receive + V cc%u((e U , V n<imeout U 3 >>U n=tdRece/ida Pa Fmet os A gumento c%u((e n<imeout Reto no <i#o Cum9 ico Besc i!o Rece/e os dados #ela cone$o ativa do o/0eto, 6ual6ue ti#o de dado #ode se ece/ido* Besc i!o =tde de /Rtes ece/idos, se 4ouve algum e o n=tdRece/ida se 5 meno 6ue "e o* <i#o ,a acte Besc i!o %u((e 6ue conte 5 os dados a se em ece/idos* tem#o em milisegundos 6ue a (un!o eceive es#e a at9 Cum9 ico ece/e algum dado #ela cone$o* -e so H*10 -e so I*11

Reset
Reviso: 30/06/2003 A/ ang?ncia -e so 6*09 'inta$e o./0:Reset + 3 >>U C;L Reto no <i#o +CLL.3 Besc i!o 1inali"a ano malmente a cone$o, no avisa o out o lado 6ue a cone$o se 5 (inali"ada* Beve se utili"ado a#enas em casos e$t emos* Besc i!o Reto no nulo* -e so H*10 -e so I*11

Send
Reviso: 30/06/2003 A/ ang?ncia -e so 6*09 'inta$e o./0:'end + M c%u((e N 3 >>U n=td< asmitido Pa Fmet os A gumento c%u((e Reto no <i#o Cum9 ico Besc i!o < ansmite o /u((e #ela cone$o <,P Ken9 ica ativa* Besc i!o Cume o de /Rtes t ansmitidos, caso o nume o se0a di(e ente do taman4o de c%u((e , algum e o aconteceu* <i#o Besc i!o ,a acte %u((e com os dados a se em t ansmitidos #ela cone$o* -e so H*10 -e so I*11

-0emplo da Classe tSoc3etClient


Reviso: 30/06/2003 A/ ang?ncia -e so 6*09 -e so H*10 -e so I*11

. 8$em#lo a/ai$o e$em#li(ica a utili"a!o de um cliente socAet, note 6ue #a a o # og ama (unciona co etamente, deve>se alte a os #a amet os da cone$o*
user 5unction ,&SocMet Loc"# oObA '( tSocMetC#ient !'Ne) ! nRes3 '( oObA'Connect PPP% "*[/./RR./RR./RR"% *... ! i5 nRes3 (( . ! Conout "Cone<Jo OYO" ! e#se Conout "Erro n" Cone<Jo OYO "% nRes3 ! return en0i5 cSen0 ( "O#"OOOO Estou tr"ns4itin0o u4 0"0oO" nRes3 '( oObA'Sen0 cSen0 ! i5 nRes3 O( #en cSen0 ! ! conout "ErroO D"0o n"o tr"ns4iti0o" ! e#se conout "D"0o En@i"0o" ! en0i5 cBu55er '( "" n\t0 ( oObA'Recei@e cBu55er% *.... ! i5 n\t0 >( . ! conout "D"0os Recebi0os " L Str n\t0% +% . !% cBu55er ! e#se conout "N"o recebi n"0"" ! en0i5 cSen0 ( "D"0os ]ue serS tr"ns4iti0oOOO" nRes3 '( oObA'Sen0 cSen0 ! i5 nRes3 O( #en cSen0 ! ! conout "ErroO D"0o n"o tr"ns4iti0o" ! e#se conout "D"0o En@i"0o" ! en0i5 i5 oObA'IsConnecte0 ! ! conout "OYO Estou conect"0o" ! e#se conout "O3sO N"o estou conect"0o" ! en0i5 oObA'C#oseConnection ! i5 OoObA'IsConnecte0 ! ! conout "Desconectei" ! e#se conout "Ain0" estou conect"0o% erro n" 0escone<"o" ! en0i5 return

-0emplo de Cone0o S'!P


Reviso: 1H/09/2003 A/ ang?ncia -e so 6*09 -e so H*10

Co e$em#lo a/ai$o , esta/elecemos a cone$o com um se vido '&<P , utili"ando o comando ,.CC8,< '&<P , o/tendo o esultado da cone$o , e em caso de (al4a , o/temos maio es detal4es utili"ando o comando K8< &A;L 8RR.R*
#INCLUDE "A3R,"i#.cD" CONNECT S,TP SER?ER "/.../+U.*+/.UU" I ACCOUNT "test" PASS:ORD "test*/F+" I RESULT #OM I5 #OM ,s$Sto3 "Cone<Jo OY"! E#se -ET ,AIL ERROR cS4t3Error ,s$Sto3 "Erro 0e cone<Jo ' " L cS4t3Error! En0i5

-0emplo de -nvio de e;mail S'!P Completo


Reviso: 1H/09/2003 A/ ang?ncia -e so 6*09 -e so H*10

Co e$em#lo a/ai$o , esta/elecemos a cone$o com um se vido '&<P , utili"ando o comando ,.CC8,< '&<P , o/tendo o esultado da cone$o , e em caso de (al4a , o/temos maio es detal4es utili"ando o comando K8< &A;L 8RR.R * ,aso a cone$o se0a eali"ada com sucesso , um e>mail de teste 9 enviado , tendo tam/9m seu sta us de e$ecu!o ecu#e ado e t atado convenientemente*
#INCLUDE "A3R,"i#.cD" 22 Conect" co4 o Ser@i0or S,TP CONNECT S,TP SER?ER "/.../+U.*+/.UU" I ACCOUNT "test" PASS:ORD "test*/F+" I RESULT #OM I5 #OM ,s$Sto3 "Cone<Jo OY" ! SEND ,AIL FRO, "eo="]ui.co4.br" I TO "Aose=be4#on$e.co4.brIAo"o=e<e43#o.co4.br" I SUB^ECT "Teste 0e e-,"i#" I BOD> "E-,AIL HT,L 0e TESTE" I RESUILT #OM I5 #OM ,s$Sto3 "En@io OY" ! E#se -ET ,AIL ERROR cS4t3Error ,s$STo3 "Erro 0e en@io ' " L cS4t3Error! En0i5 22 Desconect" 0o Ser@i0or DISCONNECT S,TP SER?ER E#se -ET ,AIL ERROR cS4t3Error ,s$Sto3 "Erro 0e cone<Jo ' " L cS4t3Error! En0i5

-0emplo da funo <'L-RR$R


Reviso: 1H/0H/2002 A/ ang?ncia -e so 6*09 -e so H*10

Co e$em#lo a/ai$o , t atamos a oco ?ncia de e o de a/e tuta do ./0eto ^&L


#INCLUDE "14#1Fun.<D" Loc"# o14# % n14#St"tus CREATE o1,L 1,LFILE "_e<e43#o.<4#" n14#St"tus '( 1,LError ! I5 n14#St"tus O( 1ERROR9SUCCESS ! A#ert "F"#D" "Lstr n14#St"tus%F!L"! n" cri"XJo 0o 1,L#"! E#se 223rocess"4ento 0o3 1,L .... En0i5

'anutenc=o de <'L em Advpl


Reviso: 23/0G/2003 A/ ang?ncia -e so 6*09 -e so H*10

Co e$em#lo a/ai$o , 9 ilust ada de manei a sim#les a utili"a!o dos comandos e (un!:es Adv#l #a a eali"a mos manuten!:es em um a 6uivo no (o mato ^&L* Ceste e$em#lo , utili"amos a c ia!o do o/0eto , a c ia!o de novos nodes a #a ti do modelo # o#osto , at i/ui!o de suas # o# iedades , e ge a!o da 't ing ^&L (inal a #a ti do ./0eto ^&L *
#INCLUDE "PROTHEUS.CH" #INCLUDE "1,L1FUN.CH" Function u9Teste14# ! Loc"# c,o0e#o '( VV Loc"# "Li@ros '( 68 Loc"# c14# '( VV % o14# Loc"# nL % nTotL 22 De5ino 0"0os 0os #i@ros " c"t"#o$"r ""00 "Li@ros % 6 ".....*"%I "Li@ro Teste" %I "^oDn Doe"%I "*.2.R2/..*"8!

""00 "Li@ros % 6 "...../"%I "Li@ro Ficticeo" %I ","r& Br"D4s"%I "*R2.R2/..*"8! 22 Crio 4o0e#o c,o0e#o c,o0e#o c,o0e#o c,o0e#o c,o0e#o c,o0e#o c,o0e#o c,o0e#o c,o0e#o L( L( L( L( L( L( L( L( L( "3en"s estrutur" ! e4 Strin$

V`N<4# @ersion("*.."N>V V`,euDoc>V V`Li@ro>V V`I0>`2I0>V V`Titu#o>`2Titu#o>V V`Autor>`2Autor>V V`D"t">`2D"t">V V`2Li@ro>V V`2,euDoc>V

22 Crio o ObAeto 1,L % 0e5inin0o o Li@ro co4o Arr"& CREATE o1,L 1,LSTRIN- c,o0e#o I SETASARRA> 9,euDoc'9Li@ro n14#St"tus '( 1,LError ! I5 n14#St"tus (( 1ERROR9SUCCESS ! 22 C"so n"o Dou@e nenDu4 ti3o 0e erro 0e cri"XJo 0o ObAeto 22 C"#cu#" o tot"# 0e Li@ros e 3ercorre os e#e4entos 0o "rr"& 22 3"r" cri"r os no0es 0os #i@ros no 1,L. nTotL '( #en "Li@ros! For nL '( * to nTotL I5 nL > * 22 A3en"s "crescento no0es no@os c"so AS tenD" re"#iT"0o " 22 3ri4eir" @o#t" 0o #oo3in$ % ]ue irS "tribuir os @"#ores 22 0o 3ri4eiro #i@ro "o no0e AS e<istente no obAeto 14# ADDNODE o14#'9,euDoc'9Li@ro NODE V9Li@roV ON o1,L En0i5 22 Atrib#ui os 0"0os 0o #i@ro no obAeto 14# o14#'9,euDoc'9Li@roGnLH'9I0'TE1T '( "Li@rosGnLHG*H o14#'9,euDoc'9Li@roGnLH'9Titu#o'TE1T '( "Li@rosGnLHG/H o14#'9,euDoc'9Li@roGnLH'9Autor'TE1T '( "Li@rosGnLHGFH o14#'9,euDoc'9Li@roGnLH'9D"t"'TE1T '( "Li@rosGnLHG+H Ne<t 22 Ao 5i4 0o 3rocesso % $er" " strin$ 1,L corres3on0ente "o ObAeto SA?E o14# 1,LSTRIN- c14# 22 ,ostr" o 1,L cri"0o n" Te#" % us"n0o " 5unXJo ,s$Sto3 ,s$Sto3 c14#! E#se ,s$Sto3 "Erro "Lstr n14#St"tus%F!L"! n" cri"XJo 0o 1,L."! En0i5 Return

-0emplo da funo A-#AL


Reviso: 03/10/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

Loc"# "Arr"& '( 6 "Teste" % */F 8 Loc"# bB#ocM '( 6 7<%&7 conout @"#t&3e <!! % conout &! 8 "E@"# "Arr"&%bB#ocM!

Co e$em#lo acima , c iamos um a aR com 2 elementos : . # imei o 9 um ,a acte , e o segundo 9 um nJme o a e c iamos um code>/locA 6ue ece/e 5 em $ + # imei o #a amet o (o necido #ela (un!o a8val3 cada elemento do a aR , e R + segundo #a amet o (o necido #ela a8val 3 o nJme o do elemento do a aR 6ue est5 sendo # ocessado nesta e$ecu!o* . esultado de tela no console do P ot4eus 'e ve deve 5 se : <este // ,onteudo do # imei o elemento , // <i#o do conteudo 1 // Cume o do elemento # ocessado 123 // ,onteudo do segundo elemento C // <i#o do 'egundo 8lemento 2 // Cume o do elemento # ocessado ,aso o a aR #assado como #a Fmet o se0a um a aR multi>Bimensional , se o #assados como #a Fmet os os a aRs de # imei o nivel #a a o code>%LocA* -e0amos uma a#lica!o mais com#le$a : Lm a aR multi>dimensional temos 2colunas , uma de c7digo +st ing3 e uma de valo + num9 ica 3 , e se0a necess5 io eali"a um c5lculo de totali"a!o da coluna num9 ica :
"Itens '( 68 ""00 "Itens%6"Br"nco"%*.8! ""00 "Itens%6"Preto"%*R8! ""00 "Itens%6"CinT""%*/8!

// Podemos eali"a a totali"a!o #elo metodo t adicional :


nTot"# '( . For nI '( * to #en "Itens! nTot"# '( nTot"# L "ItensGnIHG/H

Ne<t conout nTot"#! 22 F[

// .u utili"ando a 1unco a8val :


nTot"# '( . "e@"# "Itens % 67<7 nTot"# L( <G/H 8 ! conout nTot"#!

-0emplo da funo -#AL


Reviso: 1H/0H/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

ZZZ 8ste e$em#lo c ia um /loco de c7digo 6ue inc ementa um nJme o e de#ois o avalia:
bB#oco '( 6 7nAr$7 nAr$ L * 8 N E?AL bB#oco% *!

22 Resu#t"' /

ZZZ 8ste e$em#lo demonst a como um /loco de c7digo #ode se com#ilado em tem#o de e$ecu!ao utili"ando>se o o#e ado mac o +d3:
bB#oco '( a "6 7nAr$7 nAr$ L * 8"! N E?AL bB#ocM% *!

22 A@"#i" o b#oco

-0emplo da funo 'SCRC>?


Reviso: 02/0H/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

At av9s do e$em#lo a/ai$o , calculamos o ,R, das st ings in(o madas*


22 Le o "r]ui@o #ist".t<t no "4biente 0o ser@i0or 22 e c"#cu#" o CRC 0o 4es4o. cStrin$ '( 4e4ore"0 V_#ist".t<tV! nCRC* '( ,SCRCF/ cStrin$! ,s$Sto3 VCRC ( VLstr nCRC*%*.!!

-0emplo da funo 'SCRC>?S!R


Reviso: 02/0H/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e so I*11

At av9s do e$em#lo a/ai$o , calculamos o ,R, das st ing in(o mada*


22 Le o "r]ui@o #ist".t<t no "4biente 0o ser@i0or 22 e c"#cu#" o CRCF/ 0o 4es4o. cStrin$ '( 4e4ore"0 V_#ist".t<tV! cCRCF/ '( ,SCRCF/STR cStrin$! ,s$Sto3 VCRC ( GVLcCRCF/LVHV!

-0emplo da funo SPLI!PA!*


Reviso: 0G/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

Co e$em#lo a/ai$o , e$em#li(icamos o (uncionamento da (un!o '#litPat4 , usando com/ina!:es de nomes de a 6uivos com ou sem d ive , camin4o , nome de a 6uivo e/ou e$tenso*
User Function TSTS3#it ! Loc"# "Ar] '( 68 % cDri@e% cDir% cNo4e% cE<t ""00 ""00 ""00 ""00 ""00 ""00 ""00 ""00 ""00 "Ar]%Vc'_3"tD_"r]ui@o.e<tV! "Ar]%Vc'_3"tD_"r]ui@oV! "Ar]%Vc'_3"tD_V! "Ar]%Vc'_"r]ui@oV! "Ar]%V_3"tD_"r]ui@o.e<tV! "Ar]%V3"tD_"r]ui@oV! "Ar]%V__ser@i0or_3"st"_V! "Ar]%V__ser@i0or_3"st"_"r]ui@o.e<tV! "Ar]%VV!

For nI '( * to #en "Ar]! S3#itP"tD "Ar]GnIH% =cDri@e% =cDir% =cNo4e% =cE<t ! conout "Ar]GnIH L V GVLcDri@eLVH GVL cDir LVH GVL cNo4e LVH GVL cE<t L VHV! Ne<t

A#7s e$ecutado o # og ama acima, deve se e$i/ido no console do P ot4eus 'e ve o te$to a/ai$o :
c'_3"tD_"r]ui@o.e<t Gc'H G_3"tD_H G"r]ui@oH G.e<tH c'_3"tD_"r]ui@o Gc'H G_3"tD_H G"r]ui@oH GH c'_3"tD_ Gc'H G_3"tD_H GH GH c'_"r]ui@o Gc'H G_H G"r]ui@oH GH _3"tD_"r]ui@o.e<t GH G_3"tD_H G"r]ui@oH G.e<tH 3"tD_"r]ui@o GH G3"tD_H G"r]ui@oH GH __ser@i0or_3"st"_ GH G__ser@i0or_3"st"_H GH GH __ser@i0or_3"st"_"r]ui@o.e<t GH G__ser@i0or_3"st"_H G"r]ui@oH G.e<tH GH GH GH GH

-0emplo da funo *!!P4-!


Reviso: 2H/01/2004 A/ ang?ncia -e so 6*09 -e so H*10 -e so I*11

Co e$em#lo a/ai$o, solicitamos a um se vido 4tt# o conteJdo de uma #5gina, e a c4amada de uma #5gina *as# #assando #a Fmet os via K8<
22 Busc"r 3S$in" cHt4#P"$e '( Htt3$et VDtt3'22))).ser@i0or.co4.br23"$eteste.Dt4V! 22 CD"4"r 3S$in" 3"ss"n0o 3"rb4etros cHt4#P"$e '( Htt3$et VDtt3'22))).ser@i0or.co4.br25unteste."s3N I0(*/FaNo4e(TesteV! 22 ou cHt4#P"$e '( Htt3$et VDtt3'22))).ser@i0or.co4.br25unteste."s3V%VI0(*/FaNo4e(TesteV!

-0emplo da funo *!!PL$4$"US-R78


Reviso: 2H/01/2004 A/ ang?ncia -e so 6*09 -e so H*10 -e so I*11

At av9s da (un!o 4tt#logonuse +3 , 6uando utili"amos o P ot4eus 'e ve como BLL ;'AP;, 0untamente com o ;;', se e somente se desa/ilitado o acesso anenimo _o site , a (un!o eto na 5 uma st ing contendo o login do usu5 io* A (un!o (unciona tanto com linAs *a#l como linAs *a#)* ./se va!o : ,aso esta (un!o se0a c4amada via Do/ , Remote , ou com o P ot4eus 'e ve E<<P sendo e$ecutado como ,onsole ou 'e vi!o , sem usa a *dll ;'AP; , a (un!o sem# e eto na 5 uma st ing em / anco*
User 5unction TstUsrLo$in ! Loc"# cLo$in '( Htt3Lo$onUser ! IF e43t& cLo$in! conout "USu"rio n"o i0enti5ic"0o"! E#se conout "USu"rio ' "LcLo$in! En0i5 Return " "LcLo$inL" "

-0emplo da )uno .irector5


Reviso: 09/0H/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e so I*11

At av9s do e$em#lo a/ai$o , o/temos no a aR aBi ecto R todos os di et7 ios no am/iente do se vido a #a ti do #at4 atual*
#INCLUDE "Directr&.cD" "Director& '( DIRECTOR> ";.;"%"D"! AE?AL "Director&% 67"Fi#e7 CONOUT "Fi#eGF9NA,EH!8 !

-0emplo da )uno 'SC$'PR-S


Reviso: 0H/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

// 8$em#lo 1 _ ,om#acta a#enas um a 6uivo lRes :Q &',.&PR8''+ `AP6'R-*8^8`, `AP6'R-*&bP` 3 // 8$em#lo 2 _ ,om#acta um di et7 io com sen4a aCome :Q SW AB;R+ `Z*B%1`, aCome 3 lRes :Q &',.&PR8''+ aCome, `A 6,om#*&bP`, `'8CEA` 3

-0emplo da funo A.IR


Reviso: 04/0I/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

8ste e$em#lo c ia um veto 6ue conte 5 os nomes de todos os a 6uivos +*t$t3 no di et7 io B81ALL< co ente, e os elaciona no console utili"ando a (un!ao A8-AL+3 :
LOCAL "Fi#esGADIR ";.T1T"!H ADIR ";.T1T"% "Fi#es! AE?AL "Fi#es% 6 7e#e4ent7 conout e#e4ent! 8!

@@@ #ale lem rar /ue A.IR78 ( uma funao de compati ilidade e portanto desaconsel+adaA -le est superado pela funao .IR-C!$RB789 /ue retorna todas as informaoes de ar/uivo em um vetor multi;dimensionalA @@@

-0emplo da funo CUR.IR


Reviso: 2I/04/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

Co e$em#lo a/ai$o , con(e imos o #at4 atual e tentamos seta um novo #at4 atual , ve i(icando se a o#e a!o (oi eali"ada com sucesso*
cO#0Dir '( cur0ir ! cNe)Dir '( V_)eb"0@_<isV cur0ir cNe)Dir! 22 Troc" o 3"tD I5 cNe)Dir `> V_VLcur0ir ! 22 E @eri5ic" se trocou 4es4o conout VF"#D" "o Troc"r 0e P"tD 0e VLcO#0Dir L V 3"r" VLcNe)Dir! E#se conout VP"tD 0e VLcO#0Dir L V troc"0o 3"r" VLcNe)DirLV co4 sucesso.V! En0i5

-0emplo da funo .IRR-'$#Reviso: 01/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

Co e$em#lo a/ai$o , e$ecutado a #a ti do P ot4eus Remoite , tentamos e$clui a #asta c:f<m#1iles , ve i(icando se 4ouve sucesso nesta o#e a!o*
cDe#P"tD '( Vc'_T43Fi#esV #Re4o@eOM '( DIRRE,O?E cDe#P"tD! IF O#Re4o@eOM ,s$Sto3 VF"#D" "o re4o@er " 3"st" VLcDe#P"tDLV Fi#e Error VLstr Fe)rror !%+!LV ! V! E#se ,s$Sto3 VP"st" VLcDe#P"tDLV re4o@i0" co4 sucesso.V! En0i5

-0emplo da funo .ISCSPACReviso: 01/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

Co e$em#lo a/ai$o , o/temos os es#a!os em disco da unidade de disco da esta!o local e do d ive A: da esta!o local, ve i(icando se 4ouve sucesso na o#e a!o*
nB&tesLoc"# '( DISYSPACE ! 22 Retorn" o es3"Xo 0is3oni@e# n" uni0"0e 0e 0isco #oc"# re4ote !. IF nB&tesLoc"# ` *.+WR[U ,s$Sto3 VUni0"0e 0e Disco #oc"# 3ossui 4enos 0e * ,b #i@re.V! E#se ,s$Sto3 VUni0"0e 0e 0isco #oc"# 3ossui VLstr nB&tes9A%*/!LV b&tes #i@res.V! En0i5 nB&tes9A '( DISYSPACE * ! 22 Retorn" o es3"Xo 0is3oni@e# no 0ri@e A' #oc"# re4ote !. I5 nB&tes9A (( -* ,s$Sto3 VUni0"0e A' nJo estS 0is3onc@e# ou nJo DS 0isco no Dri@eV! E#seI5 nB&tes9A ` W*P/ ,s$Sto3 VNJo DS es3"Xo 0is3onc@e# no 0isco. Substitu" o 0isco n" Uni0"0e A'V! E#se ,s$Sto3 VUni0"0e A' ?eri5ic"0" . VLstr nB&tes9A%*/!LV b&tes #i@res.V! En0i5

-0emplo da funo )-RASReviso: 01/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

// 8ste e$em#lo a#aga todos os a 6uivos *%Ag do di et7 io co ente no 'e vido
#inc#u0e VDIRECTR>.CHV "E@"# Director& ";.BAY"!% 6 7"Fi#e7 FERASE "Fi#eGF9NA,EH! 8!

// 8ste e$em#lo a#aga um a 6uivo no cliente + Remote 3 , in(o mando o status da o#e a!o
IF FERASE "C'_List"T1T.t43"! (( -* ,s$Sto3 VF"#D" n" 0e#eXJo 0o Ar]ui@o FErrorVLstr 5error !%+!L V!V! E#se ,s$Sto3 VAr]ui@o 0e#et"0o co4 sucesso.V! ENDIF

-0emplo da funo )ILReviso: 04/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

Cos e$em#los a/ai$o , testamos a e$ist?ncia de um dete minado a 6uivo na esta!o local e no di et7 io de(inido como RootPat4 do am/iente +8nvi onment3 no 'e vido *
FILE "teste.0b5"! 22 ?eri5ic" no 0iretdrio corrente 0o ser@i0or se e<iste o "r]ui@o teste.0b5 FILE "_SI-AAD?_TESTE.0b5"! 22 ?eri5ic" no 0iretdrio Si$""0@ 0o ser@i0or se e<iste o "r]ui@o teste.0b5 FILE "C'_TE,P_TESTE.0b5"! 22 22 ?eri5ic" no 0iretdrio Te43 0o c#iente Re4ote! se e<iste o "r]ui@o teste.0b5

$ servao 6 Caso a funo )ile78 se%a e0ecutada em Do 7 programa sem interface remota 8 9 sendo passado um camin+o a soluto de ar/uivo 7 e0emplo c6EtesteAt0t8 9 a funo retornar A)A e )-RR$R78 retornar ;F 8

-0emplo da funo )$P-"


Reviso: 0G/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

Co e$em#lo a/ai$o , tentamos a/ i o a 6uivo e o *log #a a esc ita e g ava!o com#a til4ada*
#inc#u0e V5i#eio.cDV ... nH '( 5o3en V_si$""0@_error.#o$V % FO9READ:RITE L FO9SHARED ! I5 nH (( -* ,s$Sto3 VErro 0e "bertur" ' FERROR VLstr 5error !%+!! E#se ,s$Sto3 VAr]ui@o "berto co4 sucesso.V! ... 5c#ose nH! En0i5 ...

-0emplo da funo )R-"A'Reviso: 0G/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

Cos e$em#los a/ai$o , citamos 3 usos da (un!o ( ename : Renomea a 6uivos na esta!o ,liente , no 'e ve , e move a 6uivos de uma #asta no ,lient #a a out a #asta*
22 Reno4e"n0o u4 "r]ui@o no C#ient 0e ori$e4.t<t 3"r" 0estino.t<t % n" 3"st" c'_Te43 nSt"tus* '( 5ren"4e Vc'_Te43_Ori$e4.t<tV % Vc'_Te43_Destino.t<tV ! IF nSt"tus* (( -* ,s$Sto3 VF"#D" n" o3er"XJo * ' FError VLstr 5error !%+!! En0i5 22 Reno4e"n0o u4 "r]ui@o no Ser@er% n" 3"st" si$""0@ % 0e error.#o$ 3"r" error.o#0 nSt"tus/ '( 5ren"4e V_si$""0@_error.#o$V % V_si$""0@_error.o#0V ! IF nSt"tus/ (( -* ,s$Sto3 VF"#D" n" o3er"XJo / ' FError VLstr 5error !%+!! En0i5 22 ,o@en0o u4 "r]ui@o no c#ient % 0" 3"st" R"iT 3"r" " 3"st" c'_Te43 % "#ter"n0o t"4bK4 o no4e 0o "r]ui@o. nSt"tusF '( 5ren"4e Vc'_List".t<tV%Vc'_Te43_O#0List".t<tV! IF nSt"tusF (( -* ,s$Sto3 VF"#D" n" o3er"XJo F ' FError VLstr 5error !%+!! En0i5

-0emplo da funo )WRI!Reviso: 2H/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

8ste e$em#lo eali"a uma c7#ia de um a 6uivo <e$to c4amado .R;K8&*<^< , #a a um a 6uivo c4amado B8'<;C.*<^< , no am/iente do P ot4eus 'e ve *
#INCLUDE "FILEIO.CH" #DEFINE F9BLOCY *./+ 2 $r"@"0os 3or @eT 22 De5ine o b#oco 0e B&tes " sere4 #i0os

User Function TestCo3& ! Loc"# cBu55er '( SPACE F9BLOCY! Loc"# nHOri$e4 % nHDestino Loc"# nB&tesLi0os % nB&tesF"#t" % nT"4Ar]ui@o Loc"# nB&tesLer % nB&tesS"#@o Loc"# #Co3i"OM '( .T. 22 Abre o "r]ui@o 0e Ori$e4 nHOri$e4 '( FOPEN "ORI-E,.T1T"% FO9READ! 22 Test" " "bertur" 0o Ar]ui@o I5 nHOri$e4 (( -* ,s$Sto3 VErro "o "brir ori$e4. Ferror ( VLstr 5error !%+!%VErroV! Return .F. En0i5 22 Deter4in" o t"4"nDo 0o "r]ui@o 0e ori$e4 nT"4Ar]ui@o '( FseeM nHOri$e4%.%/! 22 ,o@e o 3onteiro 0o "r]ui@o 0e ori$e4 3"r" o inicio 0o "r]ui@o FseeM nHOri$e4%.! 22 Cri" o "r]ui@o 0e 0estino nHDestino '( FCREATE "DESTINO.T1T"% FC9NOR,AL! 22 Test" " cri"XJo 0o "r]ui@o 0e 0estino I5 nHDestino (( -* ,s$Sto3 VErro "o cri"r 0estino. Ferror ( VLstr 5error !%+!%VErroV! FCLOSE nHOri$e4! 22 FecD" o "r]ui@o 0e Ori$e4 Return .F. En0i5 22 De5ine ]ue " ]u"nti0"0e ]ue 5"#t" co3i"r K o 3rd3rio t"4"nDo 0o Ar]ui@o nB&tesF"#t" '( nT"4Ar]ui@o 22 En]u"nto Dou@er 0"0os " sere4 co3i"0os :Di#e nB&tesF"#t" > .

22 Deter4in" ]u"nti0"0e 0e 0"0os " sere4 #i0os nB&tesLer '( ,in nB&tesF"#t" % F9BLOCY ! 22 #e os 0"0os 0o Ar]ui@o nB&tesLi0os '( FREAD nHOri$e4% =cBu55er% nB&tesLer ! 22 Deter4in" se nJo Dou@e 5"#D" n" #eitur" I5 nB&tesLi0os ` nB&tesLer ,s$Sto3 "Erro 0e Leitur" 0" Ori$e4. "LI Str nB&tesLer%W%/!L" b&tes " LER."LI Li0os."LI "Lstr 5error !%+!%VErroV! #Co3i"OM '( .F. E<it En0i5 22 S"#@" os 0"0os #i0os no "r]ui@o 0e 0estino nB&tesS"#@o '( F:RITE nHDestino% cBu55er%nB&tesLer! 22 Deter4in" se nJo Dou@e 5"#D" n" $r"@"XJo I5 nB&tesS"#@o ` nB&tesLer ,s$Sto3 "Erro 0e $r"@"XJo 0o Destino. "LI Str nB&tesLer%W%/!L" b&tes " SAL?AR."LI Str nB&tesS"#@o%W%/!L" b&tes $r"@"0os."LI "Ferror ( "Lstr 5error !%+!%VErroV! #Co3i"OM '( .F. E1IT En0i5 22 E#i4in" 0o Tot"# 0o Ar]ui@o " ]u"nti0"0e 0e b&tes co3i"0os nB&tesF"#t" -( nB&tesLer En00o 22 FecD" os "r]ui@os 0e ori$e4 e 0estino FCLOSE nHOri$e4! FCLOSE nHDestino! I5 #Co3i"OM ,s$Sto3 VCd3i" 0e Ar]ui@os 5in"#iT"0" co4 sucesso. VLI str nT"4Ar]ui@o%*/%.!LV b&tes co3i"0os.V%VFin"#V! E#se ,s$Sto3 VF"#D" n" Cd3i". Ar]ui@o 0e Destino inco43#eto. VLI VDo tot"# 0e VLstr nT"4Ar]ui@o%*/%.!LV b&tes% 5"#t"r"4 VLstr nB&tesF"#t"%*/%.!LV b&tes.V%VFin"#V! En0i5 Return Str nB&tesLi0os%W%/!L" b&tes "Ferror (

-0emplo da funo 4etClient.ir78


Reviso: 04/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

Co e$em#lo a/ai$o , o/temos o d ive e di et7 io onde esto instalados o Remote *


,s$Sto3 VProtDeus Re4ote inst"#"0o e4 VL -etC#ientDir !!

-0emplo das funGes IsSrvUni0 e 4etRemoteIni"ame


Reviso: 12/06/2003 A/ ang?ncia -e so 6*09 -e so H*10

At av9s do e$em#lo a/ai$o, #odemos o/te o #at4 de e$ecu!o do AP Remote*


#inc#u0e "3rotDeus.cD" Function TstR4tP"tD ! Loc"# cIniN"4e'( -etRe4oteIniN"4e ! Loc"# #Uni<'( IsSr@Uni< ! Loc"# nPos'( R"t II5 #Uni<%"2"%"_"!%cIniN"4e ! Loc"# cP"tDR4t i5 nPosO(. cP"tDR4t'( Substr e#se cP"tDR4t'("" en0i5 \Out Return cP"tDR4t ! cIniN"4e%*%nPos-* !

-0emplo da funo ALIAS


Reviso: 2G/0H/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

Co e$em#lo a/ai$o , dete minamos 6ual a a ea de t a/al4o est5 atualmente em uso*


cA#i"s '( "#i"s ! IF e43t& cA#i"s! "#ert VNJo DS Are" e4 usoV! E#se "#ert Are" e4 uso "tu"# ' VLcA#i"s! En0i5

-0emplo da funo .2Append


Reviso: 0H/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

8ste e$em#lo demonst a como se #ode utili"a o d/a##end li/e ando e mantendo /lo6ueios ante io es*
USE C#ientes NE: FOR i'(* to R DBAPPEND .F.! NO,E '( "111" END ' (">>>" NE1T 22 Os R re$istros inc#uc0os 3er4"nece4 b#o]ue"0os DBAPPEND ! 22 To0os os b#o]ueios "nteriores sJo #iber"0os

-0emplo da funo .2ClearAll)ilter


Reviso: 0H/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

8ste e$em#lo demonst a como se #ode utili"a B%,L8ARALL1;L<8R #a a lim#a a e$# esso de (ilt o*
USE C#ientes NE: DBSETFILTER 677 I0"0e ` +.8% "I0"0e ` +."! 22 Set" " e<3ressJo 0e 5i#tro ... DBCLEARALLFILTER ! 22 Li43" " e<3ressJo 0e 5i#tro 0e to0"s "s or0ens

-0emplo da funo .2Clear)ilter


Reviso: 0H/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

8ste e$em#lo demonst a como se #ode utili"a B%,L8AR1;L<8R #a a lim#a a e$# esso de (ilt o*
USE C#ientes NE: DBSETFILTER 677 I0"0e ` +.8% "I0"0e ` +." ! 22 Set" " e<3ressJo 0e 5i#tro ... DBCLEARFILTER ! 22 Li43" " e<3ressJo 0e 5i#tro

-0emplo da funo .2ClearInde0


Reviso: 0H/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

8ste e$em#lo demonst a como se #ode utili"a a (un!o B%,L8AR;CB8^ #a a (ec4a os ndices*
USE C#ientes NE: DBSETINDE1 "No4e"! 22 Abre o "r]ui@o 0e cn0ice "No4e" ... DBCLEARINDE1 ! 22 FecD" to0os os "r]ui@os 0e cn0ices

-0emplo da funo .2CloseAll


Reviso: 0H/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

8ste e$em#lo demonst a como se #ode utili"a o B%,L.'8ALL #a a (ec4a todas as 5 eas de t a/al4o a/e tas*
USE C#ientes NE: DBSETINDE1 "No4e"! 22 Abre o "r]ui@o 0e cn0ice "No4e" USE Fornece0ores NE: DBSETINDE1 "I0"0e"! 22 Abre o "r]ui@o 0e cn0ice "I0"0e" ... DBCLOSEALL ! 22FecD" to0"s "s Sre"s 0e tr"b"#Do e to0os os cn0ices "ssoci"0os " e#"s.

-0emplo da funo .2CloseArea


Reviso: 0H/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

8ste e$em#lo demonst a como se #ode utili"a o B%,L.'8AR8A #a a (ec4a a 5 ea de t a/al4o atual*
USE C#ientes NE: DBSETINDE1 "No4e"! 22 Abre o "r]ui@o 0e cn0ice "No4e" ... DBCLOSEAREA ! 22 FecD" " Sre" 0e tr"b"#Do "tu"#

-0emplo da funo .2S!RUC!


Reviso: 0I/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

8ste e$em#lo demonst a como se #ode utili"a o B%'<RL,< #a a ecu#e a a est utu a da ta/ela co ente*
USE C#iente NE: DBSTRUCT ! 22Retorn"'66Co0%N%F%.8%6No4e%C%*.%.8%6I0"0e%N%F%.8%6N"sc%D%W%.8% 6P"$to%N%[%/88

-0emplo da funo .2S3ip


Reviso: 0H/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

8ste e$em#lo most a como o B%'g;P #ode #assa do (inal da ta/ela e do incio da ta/ela
DBUSEAREA .T.%"0b5c0<"0s"% "_0"0os"0@U.P_s"*PP..0b5"%"SSS"%.T.% .F. ! DB-OBOTTO, ! EOF ! 22 retorn" .F. DBSYIP ! EOF ! 22 retorn" .T. DB-OTOP ! BOF ! 22 retorn" .F. DBSYIP -*! BOF ! 22 retorn" .T.

-0emplo da funo .2Unloc3


Reviso: 0I/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

8ste e$em#lo most a como li/e a todos os egist os /lo6ueados da ta/ela co ente*
22 Dri@er "DBFCD1ADS" uti#iT" ACE 3"r" "bertur" 0o "r]ui@o DBUSEAREA .T.%"DBFCD1ADS"% "_0"0os"0@U.P_s"*PP..0b5"%"SSS"%.T.% .F. ! DBRLocM ! .... DBUNLOCY !

-0emplo da funo *-A.-R


Reviso: 03/10/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

8ste e$em#lo de(ine uma #seudo>(un!ao, B/('i"e+3, 6ue utili"a E8AB8R+3 0untamente com R8,';b8+3 e LA'<R8,+3 #a a calcula o taman4o do a 6uivo de /anco de dados co ente em /Rtes:
#0e5ine Db5SiTe ! RECSIQE ! ; LASTREC !! L HEADER ! L *!

Be#ois, voc? #ode utili"a B/('i"e+3 como se (osse 6ual6ue out a (un!ao:
USE S"#es NE: USE Custo4er NE: N Db5SiTe ! N S"#es-> Db5SiTe !!

-0emplo da funo US-.


Reviso: 09/0H/2003 A/ ang?ncia -e so G*0H -e s:es Ante io es -e so G*0I -e so 6*09 -e so H*10 -e so I*11

. e$em#lo a/ai$o dete mina se um a 6uivo de /anco de dados em use na 5 ea de t a/al4o co ente:
USE Custo4er NE: conout USED !! CLOSE conout USED !! 22 Resu#t"' .T. 22 Resu#t"' .F.

-0emplo de funo .2Unloc3All


Reviso: 0I/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

8ste e$em#lo most a como li/e a todos os egist os /lo6ueados da ta/ela co ente*
DBUSEAREA .T.%"0b5c0<"0s"% "_0"0os"0@U.P_s"*PP..0b5"%"SSS"%.T.% .F. ! DBRLocM ! ... DBUNLOCYALL !

-0emplo da funo .!$C


Reviso: 13/10/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

.s e$em#los a segui demonst am utili"a!oes ge ais de B<.,+3:


conout conout conout DATE ! ! DTOC DATE !! ! "HoAe e " L DTOC DATE !! ! 22 Resu#t"' .P2.*2P. 22 Resu#t"' .P2.*2P. 22 Resu#t"' HoAe e .P2.*2P.

-0emplo da funo .!$S


Reviso: 13/10/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

.s e$em#los a segui ilust am B<.'+3 em con0unto com v5 ias out as (un!oes:


conout conout conout DATE ! ! DTOS DATE !! ! LEN DTOS CTOD ""!!! ! 22 Resu#t"' .P2.*2P. 22 Resu#t"' *PP..P.* 22 Resu#t"' W

8ste e$em#lo demonst a como c ia um ndice com uma data com#osta e c4ave de ca acte e utili"ando B<.'+3:

-0emplo da funo 4-!I'PWI".$WS


Reviso: 0G/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

Co e$em#lo a/ai$o , dete minamos as im# esso as dis#onveis na esta!o Remote e no 'e ve , es#ectivamente* 8 , most amos no ,onsole do 'e ve a+s3 im# esso a+s3 encont ada+s3*
"I43Re4ote '( -etI43:in0o)s .F.! conout VI43ressor"s n" est"XJo re4ot"V! "e@"# "I43Re4ote % 6 7<7 conout <! 8! "I43Ser@er '( -etI43:in0o)s .T.! conout VI43ressor"s no Ser@i0orV! "e@"# "I43Ser@er % 6 7<7 conout <! 8!

-0emplo da funo 4-!P$R!AC!I#Reviso: 0H/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

Co e$em#lo a/ai$o, dete minamos as #o tas de im# esso dis#onveis na esta!o Remote e no 'e ve , es#ectivamente* 8 most amos no ,onsole do 'e ve a+s3 #o ta+s3 encont ada+s3*
"PortRe4ote '( -etPortActi@e .F.! conout VI43ressor"s n" est"XJo re4ot"V! "e@"# "PortRe4ote % 6 7<7 conout <! 8! "PortSer@er '( -etPortActi@e .T.! conout VI43ressor"s no Ser@i0orV! "e@"# "PortSer@er % 6 7<7 conout <! 8!

-e0a a/ai$o um e$em#lo do 6ue (oi most ado no console do P ot4eus 'e ve , a#os a e$ecu!o da otina*
I43ressor"s n" est"XJo re4ot" CO,*'CO,/'CO,F'CO,+'FILE'LPT*'LPT/'LPTF'__3rnser@er_3r<-#3* I43ressor"s no Ser@i0or CO,*'CO,/'CO,F'CO,+'FILE'LPT*'LPT/'LPTF'

-0emplo da funo .-SC-".


Reviso: 0I/09/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

8ste e$em#lo utili"a B8',8CB+3 em uma e$# essao ;CB8^ #a a c ia um ndice de datas de o dem descendente:
USE S"#es NE: INDE1 ON DESCEND DTOS Or0D"te!! TO S"#esD"te

Be#ois, B8',8CB+3 #ode se utili"ado #a a (a"e uma #es6uisa +'88g3 no ndice descendente:
DbSEEY DESCEND DTOS 0Fin0D"te!!!

$ servao 6 )aH;se necessria a converso da .ata para String m atrav(s da funo .!$S789 pois a funo .-SC-". apenas tra al+a com StringsA

-0emplo da )uno .AB


Reviso: 04/0I/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

.s e$em#los seguintes most am a (un!ao BAh+3 sendo utili"ada de dive sas manei as:
conout conout conout conout DATE ! ! DA> DATE !! ! DA> DATE !! L *! DA> CTOD ""!! ! 22 Resu#t"' .P2.*2P. 22 Resu#t"' * 22 Resu#t"' / 22 Resu#t"' .

8ste e$em#lo utili"a BAh+3 em con0unto com ,&.C<E+3 e h8AR+3 #a a (o mata um valo do ti#o data:
conout C,ONTH DATE !! L STR DA> DATE !!! LI "%" L STR >EAR DATE !!! ! 22 Resu#t"' ^une *R% *PP.

-0emplo da )uno '$"!*


Reviso: 22/09/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

8stes e$em#los ilust am o eto no do m?s da data do sistema:


conout conout conout DATE ! ! ,ONTH DATE !! ! ,ONTH DATE !! L * ! 22 Resu#t"' .P2.*2P. 22 Resu#t"' P 22 Resu#t"' *.

8ste e$em#lo demonst a a (un!ao &.C<E+3 atuando em uma data nula:


conout ,ONTH CTOD ""!! ! 22 Resu#t"' .

-0emplo da funco C.$W


Reviso: 04/0I/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

.s e$em#los a segui ilust am o (uncionamento da (un!ao ,B.2+3:


conout conout conout conout DATE ! ! CDO: DATE !! ! CDO: DATE ! L [! ! CDO: CTOD "*/2.U2P."!! ! 22 Resu#t"' .W2.+2./ 22 Resu#t"' Sun0"& 22 Resu#t"' Sun0"& 22 Resu#t"' TDurs0"&

-0emplo da funo C'$"!*


Reviso: 04/0I/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

.s e$em#los seguintes ilust am a utili"a!ao da (un!ao ,&.C<E+3:


conout C,ONTH DATE !! ! Resu#t"' Au$ust conout C,ONTH DATE ! L +R! ! Resu#t"' Se3te4ber conout SUBSTR C,ONTH DATE !!% *% F! L STR DA> DATE !!%F!! Resu#t"' Au$ + 22 22 22

-0emplo da funo .A!Reviso: 04/0I/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

.s e$em#los seguintes most am a (un!o BA<8+3 utili"ada de v5 ias manei as:


conout conout conout 0D"te ( conout DATE ! DATE ! DATE ! DATE ! C,ONTH ! L F. ! - F. ! 0D"te! ! 22 Resu#t"' .W2.+2./ 22 Resu#t"' .P2.F2./ 22 Resu#t"' .[2.R2./ 22 Resu#t"' Au$ust

-0emplo da funo .$W


Reviso: 0H/0G/2003 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

.s e$em#los a segui ilust am ,B.2+3 e seu elacionamento com B.2+3:


conout conout conout conout conout DATE ! ! DO: DATE !! ! CDO: DATE !! ! DO: DATE ! - /! ! CDO: DATE ! - /! ! 22 22 22 22 22 Resu#t"' Resu#t"' Resu#t"' Resu#t"' Resu#t"' .P2.*2WP F Terc"-5eir" * Do4in$o

-0emplo da funo -lap!ime78


Reviso: 0I/09/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

8ste e$em#lo utili"a a (un!o 8la#<ime+3 #a a calcula o tem#o necess5 io #a a um dete minado # ocessamento*
cHor"Inicio '( TI,E ! 22 Ar4"Ten" Dor" 0e inicio 0o 3rocess"4ento . . `instrucoes> . cE#"3se0 '( ELAPTI,E TI,E !%cHor"Inicio! 22 C"#cu#" " 0i5erenX" 0e te43o

,onside ando o e$em#lo acima, caso cEo a;nicio se0a 23:4G:00 , e a 4o a (inal do # ocessamento se0a 00:20:00 , a di(e en!a ent e eles , com#utada na va i5vel c8la#sed, se 5 00:1G:00 *

-0emplo da funo !I'Reviso: 19/10/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

8stes e$em#los most am a (un!o <;&8+3 utili"ada em con0unto com 'L%'<R+3 #a a e$t ai a 4o a, os minutos e os segundos:
cTi4e '( TI,E ! 22 Resu#t"0o' *.'F['*[ cHor" '( SUBSTR cTi4e% *% /! 22 Resu#t"0o' *. c,inutos '( SUBSTR cTi4e% +% /! 22 Resu#t"0o' F[ cSe$un0os '( SUBSTR cTi4e% [% /! 22 Resu#t"0o' *[

-0emplo da funo B-AR


Reviso: 13/10/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

.s e$em#los a segui ilust am h8AR+3 usando a data do sistema:


conout conout conout DATE ! ! >EAR DATE !! ! >EAR DATE !! L ** ! 22 Resu#t"' .P2.*2P. 22 Resu#t"' *PP. 22 Resu#t"' /..*

8ste e$em#lo c ia uma (un!ao de(inida #elo usu5 io usando h8AR+3 #a a (o mata um valo data na (o ma : m?s dia, ano:
conout *PP. U9,0& DATE !! ! 22 Resu#t"' Se3te4ber /.%

USER FUNCTION ,0& 0D"te ! Return C,ONTH 0D"te! L " " L LTRI, STR DA> 0D"te!!!I L "%" L STR >EAR 0D"te!!

-0empo da funo Seconds78


Reviso: 09/10/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

8ste e$em#lo com#a a o valo de <;&8+3 com o de '8,.CB'+3:


conout conout TI,E ! ! SECONDS ! ! 22 Resu#t"' *.'..'.. 22 Resu#t"' FU......

8ste e$em#lo demonst a como utili"a '8,.CB'+3 #a a in(o ma o tem#o deco ido em segundos:
LOCAL nSt"rt% nE#"3se0 nSt"rt ( SECONDS ! . . `3rocess"4entos...etc....> . nE#"3se0 ( SECONDS ! - nSt"rt conout "Decorri0os' " L LTRI, STR nE#"3se0!! L " se$un0os" !

-0emplo da funo AA..


Reviso: 06/0I/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

.s e$em#los a segui demonst am os e(eitos de c4amadas mJlti#las da (un!o AABB+3 #a a um veto :


"Arr"& '( 68 AADD "Arr"&% R! AADD "Arr"&% *.! AADD "Arr"&% 6 */% *. 8! *. 8 8 22 22 22 22 Resu#t"' Resu#t"' Resu#t"' Resu#t"' "Arr"& "Arr"& "Arr"& "Arr"& e e e e u4 @etor @"Tio 6 R 8 6 R% *. 8 6 R% *.% 6 */%

-0emplo da funo AC$PB


Reviso: 04/0I/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

8ste e$em#lo c ia dois veto es, cada um deles # eenc4ido com um valo * .s dois # imei os elementos do veto (onte sao entao co#iados #a a o veto destino:
LOCAL nCount '( /% nSt"rt '( *% "One% "T)o "One '( 6 *% *% * 8 "T)o '( 6 /% /% / 8 ACOP> "One% "T)o% nSt"rt% "Cont! 22 Resu#t"' "T)o e "$or" 6 *% *% / 8

-0emplo da funo A.-L


Reviso: 1H/0H/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

8ste e$em#lo c ia um veto constante de t ?s elementos, e de#ois elimina o segundo elemento* . te cei o elemento so/e uma #osi!ao, e ao novo te cei o elemento 9 at i/uido C;L:
LOCAL "Arr"& "Arr"& '( 6 *% /% F 8 ADEL "Arr"&% /! NIL 8

22 Resu#t"' "Arr"& e "$or" 6 *% /% F 8 22 Resu#t"' "Arr"& e "$or" 6 *% F%

-0emplo da funo A-#AL


Reviso: 1H/0H/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

8ste e$em#lo utili"a A8-AL+3 #a a (a"e uma lista 6ue consiste em itens selecionados de um veto multi>dimensional*
LOCAL "Fi#es '( DIRECTOR> ";.0b5"!% "N"4es '( 68 AE?AL "Fi#es% 6 7 5i#e 7 AADD "N"4es% 5i#eG*H! 8 !

-0emplo da funo A)ILL


Reviso: 1H/0H/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

Ceste e$em#lo, 9 c iado um veto com t ?s elementos* . veto 9 de#ois # eenc4ido com (also +*1*3* Ao (inal, aos elementos nas #osi!oes dois e t ?s 9 at i/uido o novo valos de ve dadei o +*<*3:
LOCAL "Lo$icGFH AFILL "Lo$ic% .F.! AFILL "Lo$ic% .T.% /% /! 22 Resu#t"' "Lo$ic e 6 NIL% NIL% NIL 8 22 Resu#t"' "Lo$ic e 6 .F.% .F.% .F. 8 22 Resu#t"' "Lo$ic e 6 .F.% .T.% .T. 8

-0emplo da funo AI"S


Reviso: 1H/0H/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

8ste e$em#lo demonst a o e(eito da utili"a!o de A;C'+3 em um veto :


LOCAL "Arr"& "Arr"& '( 6 *% /% F 8 AINS "Arr"&% /! / 8

22 Resu#t"' "Arr"& e "$or" 6 *% /% F 8 22 Resu#t"' "Arr"& e "$or" 6 *% NIL%

-0emplo da funo ARRAB


Reviso: 26/0H/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

8ste e$em#lo c ia um veto unidimensional de cinco elementos utili"ando a (un!ao ARRAh+3, e de#ois e$i/e a a!ao e6uivalente at i/uindo um veto lite al de valo es C;L:
"Arr"& '( ARRA> R! "Arr"& '( 6 NIL% NIL% NIL% NIL% NIL 8

8ste e$em#lo ilust a t ?s decla a!oes di(e entes 6ue c iam o mesmo veto multi> dimensional:
"Arr"& '( ARRA> F% /! "Arr"& '( 6 6NIL% NIL8% 6NIL% NIL8% 6NIL% NIL8 8 "Arr"& '( 6 ARRA> /!% ARRA> /!% ARRA> /! 8

-0emplo da funo ASCA"


Reviso: 26/0H/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10 -e s:es Ante io es

. e$em#lo a segui demonst a a #es6uisa em um veto de t ?s elementos utili"ando valo es sim#les e um /loco de c7digo como c it9 ios de #es6uisa* .s c it9 ios do /loco de c7digo ilust am como e$ecuta uma #es6uisa 6ue nao (a" di(e encia!ao ent e maiJsculas e minJsculas:
"Arr"& '( 6 "To4"% ","r&"% "Sue" 8 N ASCAN "Arr"&% ","r&"! N ASCAN "Arr"&% "4"r&"! N ASCAN "Arr"&% 6 7<7 UPPER <! (( ",AR>" 8!

22 Resu#t"' / 22 Resu#t"' . 22 Resu#t"' /

. 8$em#lo a/ai$o demonst a como continua a #es6uisa dos mJlti#los ti#os de um a gumento de #es6uisa a#7s te sido encont ada uma co es#ond?ncia:
LOCAL "Arr"& '( 6 "To4"% ","r&"% "Sue"% ","r&" 8% nSt"rt '( * 22 Pe$"r u#ti4" 3osic"o 0e e#e4ento 0e @etor nAtEn0 '( LEN 4&?etor! :Di#e nPos '( ASCAN "Arr"&% ","r&"% nSt"rt!! > . N nPos% "Arr"&GnPosH 22 Pe$"r no@" 3osic"o inici"# e test"r con0ic"o 0e #i4ite I5 nSt"rt '( LLnPos! > nAtEn0 E1IT En0I5 En0Do

-0emplo da funo ASIIReviso: 1H/0H/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

8stes e$em#los demonst am a adi!o de novos elementos e a elimina!o de elementos e$istentes:


"Arr"& '( 6 * 8 ASIQE "Arr"&% F! ASIQE "Arr"&% *! 22 Resu#t"' "Arr"& e 6 * 8 22 Resu#t"' "Arr"& e 6 *% NIL% NIL 8 22 Resu#t"' "Arr"& e 6 * 8

-0emplo da funo AS$R!


Reviso: 04/0I/2002 A/ ang?ncia -e so G*0H -e so G*0I -e so 6*09 -e so H*10

Co 8$em#lo a/ai$o , o denamos um a aR em o dem c escente , de#ois em o dem dec escente at av9s de um code>/locA *
Loc"# "Arr"& '( 6 F% R% *% /% + 8 ASORT "Arr"&! 22 Resu#t"0o' 6 *% /% F% +% R 8 ASORT "Arr"&%%%6 7<% &7 < > & 8! 22 Resu#t"0o' 6 R% +% F% /% * 8

Co 8$em#lo a/ai$o , utili"amos na e$# esso de o dena!o a (un!o u##e +3 , #a a o dena o a aR em o dem al(a/9 ica inde#endentemente da in(o ma!o esta em let as maiJsculas e/ou minusculas*
"Arr"& '( 6 "Fre0"% Y"te"% "AL?IN"% "5rien0" 8 ASORT "Arr"&%%% 6 7<% &7 UPPER <! ` UPPER &! 8!

Co e$em#lo a/ai$o , montamos um code>/locA #a a o dena!o de um a aR multi> dimensional , #a a o dena o a aR em o dem c escente do segundo elemento da dimenso*
"Yi0s '( 6 6","r&"% *+8% 6"^oe"% /F8%6"Art"% *U8 8 "SortYi0s '( ASORT "Yi0s%%% 6 7<% &7 <G/H ` &G/H 8! 22 Resu#t"0o ' 6 6","r&"% *+8% 6"Art"% *U8% 6"^oe"%/F8 8

Você também pode gostar