Foros del Web » Programación para mayores de 30 ;) » Programación General »

ayuda con este codigo!!!!!

Estas en el tema de ayuda con este codigo!!!!! en el foro de Programación General en Foros del Web. Hola, tengo una duda sobre lo que me falla en este codigo: Dim sParaComprimir, sComprimido As String Dim sPath As String sPath = Dir1.Path sParaComprimir ...
  #1 (permalink)  
Antiguo 29/02/2004, 17:10
 
Fecha de Ingreso: octubre-2003
Mensajes: 19
Antigüedad: 21 años
Puntos: 0
ayuda con este codigo!!!!!

Hola, tengo una duda sobre lo que me falla en este codigo:

Dim sParaComprimir, sComprimido As String
Dim sPath As String

sPath = Dir1.Path

sParaComprimir = List1.Text
sParaComprimir = sPath + sParaComprimir

sComprimido = List1.Text
sComprimido = 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.

Saludos.
  #2 (permalink)  
Antiguo 01/03/2004, 06:25
 
Fecha de Ingreso: junio-2002
Mensajes: 50
Antigüedad: 22 años, 5 meses
Puntos: 0
imagino q el codigo sea en visual basic.
en primer lugar, y no creo q sea importante, la definicion de las variables yo la hago por separado; aunq este en una misma linea, ej:
Dim var1 as Integer, var2 as String, var3 as String
y asi sucesivamente.
en segundo lugar, los nombres de las variables no puede estar encerrados entre comillas, pq entonces estas diciendole al Winrar q cree el fichero sComprimido a partir del fichero sParaComprimir, q seguramente no existe en ninguno de tus directorios.

salu2,
jabba
  #3 (permalink)  
Antiguo 01/03/2004, 07:11
Avatar de pabli  
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 21 años
Puntos: 0
En efecto,

en esta instrucción

Código:
Dim sParaComprimir, sComprimido As String
la primera variable es VARIANT y la segunda STRING

Saludos
Pablo
  #4 (permalink)  
Antiguo 01/03/2004, 13:18
 
Fecha de Ingreso: septiembre-2003
Mensajes: 172
Antigüedad: 21 años, 2 meses
Puntos: 0
Hola, lo que dice jabathejub es cierto, si encierras las variables entre comillas dejan de ser variables. Lo que puedes concatenar las variables de los archivos con la parte literal de la orden, asegurate de meterle espacios si no no te entenderá. Y mira si el winrar le pone directamente la extension sfx pq si no estas intentando comprimir un archivo en si mismo, y no creo que te deje.
Respecto a lo de las variables, con el variant te funcionará, pero si es un string mejor que lo declares como tal.

Saludos!
__________________
Sr.Propio
  #5 (permalink)  
Antiguo 03/03/2004, 18:04
 
Fecha de Ingreso: octubre-2003
Mensajes: 19
Antigüedad: 21 años
Puntos: 0
Gracias a todos, he corregido algunos errores y ya me va saliendo algo, aunque no exactamente lo que pretendo.

este es el codigo que tengo ahora:

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

Con esto si picho en el list sobre un fichero me comprime el directorio en el que se encuentra ese fichero, es decir, supongamos que pincho sobre un fichero "texto.txt" que se en encuentra dentro del directorio C:\Prueba, pues esto me comprime Prueba y texto.txt.

Yo lo que quiero es que solo me comprima el fichero sobre el que pincho y me lo guarde en el mismo directorio donde está.

Alguna idea??

Muchas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:23.