Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-11-2008
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Poder: 24
sitrico Va por buen camino
La forma Simple y tradicional:

Código Delphi [-]
procedure TForm1.LeerTxt(FileName: String);
Var
f : TextFile;
s : String;
begin
memo1.lines.clear; // el memo para poder hacer algo con los strings
AssignFile(f,fileName);
Reset(f);
While not eof(f) do
   Begin
   ReadLn(f,s);
   Memo1.Lines.Add(s);
   Application.ProcessMessages; // para que no se cuelgue la aplicación
   End;
end;

Falta el manejo de errores per es la únicamanera que conozco para leer un archivo línea a línea. Tengo entendido que los stream leen todo el archivo como un bloque.
__________________
Sitrico
Responder Con Cita
  #2  
Antiguo 18-11-2008
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.503
Poder: 23
MAXIUM Va camino a la fama
El archivo contiene un total de 2.034.190 lineas, pero solo me lee las primeras 79.558

Última edición por MAXIUM fecha: 18-11-2008 a las 01:55:55.
Responder Con Cita
  #3  
Antiguo 18-11-2008
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Poder: 24
sitrico Va por buen camino
¿ como lees el archivo ? los Stream usan buffers de 64K (creo)
__________________
Sitrico
Responder Con Cita
  #4  
Antiguo 18-11-2008
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.503
Poder: 23
MAXIUM Va camino a la fama
Los leo tal cual tu código, pero si en vez de eso uso Loadfrom en em memo, carga bien, pero yo necesito leer linea a linea.
Responder Con Cita
  #5  
Antiguo 18-11-2008
Avatar de sitrico
[sitrico] sitrico is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Caracas, Venezuela
Posts: 295
Poder: 24
sitrico Va por buen camino
Prueba leer por bloques:

Código Delphi [-]
procedure TForm1.Leer(Fn: TFileName);
Const
eol = #10;
var
  F: file;
  NumRead,i, BufPos:LongWord;
  Buf,lin: array[1..1024] of Char;  
// Si ajustas el 1024 a la long máxima de la línea de texto mejora mucho el rendimiento ;-)
  s : String;
begin
    memo1.Lines.Clear;
    AssignFile(F, FN);
    Reset(F, 1);
    BufPos := 0;
    repeat
        BlockRead(F, Buf, SizeOf(Buf), NumRead);
        FillChar(Lin,SizeOf(lin),#0);
        i := 0;
        While Buf[i] <> eol do
           Begin
           lin[i] := Buf[i];
           Inc(i);
           End;
        s := String(Lin);
        Inc(BufPos,i);
        memo1.Lines.Add(s);
        Seek(f,BufPos);
    until (NumRead = 0);
end;

Aunque no tengo archivos grandes para probar...
__________________
Sitrico
Responder Con Cita
  #6  
Antiguo 19-11-2008
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 22
cHackAll Va por buen camino
Hola
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #7  
Antiguo 18-01-2009
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.503
Poder: 23
MAXIUM Va camino a la fama
Strico, funciono de maravillas, solo te falto esto "CloseFile(F, FN);" . Destacar que el consumo de RAM es proporcional al archivo a cargar y x2 mientras realiza el proceso.

[cHackAll], tambien gracias, aunque no es lo que necesitaba nunca esta demás tener esos códigos a mano.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Acceder al contenido de un word hcalero Servers 2 22-08-2007 13:07:09
Acceder al contenido de la memoria RAM Elias_02 API de Windows 0 08-11-2006 20:17:43
¿Crear email con imagen como parte del contenido del texto? burasu Varios 6 07-04-2006 19:11:30
Como puedo grabar texto en un Archivo de Texto sin Sobreescribir???? AGAG4 Varios 12 08-11-2005 22:53:00
Acceder al contenido de una celda en un DBGRID... Sinaloense OOP 2 22-09-2004 10:01:06


La franja horaria es GMT +2. Ahora son las 13:44:27.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi