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

 
 
Herramientas Buscar en Tema Desplegado
  #9  
Antiguo 01-07-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Anel Hernandez.

Tomando en cuenta del formato del archivo que enviaste, proba de este modo:
Código Delphi [-]
procedure AddLinesToFile(const pFrom, pTo: Integer; const fSource, fTarget: string);
const
  CRLF = #$D#$A;
var
  fs: TStream;
  ts: TStrings;
  s : string;
  i : Integer;
begin
  fs := TFileStream.Create(fTarget, fmOpenReadWrite);
  try
    SetString(s, nil, fs.Size);
    fs.Read(s[1], fs.Size);
    s := s + CRLF;
    ts := TstringList.Create;
    try
      ts.BeginUpdate;
      try
        ts.LoadFromFile(fSource);
      finally
        ts.EndUpdate;
      end;
      for i:= pFrom to pTo do s := s + ts[i] + CRLF;
    finally
      ts.Free;
    end;
  finally
    fs.Position:= 0;
    fs.Write(s[1], Length(s));
    fs.Free;
  end;
end;

Código de prueba:
Código Delphi [-]
procedure TForm1.btnAddClick(Sender: TObject);
const
  MILLION = 1000000;
var
  Hz, Start, Stop: Int64;
begin
  QueryPerformanceFrequency(Hz);
  QueryPerformanceCounter(Start);

  // Añade las líneas 1257-3188 desde WRF02.DAT hacia WRF01.DAT
  AddLinesToFile(1257, 31882, 'c:\tmp\WRF02.DAT', 'c:\tmp\WRF01.DAT');

  QueryPerformanceCounter(Stop);
  ShowMessage(Format('%d µs.',[(Stop-Start) * MILLION div Hz]));
end;
Creo que demora un tiempo muy aceptable,



Saludos

Edito: Lo olvidaba ... - Tamaño de WRF01.DAT: 1,55 MB y WRF02.DAT: 12,3 MB
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 01-07-2015 a las 19:01:13.
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
Borrar una parte de un TStringList eennzzoo C++ Builder 2 28-06-2014 14:04:13
copiar el contenido de un TStringList a TSringGrid GerTorresM Varios 1 02-07-2010 18:38:41
copiar la parte seleccionada de un imagen fasthorse C++ Builder 4 14-05-2008 20:05:03
Copiar parte de la pantalla.... craven Gráficos 2 27-08-2003 22:53:01
Copiar Parte de un BMP a otro craven API de Windows 1 07-07-2003 10:45:34


La franja horaria es GMT +2. Ahora son las 03:35:23.


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