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 :: DNA Tech Editor xBase/SQL

DNA Tech Editor xBase/SQL 


 O Harbour permite criar, testar, e executar código xBase online. Ex.:


Senti falta de algo semelhante no Protheus. Então, decidi implementar algumas melhorias no DNA Tech Editor xBase/SQL . Por enquanto apenas para ser executado no smartclient, mas futuramente.... quem sabe!



***Exemplo de Código criado no DNA Tech Editor xBase/SQL 

```xBase


#pragma @__BeginText@
{
    "Includes" : "C:\\totvs\\includes;C:\\GitHub\\naldodj-tlpp\\include",
    "MainFunction" : "u_DNaEdtTst()"    
}
#pragma @__EndText@

#include "totvs.ch"

static Function __Teste(n) as variant
return(MsgInfo(n,ProcName()))

function u_DNaEdtTst() as variant

    local n,d:=10 as numeric
    __cInternet:=NIL
    for n:=1 to d
        __Teste(n)
    next n

    dna.tech.dirtools():BrowseFiles("Includes","c:\totvs\includes\","*.*")
   
return(nil)


```



...






***Um outro Exemplo de Código criado no DNA Tech Editor xBase/SQL 
```xBase
#pragma @__BeginText@
{
    "Includes" : "C:\\totvs\\includes;C:\\GitHub\\naldodj-tlpp\\include",
    "MainFunction" : "u_DNaEdtTst()"    
}
#pragma @__EndText@

#include "totvs.ch"

static function MyChangeQuery(cQuery)
    local nAT as numeric
    cQuery:=allTrim(cQuery)
    cQuery:=strTran(cQuery,"`","")
    nAT:=AT("SELECT",Upper(cQuery))
    cQuery:=subStr(cQuery,nAT)
    cQuery:=strTran(cQuery,";","")
    cQuery:=strTran(cQuery,chr(13),"")
    cQuery:=strTran(cQuery,chr(10),"")
    cQuery:=ChangeQuery(cQuery)
return(cQuery)

function u_DNaEdtTst() as variant

    local cQuery as character

    beginContent var cQuery
        SELECT SX5.X5_FILIAL
              ,SX5.X5_TABELA
              ,SX5.X5_DESCRI
          FROM SX5030 SX5
         WHERE SX5.D_E_L_E_T_=' '
    endContent
    
    cQuery:=strTran(cQuery,"SX5030",RetSQLName("SX5"))
    
    dna.tech.sqlTools():QueryFWMBrowse(MyChangeQuery(cQuery))
    
return(nil)
```





Mas a idéia básica é essa. Ainda está em desenvolvimento. 

Quer ter acesso a essa e a outras incríveis ferramentas desenvolvidas por este que vos escreve. Compartilhe com o Projeto "Eu sou Ninja (Abada Capoeira)" (BlackTDN :: Social :: Rifa Festival da Arte Capoeira Projeto Eu Sou Ninja) e tenha a chance de concorrer a todo código de minha biblioteca pessoal.

Comentários

Postagens mais visitadas