advpl guia referencia

Upload: milton-camara

Post on 18-Jul-2015

4.612 views

Category:

Documents


7 download

TRANSCRIPT

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

ADVPL GUIA DE REFERNCIA

Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br

-

SP

1

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

NDICEConverso entre tipos de dados .................................................................................................................. 8CTOD() ............................................................................................................................................................ 8 CVALTOCHAR() ............................................................................................................................................ 8 DTOC() ............................................................................................................................................................ 8 DTOS() ............................................................................................................................................................ 9 STOD() ............................................................................................................................................................ 9 STR() ............................................................................................................................................................. 10 STRZERO() ................................................................................................................................................... 10 VAL() ............................................................................................................................................................. 11

Matemticas ............................................................................................................................................... 11ACOS() .......................................................................................................................................................... 11 CEILING() ..................................................................................................................................................... 12 COS() ............................................................................................................................................................. 12 LOG10()......................................................................................................................................................... 13 SIN() .............................................................................................................................................................. 13 SQRT()........................................................................................................................................................... 13 TAN() ............................................................................................................................................................. 14

Anlise de variveis ................................................................................................................................... 14TYPE() ........................................................................................................................................................... 14 VALTYPE() ................................................................................................................................................... 15

Manipulao de arrays.............................................................................................................................. 16AADD() ......................................................................................................................................................... 16 ACLONE() ..................................................................................................................................................... 17 ACOPY() ....................................................................................................................................................... 17 ADEL() .......................................................................................................................................................... 18 ADIR() ........................................................................................................................................................... 18 AFILL() ......................................................................................................................................................... 19 AINS() ........................................................................................................................................................... 20 ARRAY() ....................................................................................................................................................... 20 ASCAN() ....................................................................................................................................................... 21 ASCANX() .................................................................................................................................................... 22 ASIZE() ......................................................................................................................................................... 22 ASORT() ........................................................................................................................................................ 23 ATAIL() ......................................................................................................................................................... 24

Manipulao de blocos de cdigo ............................................................................................................. 25EVAL() .......................................................................................................................................................... 25 DBEVAL() ..................................................................................................................................................... 25 AEVAL() ....................................................................................................................................................... 26

Manipulao de strings ............................................................................................................................. 27ALLTRIM() ................................................................................................................................................... 27 ASC() ............................................................................................................................................................. 28 AT() ............................................................................................................................................................... 29 BITON()......................................................................................................................................................... 29 CAPITAL() .................................................................................................................................................... 29 CHR() ............................................................................................................................................................. 30 DESCEND() .................................................................................................................................................. 30 GETDTOVAL() ............................................................................................................................................. 31 ISALPHA() .................................................................................................................................................... 31 ISDIGIT() ...................................................................................................................................................... 32 ISLOWER() ................................................................................................................................................... 32Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br SP

2

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

ISUPPER() ..................................................................................................................................................... 32 LEN() ............................................................................................................................................................. 33 LOWER() ....................................................................................................................................................... 33 LTRIM() ........................................................................................................................................................ 33 MATHC() ...................................................................................................................................................... 34 OEMTOANSI() ............................................................................................................................................. 34 PADL() / PADR() / PADC() .......................................................................................................................... 35 RAT() ............................................................................................................................................................. 35 REPLICATE() ............................................................................................................................................... 36 RTRIM() ........................................................................................................................................................ 36 SPACE() ........................................................................................................................................................ 37 STRTOKARR() ............................................................................................................................................. 37 STRTRAN() ................................................................................................................................................... 37 STUFF() ......................................................................................................................................................... 38 SUBSTR() ...................................................................................................................................................... 38 TRANSFORM() ............................................................................................................................................ 39 UPPER() ........................................................................................................................................................ 39

Manipulao de data / hora ...................................................................................................................... 40CDOW()......................................................................................................................................................... 40 CMONTH().................................................................................................................................................... 40 DATE() .......................................................................................................................................................... 41 DAY() ............................................................................................................................................................ 41 DOW() ........................................................................................................................................................... 42 DTOC() .......................................................................................................................................................... 42 DTOS() .......................................................................................................................................................... 43 ELAPTIME() ................................................................................................................................................. 43 MONTH() ...................................................................................................................................................... 44 SECONDS() ................................................................................................................................................... 44 TIME() ........................................................................................................................................................... 45 YEAR() .......................................................................................................................................................... 45

Manipulao de variveis numricas ....................................................................................................... 46ABS() ............................................................................................................................................................. 46 ALEATORIO() .............................................................................................................................................. 46 INT() .............................................................................................................................................................. 47 NOROUND() ................................................................................................................................................. 47 RANDOMIZE() ............................................................................................................................................. 48 ROUND() ....................................................................................................................................................... 48

Manipulao de arquivos .......................................................................................................................... 49ADIR() ........................................................................................................................................................... 49 CGETFILE() .................................................................................................................................................. 50 Funo Principal: SELFILE() ........................................................................................................................ 51 Funo auxiliar: PARBOXFILE() ................................................................................................................. 52 Funo auxiliar: MARKFILE()...................................................................................................................... 53 Funo auxiliar: TROCA() ............................................................................................................................ 54 Funo auxiliar: MARCAOK()...................................................................................................................... 54 CPYS2T() ...................................................................................................................................................... 55 CPYT2S() ...................................................................................................................................................... 55 CURDIR() ...................................................................................................................................................... 56 DIRECTORY() .............................................................................................................................................. 57 DIRREMOVE() ............................................................................................................................................. 58 DISKSPACE() ............................................................................................................................................... 59 EXISTDIR() ................................................................................................................................................... 59 FCLOSE() ...................................................................................................................................................... 60 FCREATE() ................................................................................................................................................... 61 FERASE() ...................................................................................................................................................... 61 FILE() ............................................................................................................................................................ 62Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br SP

3

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

FILENOEXT() ............................................................................................................................................... 63 FOPEN() ........................................................................................................................................................ 63 FREAD() ........................................................................................................................................................ 65 FREADSTR () ............................................................................................................................................... 65 FRENAME() .................................................................................................................................................. 66 FSEEK()......................................................................................................................................................... 66 FT_FEOF() .................................................................................................................................................... 67 FT_FGOTO() ................................................................................................................................................. 67 FT_FGOTOP() ............................................................................................................................................... 68 FT_FLASTREC() .......................................................................................................................................... 68 FT_FREADLN() ............................................................................................................................................ 69 FT_FRECNO() .............................................................................................................................................. 69 FT_FSKIP() ................................................................................................................................................... 70 FT_FUSE() .................................................................................................................................................... 70 FWRITE() ...................................................................................................................................................... 70 MSCOPYFILE() ............................................................................................................................................ 73 MSCOPYTO() ............................................................................................................................................... 73 MSCREATE()................................................................................................................................................ 74 MSERASE() .................................................................................................................................................. 75 MSRENAME() .............................................................................................................................................. 75 RETFILENAME() ......................................................................................................................................... 76

Manipulao de arquivos e ndices temporrios..................................................................................... 76CRIATRAB() ................................................................................................................................................. 76

Manipulao de bases de dados................................................................................................................ 77ALIAS() ......................................................................................................................................................... 77 BOF() / EOF() ................................................................................................................................................ 78 COPY() .......................................................................................................................................................... 79 COPY STRUCTURE() .................................................................................................................................. 81 DBAPPEND() ................................................................................................................................................ 82 DBCLEARALLFILTER() ............................................................................................................................. 82 DBCLEARFILTER() ..................................................................................................................................... 83 DBCLEARINDEX() ...................................................................................................................................... 83 DBCLOSEALL() ........................................................................................................................................... 84 DBCLOSEAREA() ........................................................................................................................................ 84 DBCOMMIT() ............................................................................................................................................... 85 DBCOMMITALL() ....................................................................................................................................... 85 DBCREATE() ................................................................................................................................................ 86 DBCREATEINDEX() ................................................................................................................................... 87 DBDELETE() ................................................................................................................................................ 88 DBF() ............................................................................................................................................................. 89 DBFIELDINFO() ........................................................................................................................................... 89 DBFILTER() .................................................................................................................................................. 91 DBGOTO() .................................................................................................................................................... 91 DBGOTOP() .................................................................................................................................................. 92 DBGOBOTTON() ......................................................................................................................................... 92 DBINFO() ...................................................................................................................................................... 93 DBNICKINDEXKEY() ................................................................................................................................. 94 DBORDERINFO()......................................................................................................................................... 94 DBORDERNICKNAME() ............................................................................................................................ 95 DBPACK() ..................................................................................................................................................... 95 DBRECALL() ................................................................................................................................................ 96 DBRECORDINFO() ...................................................................................................................................... 96 DBREINDEX() .............................................................................................................................................. 97 DBRLOCK() .................................................................................................................................................. 98 DBRLOCKLIST() ......................................................................................................................................... 98 DBRUNLOCK() ............................................................................................................................................ 99 DBSETDRIVER() ......................................................................................................................................... 99Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br SP

4

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

DBSETINDEX() .......................................................................................................................................... 100 DBSETNICKNAME() ................................................................................................................................. 100 DBSELECTAREA() .................................................................................................................................... 101 DBSETORDER() ......................................................................................................................................... 102 DBORDERNICKNAME() .......................................................................................................................... 102 DBSEEK() E MSSEEK()............................................................................................................................. 102 DBSKIP()..................................................................................................................................................... 104 DBSETFILTER() ......................................................................................................................................... 104 DBSTRUCT() .............................................................................................................................................. 105 DBUNLOCK() ............................................................................................................................................. 106 DBUNLOCKALL() ..................................................................................................................................... 106 DBUSEAREA() ........................................................................................................................................... 107 DELETED() ................................................................................................................................................. 107 FCOUNT() ................................................................................................................................................... 108 FOUND() ..................................................................................................................................................... 108 INDEXKEY() .............................................................................................................................................. 109 INDEXORD() .............................................................................................................................................. 109 LUPDATE() ................................................................................................................................................. 110 MSAPPEND().............................................................................................................................................. 110 MSUNLOCK() ............................................................................................................................................ 111 ORDBAGEXT() .......................................................................................................................................... 111 ORDKEY() .................................................................................................................................................. 112 RECLOCK() ................................................................................................................................................ 112 RECNO() ..................................................................................................................................................... 114 SELECT() .................................................................................................................................................... 114 SET FILTER TO .......................................................................................................................................... 115 SOFTLOCK() .............................................................................................................................................. 115 USED() ........................................................................................................................................................ 116

Controle de numerao seqencial ........................................................................................................ 116GETSXENUM() .......................................................................................................................................... 117 CONFIRMSXE() ......................................................................................................................................... 117 ROLLBACKSXE() ...................................................................................................................................... 117

Validao .................................................................................................................................................. 117ALLWAYSFALSE() ................................................................................................................................... 117 ALLWAYSTRUE() ..................................................................................................................................... 118 EXISTCHAV() ............................................................................................................................................ 118 EXISTCPO() ................................................................................................................................................ 118 LETTERORNUM() ..................................................................................................................................... 119 NAOVAZIO() .............................................................................................................................................. 119 NEGATIVO() .............................................................................................................................................. 119 PERTENCE() ............................................................................................................................................... 119 POSITIVO() ................................................................................................................................................. 120 TEXTO() ...................................................................................................................................................... 120 VAZIO() ...................................................................................................................................................... 120

Manipulao de parmetros do sistema ................................................................................................ 120GETMV() ..................................................................................................................................................... 120 GETNEWPAR() .......................................................................................................................................... 121 PUTMV() ..................................................................................................................................................... 121 SUPERGETMV() ........................................................................................................................................ 121

Controle de impresso ............................................................................................................................. 122AVALIMP() ................................................................................................................................................. 122 CABEC()...................................................................................................................................................... 123 IMPCADAST() ............................................................................................................................................ 126 MS_FLUSH() .............................................................................................................................................. 127 OURSPOOL() .............................................................................................................................................. 128 RODA() ....................................................................................................................................................... 129Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br SP

5

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

SETDEFAULT().......................................................................................................................................... 131 SETPRC() .................................................................................................................................................... 133 SETPRINT() ................................................................................................................................................ 133

Controle de processamentos ................................................................................................................... 135ABREEXCL() .............................................................................................................................................. 135 CLOSEOPEN() ............................................................................................................................................ 135 CLOSESFILE() ............................................................................................................................................ 135 CHKFILE() .................................................................................................................................................. 136 CONOUT() .................................................................................................................................................. 136 CRIAVAR() ................................................................................................................................................. 137 DISARMTRANSACTION() ....................................................................................................................... 137 EXECBLOCK() ........................................................................................................................................... 138 EXISTBLOCK() .......................................................................................................................................... 139 ERRORBLOCK() ........................................................................................................................................ 140 FINAL() ....................................................................................................................................................... 141 FINDFUNCTION() ..................................................................................................................................... 142 FUNDESC() ................................................................................................................................................. 142 FUNNAME() ............................................................................................................................................... 142 GETAREA() ................................................................................................................................................ 143 GETCOUNTRYLIST() ............................................................................................................................... 143 ISINCALLSTACK() .................................................................................................................................... 144 REGTOMEMORY() .................................................................................................................................... 144 RESTAREA() .............................................................................................................................................. 144 USEREXCEPTION()................................................................................................................................... 145

Utilizao de recursos do ambiente ERP ............................................................................................... 145AJUSTASX1() ............................................................................................................................................. 145 ALLUSERS() ............................................................................................................................................... 147 ALLGROUPS() ........................................................................................................................................... 149 CGC() ........................................................................................................................................................... 150 CONPAD1() ................................................................................................................................................ 150 DATAVALIDA()......................................................................................................................................... 150 EXISTINI() .................................................................................................................................................. 151 EXTENSO() ................................................................................................................................................. 151 FORMULA() ............................................................................................................................................... 152 GETADVFVAL() ........................................................................................................................................ 152 HELP() ......................................................................................................................................................... 153 MESEXTENSO()......................................................................................................................................... 153 OBRIGATORIO() ....................................................................................................................................... 154 OPENFILE() ................................................................................................................................................ 157 PERGUNTE() .............................................................................................................................................. 157 PESQPICT() ................................................................................................................................................ 157 PESQPICTQT() ........................................................................................................................................... 158 POSICIONE() .............................................................................................................................................. 158 PUTSX1() .................................................................................................................................................... 159 RETINDEX() ............................................................................................................................................... 160 SIXDESCRICAO() ...................................................................................................................................... 160 TABELA() ................................................................................................................................................... 161 TAMSX3() ................................................................................................................................................... 161 TM() ............................................................................................................................................................. 161 X1DEF01() .................................................................................................................................................. 162 X1PERGUNT() ............................................................................................................................................ 163 X2NOME() .................................................................................................................................................. 163 X3CBOX() ................................................................................................................................................... 164 X3DESCRIC() ............................................................................................................................................. 165 X3PICTURE() ............................................................................................................................................. 165 X3TITULO()................................................................................................................................................ 166 X3USO() ...................................................................................................................................................... 166Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br SP

6

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

X5DESCRI() ................................................................................................................................................ 167 X6CONTEUD() ........................................................................................................................................... 168 X6DESCRIC() ............................................................................................................................................. 168 XADESCRIC() ............................................................................................................................................ 169 XBDESCRI() ............................................................................................................................................... 170 XFILIAL() ................................................................................................................................................... 170

Componentes da interface visual............................................................................................................ 171MSDIALOG() .............................................................................................................................................. 171 MSGET() ..................................................................................................................................................... 171 SAY() ........................................................................................................................................................... 172 BUTTON() ................................................................................................................................................... 173 SBUTTON() ................................................................................................................................................ 173 CHECKBOX() ............................................................................................................................................. 174 COMBOBOX() ............................................................................................................................................ 175 FOLDER() ................................................................................................................................................... 176 RADIO() ...................................................................................................................................................... 176

Interfaces de cadastro ............................................................................................................................. 177AXCADASTRO() ........................................................................................................................................ 177 MBROWSE() ............................................................................................................................................... 177 AXPESQUI() ............................................................................................................................................... 178 AXVISUAL() .............................................................................................................................................. 178 AXINCLUI()................................................................................................................................................ 178 AXALTERA() ............................................................................................................................................. 179 AXDELETA().............................................................................................................................................. 181

Interfaces visuais para aplicaes .......................................................................................................... 181ALERT() ...................................................................................................................................................... 181 AVISO()....................................................................................................................................................... 182 FORMBACTH() .......................................................................................................................................... 182 MSGFUNCTIONS() .................................................................................................................................... 183

Recursos das interfaces visuais............................................................................................................... 184GDFIELDGET() .......................................................................................................................................... 184 GDFIELDPOS() .......................................................................................................................................... 184 GDFIELDPUT() .......................................................................................................................................... 185 GETMARK() ............................................................................................................................................... 185 MARKBREFRESH() ................................................................................................................................... 186 READVAR()................................................................................................................................................ 187

Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br

-

SP

7

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

Converso entre tipos de dadosCTOD() Realiza a converso de uma informao do tipo caracter no formato DD/MM/AAAA para uma varivel do tipo data. Sintaxe: CTOD(cData) Parmetros Caracter no formato DD/MM/AAAA

cData

Exemplo: LOCAL cData := 31/12/2006 LOCAL dData := CTOD(cData) IF dDataBase >= dData MSGALERT(Data do sistema fora da competncia) ELSE MSGINFO(Data do sistema dentro da competncia) ENDIF

CVALTOCHAR() Realiza a converso de uma informao do tipo numrico em uma string, sem a adio de espaos a informao. Sintaxe: CVALTOCHAR(nValor) Parmetros Valor numrico que ser convertido para caractere.

nValor

Exemplo: FOR nPercorridos := 1 to 10 MSGINFO(Passos percorridos: +CVALTOCHAR(nPercorridos)) NEXT nPercorridos

DTOC() Realiza a converso de uma informao do tipo data para em caracter, sendo o resultado no formato DD/MM/AAAA. Sintaxe: DTOC(dData) Parmetros

Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br

-

SP

8

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

dData

Varivel com contedo data

Exemplo: MSGINFO(Database do sistema: +DTOC(dData))

DTOS() Realiza a converso de uma informao do tipo data em um caracter, sendo o resultado no formato AAAAMMDD. Sintaxe: DTOS(dData) Parmetros Varivel com contedo data

dData

Exemplo: cQuery := SELECT A1_COD, A1_LOJA, A1_NREDUZ FROM SA1010 WHERE cQuery += A1_DULTCOM >=+DTOS(dDataIni)+

STOD() Realiza a converso de uma informao do tipo string com contedo no formato AAAAMMDD em data, no formato DD/MM/AAAA. Sintaxe: STOD(sData) Parmetros String no formato AAAAMMDD

sData

Exemplo: LOCAL sData := 20080601 LOCAL dData := STOD(sData) MSGINFO(dData)

Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br

-

SP

9

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

STR() Realiza a converso de uma informao do tipo numrico em uma string, adicionando espaos direita. Sintaxe: STR(nValor) Parmetros Valor numrico que ser convertido para caractere.

nValor

Exemplo: LOCAL nPassos := 6 MSGINFO(Passos percorridos: +STR(nPassos)

STRZERO() Realiza a converso de uma informao do tipo numrico em uma string, adicionando zeros esquerda do nmero convertido, de forma que a string gerada tenha o tamanho especificado no parmetro. Sintaxe: STRZERO(nValor, nTamanho) Parmetros Valor numrico que ser convertido para caractere. Tamanho total desejado para a string retornada.

nValor nTamanho

Exemplo: LOCAL nPassos := 6 MSGINFO(Passos percorridos: +STRZERO(nPassos,6))

Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br

-

SP

10

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

VAL() Realiza a converso de uma informao do tipo caracter em numrica. Sintaxe: VAL(cValor) Parmetros String que ser convertida para numrico.

cValor

Exemplo: LOCAL cValor := 12345 LOCAL nValor := VAL( cValor ) + 1 MSGINFO( nValor )

MatemticasACOS() Funo utilizada para calcular o valor do arco co-seno. Sintaxe: ACOS(nValor) Parmetros: Valor entre -1 e 1 de quem ser calculado o Arco Co-Seno.

nValor Retorno:

Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br

-

SP

11

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

Numrico

Range de 0 a radianos. Se o valor informado no parmetro for menor que 1 ou maior que 1, acos retorna um valor indefinido por default [+ , -]

CEILING() Funo utilizada para calcular o valor mais prximo possvel de um valor nMax informado como parmetro para a funo. Sintaxe: CELLING(nMax) Parmetros Valor limite para anlise da funo, no formato floating-point.

nMax Retorno:

Numrico Valor do tipo double, representando o menor inteiro que maior ou igual ao valor de nX. No h retorno de erro na funo.

COS() Funo utilizada para calcular o valor do co-seno ou co-seno hiperblico. Sintaxe: COS(nAngulo) Parmetros: Valor que representa o ngulo em radianos.

nAngulo Retorno:

Numrico

Valor que representa o co-seno ou co-seno hiperblico do ngulo informado.

Situaes invlidas: Exceo apresentada None INVALID INEXACT+OVERFLOW Significado da Exceo Sem Domnio Sem Domnio OVERFLOW

Entrada QNAN,IND (cosf, cos) x 7.104760e+002 (cosh, coshf)

Importante: Se x >= 2^63 ou x = 2^63 ou x = 2^63 ou x corresponde ao contedo de cVariavel1 aItem[2] -> corresponde ao contedo de cVariavel2 aItem[3] -> corresponde ao contedo de cVariavel3

AADD(aDados,aItem) // Adiciona no array aDados o contedo do array aItem // // // // // Neste ponto, o array a aDados possui apenas um elemento, que tambm um array contendo 03 elementos: aDados [1][1] -> corresponde ao contedo de cVariavel1 aDados [1][2] -> corresponde ao contedo de cVariavel2 aDados [1][3] -> corresponde ao contedo de cVariavel3

AADD(aDados, aItem) AADD(aDados, aItem) // Neste ponto, o array aDados possui 03 elementos, aonde cada qual um array com outros // 03 elementos, sendo: // aDados [1][1] -> corresponde ao contedo de cVariavel1 // aDados [1][2] -> corresponde ao contedo de cVariavel2 // aDados [1][3] -> corresponde ao contedo de cVariavel3 // aDados [2][1] -> corresponde ao contedo de cVariavel1 // aDados [2][2] -> corresponde ao contedo de cVariavel2 // aDados [2][3] -> corresponde ao contedo de cVariavel3 // aDados [3][1] -> corresponde ao contedo de cVariavel1Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br SP

16

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

// aDados [3][2] -> corresponde ao contedo de cVariavel2 // aDados [3][3] -> corresponde ao contedo de cVariavel3 // Desta forma, o array aDados montando com uma estrutura de 03 linhas e 03 colunas, com // o contedo definido por variveis externas, mas com a mesma forma obtida com o uso do // comando: aDados := ARRAY(3,3).

ACLONE() A funo ACLONE() realiza a cpia dos elementos de um array para outro array integralmente. Sintaxe: ACLONE(aArray) Parmetros Array pr-existente que ter seu contedo copiado para o array especificado.

aArray

Exemplo: Utilizando o array aDados utilizado no exemplo da funo AADD() Neste ponto, o array aItens possui exatamente a mesma estrutura e informaes do array aDados aItens := ACLONE(aDados)

Por ser uma estrutura de memria, um array no pode ser simplesmente copiado para outro array atravs de uma atribuio simples (:=). Para mais informaes sobre a necessidade de utilizar o comando ACLONE() verifique o tpico 6.1.3 Cpia de Arrays.

ACOPY() Funo de array que copia elementos do array aOrigem para array aDestino. O array destino aDestino j deve ter sido declarado e grande o bastante para conter os elementos que sero copiados. Se o array aOrigem contiver mais elementos, alguns dos elementos no sero copiados. ACOPY() copia os valores de todos os dados, incluindo valores nulos (NIL) e cdigos de bloco. Se um elemento for um subarray, o elemento correspondente no array aDestino, conter o mesmo subarray. Portanto, ACOPY() no produzir uma cpia completa de array multidimensionais. Sintaxe: ACOPY( aOrigem, aDestino , [ nInicio ], [ nQtde ], [ nPosDestino ]) Parmetros: o array que contm os elementos a serem copiados. o array que receber a cpia dos elementos. 17

aOrigem aDestino

Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br

-

SP

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

nInicio nQtde

nPosDestino

indica qual o ndice do primeiro elemento de aOrigem que ser copiado. Se no for especificado, o valor assumido ser 01. indica a quantidade de elementos a serem copiados a partir do array aOrigem. iniciando-se a contagem a partir da posio nInicio. Se nQtde no for especificado, todos os elementos do array aOrigem sero copiados, iniciando-se a partir da posio nInicio. a posio do elemento inicial no array aDestino que receber os elementos de aOrigem. Se no especificado, ser assumido 01.

Retorno: referncia ao array aDestino.

aDestino

Exemplo: LOCAL nCount := 2, nStart := 1, aOne, aTwo aOne := { 1, 1, 1 } aTwo := { 2, 2, 2 } ACOPY(aOne, aTwo, nStart, nCount) // Result: aTwo is now { 1, 1, 2 }

ADEL() A funo ADEL() permite a excluso de um elemento do array. Ao efetuar a excluso de um elemento, todos os demais so reorganizados de forma que a ultima posio do array passar a ser nula. Sintaxe: ADEL(aArray, nPosio) Parmetros Array do qual deseja-se remover uma determinada posio Posio do array que ser removida

aArray nPosio

Exemplo: // Utilizando o array aItens do exemplo da funo ACLONE() temos: ADEL(aItens,1) // Ser removido o primeiro elemento do array aItens. // // // // Neste ponto, o array aItens continua com 03 elementos, aonde: aItens[1] -> antigo aItens[2], o qual foi reordenado como efeito da excluso do item 1. aItens[2] -> antigo aItens[3], o qual foi reordenado como efeito da excluso do item 1. aItens[3] -> contedo nulo, por se tratar do item excludo.

ADIR() Funo que preenche os arrays passados com os dados dos arquivos encontrados, atravs da mscara informada. Tanto arquivos locais (Remote) como do servidor podem ser informados. 18

Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br

-

SP

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

Importante: ADir uma funo obsoleta, utilize sempre Directory(). Sintaxe: ADIR([ cArqEspec ], [ aNomeArq ], [ aTamanho ], [ aData ], [aHora], [ aAtributo ]) Parmetros: Caminho dos arquivos a serem includos na busca de informaes. Segue o padro para especificao de arquivos, aceitando arquivos no servidor Protheus e no Cliente. Caracteres como * e ? so aceitos normalmente. Caso seja omitido, sero aceitos todos os arquivos do diretrio default ( *.* ). Array de Caracteres. o array com os nomes dos arquivos encontrados na busca.O contedo anterior do array apagado. Array Numrico. So os tamanhos dos arquivos encontrados na busca. Array de Datas. So as datas de modificao dos arquivos encontrados na busca. Array de Caracteres. So os horrios de modificao dos arquivos encontrados. Cada elemento contm horrio no formato: hh:mm:ss. Array de Caracteres. So os atributos dos arquivos, caso esse array seja passado como parmetros, sero includos os arquivos com atributos de sistema e ocultos.

cArqEspec

aNomeArq aTamanho aData aHora aAtributos

Retorno: Quantidade de arquivos encontrados.

nArquivos

Exemplo: LOCAL aFiles[ADIR("*.TXT")] ADIR("*.TXT", aFiles) AEVAL(aFiles, { |element| QOUT(element) })

AFILL() Funo de manipulao de arrays, que preenche os elementos do array com qualquer tipo de dado. Incluindo code-block. Esta funo no deve ser usada para preencher um array com outro array. Sintaxe: AFILL( aDestino , xExpValor, [ nInicio ], [ nQuantidade ]) Parmetros o onde os dados sero preenchidos. o dado que ser preenchido em todas as posies informadas, no permitida a utilizao de arrays. a posio inicial de onde os dados sero preenchidos, o valor padro 1. Quantidade de elementos a partir de [nInicio] que sero preenchidos com , caso no seja informado o valor ser a quantidade de elementos at o final do array.

aDestino xExpValor nInicio nCount

Retorno: 19

Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br

-

SP

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

aDestino

Retorna uma referncia para aDestino.

Exemplo: LOCAL aLogic[3] // Resultado: aLogic AFILL(aLogic, .F.) // Resultado: aLogic AFILL(aLogic, .T., 2, // Resultado: aLogic

{ NIL, NIL, NIL } { .F., .F., .F. } 2) { .F., .T., .T. }

