Duvida Array corrente

Bom dia senhores, Preciso fazer uma linha que seja exibida em um TRelatorio que receba o mês, passe por 12 meses e volte para o mês informado. Estou tentando usar com o MesExtenso, mas ai o MesExtenso receberia um Array com contador.

(Exemplo : o user digitou: 04 )

como mostraria:

(Meses Abril Maio Junho Julho .......... até Voltar para o Abril novamente)

Codigo:

cabec("Meses"+ aMesExtenso[x] + aMesExtenso[x]+ aMesExtenso[x]+ .........)

x++

Mas não estou conseguindo fazer nem o Array funcionar corretamente. Se alguem puder me ajudar, serei eternamente grato. Segue abaixo o prw de eu tentando fazer só o contador do array.

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

Olá Luscas, segue exemplo, no exemplo o array terá na posição 1 o mês atual e vai seguindo até o decimo segundo mês


#INCLUDE 'PROTHEUS.CH'
#INCLUDE 'TOTVS.CH'
/*/{Protheus.doc} User Function nomeFunction
        (Adiciona os últimos 12 meses em array)
        @type  Function
        @author Leandro Lemos
        @since 21/07/2023
        @version version
        @param param_name, param_type, param_descr
        @return return_var, return_type, return_description
        @example
        (examples)
        @see (links_or_references)
        /*/
User Function TESTFUC1()
    //ABRE()
    //Local nMes
    Local nX := 0
    Local aDat := {}

    RpcSetEnv("01","010101")
    //Pega a data atual, e o mês dela
    dData := Date()
    //nMes  := Month(dData)
    //nMes  := FwInputBox("poem o numero do mes aii :( , pufavo ", nMes)

    for nX := 12 to 1 Step -1 
        //Pega o mês por extenso
        aAdd(aDat,MesExtenso(MonthSum(dData,nX)))

        //Mostra em uma mensagem
        //MsgAlert ("Sao Paulo, " + STRZERO(Day(dDataBase), 2) + " de " + cValtoChar(cMesExtenso) + " de " + StrZero(Year(dDataBase), 4))
    next

    RpcClearEnv()
Return