Pregunta: | 31564 - COMPRIMIR UN FICHERO CON WINZIP |
Autor: | Fernando PM |
Hola, necesito comprimir un fichero con wipZip u otro programa
pero no se como hacer que mi programa ejecute el WinZip para comprimir un fichero que yo le doy Conozco la funcion esta : WinExec(PChar(\'C:\\Archivos de programa\\WinZip\\WINZIP32.EXE\'),SW_SHOWNORMAL); Pero solo me abre el WinZip y no me comprime el fichero o al menos no se como se hace. Por favor si teneis alguna solucion decirmelo, gracias Un saludo |
Respuesta: | Luis Felipe García Gutiérrez |
Pues te cuento huho ho que tu procedimiento no me funcionó, pasa por la sentencia e inclusive me gemera el mensaje de éxito de la operación pero por ninguna parte encuentro en la ruta que direccioné el archivo comprimido.
winexec(PChar('"C:\Archivos de programa\WinZip\WINZIP32.exe -min -a -ex -hs C:\BackUp\bd'+hoy+'.zip C:\BackUp\bd.mdb"'),SW_SHOWNORMAL); me vi en la necesidad de poner al final de la línea ,SW_SHOWNORMAL, proque no quería compilar por la falta del parámetro. Gracias!!! |
Respuesta: | hugo oh |
hola,
puedes utilizar lo siguiente: sComando := winzipdir+ ' -min -a -ex -hs ' + destino + ' "' + carpeta + '*.*"'; donde: winzipdir = nombre y path del winzip32.exe... destino = nombre del archivo que se va a generar... carpeta = nombre de la carpeta donde se encuentran los archivos que se quieren comprimir. o puede ser el archivo a comprimir, claro se tendria que omitir *.* algo asi como: "...winzip32.exe -min -a -ex -hs archivodestino.zip archivofuente.xxx" para un archivo... o "...winzip32.exe -min -a -ex -hs archivodestino.zip .\carpeta\*.*" para todos los archivos de la carpeta deseada... ojala y te sirva... ah!, por supuesto lo ejecutas con winexec(PChar(sComando)); aunque lo correcto es utilizar CreateProcess(...) saludos... EOF |