AINS() A funo AINS() permite a insero de um elemento no array especificado em qualquer ponto da estrutura do mesmo, diferindo desta forma da funo AADD() a qual sempre insere um novo elemento ao final da estrutura j existente. Sintaxe: AINS(aArray, nPosicao) Parmetros Array pr-existente no qual desejasse inserir um novo elemento. Posio na qual o novo elemento ser inserido.

aArray nPosicao

Exemplo: aAlunos := {Edson, Robson, Renato, Tatiana} AINS(aAlunos,3) // Neste ponto o array aAlunos ter o seguinte contedo: // {Edson, Robson, nulo, Renato, Tatiana}

Similar ao efeito da funo ADEL(), o elemento inserido no array pela funo AINS() ter um contedo nulo, sendo necessrio trata-lo aps a realizao deste comando.

ARRAY() A funo Array() utilizada na definio de variveis de tipo array, como uma opo a sintaxe utilizando chaves ({}). Sintaxe: Array(nLinhas, nColunas) Parmetros Determina o nmero de linhas com as quais o array ser criado Determina o nmero de colunas com as quais o array ser criadoSP

nLinhas nColunas

Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br

20

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

Exemplo: aDados := Array(3,3) // Cria um array de trs linhas, cada qual com 3 colunas.

O array definido pelo comando Array() apesar de j possuir a estrutura solicitada, no possui contedo em nenhum de seus elementos, ou seja: aDados[1] -> array de trs posies aDados[1][1] -> posio vlida, mas de contedo nulo.

ASCAN() A funo ASCAN() permite que seja identificada a posio do array que contm uma determinada informao, atravs da anlise de uma expresso descrita em um bloco de cdigo. Sintaxe: ASCAN(aArray, bSeek) Parmetros Array pr-existente no qual desejasse identificar a posio que contm a informao pesquisada. Bloco de cdigo que configura os parmetros da busca a ser realizada.

aArray bSeek

Exemplo: aAlunos := {Mrcio, Denis, Arnaldo, Patrcia} bSeek := {|x| x == Denis} nPosAluno := aScan(aAlunos,bSeek) // retorno esperado

2

Durante a execuo da funo aScan, a varivel x receber o contedo o item que est posicionado no momento, no caso aAlunos[x]. Como aAlunos[x] uma posio do array que contm o nome do aluno, x poderia ser renomeada para cNome, e a definio do bloco bSeek poderia ser re-escrita como: bSeek := {|cNome| cNome == Denis}

Na definio dos programas sempre recomendvel utilizar variveis com nomes significativos, desta forma os blocos de cdigo no so exceo. Sempre opte por analisar como o bloco de cdigo ser utilizado e ao invs de x, y e similares, defina os parmetros com nomes que representem seu contedo. Ser mais simples o seu entendimento e o entendimento de outros que forem analisar o cdigo escrito. 21

Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br

-

SP

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

ASCANX() Funo utilizada para varrer um vetor procurando um valor especificado, operando de forma similar a funo ASCAN. A diferena fundamental da funo ASCANX que esta funo recebe um segundo parmetro em seu code-block representando o ndice do array. Sintaxe: ASCANX ( < xDestino > , < bSeek > , [ nInicio ] , [ nCont ] ) Parmetros: Representa o objeto a ser varrido pela funo, pode ser atribudo ao parmetro um array um Objeto. Representa o valor que ser pesquisado, podendo ser um bloco de cdigo. Representa o elemento a partir do qual ter inicio a pesquisa, quando este argumento no for informado o valor default ser 1. Representa a quantidade de elementos que sero pesquisados a partir da posio inicial, quando este argumento no for informado todos elementos do array sero pesquisados.

xDestino bSeek nInicio nCont

