Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: LeetCode (17) :: Comparando Implementações do Desafio "Letter Combinations of a Phone Number" em Harbour e TOTVS TLPP

_Créditos das imagens: ChatGPT_ # LeetCode (17) :: Comparando Implementações do Desafio "Letter Combinations of a Phone Number" em Harbour e TOTVS TLPP O desafio [**"Letter Combinations of a Phone Number"**](https://leetcode.com/problems/letter-combinations-of-a-phone-number/description/) (Combinações de Letras de um Número de Telefone) é um problema clássico de programação que envolve a geração de todas as combinações possíveis de letras que um número de telefone pode representar, com base no mapeamento tradicional dos teclados de telefone. Abaixo, comparamos duas implementações desse desafio: uma em **Harbour** e outra em **TOTVS TLPP** (TOTVS Language Plus Plus). ## O Desafio Dada uma string contendo dígitos de 2 a 9, retorne todas as combinações possíveis de letras que esses dígitos podem representar. O mapeamento dos dígitos para as letras é o mesmo dos teclados de telefone tradicionais: - 2: "abc" - 3: "def" - 4: "ghi" - 5: ...

Protheus :: Programação Básica em Advpl “Combo XXV”

Chamando Funções Indiretamente:

Em Advpl é possível efetuar a chamada de funções indiretamente usando o operador de macros. Este procedimento lhe permitirá usar aplicativos controlados por dados.

Pode-se usar um bando de dados ( à exemplo do SX3 ) para armazenar uma seqüência de funções a serem chamadas, e depois usá-lo para gerar telas, efetuar validação de campos, iniciar o conteúdo de campos, etc.

Para passar uma função como parâmetro, passe o nome da função como uma string de caracteres ou como uma chamada de função dentro de um bloco de codificação. Para chamá-la, use o operador de macros & ou a função __ExecMacro() quando estiver passando uma string de caracteres ou Eval() para avaliar o bloco de código.

Exemplo:

cExecTeste := “U_TESTE()”
&( cExecTeste )

ou

cExecTeste := “U_TESTE()” //Executa a função U_TESTE()
__ExecMacro ( cExecTeste ) //Executa a função U_TESTE()

ou ainda

bExecTeste := { || U_TESTE() )
Eval( bExecTeste ) //Executa a função U_TESTE()

Comentários

Postagens mais visitadas