Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-09-2008
noob noob is offline
Miembro
 
Registrado: sep 2008
Posts: 212
Poder: 16
noob Va por buen camino
Quiero leer los 200 primeros bytes de un archivo de texto

Se que con System.Read pasándole como parámetro un char leemos un char y se que con System.Readln pasándole como parámetro un string leemos una línea. Pero me surge una duda.

¿Cómo puedo leer de poco en poco? Es decir, leo los primeros 200 bytes los proceso, luego los siguientes 200 bytes y los proceso y así hasta el final del archivo de texto, ¿es esto posible? Gracias.

Última edición por noob fecha: 28-09-2008 a las 23:08:31.
Responder Con Cita
  #2  
Antiguo 29-09-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.289
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Extraído de la ayuda de Delphi (sobre read):

Código Delphi [-]
var
  F1, F2: TextFile;
  Ch: Char;
begin
  if OpenDialog1.Execute then begin
    AssignFile(F1, OpenDialog1.Filename);
    Reset(F1);
    if SaveDialog1.Execute then begin
      AssignFile(F2, SaveDialog1.Filename);
      Rewrite(F2);
      while not Eof(F1) do begin
        Read(F1, Ch);
        Write(F2, Ch);
      end;
      CloseFile(F2);
    end;
    CloseFile(F1);
  end;

end;

Supongo que si en lugar del While pones un:

Código Delphi [-]
  for i:=0 to 200 do begin

debería leer los 200 primeros caracteres.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 29-09-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Aqui pedia leerlos de 700 en 700 pero supongo que te haces una idea:
http://www.clubdelphi.com/foros/show...76&postcount=5
Responder Con Cita
  #4  
Antiguo 29-09-2008
Avatar de DarkMan
DarkMan DarkMan is offline
Miembro
 
Registrado: jul 2006
Posts: 102
Poder: 18
DarkMan Va por buen camino
Puedes usar tambien la clase TStream:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var STR: TFileStream;
    Buffer: Array [0..199] of Byte;
    BytesRead: Integer;
begin
  If OpenDialog1.Execute then
  begin
   If not FileExists( OpenDialog1.FileName ) then
       raise exception.Create('el fichero expecificado no existe');
 
   {Si el fichero existe, cargamos el fichero}
   STR:= TFileStream.Create( OpenDialog1.FileName, FMOpenRead );
 
   {Leemos de 200 en 200 bytes}
   BytesRead:= 0;
   STR.Position:=0;
 
   Repeat
    FillChar(Buffer, 200, 0); //Vaciamos buffer
    BytesRead:= BytesRead + STR.Read(Buffer, SizeOf(Buffer)); //leemos 200 Bytes
    Procesar( Buffer ); //procesamos 200 bytes
   until BytesRead = STR.Size;
 
   STR.Free;
  end;
end;
__________________
"La recompensa de una buena acción está en haberla hecho"
Responder Con Cita
  #5  
Antiguo 29-09-2008
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Nda mas por poner alguna otra posibilidad:

Código Delphi [-]
type
  TBuffer = record
    Data: array[1..200] of Char;
  end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Archivo: file of TBuffer;
  B: TBuffer;

begin
  AssignFile(Archivo, 'archivo.dat');
  Reset(Archivo);

  while algo do
  begin

    Read(Archivo, B);

  end;

  CloseFile(Archivo);
end;

// Saludos
Responder Con Cita
Respuesta



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
Abrir, leer y escribir un archivo de texto zvf OOP 26 01-07-2010 02:14:05
Leer archivo de texto y extraer lineas de el mp3968 API de Windows 1 19-05-2007 20:27:53
Leer un archivo de texto carlosegs11 Varios 8 18-05-2007 01:56:30
Como leer un archivo de texto por codigo Shidalis Varios 2 03-09-2005 05:54:34
Leer un TQuery y armar un archivo de texto Oscar25 Conexión con bases de datos 1 01-09-2004 16:21:51


La franja horaria es GMT +2. Ahora son las 00:50:13.


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