Exemplo: nPos := aScanX( ARRAY, { |X,Y| X[1] == cNome .OR. y define o intervalo onde esto compreendidos os parmetrosAv. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br SP

23

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

Ao Z-> expresso que ser executadas pelo bloco de cdigo Ao1... AoZ -> intervalo de expresses que sero executadas pelo bloco de cdigo, no formato de lista de expresses. Retorno -> resultado da ultima ao executada pelo bloco de cdigo, no caso AoZ. Para maiores detalhes sobre a estrutura e utilizao de blocos de cdigo consulte o tpico 6.2 Listas de Expresses e Blocos de cdigo.

Exemplo 1: Ordenao ascendente aAlunos := { Mauren, Soraia, Andria} aSort(aAlunos) // Neste ponto, os elementos do array aAlunos sero {Andria, Mauren, Soraia}

Exemplo 2 : Ordenao descendente aAlunos := { Mauren, Soraia, Andria} bOrdem := {|x,y| x > y } // // // // // // Durante a execuo da funo aSort(), a varivel x receber o contedo do item que est posicionado. Como o item que est posicionado a posio aAlunos[x] e aAlunos[x] -> string contendo o nome de um aluno, pode-se substituir x por cNomeAtu. A varivel y receber o contedo do prximo item a ser avaliado, e usando a mesma analogia de x, pode-se substituir y por cNomeProx. Desta forma o bloco de cdigo bOrdem pode ser re-escrito como:

bOrdem := {|cNomeAtu, cNomeProx| cNomeAtu > cNomeProx} aSort(aAlunos,,bOrdem) // Neste ponto, os elementos do array aAlunos sero {Soraia , Mauren, Andria}

ATAIL() ATAIL() uma funo de manipulao de array que retorna o ltimo elemento de um array. Ela deve ser usada em substituio da seguinte construo: aArray [LEN( aArray )] Sintaxe: ATAIL( aArray ) Parmetros: o array de onde ser retornado o ltimo elemento.

aArray

Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br

-

SP

24

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

Retorno: Nmero do ltimo elemento do array.

nUltimo

Exemplo: aArray := {"a", "b", "c", "d"} ATAIL(aArray) // Resultado: d

Manipulao de blocos de cdigoEVAL() A funo EVAL() utilizada para avaliao direta de um bloco de cdigo, utilizando as informaes disponveis no mesmo de sua execuo. Esta funo permite a definio e passagem de diversos parmetros que sero considerados na interpretao do bloco de cdigo. Sintaxe: EVAL(bBloco, xParam1, xParam2, xParamZ) Parmetros Bloco de cdigo que ser interpretado. Parmetros que sero passados ao bloco de cdigo. A partir da passagem do bloco, todos os demais parmetros da funo sero convertidos em parmetros para a interpretao do cdigo.

bBloco xParamZ

Exemplo: nInt := 10 bBloco := {|N| x:= 10, y:= x*N, z:= y/(x*N)} nValor := EVAL(bBloco, nInt) // O retorno ser dado pela avaliao da ultima ao da lista de expresses, no caso z. // Cada uma das variveis definidas em uma das aes da lista de expresses fica disponvel // para a prxima ao. // Desta forma temos: // N recebe nInt como parmetro (10) // X tem atribudo o valor 10 (10) // Y resultado da multiplicao de X por N (100) // Z resultado a diviso de Y pela multiplicao de X por N ( 100 / 100) 1

DBEVAL() A funo DBEval() permite que todos os registro de uma determinada tabela sejam analisados e para cada registro ser executado o bloco de cdigo definido. Sintaxe: Array(bBloco, bFor, bWhile) Parmetros

Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br

-

SP

25

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

bBloco

Bloco de cdigo principal, contendo as expresses que sero avaliadas para cada registro do alias ativo. Condio para continuao da anlise dos registros, com o efeito de uma estrutura For ... Next. Condio para continuao da anlise dos registros, com o efeito de uma estrutura While ... End

bFor

bWhile

Exemplo 1: // Considerando o trecho de cdigo abaixo: dbSelectArea(SX5) dbSetOrder(1) dbGotop() While !Eof() .And. X5_FILIAL == xFilial("SX5") .And.; X5_TABELA (dbSeek(aCampos[nX])) AADD(aTitulos,AllTrim(SX3->X3_TITULO)) Next nX O mesmo pode ser re-escrito com o uso da funo AEVAL(): aEval(aCampos,{|x| SX3->(dbSeek(x)),IIF(Found(), AADD(aTitulos,; AllTrim(SX3->X3_TITULO)))})

Manipulao de stringsALLTRIM() Retorna uma string sem os espaos direita e esquerda, referente ao contedo informado como parmetro. A funo ALLTRIM() implementa as aes das funes RTRIM (right trim) e LTRIM (left trim). Sintaxe: ALLTRIM(cString) Parmetros String que ser avaliada para remoo dos espaos a direita e a esquerda.

cString

Exemplo: cNome := ALLTRIM(SA1->A1_NOME) MSGINFO(Dados do campo A1_NOME:+CRLF Tamanho: + CVALTOCHAR(LEN(SA1->A1_NOME))+CRLF Texto: + CVALTOCHAR(LEN(cNome))) 27

Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br

-

SP

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

ASC() Converte uma informao caractere em seu valor de acordo com a tabela ASCII. Sintaxe: ASC(cCaractere) Parmetros Caracter que ser consultado na tabela ASCII.

cCaractere

Exemplo: USER FUNCTION NoAcento(Arg1) Local nConta := 0 Local cLetra := "" Local cRet := "" Arg1 := Upper(Arg1) For nConta:= 1 To Len(Arg1) cLetra := SubStr(Arg1, nConta, 1) Do Case Case (Asc(cLetra) > 191 .and. Asc(cLetra) < 198) .or.; (Asc(cLetra) > 223 .and. Asc(cLetra) < 230) cLetra := "A" Case (Asc(cLetra) > 199 .and. Asc(cLetra) < 204) .or.; (Asc(cLetra) > 231 .and. Asc(cLetra) < 236) cLetra := "E"

Exemplo (continuao): Case (Asc(cLetra) > 204 .and. Asc(cLetra) < 207) .or.; (Asc(cLetra) > 235 .and. Asc(cLetra) < 240) cLetra := "I" Case (Asc(cLetra) > 209 .and. Asc(cLetra) < 215) .or.; (Asc(cLetra) == 240) .or. (Asc(cLetra) > 241 .and. Asc(cLetra) < 247) cLetra := "O" Case (Asc(cLetra) > 216 .and. Asc(cLetra) < 221) .or.; (Asc(cLetra) > 248 .and. Asc(cLetra) < 253) cLetra := "U" Case Asc(cLetra) == 199 .or. Asc(cLetra) == 231 cLetra := "C" EndCase cRet := cRet+cLetra Next Return UPPER(cRet)Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br SP

28

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

AT() Retorna a primeira posio de um caracter ou string dentro de outra string especificada. Sintaxe: AT(cCaractere, cString ) Parmetros Caractere ou string que se deseja verificar String na qual ser verificada a existncia do contedo de cCaractere.

cCaractere cString

Exemplo: STATIC FUNCTION NOMASCARA(cString,cMascara,nTamanho) LOCAL cNoMascara LOCAL nX := 0 := ""

IF !Empty(cMascara) .AND. AT(cMascara,cString) > 0 FOR nX := 1 TO Len(cString) IF !(SUBSTR(cString,nX,1) $ cMascara) cNoMascara += SUBSTR(cString,nX,1) ENDIF NEXT nX cNoMascara := PADR(ALLTRIM(cNoMascara),nTamanho) ELSE cNoMascara := PADR(ALLTRIM(cString),nTamanho) ENDIF RETURN cNoMascara

BITON() Funo utilizada para ligar determinados bits de uma String passada por parmetro para a funo. Alm da string ser alterada, a funo tambm recebe como parmetro um numrico que indica o bit de inicio a ser alterado, um numrico que indica a quantidade de bits a serem alterados(ligados) e o tamanho da string passada. Sintaxe: BITON ( < cValue > , < nBitIni > , < nBitEnd > , < nStrLen > ) Parmetros String no qual desejamos ligar os bits. Indica a partir de qual bit, comear a ser ligados os bits na String Indica a quantidade de bits que sero ligados a partir do inicio. Representa o tamanho da String passada para a funo.

cValue nBitIni nBitEnd nStrLen CAPITAL()

Funo que avalia a string passada como parmetro alterando a primeira letra de cada palavra para maiscula e as demais letras como minsculas.Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br SP

29

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

Sintaxe: CAPITAL(cFrase) Parmetros: String a ser avaliada

cFrase Retorno:

String

Contedo da string original com as modificaes necessrias para atender a condio da funo.

CHR() Converte um valor nmero referente a uma informao da tabela ASCII no caractere que esta informao representa. Sintaxe: CHR(nASCII) Parmetros Cdigo ASCII do caractere

nASCII

Exemplo: #DEFINE CRLF CHR(13)+CHR(10) // FINAL DE LINHA

DESCEND() Funo de converso que retorna a forma complementada da expresso string especificada. Esta funo normalmente utilizada para a criao de indexadores em ordem decrescente Sintaxe: DESCEND ( < cString > ) Parmetros: Corresponde seqncia de caracteres a ser analisada.

cString Retorno:

Caracter

String complementada da string analisada.

Exemplo:

// Este exemplo utiliza DESCEND() em uma expresso INDEX para criar um ndice de datas de // ordem descendente: USE Sales NEW INDEX ON DESCEND(DTOS(OrdDate)) TO SalesDate

Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br

-

SP

30

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

// Depois, DESCEND() pode ser utilizado para fazer uma pesquisa (SEEK) no ndice // descendente: DbSEEK(DESCEND(DTOS(dFindDate)))

GETDTOVAL() Funo utilizada para retornar um numero formatado, de acordo com o valor passado por parmetro, sendo que ir apenas manter os valores numricos contidos na string passada por parmetro, verificando se existe algum caractere '.' retornando um numero fracionrio, na ordem dos nmeros contidos na string. A funo muito til quando desejamos utilizar o valor numrico de uma data que est contida em uma string. Sintaxe: GETDTOVAL ( < cDtoVal > ) Parmetros: Representa uma string contendo um valor numrico no qual ser convertido.

cDtoVal Retorno:

Numrico

Retorna um dado numrico de acordo com o valor informado em .

Exemplo: GetDtoVal('123456') GetDtoVal('1/2/3/4/5/6') GetDtoVal('fim.123456') GetDtoVal('teste') //retorno 123456.0000 //retorno 123456.0000 //retorno 0.123456 //retorno 0.0

ISALPHA() Funo utilizada para determinar se o caractere mais esquerda em uma cadeia de caracteres alfabtico, permitindo avaliar se o string especificado comea com um caractere alfabtico. Um caractere alfabtico consiste em qualquer letra maiscula ou minscula de A a Z. Sintaxe: ISALPHA ( < cString > ) Parmetros: Cadeia de caracteres a ser examinada.

cString Retorno:

Lgico

Retorna verdadeiro (.T.) se o primeiro caractere em for alfabtico,SP

Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br

31

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

caso contrrio, retorna falso (.F.). ISDIGIT() Funo utilizada para determinar se o caractere mais esquerda em uma cadeia de caracteres um dgito, permitindo avaliar se o primeiro caractere em um string um dgito numrico entre zero e nove. Sintaxe: ISDIGIT ( < cString > ) Parmetros: Cadeia de caracteres a ser examinada.

cString Retorno:

Lgico

Retorna verdadeiro (.T.) caso o primeiro caractere da cadeia seja um dgito entre zero e nove; caso contrrio, retorna falso (.F.).

ISLOWER() Funo utilizada para determinar se o caractere mais esquerda uma letra minscula, permitindo avaliar se o primeiro caractere de um string uma letra minscula. o contrrio de ISUPPER(), a qual determina se a cadeia de caracteres comea com uma letra maiscula. ISLOWER() e ISUPPER() ambas so relacionadas s funes LOWER() e UPPER(), que convertem caracteres minsculos para maisculos, e vice-versa. Sintaxe: ISLOWER( < cString > ) Parmetros: Cadeia de caracteres a ser examinada.

cString Retorno:

Lgico

Retorna verdadeiro (.T.) caso o primeiro caractere da cadeia seja minsculo , caso contrrio, retorna falso (.F.).

ISUPPER() Funo utilizada para determinar se o caractere mais esquerda uma letra maiscula, permitindo avaliar se o primeiro caractere de um string uma letra maiscula. o contrrio de ISLOWER (), a qual determina se a cadeia de caracteres comea com uma letra minscula. ISLOWER() e ISUPPER() ambas so relacionadas s funes LOWER() e UPPER(), que convertem caracteres minsculos para maisculos, e vice-versa. Sintaxe: ISUPPER( < cString > ) Parmetros: Cadeia de caracteres a ser examinada.

cString

Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br

-

SP

32

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

Retorno: Retorna verdadeiro (.T.) caso o primeiro caractere da cadeia seja maisculo , caso contrrio, retorna falso (.F.).

Lgico

LEN() Retorna o tamanho da string especificada no parmetro. Sintaxe: LEN(cString) Parmetros String que ser avaliada

cString

Exemplo: cNome := ALLTRIM(SA1->A1_NOME) MSGINFO(Dados do campo A1_NOME:+CRLF Tamanho: + CVALTOCHAR(LEN(SA1->A1_NOME))+CRLF Texto: + CVALTOCHAR(LEN(cNome))) LOWER() Retorna uma string com todos os caracteres minsculos, tendo como base a string passada como parmetro. Sintaxe: LOWER(cString) Parmetros String que ser convertida para caracteres minsculos.

cString

Exemplo: cTexto := ADVPL MSGINFO(Texto:+LOWER(cTexto))

LTRIM() Funo para tratamento de caracteres utilizada para formatar cadeias de caracteres que possuam espaos em branco esquerda. Pode ser o caso de, por exemplo, nmeros convertidos para cadeias de caracteres atravs da funo STR(). LTRIM() relacionada a RTRIM(), a qual remove espaos em branco direita, e a ALLTRIM(), que remove espaos tanto esquerda quanto direita. O contrrio de ALLTRIM(), LTRIM(), e RTRIM() so as funes PADC(), PADR(), e PADL(), as quais centralizam, alinham direita, ou alinham esquerda as cadeias de caracteres, atravs da insero de caracteres de preenchimento. 33

Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br

-

SP

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

Sintaxe: LTRIM ( < cString > ) Parmetros: a cadeia de caracteres a ser copiada sem os espaos em branco esquerda.

cString

Retorno: LTRIM() retorna uma cpia de , sendo que os espaos em branco esquerda foram removidos. Caso seja uma cadeia de caracteres nula ("") ou toda composta de espaos em branco, LTRIM() retorna uma cadeia de caracteres nula ("").

Caracter

MATHC() Funo utilizada para realizar operaes matemticas com strings que contm um valor numrico. MATHC() realiza algumas operaes matemticas como: Soma, Subtrao, Diviso, Multiplicao e Exponenciao. A funo ir retornar uma string contendo o resultado da operao matemtica, com uma especificao de at 18 casas de preciso no numero. Sintaxe: MATHC ( < cNum1 > , < cOperacao > , < cNum2 > ) Parmetros: String contendo um valor numrico, representando o numero no qual desejamos realizar uma operao. Representa a string que indica a operao que desejamos realizar. Olhar na tabela para verificar quais valores devem ser informados aqui. String contendo um valor numrico, representando o numero no qual desejamos realizar uma operao.

cNum1 cOperacao cNum2

Retorno: Retorna uma nova string contendo o resultado matemtico da operao.

Caracter

OEMTOANSI() Funo que transforma uma string no Formato OEM / MS-DOS Text para uma string ANSI Text ( formato do Windows ). Quando utilizamos um programa baseado no MS-DOS para alimentar uma base de dados , os acentos e caracteres especiais so gravados como texto OEM . Para tornar possvel a correta visualizao destes dados em uma interface Windows , utilizamos a funo OemToAnsi() para realizar a converso. Ao utilizarmos um programa baseado no Windows para alimentar uma base de dados , o texto capturado no formato ANSI Text . Caso este texto seja utilizado para alimentar uma base de dados a ser acessada atravs de um programa MS-DOS , devemos converter o dado para OEM antes de grav-lo , atravs da funo AnsiToOem(). Sintaxe: OemToAnsi ( < cStringOEM > )Av. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br SP

34

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

Parmetros: String em formato OEM - MsDos a ser convertida.

cStringOEM Retorno:

Caracter

String convertida para ser exibida no Windows ( Formato ANSI ).

PADL() / PADR() / PADC() Funes de tratamento de strings que inserem caracteres de preenchimento para completar um tamanho previamente especificado em vrios formatos como data ou numricos. PADC() centraliza , adicionando caracteres de preenchimento direita e esquerda. PADL() adiciona caracteres de preenchimento esquerda. PADR() adiciona caracteres de preenchimento direita.

Caso o tamanho de exceda o argumento , todas as funes PAD() truncam string preenchida ao especificado. PADC(), PADL(), e PADR() so utilizadas para exibir cadeias de caracteres de tamanho varivel em uma rea de tamanho fixo. Elas podem ser usadas, por exemplo, para assegurar o alinhamento com comandos ?? consecutivos. Outra utilizao exibir textos em uma tela de tamanho fixo, para certificar-se de que o texto anterior foi completamente sobrescrito. PADC(), PADL(), e PADR() so o contrrio das funes ALLTRIM(), LTRIM(), e LTRIM(), as quais eliminam espaos em branco esquerda e direita de cadeias de caracteres. Sintaxe: PADL / PADR / PADC ( < cExp > , < nTamanho > , [ cCaracPreench ] ) Parmetros Caractere, data, ou numrico no qual sero inseridos caracteres de preenchimento. Tamanho da cadeia de caracteres a ser retornada. Caractere a ser inserido em cExp. Caso no seja especificado, o padro o espao em branco.

cExp nTamanho cCaracPreench

Retorno: Retornam o resultado de na forma de uma cadeia de caracteres preenchida com , para totalizar o tamanho especificado por .

Caracter

RAT() Retorna a ltima posio de um caracter ou string dentro de outra string especificada.

Sintaxe: RAT(cCaractere, cString) ParmetrosAv. Leona rdo da Vinci, n 608 Metr Conceio - So Paulo Tel: 11 50114895 / 50116082 / 98081988 E m a i l / M S N : [email protected] - www.advpl.com.br SP

35

ADVPLGUIA DE REFERNCIAVerso 1.0 06/2008 Todos direitos reservados Escola Parceira Certificao

cCaractere cString

Caractere ou string que se deseja verificar String na qual ser verificada a existncia do contedo de cCaractere.

REPLICATE() A funo Replicate() utilizada para gerar uma cadeira de caracteres repetidos a partir de um caracter base informado, podendo a string gerada conter at 64KB. Caso seja especificado no parmetro de itens a repetir o nmero zero, ser retornada uma string vazia. Sintaxe: REPLICATE(cString, nCount) Parmetros: Caracter que ser repetido Quantidade de ocorrncias do caracter base que sero geradas na string de destino.

cString nCount

Retorno: String contendo as ocorrncias de repeticao geradas para o caracter informado.

cReplicated

RTRIM() Funo para tratamento de caracteres utilizada para formatar cadeias de caracteres que contenham espaos em branco direita. Ela til quando voc deseja eliminar espaos em branco direita ao se concatenar cadeias de caracteres. o caso tpico com campos de banco de dados que so armazenados em formato de tamanho fixo. Por exemplo, voc pode usar RTRIM() para concatenar o primeiro e o ltimo campos de nome para formar uma cadeia de caracteres de nome. LTRIM() relacionada a RTRIM(), que remove espaos em branco direita, e a ALLTRIM(), que remove espaos em branco direita e esquerda. O contrrio de ALLTRIM(), LTRIM(), e RTRIM() so as funes PADC(), PADR(), e PADL(), as quais centralizam, alinham direita, ou alinham esquerda cadeias de caracteres, inserindo caracteres de preenchimento. Sintaxe: RTRIM ( < cString > ) --> cTrimString Parmetros: a cadeia de caracteres a ser copiada sem os espaos em branco direita.

cString

Retorno: RTRIM() retorna uma cpia de , sendo que os espaos em branco direita foram removidos. Caso seja uma cadeia de caracteres nula ("") ou totalmente composta por espaos, RTRIM() retorna