Nesse vídeo demonstraremos a utilização das funções Soma1 e Tira1, que servem para incrementar ou decrementar números sequencias em strings, por exemplo, de 99 ir para 9A e depois 9B e assim por diante.
Inscreva-se no Canal
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | //Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function zExe449 Incrementa um conteúdo caractere e quando chega em 9 ele começa a usar letras, por exemplo "99" @type Function @author Atilio @since 26/11/2022 @see https://tdn.totvs.com/pages/releaseview.action?pageId=6814919 @obs Função Soma1 Parâmetros + cSoma , Caractere , String que será analisada + nPos , Numérico , Posição ser movimentada + lSomaLow , Lógico , Se deve usar caracteres minúsculos + lCompleteSUM , Lógico , Define se irá usar todos os caracteres disponíveis antes de usar letras Retorno + cRet , Caractere , Retorna a string com +1 no conteúdo (conforme o tamanho do cSoma) Função Tira1 + Recebe a string no formato do Soma1 Retorno + Retorna a string diminuindo -1 no conteúdo Obs.: Se o parâmetro MV_SOMAOLD estiver como .T. do "99" ele irá virar "9A"; se tiver .F. ai do "99" ele irá virar "A0" **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao **** /*/ User Function zExe449() Local aArea := FWGetArea() Local cValor := "00" Local nAtual := 0 //Percorre valor de 1 a 150 e depois vê quanto que ficou o Soma1 For nAtual := 1 To 150 cValor := Soma1(cValor) Next FWAlertInfo( "O resultado é: " + cValor, "Teste Soma1" ) //Utiliza o Tira1 para ver quanto que ficou o resultado cValor := Tira1(cValor) FWAlertInfo( "O resultado é: " + cValor, "Teste Tira1" ) FWRestArea(aArea) Return |
Bom pessoal, por hoje é só.
Abraços e até a próxima.