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: ...

BlackTDN :: Expressões Regulares ~ RegExp via Ezzy Learning Validation

Israel Neves estava com uma dúvida na validação de Expressões Regulares em ADVPL. Após pesquisar muito, conclui que não existem funções Prontas em ADVPL e, se existirem não estão disponíveis para uso. Em função disso, segue uma pequena amostra de como validar Expressões Regulares usando a ferramenta “online” da Ezzy Learning.

No Exemplo, uso o validador de Expressões Regulares da Ezzy Learning para verificar se um endereço de e-mail é valido.

Peguei emprestada a Classe TDecode do projeto Harbour MiniGui para tratar Content-Type: application/x-www-form-urlencoded

Para obter o código do exemplo clique aqui. Opcionalmente, poderá consultar os códigos aqui e as dependências aqui

Os exemplos poderão ser testados executando-se U_RegExpEx na tela de entrada do sistema. A saída se dara no console do Protheus Server.

As validações são baseadas em RegularExpressionValidationService.

RegExp: [SoapRegExp][1.1][mail@blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.T.]
RegExp: [SoapRegExp][1.2][mail@blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.T.]
RegExp: [HttpGetRegExp][mail@blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.T.]
RegExp: [HttpPostRegExp][mail@blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.T.]

RegExp: [SoapRegExp][1.1][mailblacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]
RegExp: [SoapRegExp][1.2][mailblacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]
RegExp: [HttpGetRegExp][mailblacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]
RegExp: [HttpPostRegExp][mailblacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]

RegExp: [SoapRegExp][1.1][mail_blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]
RegExp: [SoapRegExp][1.2][mail_blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]
RegExp: [HttpGetRegExp][mail_blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]
RegExp: [HttpPostRegExp][mail_blacktdn.com.br][^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+.([a-zA-Z]{2,4})$][.F.]

Infelizmente não consegui criar o Client do Web Server baseado no WDSL da Ezzy Learning pois o Protheus retorna o seguinte erro:

Estabelecendo conexão com o server...
Por favor aguarde. Obtendo descrição do WebService...
Erro na obtenção da descrição do WebService:
*** ERRO AO GERAR FONTE ADVPL ***
Source URL : http://www.ezzylearning.com/services/RegularExpressionValidationService.asmx?wsdl
-------------------------------------------------------------------------------
WSCERR075 / Unsuported Enumeration List []
ADVPL WSDL Client 1.111215 / P10 Ndj_01 on 20120404 00:13:49
-------------------------------------------------------------------------------

Mas isso não me impediu de disponibilizar um exemplo funcional e de fácil entendimento usando TSocketClient, HTTPGET e HTTPPOST

[]s

иαldσ dj

Comentários

  1. Boa tarde !
    Tem como enviar para outra página sem %5B%5D que corresponde [ ] no envio html
    No Protheus da erro
    Antecipadamente
    Agradeço
    Gilberto

    ResponderExcluir

Postar um comentário

Postagens mais visitadas