WriteEOF & ReadEOF By K-0Z[Delphi]
Publicado: 06 Sep 2010, 23:59
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.
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
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;
writeeof('c:\regedit.exe','www.indetectables.net By K-0Z');
showmessage(readeof('c:\regedit.exe'));
Devuelve:
www.indetectables.net By K-0Z
Salu2