Árvore de páginas

Retorna um ou mais arrays contendo os dados das funções contidas no RPO - Repositório Portável de Objetos, a partir de uma máscara.

Sintaxe

GetFuncArray( < cMascara >, [ @aTipo ], [ @aArquivo ], [ @aLinha ], [ @aData ], [ @aHora ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cMascara

caractere

Indica a máscara que será utilizada para realizar a busca. Observação: Podem ser utilizados caracteres do tipo curinga ("?" ou "*").

X

 

aTipo

vetor

Indica o array que será alimentado com o tipo da função encontrada.

 

X

aArquivo

vetor

Indica o array que será alimentado com o nome do arquivo que contém o código fonte.

 

X

aLinha

vetor

Indica o array que será alimentado com o número da linha correspondente a declaração da função no arquivo do código fonte.

 

X

aData

vetor

Indica o array que será alimentado com a data da última modificação do arquivo que contém o código fonte.

 

X

aHora

vetor

Indica o array que será alimentado com a hora da última modificação do arquivo que contém o código fonte.

 

X

Retorno

Nome

Tipo

Descrição

aScr

vetor

Retorna um array que contém os nomes das funções localizadas através da máscara, compiladas no repositório em uso pelo ambiente.

Observações

A função GetFuncArray() tem o objetivo de retornar um array com as funções contidas no RPO - Repositório de Objetos, a partir de uma máscara fornecida como parâmetro. Caso nenhuma função que atenda ao parâmetro informado seja encontrada, o retorno será um array vazio.

Em builds superiores a 7.00.090818P, o 5º parâmetro nao retorna mais o tipo do recurso, mas sim uma string contendo a hora do arquivo fonte compilado no RPO. vide abaixo a lista dos parametros opcionais e seus respectivos retornos, na ordem:

  • Tipo da função ( USER, FULL , etc.. )
  • Nome do arquivo que contém o código fonte onde a função está declarada.
  • Número da linha, no código fonte, onde a função foi declarada.
  • Data da última modificação do código fonte compilado.
  • Hora da última modificação do código fonte compilado.

Exemplos

User Function TestaGetFuncArray()
  Local aRetLocal nCount
  // Para retornar a origem da função: FULL, USER, PARTNER, PATCH, TEMPLATE ou NONE
  Local aType
  // Para retornar o nome do arquivo onde foi declarada a função
  Local aFile
  // Para retornar o número da linha no arquivo onde foi declarada a função
  Local aLine
  // Para retornar a data da última modificação do código fonte compilado
  Local aDate
  // Para retornar a hora da última modificação do código fonte compilado
  Local aTime
  
  // Buscar informações de todas as funções contidas no APO
  // tal que tenham a substring 'test' em algum lugar de seu nome
  aRet := GetFuncArray('U_TEST*', aType, aFile, aLine, aDate,aTime)
  for nCount := 1 To Len(aRet)
    conout("Funcao " + cValtoChar(nCount) + "= " + aRet[nCount])
    conout("Arquivo " + cValtoChar(nCount) + "= " + aFile[nCount])
    conout("Linha " + cValtoChar(nCount) + "= " + aLine[nCount])
    conout("Tipo " + cValtoChar(nCount) + "= " + aType[nCount])
    conout("Data " + cValtoChar(nCount) + "= " + DtoC(aDate[nCount]))
    conout("Hora " + cValtoChar(nCount) + "= " + aTime[nCount])
  Next
Return


User function Exemplo()
  Local aRetType, aRetFile, aRetLine, aRetDate, aRetBType
  aRet := GetFuncArray("u_exemplo", aRetType, aRetFile, aRetLine, aRetDate, aRetBType)
  conout("Funcao U_Exemplo:")
  conout("aRetType  - " + aRetType[1])
  conout("aRetFile  - " + aRetFile[1])
  conout("aRetLine  - " + aRetLine[1])
  conout("aRetDate  - " + cvaltochar(aRetDate[1]))
  conout("aRetBType - " + aRetBType[1])
Return