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 31-10-2015
Anel Hernandez Anel Hernandez is offline
Miembro
 
Registrado: mar 2005
Posts: 94
Poder: 20
Anel Hernandez Va por buen camino
hola,
estoy corriendo el ejemplo tal cual con 2 ficheros pequeños y con los nombres propuestos y da problemas.

no adiciona lineas, sobreescribe a partir de determinadas lineas adicionada comienza a reescribir lineas anteriores.

adjunto ficheros de ejemplo (p1.txt, p2.txt, total.txt).

sustitui el while por un ciclo de 77 lineas adicionadas y da bien (total77.txt). luego cuando lo intento con 78 da error (total78.txt). llegue a estos numeros por tanteo.

cual es el error?

gracias
A
Archivos Adjuntos
Tipo de Archivo: rar delp.rar (29,6 KB, 2 visitas)
Responder Con Cita
  #2  
Antiguo 01-11-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.

En este ejemplo quité todos los ornamentos, genera los 4 archivos de texto, los concatena en otro y muestra el archivo en un memo:
Código Delphi [-]
// Genera los cuatro archivos de texto de ejemplo
procedure TForm1.FormCreate(Sender: TObject);
var
  i, j: Integer;
  f: TextFile;
  s: string;
begin
  for i:= 1 to 4 do
  begin
    AssignFile(f, Format('p%d.txt', [i]));
    ReWrite(f);
    s := StringOfChar(Chr(96+i), 40);  // a, b, c, d
    for j := 1 to 5 do Writeln(f, s);
    CloseFile(f);
  end;
end;

// Concatenar sobreescribiendo
procedure AppendTextFiles(const TargetName: TFileName;
  const SourceNames: array of TFileName);
var
  i      : Integer;
  source,
  target : TextFile;
  row    : string;
begin
  AssignFile(target, TargetName);
  Rewrite(target);
  Append(target);
  for i := Low(SourceNames) to High(SourceNames) do
  begin
    AssignFile(source, SourceNames[i]);
    Reset(source);
    while not Eof(source) do
    begin
      Readln(source, row);
      Writeln(target, row);
    end;
    Close(source);
  end;
  CloseFile(target);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   AppendTextFiles('total.txt', ['p1.txt', 'p2.txt', 'p3.txt', 'p4.txt']);
   Memo1.Lines.LoadFromFile('total.txt');
end;

Salida del ejemplo:
;
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 01-11-2015
Anel Hernandez Anel Hernandez is offline
Miembro
 
Registrado: mar 2005
Posts: 94
Poder: 20
Anel Hernandez Va por buen camino
hola,

el ejemplo funciona perfectamente. El anterior logre que funcionara comentando la linea:
Código Delphi [-]
System.SetTextBuf(source, buffer);

luego cambie las variables buffer y quedo como:
Código Delphi [-]
System.SetTextBuf(target, buffer1);
...
System.SetTextBuf(source, buffer2);

ya todo OK. 23 segundos y todo OK.

gracias
A
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
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 11:43:27.


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