BlackTDN :: LeetCode :: Comparando Implementações Harbour e TLPP para o Desafio Longest Palindromic Substring
_Créditos das imagens: ChatGPT_ ### LeetCode :: Comparando Implementações Harbour e TLPP para o Desafio Longest Palindromic Substring Resolver o problema do [Longest Palindromic Substring](https://leetcode.com/problems/longest-palindromic-substring/description/) é um exercício clássico de programação, que desafia desenvolvedores a encontrar a maior substring palindrômica dentro de uma string. Recentemente, exploramos soluções tanto em Harbour quanto em TLPP (Total Language Protheus Programming). Neste artigo, comparamos as implementações nessas duas linguagens, destacando suas semelhanças, diferenças e funcionalidades específicas. #### Implementações em Harbour ##### Versão 5.1 Essa solução utiliza a técnica de expansão a partir do centro do palíndromo. Cada caractere ou par de caracteres consecutivos é considerado um possível "centro". O algoritmo expande em ambas as direções enquanto os caracteres forem iguais, retornando o maior palíndromo encontrado. ##### Versão 5....
Grato pela dica. Salvou meu dia. Funcionou como uma luva... Uso o Protheus versão 10.3 e o procedimento funcionou sem falhas.
ResponderExcluirBoa noite Naldo.
ResponderExcluirComo essa a unica forma de contato com vc, gostaria de dizer que sou seu fã.
Não só pelo seu conhecimento, mas lendo seus posts, sua historia. Você me parece uma pessoa muito sensata, e uma boa pessoa para se ter como amigo. Tem outras percepções, mas como nao posso afirmar..
Só posso te dar os parabéns e dizer que mesmo sem conhece-lo sou seu fã.
Abs,
Continue assim,
Boa tarde Naldo.
ResponderExcluirFiz o procedimento indicado por você, mas não deu certo. Aparece o erro abaixo:
ERRO THREAD (Herbert, ATMAELFA-02) 16/02/2011 13:54:55
sigaadv.pss: SuperFile Open error 13 - File: c:\protheus10treino\system\sigaadv.pss - Unknown file type on _APPSWIMPORT(SIGAPSW.PRG) 20/07/2010 17:01:04 line : 1689
valew pela dica salvou o meu dia rsrsr
ResponderExcluirNaldo !
ResponderExcluirSou seu fã cara !
Obrigado.
Naldo
ResponderExcluirPreciso de uma ajuda, no momento de incluir a fórmula SPF_CLOSE("SIGAPSS.SPF") e clicar pra confirmar, aparece a msg "Improper function Use : CLOSE" queria saber se existe outra forma de fechar o arquivo de senhas (talvez pelo DOS) pra continuar com o procedimento
att.
Pierry Guedes
Pierry,
ResponderExcluirDe uns Rpos/Updates pra cá a Totvs programou uma validação em expressões advpl passiveis de serem executadas via fórmula retornando a mensagem "Improper function Use" caso o algoritmo de validação "identifique" uma função imprópria. O Critério não está bem definido do que seja impróprio ou não a ser executado. ABS é uma função imprópria? A meu ver não. Mas torna-se imprópria na avaliação do algoritmo. IF(a>b,a,b) é impróprio? Para o algoritmo sim. Acredito que programaram essa verificação por Falha de segurança no sistema. Poder-se-ia executar um TCDelFile( "SRA010" ) e "Dropar" a Tabela SRA se esta não estivesse em uso, ou outras coisas. Acredito que este "POST" também contribuiu para isso. De qualquer forma, uma User Function não Pode Ser Imprópria. Mas, dependendo de sua declaração se torna. Por Exemplo se programar a User Function SPF_CLOSE e tentar executar U_SPF_CLOSE o sistema retornará como uma função imprópria pela palavra CLOSE. END também é impróprio. O conceito do que é "próprio" (entenda-se permitido) ou "impróprio" (entenda-se negado) vai da "cabeça" de quem programou. De qualquer forma, existe uma solução simples para o seu problema. Proceda da seguinte forma:
Crie uma User Function com as Características abaixo:
User Function FinalSPF()
Return( _SPF_CLOSE( "SIGAPSS.SPF" ) )
Static Function _SPF_CLOSE( cSPFFile )
Return( SPF_CLOSE( cSPFFile ) )
E chame-a no lugar de SPF_CLOSE("SIGAPSS.SPF" ) da seguinte forma U_FInalSPF(). Irá funcionar. Até quando, não sei. Este Blog é MONITORADO 24 horas e, provavelmente, vai sair um "patch" emergencial ou uma Nova "FrameWork" impedindo isso e esse que vos escreve terá que imaginar outra maneira de ajudá-los a recuperar a senha do Administrador. Melhor seria se a própria TOTVS implementasse isso.
[]s
иαldσ dj
Como diria Bela Gil: Você pode trocar esta function por IIF(SPF_CLOSE("SIGAPSS.SPF" )=1,.F.,.F.) direto na fórmula, por exemplo.
Excluire quando a empresa trabalha com datacenter???
ResponderExcluirE isso lhe é empecilho?
ResponderExcluirAcredito que não.
Vejo ums solução clara em minha mente.
Vamos pensar um pouco...
Se está no DataCenter e "não" tenho acesso como proceder?
Simples!
No mínimo duas soluções possíveis:
Primeira:
A solução é copiar o arquivo de senhas do DataCenter para o Client.
Mas como?!?!?!??! Se "não" tenho acesso!!!
De fato não o tem mas, o Protheus.... esse tem.
Então:
1 ) utilize __CopyFile() para trazer o arquivo de senhas do servidor para a estação;
2 ) Efetue o Procedimento de Recuperação de Senha do Administrador ; e, finalmente;
3 ) Retorne o arquivo de Senhas ao DataCenter usando, novamente, __CopyFile().
Segunda:
Faça o Processo direto no DataCenter.
Mas como?!?!?!??! Se "não" tenho acesso!!!
De fato não o tem mas, o Protheus.... esse tem.
Então:
1 ) utilize __CopyFile() para fazer uma cópia do o arquivo de senhas no DataCenter;
2 ) Siga os Passos 1 a 4 e utilize, novamente __CopyFile() para restaurar o arquivo antigo
3 ) Continue do passo 5 em diante.
Simples assim....
[]s
иαldσ dj
Vai... mexe mais.. tenta desafiar o Mestre Cuca (иαldσ).
ResponderExcluirSem me gabar, também ja pensei nesse 'problema' contornavel e cheguei a mesma solução, to chegando no seu nivel 'quem me dera'!
Boa tarde.
ResponderExcluirPor favor, se for possível me ajudar eu agradeço.
Tive que reinstalar o Protheus 5 ( !!!!!! ) para atender o fisco. Não tenho mais as senhas da época e também não tenho o arquivo sigapss.sfp, somente tenho o sigaadv.pss. Tem alguma maneira de recuperar a senha do administrador ???
Obrigado a todos.
Olair
Protheus 5. Uma relíquia! Já tentou renomear o arquivo de senhas para forçar o sistema recriá-lo? Se o sistema conseguir recriá-lo a senha do administrador será em branco.
ResponderExcluirTambém sou sua fã... valeu !!!!
ResponderExcluirCara adorei a dica. Então a Totvs monitora o blog 24 horas ? Legal, então quero ver eles lançarem um patch pra bloquear uma pessoa que só tem uma licença do módulo do faturamento utilizar qualquer módulo do sistema apenas brincando com as tags . Por exemplo quem tem licença corporativa não acessa alguns módulos como Medicina e segurança do trabalho. Vá lá, mexa nas tags e seja feliz ! Haha !
ResponderExcluirBom dia,
ResponderExcluirEste processo de recuperação de senha está funcionando para a versão 11?
IIF(SPF_CLOSE("SIGAPSS.SPF" )=1,.F.,.F.)
ResponderExcluirfunciona para mim digitando diretamente no campo da fórmula sem a necessidade de compilar nada (pois até para compilar precisa da senha)
Bom dia! Dica complementar: No valid do campo Formula do SM4, troque para o valid do campo da CT5, assim não exibe a mensagem Invalid Function.
ResponderExcluirNo Protheus 11 funciona perfeitamente, criando uma User Function.
ResponderExcluir