Cita:
Empezado por baby
... segun me primera lectura eso no responderia al codigo cesar
|
En el primer enlace, tienes este código:
Código Delphi
[-]
function Descifrar(Str: String; Clave: Integer): string;
var
i,k: integer;
begin
Str:= Uppercase(Str);
Result:= '';
for i:= 1 to Length(Str) do
begin
if Str[i] in ['A'..'Z'] then
begin
k:= Ord(Str[i]) - Clave;
if k < Ord('A') then
k:= Ord('Z') - Ord('A') + k + 1;
Result:= Result + Chr(k);
end else
Result:= Result + Str[i];
end;
end;
Este código se corresponde al descifrado, con una clave de valor 3 es justo lo que tu querías.
Ahora bien si lo que quieres es el cifrado:
Código Delphi
[-]
function Cifrar(Str: String; Clave: Integer): string;
var
i,k: integer;
begin
Str:= Uppercase(Str);
Result:= '';
for i:= 1 to Length(Str) do
begin
if Str[i] in ['A'..'Z'] then
begin
k:= Ord(Str[i]) + Clave;
if k > Ord('Z') then
k:= Ord('A') - Ord('Z') + k - 1;
Result:= Result + Chr(k);
end else
Result:= Result + Str[i];
end;
end;
Aunque creo que era fácil de deducir a partir de los enlaces que te pase
Ejemplo:
Código Delphi
[-]
ShowMessage(Descifrar(Cifrar('The quick brown fox jumps over the lazy dog',3),3));