Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 15-02-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 20
basti Va por buen camino
Trabajar con archivos de texto y blockread, es algo complicado, se me ocurre algo así, pero no sé si el rendimiento será superior al modelo con StringList:

Código Delphi [-]
  const
     MAX_REC_READ = 32000; // por ejemplo


  // copia aproximadamente los bytes de MAX_REC_READ
  // devuelve si no ha podido copiar todos
  function CopyFile(var forg, fdest : file) : boolean;
  var
    bytesLeidos : integer;
    buffer: array[1..MAX_REC_READ] of byte;
    bEOL : byte;

  begin
    Result := true;
    BlockRead(forg, buffer, MAX_REC_READ, bytesLeidos);
    BlockWrite(fdest, buffer, bytesLeidos);
    if bytesLeidos = MAX_REC_READ then // buscamos hasta el final del registro
    begin
       repeat
          BlockRead(forg, bEOL, 1, bytesLeidos);
          BlockWrite(fdest, bEOL, bytesLeidos);
       until eof(forg) or (bEOL = 10) // cambiar por 13 si el final de línea es sólo con #13;

    end
    else Result := false;
  end;

// programa principal
var
  forg, fdest : File;
  i : integer;
begin
  AssignFile(forg, 'origen.txt');
  Reset(forg, 1);
  i := 0;
  AssignFile(fdest, 'destino' + IntToStr(i) + '.txt');
  rewrite(fdest, 1);
  while CopyFile(forg, fdest) do
  begin
    CloseFile(fdest);
    inc(i);
    AssignFile(fdest, 'destino' + IntToStr(i) + '.txt');
    rewrite(fdest, 1);
  end;
  CloseFile(fdest);
  CloseFile(forg);
end.
Responder Con Cita
 



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
Crear un Reporte a partir de archivos de texto franciscobucio Impresión 4 18-01-2007 18:49:09
Partir un AVI paty_rlopez Varios 2 12-12-2006 18:53:45
Partir cadenas rcg2 Varios 2 23-06-2006 10:49:58
Partir Archivos juliopag1 Varios 1 10-06-2005 19:37:42
Crear un EXE a partir de un TXT o CPP aleidania Varios 1 25-10-2003 18:36:45


La franja horaria es GMT +2. Ahora son las 04:48:17.


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