Delphi - Leer archivo de Texto

 
Vista:

Leer archivo de Texto

Publicado por Johanna (2 intervenciones) el 29/08/2003 18:54:49
Hola amigos foreros, tengo el siguiente problema, este ejemplo lo saque de la ayuda de delphi 6, pero al ejecutarlo me da un error en la instrucción SHOWMESSAGE, y estoy segura de q el archivo existe
Como puedo mostrar o leer lo q tiene el archivo???

var
iFileHandle: Integer;
iFileLength: Integer;
iBytesRead: Integer;
Buffers: Pchar;
begin
iFileHandle := FileOpen('Texto.txt', fmOpenReadWrite);
iFileLength := FileSeek(iFileHandle,0,2);
FileSeek(iFileHandle,0,0);
iBytesRead := FileRead(iFileHandle, Buffers, iFileLength);
FileClose(iFileHandle);
ShowMessage(buffers);
End;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Leer archivo de Texto

Publicado por DAM (3 intervenciones) el 29/08/2003 21:01:54
Ví el ejemplo y no hay nada raro, mas allá de que me cuelga y me manda errores de stack overflow :-S
Son muy rebuscadas las instrucciones que usa y por lo que leí FileRead lee bytes y no caracteres. Todas estas instrucciones sí que sirven para hacer cracks donde hay que tocar bits o bytes de los ejecutables.

Las instrucciones que uso pa leer y manejar los ficheros de texto son:

VAR fiche:TEXT;
car:char;
str:string;
begin
assignfile(\'ruta_fichero\', fiche); //asignás la variable al fichero físico

reset(fiche); //para habrir un fichero existente para lectura/escritura

rewrite(fiche); //para crear uno nuevo o poner en creo uno existente

read(fiche,car); //lee un solo caracter a partir de la posición actual y //pone al puntero en el siguiente caracter
readln(fiche,str); //lee una línea completa y pone al puntero en la línea siguiente. Podes hacerlo con un car pero como es obvio lee un solo caracter y pasa a la línea que sigue

write(fiche,car); //escribe un caracter en la posición actual

writeln(fiche,str); //escribe una string y pasa al renglon siguiente, igual que con el readln si pones un car

closefile(fiche); //cierra el fichero

Si hacés que el Delphi te muestre ayuda para alguno de estos comandos tendrás una explicación mas extensa.
Espero que te sirva ;-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Leer archivo de Texto

Publicado por Diego Romero (636 intervenciones) el 30/08/2003 02:17:38
Te da error porque Buffer es un PChar (un puntero a una cadena de caracteres terminada en nulo y esta sobrepasa la cantidad máxima que admite ShowMessage(); si lo que quieres el leer un archivo de texto e interpretarlo como tal aquí van dos ejemplo:
La forma simple:
Memo1.Lines.LoadFromFile('Archivo.txt');
La forma larga:
var
Arch: TextFile;
Linea: string;
begin
AssignFile(Arch,'Archivo.txt');
reset(Arch);
while not eof(Arch) do
begin
Readln(Arch, Linea);
Memo1.Lines.Add(Linea);
end;
CloseFile(Arch);
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Gracias a los dos

Publicado por Johanna (2 intervenciones) el 01/09/2003 22:06:53
Funciono de maravilla, gracias a los dos :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar