Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #35  
Antiguo 02-11-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Bueno, aquí dejo como comprimir ficheros en un archivo zip usando la capacidad del windows XP de tratar los archivos zip como carpetas.
Código Delphi [-]
uses ComObj;

function NewZip(Zipfile: String): Boolean;
var
  F: File;
begin
  Result:= FALSE;
  AssignFile(F,Zipfile);
  {$I-}
    Rewrite(F,1);
  {$I+}
  if IOResult=0 then
  begin
    try
      BlockWrite(F,PChar(#80#75#5#6#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0)^,22);
      Result:= TRUE;
    except
    end;
    CloseFile(F);
  end;
end;

function AddToZip(Filename, Zipfile: Variant): Boolean;
var
  Shell: Variant;
begin
  try
    Shell:= CreateOleObject('Shell.Application');
    Shell.NameSpace(zipfile).CopyHere(Filename);
    Result:= TRUE;
  except
    Result:= FALSE;
  end;
end;

// Para crear el zip
NewZip('c:\prueba.zip');
AddToZip(ParamStr(0),'c:\prueba.zip');
// O incluso un directorio entero
AddToZip('c:\prueba','c:\prueba.zip');

Lo pongo en la sección de código inútil (además de para levantar un poco el hilo ) porque la compresión se realiza de forma asíncrona, y no he encontrado una forma (al menos no ninguna seria) de saber cuando se ha terminado de añadir los ficheros al zip, lo que hace difícil de utilizar este código.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Utilidad para comparar dos bases de datos. avmm2004 Varios 1 16-11-2006 20:47:22
Utilidad para contar lineas de código Alexander Varios 10 18-10-2006 00:14:55
Utilidad para manejo de lista TODO ANG4L Varios 3 02-08-2006 09:36:39
Cual es la utilidad de la paleta Server Gelmin Servers 1 05-03-2004 22:20:36
utilidad del application.tag Giniromero OOP 8 17-10-2003 12:21:53


La franja horaria es GMT +2. Ahora son las 19:15:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi