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: 20415
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

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, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (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