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 03-04-2012
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
unir varios archivos

Hola Amigos.

Estoy con un incoveniente al unir Varios Archivos RTF (los cuales tienen varias imagenes y tamaños diferentes).

El problema es el siguiente, el proceso finaliza sin Errores, pero al verificar solo se observa el primero de los archivos.

Esto no Sucede en cambio si se utilizan archivos que contienen solamente texto, los cuales son unidos correctamente.

aca dejo la parte del codigo relevante a la operacion.

Código Delphi [-]

{
Fileboxrtf es un FileListBox en el cual muestro selecciono y los archivos.
StopByUser es una Variable Boolean que el utilizo como flag para verificar si el usuario cancelo la operacion.
stBar: status Bar....
Pbar: ProcessBar...
stSrc y StDest: TfileStream.
}
 while (FileBoxrtf.Count>i) and (not StopByUser) do begin
          StBar.Panels.Items[1].Text:=ExtractFileName(stDest.FileName)+ ' <--- ' +ExtractFileName(FileBoxrtf.Items.Strings[i]);
          Application.ProcessMessages;
          stSrc:=TFileStream.Create(FileBoxrtf.Items.Strings[i],fmOpenRead or fmShareDenyWrite);
          Application.ProcessMessages;
          StDest.CopyFrom(StSrc,stSrc.Size);
          Application.ProcessMessages;
          stSrc.Free;
          inc(i);
          Pbar.StepIt;
        end;

Gracias.
Responder Con Cita
  #2  
Antiguo 03-04-2012
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Poco sé de cómo es el formato por dentro, pero me figuro que tendrá una cabecera, y como va por bloques ('{ ... }') supongo que también un pie, de forma que el programa que lo lee sólo analiza desde la cabecera al primer pie que encuentre. Para que funcione deberás quitar todas las cabeceras y pies que sobren.

Es como el formato HTML. Si pones:
Código:
<html>
  <body>
    <p>Hola caracola</p>
  </body>
</html>
<html>
  <body>
     <p>Esto no debería aparecer.</p>
  </body>
</html>
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 03-04-2012
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
ahh muy buen dato. voy a revisarlo, yo me fie ya que con Archivos RTF que contengan solo TEXTO funciona correctamente!

Pero buen dato Gracias Ñuño...
Responder Con Cita
  #4  
Antiguo 04-04-2012
Avatar de Enan0
Enan0 Enan0 is offline
Miembro
 
Registrado: may 2004
Ubicación: Argentina
Posts: 565
Poder: 20
Enan0 Va por buen camino
Bueno Solo para aquellas personas Que les Interese.

Ñuño tenia razon con lo que me dijo en referencia a la estructura del archivo.

Despues de buscar un poco y hacer muchas pruebas, llegue a la conclucion de que solo mostraba el Primer archivo ya que la Estructura se cerraba al final de este, por lo que eran descartados las estructuras de los siguientes archivos.

Pruebas van.. pruebas vienen.. encontre la solucion mas simple que es.
Insertar al comienzo del StreamDestino la cadena

Cita:
{\rtf1 \ansi
(con un espacio)

y al final

Cita:
}
y bueno eso es todo.

una vez mas.. muchas gracias por el aporte
Responder Con Cita
  #5  
Antiguo 08-04-2012
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Gracias a ti por indicar qué cabecera y pie usar. .)
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
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
Hola, Necesito un programa que me permita unir varios instaladores en uno solo diegopov Varios 9 08-03-2010 18:09:52
Unir varios archivos pdf en delphi richy08 Varios 5 02-05-2008 21:59:46
Como unir un tMainMenu con varios. ErenioDhG Internet 4 14-11-2006 21:23:34
Ayuda sobre unir varios menues ErenioDhG Internet 2 09-11-2006 22:05:05
unir varios report en uno solo Eusebio Impresión 0 02-02-2006 12:37:48


La franja horaria es GMT +2. Ahora son las 01:40: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