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 12-03-2015
gdlrinfo gdlrinfo is offline
Miembro
 
Registrado: may 2007
Posts: 131
Poder: 18
gdlrinfo Va por buen camino
Copiado y generacion de PDF

Amigos a ver si alguien me puede dar una mano pongo el código y debajo explico.....

Código Delphi [-]
    ////ACA SALUD///
  if cb.Checked[0]then
   begin
   InputQuery('Presentación', 'Escriba la Presentación AAAAMMP:', a);
   if DirectoryExists('J:\Archivos\ACASALUD\'+ a+'\ADEM\')=True then
    Begin
   Zipp.FileName := 'J:\Archivos\ACASALUD\'+a+'\ADEM\'+'ACA SALUD '+a+'.zip';
   Zipp.OpenArchive(fmCreate);
   Zipp.BaseDir := 'J:\Archivos\ACASALUD\'+ a+'\ADEM\';
   Zipp.TempDir := 'J:\Archivos\ACASALUD\'+ a+'\ADEM\';
   Zipp.AddFiles('*.Txt');
   Zipp.CloseArchive;
    ProgressBar1.position:=10;
    Chdir('J:\Archivos\ACASALUD\'+ a+'\ADEM\');
    WinExec('cmd /cdel *.txt', SW_SHOW)  ;
    WinExec('cmd /cRename *.lis *.txt', SW_SHOW);
        WinExec('cmd /cpdfcreator /pf"*.txt"', SW_SHOW);
    ShowMessage('No des Ok hasta que termine el PDF');
    CopiaTodo('C:\*.pdf', 'J:\Archivos\ACASALUD\'+ a+'\ADEM\');
    ProgressBAr1.position:=40;
         //WinExec('cmd /ctskill /a pdfcreator', SW_SHOW);
    chdir('C:');
    WinExec('cmd /cdel *.pdf', SW_SHOW)  ;
    Chdir('J:\Archivos\ACASALUD\'+ a+'\ADEM\');
    WinExec('cmd /cdel *.txt', SW_SHOW);
    ProgressBAr1.position:=50;
    Zipp.FileName := 'J:\Archivos\ACASALUD\'+a+'\ADEM\'+'ACA SALUD '+a+'.zip';
    Zipp.OpenArchive;
    Zipp.BaseDir := 'J:\Archivos\ACASALUD\'+ a+'\ADEM\';
    Zipp.TempDir := 'J:\Archivos\ACASALUD\'+ a+'\ADEM\';
    Zipp.AddFiles('*.pdf');
    Zipp.CloseArchive;
    WinExec('cmd /cdel *.pdf', SW_SHOW);
    End;

    ProgressBAr1.position:=60;
   if DirectoryExists('J:\Archivos\ACASALUD\'+ a+'\DISPROFA\')=True then
    Begin
    Zipp.FileName := 'J:\Archivos\ACASALUD\'+a+'\DISPROFA\'+'ACA SALUD '+a+'.zip';
    Zipp.OpenArchive(fmCreate);
    Zipp.BaseDir := 'J:\Archivos\ACASALUD\'+ a+'\DISPROFA\';
    Zipp.TempDir := 'J:\Archivos\ACASALUD\'+ a+'\DISPROFA\';
    Zipp.AddFiles('*.Txt');
    Zipp.CloseArchive;
    Chdir('J:\Archivos\ACASALUD\'+ a+'\DISPROFA\');
    WinExec('cmd /cdel *.txt', SW_SHOW)  ;
    End;

    ProgressBAr1.position:=70;
    if DirectoryExists('J:\Archivos\ACASALUD\'+ a+'\FARMANET\')=True then
    Begin
    Zipp.FileName := 'J:\Archivos\ACASALUD\'+a+'\FARMANET\'+'ACA SALUD '+a+'.zip';
    Zipp.OpenArchive(fmCreate);
    Zipp.BaseDir := 'J:\Archivos\ACASALUD\'+ a+'\FARMANET\';
    Zipp.TempDir := 'J:\Archivos\ACASALUD\'+ a+'\FARMANET\';
    Zipp.AddFiles('*.Txt');
    Zipp.CloseArchive;
    Chdir('J:\Archivos\ACASALUD\'+ a+'\FARMANET\');
    WinExec('cmd /cdel *.txt', SW_SHOW)  ;
    End;

    ProgressBAr1.position:=80;
    if DirectoryExists('J:\Archivos\ACASALUD\'+ a+'\GLOBALFA\')=True then
    Begin
    Zipp.FileName := 'J:\Archivos\ACASALUD\'+a+'\GLOBALFA\'+'ACA SALUD '+a+'.zip';
    Zipp.OpenArchive(fmCreate);
    Zipp.BaseDir := 'J:\Archivos\ACASALUD\'+ a+'\GLOBALFA\';
    Zipp.TempDir := 'J:\Archivos\ACASALUD\'+ a+'\GLOBALFA\';
    Zipp.AddFiles('*.Txt');
    Zipp.CloseArchive;
    Chdir('J:\Archivos\ACASALUD\'+ a+'\GLOBALFA\');
    WinExec('cmd /cdel *.txt', SW_SHOW)  ;
    End;

    ProgressBAr1.position:=90;
    if DirectoryExists('J:\Archivos\ACASALUD\'+ a+'\ROFINA\')=True then
    Begin
    Zipp.FileName := 'J:\Archivos\ACASALUD\'+a+'\ROFINA\'+'ACA SALUD '+a+'.zip';
    Zipp.OpenArchive(fmCreate);
    Zipp.BaseDir := 'J:\Archivos\ACASALUD\'+ a+'\ROFINA\';
    Zipp.TempDir := 'J:\Archivos\ACASALUD\'+ a+'\ROFINA\';
    Zipp.AddFiles('*.Txt');
    Zipp.CloseArchive;
    Chdir('J:\Archivos\ACASALUD\'+ a+'\ROFINA\');
    WinExec('cmd /cdel *.txt', SW_SHOW)  ;
    End;
    ProgressBAr1.position:=100;
   // WinExec('cmd /c RD C:\pagos /s /q ', SW_SHOW);
  //'J:\Archivos\ACASALUD\'+ Ediform.Edit1.Text+'\ADEM\';
  ShowMessage('Terminado ACA SALUD');
  cb.Checked[0]:=False;
   end;

  ///ASOCIART/////

  if cb.Checked[1]then
   begin
   InputQuery('Presentación', 'Escriba la Presentación AAAAMMP:', a);
   if DirectoryExists('J:\Archivos\ASOCIART\'+ a+'\ADEM\')=True then
   Begin
   Zipp.FileName := 'J:\Archivos\ASOCIART\'+a+'\ADEM\'+'ASOCIART '+a+'.zip';
   Zipp.OpenArchive(fmCreate);
   Zipp.BaseDir := 'J:\Archivos\ASOCIART\'+ a+'\ADEM\';
   Zipp.TempDir := 'J:\Archivos\ASOCIART\'+ a+'\ADEM\';
   Zipp.AddFiles('*.Txt');
   Zipp.CloseArchive;
    ProgressBar1.position:=10;
    Chdir('J:\Archivos\ASOCIART\'+ a+'\ADEM\');
    WinExec('cmd /cdel *.txt', SW_SHOW)  ;
    WinExec('cmd /cRename *.lis *.txt', SW_SHOW);
        WinExec('cmd /cpdfcreator /pf"*.txt"', SW_SHOW);
    ShowMessage('No des Ok hasta que termine el PDF');
    CopiaTodo('C:\*.pdf', 'J:\Archivos\ASOCIART\'+ a+'\ADEM\');
    ProgressBAr1.position:=40;
    chdir('C:');
         //WinExec('cmd /ctskill /a pdfcreator', SW_SHOW);
    WinExec('cmd /cdel *.pdf', SW_SHOW)  ;
    Chdir('J:\Archivos\ASOCIART\'+ a+'\ADEM\');
    WinExec('cmd /cdel *.txt', SW_SHOW);
    ProgressBAr1.position:=50;
    Zipp.FileName := 'J:\Archivos\ASOCIART\'+a+'\ADEM\'+'ASOCIART '+a+'.zip';
    Zipp.OpenArchive;
    Zipp.BaseDir := 'J:\Archivos\ASOCIART\'+ a+'\ADEM\';
    Zipp.TempDir := 'J:\Archivos\ASOCIART\'+ a+'\ADEM\';
    Zipp.AddFiles('*.pdf');
    Zipp.CloseArchive;
    WinExec('cmd /cdel *.pdf', SW_SHOW);
   End;

    ProgressBAr1.position:=60;
    if DirectoryExists('J:\Archivos\ASOCIART\'+ a+'\DISPROFA\')=True then
    Begin
    Zipp.FileName := 'J:\Archivos\ASOCIART\'+a+'\DISPROFA\'+'ASOCIART '+a+'.zip';
    Zipp.OpenArchive(fmCreate);
    Zipp.BaseDir := 'J:\Archivos\ASOCIART\'+ a+'\DISPROFA\';
    Zipp.TempDir := 'J:\Archivos\ASOCIART\'+ a+'\DISPROFA\';
    Zipp.AddFiles('*.Txt');
    Zipp.CloseArchive;
    Chdir('J:\Archivos\ASOCIART\'+ a+'\DISPROFA\');
    WinExec('cmd /cdel *.txt', SW_SHOW)  ;
    End;
    ProgressBAr1.position:=70;

    if DirectoryExists('J:\Archivos\ASOCIART\'+ a+'\FARMANET\')=True then
    Begin
    Zipp.FileName := 'J:\Archivos\ASOCIART\'+a+'\FARMANET\'+'ASOCIART '+a+'.zip';
    Zipp.OpenArchive(fmCreate);
    Zipp.BaseDir := 'J:\Archivos\ASOCIART\'+ a+'\FARMANET\';
    Zipp.TempDir := 'J:\Archivos\ASOCIART\'+ a+'\FARMANET\';
    Zipp.AddFiles('*.Txt');
    Zipp.CloseArchive;
    Chdir('J:\Archivos\ASOCIART\'+ a+'\FARMANET\');
    WinExec('cmd /cdel *.txt', SW_SHOW)  ;
    End;

    ProgressBAr1.position:=80;

    if DirectoryExists('J:\Archivos\ASOCIART\'+ a+'\GLOBALFA\')=True then
    Begin
    Zipp.FileName := 'J:\Archivos\ASOCIART\'+a+'\GLOBALFA\'+'ASOCIART '+a+'.zip';
    Zipp.OpenArchive(fmCreate);
    Zipp.BaseDir := 'J:\Archivos\ASOCIART\'+ a+'\GLOBALFA\';
    Zipp.TempDir := 'J:\Archivos\ASOCIART\'+ a+'\GLOBALFA\';
    Zipp.AddFiles('*.Txt');
    Zipp.CloseArchive;
    Chdir('J:\Archivos\ASOCIART\'+ a+'\GLOBALFA\');
    WinExec('cmd /cdel *.txt', SW_SHOW)  ;
    End;

    ProgressBAr1.position:=90;

    if DirectoryExists('J:\Archivos\ASOCIART\'+ a+'\ROFINA\')=True then
    Begin
    Zipp.FileName := 'J:\Archivos\ASOCIART\'+a+'\ROFINA\'+'ASOCIART '+a+'.zip';
    Zipp.OpenArchive(fmCreate);
    Zipp.BaseDir := 'J:\Archivos\ASOCIART\'+ a+'\ROFINA\';
    Zipp.TempDir := 'J:\Archivos\ASOCIART\'+ a+'\ROFINA\';
    Zipp.AddFiles('*.Txt');
    Zipp.CloseArchive;
    Chdir('J:\Archivos\ASOCIART\'+ a+'\ROFINA\');
    WinExec('cmd /cdel *.txt', SW_SHOW)  ;
    End;


    ProgressBAr1.position:=100;
    ShowMessage('Terminado ASOCIART');
  cb.Checked[1]:=False;
   // WinExec('cmd /c RD C:\pagos /s /q ', SW_SHOW);
  //'J:\Archivos\ACASALUD\'+ Ediform.Edit1.Text+'\ADEM\';
 end;


Sucede que tenemos unas carpetas donde hay txt estos tenemos que compactarlos y borrar los archivos que hay por fuera, entonces quedan unos archivos *.lis que son renombrados como *.txt para que el pdfcreator me los genere ya que no lee *.lis el problema es que cuando genera los pdf a veces me copia menos de los que debía generar y no encuentro el motivo también este proceso consta de 26 check no solo dos como esta en el ejemplo que mando y por cada check esta el proceso escrito podría simplificarse mas eso ? bueno espero que se entienda y desde ya muchas gracias como siempre....
Responder Con Cita
  #2  
Antiguo 13-03-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Voy a reescribir tu mensaje con puntos y comas para que sea legible.

Cita:
Sucede que tenemos unas carpetas donde hay archivos .TXT.
Estos tenemos que compactarlos y borrar los archivos que hay por fuera.
Al hacer esto, quedan unos archivos *.LIS que son renombrados como *.TXT para que el PDFCreator me los genere ya que no lee *.LIS.
El problema es que cuando genera los PDF, a veces me copia menos de los que debía generar y no encuentro el motivo.
También este proceso consta de 26 check no solo dos como esta en el ejemplo que mando y por cada check esta el proceso escrito. ¿Podría simplificarse mas eso?
Beno espero que se entienda y desde ya muchas gracias como siempre...
Responder Con Cita
  #3  
Antiguo 13-03-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Veo varios líneas en donde pones:
Código Delphi [-]
WinExec('cmd /cdel *.txt', SW_SHOW)  ;
No se si es problema de copia/pega, pero entre /c y del debería haber un espacio.
Código Delphi [-]
WinExec('cmd /c del *.txt', SW_SHOW)  ;
Responder Con Cita
  #4  
Antiguo 13-03-2015
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Cita:
¿Podría simplificarse mas eso?
Veo que se utiliza repetidamente estas líneas de código.
Puedes ponerlo todo en un procedimiento y pasarle los parámetros necesarios.
Código Delphi [-]
   Zipp.FileName := 'J:\Archivos\ACASALUD\'+a+'\ADEM\'+'ACA SALUD '+a+'.zip';
   Zipp.OpenArchive(fmCreate);
   Zipp.BaseDir := 'J:\Archivos\ACASALUD\'+ a+'\ADEM\';
   Zipp.TempDir := 'J:\Archivos\ACASALUD\'+ a+'\ADEM\';
   Zipp.AddFiles('*.Txt');
   Zipp.CloseArchive;

Código Delphi [-]
procedure comprimir(DirectorioBase, Archivo, ArchivoZip: string);
begin
   with Zipp do
   begin
      FileName := ArchivoZip;
      OpenArchive(fmCreate);
      BaseDir := DirectorioBase;
      TempDir := IncludeTrailingPathDelimiter(ExtractFilePath(ArchivoZip));
      AddFiles(Archivo);
      CloseArchive;
   end;
end;

// luego lo llamarías así:
[...]
comprimir( 'J:\Archivos\ACASALUD\'+ a+'\ADEM\', '*.Txt', 'J:\Archivos\ACASALUD\'+a+'\ADEM\'+'ACA SALUD '+a+'.zip');
[...]
Responder Con Cita
  #5  
Antiguo 13-03-2015
gdlrinfo gdlrinfo is offline
Miembro
 
Registrado: may 2007
Posts: 131
Poder: 18
gdlrinfo Va por buen camino
Gracias

Hola amigo gracias por tu respuesta he probado de separar el comando de /c y hace lo mismo estoy dudando que el problema venga del pdfcreator, por otro lado todos los check son exactamente iguales son 27 lo único que cambia es la ruta donde procesa lo que quería saber si todo el proceso completo se podía simplificar a uno mas simple desde ya muchas gracias como siempre
Responder Con Cita
  #6  
Antiguo 13-03-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por gdlrinfo Ver Mensaje
lo que quería saber si todo el proceso completo se podía simplificar a uno mas simple
Eso es lo que te ha contestado duilioisola
Responder Con Cita
  #7  
Antiguo 13-03-2015
gdlrinfo gdlrinfo is offline
Miembro
 
Registrado: may 2007
Posts: 131
Poder: 18
gdlrinfo Va por buen camino
gRACIASS

Amigos gracias por la ayuda al final hice dos procesos para todo uno el que me paso el amigo duilioisola que me sirvió de mucho y después generalice todo lo otro en otro mas aquí dejo el ejemplo por si alguien le sirve y muchas gracias como siempre por su ayudaaaaa... Abrazooossss...

Código Delphi [-]
Procedure Llamar(obra, a, nombre:string);
begin
   InputQuery('Presentación', 'Escriba la Presentación AAAAMMP:', a);
   if DirectoryExists(obra+'\'+a+'\ADEM\')=True then
    Begin
      Comprimir( obra+'\'+a+'\ADEM\', '*.Txt', obra+'\'+a+'\ADEM\'+nombre+a+'.zip');
      Chdir(obra+'\'+a+'\ADEM\');
      WinExec('cmd /cRename *.lis *.txt', SW_SHOW);
      WinExec('cmd /cpdfcreator /pf"*.txt"', SW_SHOW);
      ShowMessage('No des Ok hasta que termine el PDF');
      CopiaTodo('C:\*.pdf', obra+a+'\ADEM\');
      chdir('C:');
      WinExec('cmd /cdel *.pdf', SW_SHOW)  ;
      Chdir(obra+'\'+a+'\ADEM\');
      WinExec('cmd /cdel *.txt', SW_SHOW);
      Comprimir(obra+'\'+a+'\ADEM\', '*.PDF', obra+'\'+a+'\ADEM\'+nombre+a+'.zip');
      Chdir(obra+'\'+a+'\ADEM\');
      WinExec('cmd /cdel *.pdf', SW_SHOW);
    End;
    if DirectoryExists(obra+'\'+a+'\DISPROFA\')=True then
      Begin
        Comprimir( obra+'\'+a+'\DISPROFA\', '*.Txt', obra+'\'+a+'\DISPROFA\'+nombre+a+'.zip');
        Chdir(obra+'\'+a+'\DISPROFA\');
        WinExec('cmd /cdel *.txt', SW_SHOW)  ;
      End;
    if DirectoryExists(obra+'\'+ a+'\FARMANET\')=True then
      Begin
        Comprimir( obra+'\'+ a+'\FARMANET\', '*.Txt', obra+'\'+a+'\FARMANET\'+nombre+a+'.zip');
        Chdir(obra+'\'+ a+'\FARMANET\');
        WinExec('cmd /cdel *.txt', SW_SHOW)  ;
      End;
    if DirectoryExists(obra+'\'+ a+'\GLOBALFA\')=True then
      Begin
        Comprimir( obra+'\'+ a+'\GLOBALFA\', '*.Txt', obra+'\'+a+'\GLOBALFA\'+nombre+a+'.zip');
        Chdir(obra+'\'+ a+'\GLOBALFA\');
        WinExec('cmd /cdel *.txt', SW_SHOW)  ;
      End;
    if DirectoryExists(obra+'\'+ a+'\ROFINA\')=True then
      Begin
        Comprimir( obra+'\'+ a+'\ROFINA\', '*.Txt', obra+'\'+a+'\ROFINA\'+nombre+a+'.zip');
        Chdir(obra+'\'+ a+'\ROFINA\');
        WinExec('cmd /cdel *.txt', SW_SHOW)  ;
      End;
  end;
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
Generacion de un submayor lgarcia SQL 0 19-06-2014 17:09:31
Copiado Datos de la Pantalla ASAPLTDA OOP 3 18-04-2011 18:54:55
Procesar archivos inmediatamente despues de su copiado o transferencia. fredycc OOP 3 17-02-2009 20:30:53
Generacion de scripts AMO Oracle 2 10-10-2005 17:55:15
Copiado de Tablas Ulises Firebird e Interbase 4 27-02-2004 21:42:04


La franja horaria es GMT +2. Ahora son las 03:12:51.


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