CRIPTOGRAFIA

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
EANDRIOLI
Usuário Nível 3
Usuário Nível 3
Mensagens: 109
Registrado em: 22 Jun 2007 18:31
Localização: Sorriso-MT

CRIPTOGRAFIA

Mensagem por EANDRIOLI »

Boa tarde mestres...

Gostaria de tirar uma dúvida. No fonte abaixo temos o retorno de somente os caracteres que fazem parte do dado gravado em arquivo, por exemplo as letras "AEI".

Ocorre que se esse dado gravado seja do tamanho 5 (físico), a rotina quando mostrada na tela, só deixa fazer alterações num tamanho 3 (que é o tamanho da informação do dado).

Vejam o fonte que lê e retorna na tela o dado DESCRIPTOGRAFADO:

Código: Selecionar todos

*------------------------------
function decodifica( _txtcrip_ )
*------------------------------
  _texto_ := ''
  for i = 1 to len(alltrim(_txtcrip_))
    _texto_ := _texto_ + chr(asc(substr(_txtcrip_,i,1))-130)
  next
return _texto_
Qual a mudança a ser feita para que o GET/READ seja de tamanho 5, inclusive mostrando o dado gravado, que no exemplo acima, são as letras "AEI" ?

Saudações.

ERASMO ANDRIOLI
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

CRIPTOGRAFIA

Mensagem por JoséQuintas »

Que tal aproveitar e simplificar a rotina?

Código: Selecionar todos

FUNCTION Decodifica( cOrigem )

   LOCAL cDestino := "", cLetra
   
   FOR EACH cLetra IN Trim( cOrigem )
      cDestino += Chr( Asc( cLetra ) - 130 )
   NEXT
   
   RETURN Pad( cDestino, 5 )
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder