Exibir todos os fontes do RPO
Você conhece a função GetFuncArray() ?
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.As vezes é importante você extrar principalmente os fontes de usuário para saber o que tem dentro do seu fonte.
Sintaxe: GetFuncArray( < cMascara >, [ @aTipo ], [ @aArquivo ], [ @aLinha ], [ @aData ], [ @aHora ] )
Nome | Tipo | Descrição | Obrigatoriedade |
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. | |
aArquivo | vetor | Indica o array que será alimentado com o nome do arquivo que contém o código fonte. | |
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. | |
aData | vetor | Indica o array que será alimentado com a data da última modificação do arquivo que contém o código fonte. | |
aHora | vetor | Indica o array que será alimentado com a hora da última modificação do arquivo que contém o código fonte. |
Exemplo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#include 'protheus.ch' User Function FonteRPO() Local nCount := 0 Local aFuncao := {} // 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 aDate := {} // Para retornar a data da última modificação do código fonte compilado Local aTime := {} // Para retornar a hora da última modificação do código fonte compilado Local cMascara := "U_*" // Neste caso, será exibido todos os fontes de usuário, seja fontes feitas por você ou Totvs. Local cFile := "" Local cFuncao := "" Local cTipoFonte:= "" Local aArquivos := {} aFuncao := GetFuncArray(cMascara, aType, aFile, aLine, aDate, aTime) For nCount := 1 To Len(aFuncao) cFile := aFile[nCount] cTipoFonte := Alltrim(aType[nCount]) cFuncao := aFuncao[nCount] aadd(aArquivos,{cFuncao, cFile, aType[nCount], DtoC(aDate[nCount]), aTime[nCount]}) Next Return |
Deixe uma resposta