Visual Basic - Comprimir desde visual

Life is soft - evento anual de software empresarial
 
Vista:

Comprimir desde visual

Publicado por Susana (10 intervenciones) el 26/02/2004 14:45:10
Hola, antes de nada decir que soy novata y pongo esta pregunta aqui en visual avanzado porque nadie me ha respondido en el otro foro la pregunta es la siguiente:

Tengo un listbox cargado con nombres que se refieren a archivos que tengo en un directorio. Es posible que al hacer doble clik sobre uno de ellos me lanze el winrar y me comprima el archivo en SPX, si no se puede, con que me lanze el winrar me conformo. como lo puedo hacer??

Saludos y gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Comprimir desde visual

Publicado por ifer (54 intervenciones) el 26/02/2004 17:32:07
pues puedes lanzar cualquier aplicacion con la funcion SHELL, ahora quizas puedas mandar mensajes al winrar desde tu aplicacion usando la funcion SENDMESSAJE (todo en windows es cuestion de ventanas y mensajes desde y hacia estas), de modo que haga lo que quieras, ahora tabien existen activex que permiten comprimir en archivos zip (ignoro rar) pero creo que no te lo ponen el spx.
ahora que quizas el winrar admita lineas se COMANDOS, y asi se te facilita pues podrias eviarle solo la ruta de los archivas y zaz, listo! (teneis que leer su documentacion)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comprimir desde visual

Publicado por Susana (10 intervenciones) el 27/02/2004 22:52:39
gracias, estoy usando la funcion shellexecute y logro que me salga el winrar y se situe en el directorio que yo quiero, pero me falta saber como pasarle los parametros que winrar usa para la linea de comandos, ya he puesto un mensaje por ahí para ver si alguien me puede echar una mano.

gracias por tu ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comprimir desde visual

Publicado por ifer (54 intervenciones) el 28/02/2004 18:08:59
Pues sip, como lo sospechaba, el buenisimo winrar acepta lineas de comando, por ejemplo esto comprime todos los .txt en una paquete auto extraible (sfx):
Shell "D:\Archivos de programa\WinRAR\WinRAR.exe a -sfx E:\temp\destino.rar E:\temp\*.txt", vbNormalFocus
pero os advierto que no reconoce espacios en blanco en las rutas, pero puedes solucionar esto llevando tus archivos a una carpeta temporal procesable, capicci?
ahora, puedes obtener el manejador (handle) del proceso de esta aplicacion externa, con ShellExecuteEx.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comprimir desde visual

Publicado por Susana (10 intervenciones) el 28/02/2004 23:07:47
Muchisimas gracias, era justo lo que necesitaba.

Saludos y gracias por tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Otra duda

Publicado por Susana (10 intervenciones) el 01/03/2004 00:48:05
Hola otra vez, ahora me surge una nueva duda, tengo este codigo:

Dim sParaComprimir, sComprimido As String
Dim sUnidad As String
Dim sPath As String

sParaComprimir = List1.Text
sParaComprimir = sUnidad + sPath + sParaComprimir

sComprimido = List1.Text
sComprimido = sUnidad + sPath + sComprimido

Shell "C:\Archivos de programa\WinRAR\WinRAR.exe a -sfx_ sComprimido sParaComprimir", vbNormalFocus

Explico un poco de que va el tema, en un listbox se me cargan los archivos que tengo cuando me muevo por un dirlisbox, es decir el listbox actua como si fuera un filelist y lo que quiero conseguir es que cuando haga doble click sobre cualquier archivo que tenga en el listbox se me comprima en un spx con el mismo nombre del archivo sobre el que he hecho doble click y se guarde en el mismo directorio del archivo que quiero comprimir y esta es la duda como meto en variables el archivo a comprimir y el archivo comprimido, he probado de varias maneras pero no me sale nada.
necesito ayuda otra vez.

Saludos.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Otra duda

Publicado por Cecilia Colalongo (3116 intervenciones) el 01/03/2004 20:05:50
Fijate de alguna de éstas formas:

Shell "C:\Archivos de programa\WinRAR\WinRAR.exe a -sfx_ " & sComprimido & " " & sParaComprimir, vbNormalFocus

o:

Shell "C:\Archivos de programa\WinRAR\WinRAR.exe a -sfx_ '" & sComprimido & "' '" & sParaComprimir & "'", vbNormalFocus
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Casi casi me sale pero......

Publicado por Susana (10 intervenciones) el 02/03/2004 22:39:31
Casi lo tengo con lo que me habeis indicado pero con el codigo que os pongo a continuacion me comprime la ruta entera y el archivo que pincho en el listbox, es decir ,si en el listbox hago doble click en un archivo que se llama "texto.txt" que esta en C:\prueba\texto.txt me comprime la carpeta prueba y dentro el archico texto.txt y al archivo spx resultante lo llama texto.txt.exe.
Lo que yo quiero es que me comprima solo el archivo que yo pinche y lo guarde en el mismo directorio donde esta el archivo original y que se llame igual.
Si alguien tiene alguna idea estaria muy agradecida.

Saludos.

este es el codigo:

Private Sub List2_DblCklick()

Dim sParaComprimir As String, sComprimido As String, sPath As String

sPath = Dir1.Path

sParaComprimir = List2.Text
sParaComprimir = sPath + "\" & sParaComprimir

sComprimido = List2.Text
sComprimido = sPath + "\" & sComprimido

Shell "C:\Archivos de programa\WinRAR\WinRAR.exe a -sfx " & sComprimido & " " & sParaComprimir, vbNormalFocus

End Sub

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar