Aunque creo que ya te dije la solución por msn, te lo aclaro por aquí, delphi es mi puta pasión actualmente y quiero seguir avanzando :P
Bien, supongamos que queremos cifrar un texto y mostrar en un msgbox el resultado, para ello he agregado un TEdit y un botón.
Te muestro el código:
Código: Seleccionar todo
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
// Encriptacion ROT -1
// Coder: Linkgl
// Lenguaje: Delphi
// Funcion-linkgl.blogspot.com
// Indetectables.net/foro
function LinkCryptRot(Cad:String;Lar:Integer):String;
var
i:Integer;
Temp:String;
begin
for i:=1 to Lar do
begin
if Ord(Cad[i]) = 0 then
Temp:=Temp + Chr(255)
else
Temp:=Temp + Chr(Ord(Cad[i])-1);
end;
Result:=Temp;
end;
function LinkDecryptRot(Cad:String;Lar:Integer):String;
var
i:Integer;
Temp:String;
begin
for i:=1 to Lar do
begin
if Ord(Cad[i]) = 255 then
Temp:=Temp + Chr(0)
else
Temp:=Temp + Chr(Ord(Cad[i])+1)
end;
Result:=Temp;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
polla: string;
begin
polla:= LinkCryptRot(edit1.Text,strlen(pchar(edit1.Text)));
showmessage(polla);
end;
end.
Te cito las palabras de linkgl del modo de uso de su función:
Sólo pasenle el buffer como primer parámetro y el tamaño del buffer como segundo parámetro.
En mi caso, utilizo strlen por ejemplo.
El error que a tí te da es por el uso de ReadFile, ReadFile no se debe usar así, requiere de otros parámetros, lo que tú necesitas usar es por ejemplo el ReadFile de la unit creada por Xash:
[Enlace externo eliminado para invitados]
Lo que te recomiendo, es que renombres la funcion de ReadFile por otro nombre que tú elijas, para prevenir que delphi se vuelva loco y no 'sepa' que ReadFile quieres utilizar.
Saludos!