Bueno, hace unos dias estaba buscando como escribir y sobre todo leer el eof data de los archivos para asi trabajar con esos datos, la verdad que se me complico mucho ya que las funciones como copy,mid y las que habia hecho anteriormente (Ssplit,TextBetWeen) no servian ya que me tiraba una cadena nula, pero al fin descubri como hacerlo , espero y les sirva.

Código: Seleccionar todo

************************************************************************
Autor: K-0Z
Lenguaje: Delphi
Pagina Web: www.indetectables.net
Modo de uso:
WriteEof(RutaDeTuArchivo,DatosAMeter)
VariableString:= ReadEof(RutaDeTuArchivo)
************************************************************************
function ReadEOF(sFilePath:string):string;
var
VFile:Tfilestream;
Buffer:string;
Offset:integer;
Res:string;
begin
VFile := Tfilestream.Create(sFilePath,fmopenread);
setlength(Buffer,VFile.size);
VFile.Read(Buffer[1],VFile.size);
Offset:= strtoint(copy(Buffer,length(Buffer) - strtoint(copy(Buffer,length(Buffer),1)) ,strtoint(copy(Buffer,length(Buffer),1))));
VFile.Position:= Offset;
setlength(Res,VFile.size - VFile.position - strtoint(copy(Buffer,length(Buffer) ,1)) - 1 );
VFile.Read(Res[1],VFile.size - VFile.position - strtoint(copy(Buffer,length(Buffer) ,1)) - 1);
VFile.free;
ReadEOF:= Res;
end;

function WriteEOF(sFilePath:string;Buffer:string):bool;
var
VFile:Tfilestream;
begin
VFile  := Tfilestream.Create(sFilePath,fmopenwrite);
VFile.Position:= VFile.Size;
Buffer := Buffer + inttostr(VFile.Size) + inttostr(length(inttostr(VFile.Size)));
VFile.Write( Buffer[1], Length(Buffer));
VFile.Free;
WriteEOF:= true;
end;
Ejemplo de uso:
writeeof('c:\regedit.exe','www.indetectables.net By K-0Z');
showmessage(readeof('c:\regedit.exe'));
Devuelve:
www.indetectables.net By K-0Z

Salu2
wah esto no lo havia visto, que bueno K-0Z ya vas avanzando mucho en delphi

saludos!!
Soy un camaleón, en tu cama, leona ♪
Responder

Volver a “Fuentes”