• Lunes 18 de Noviembre de 2024, 02:45

Autor Tema:  Aclarenme Porfa  (Leído 2757 veces)

sircuit

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Aclarenme Porfa
« en: Domingo 16 de Enero de 2005, 00:41 »
0
Código: Text
  1.  Select Case
  2.  
  3. Su nombre casi nos define lo que es: Selecciona, dependiendo del caso, un determinado juego de instrucciones:
  4.  
  5. Select Case variable ' variable es una variable que puede tomar los valores (p.e.) de 1 a 4
  6.  
  7. Case 1
  8.  
  9. Instrucciones a ejecutar en caso de que variable = 1
  10.  
  11. Case 2
  12.  
  13. Instrucciones a ejecutar en caso de que variable = 2
  14.  
  15. Case 3
  16.  
  17. Instrucciones a ejecutar en caso de que variable = 3
  18.  
  19. Case 4
  20.  
  21. Instrucciones a ejecutar en caso de que variable = 4
  22.  
  23. End Select
  24.  

esa es parte de un manual pero estuve intentando hacer algunos ejemplos pero no me salio

la primera linea, por ejemplo puse:
Citar
Private Sub Form_Load()
Select Case Text1
Case Is = "hola"
Shell "notepad.exe"
End Select
End Sub

pero no pasa nada...

help

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Aclarenme Porfa
« Respuesta #1 en: Domingo 16 de Enero de 2005, 01:40 »
0
El Shell necesita una variable para poder activarlo ese es el unico error, de resto todo esta bien.
Código: Text
  1.  
  2. Private Sub Form_Load()
  3. Dim x
  4. Select Case TextBox1.Text
  5. Case Is = "hola"
  6. x = Shell("notepad.exe")
  7. AppActivate x
  8. End Select
  9. End Sub
  10.  
  11.  

Ojala te sirva.
Chao
El pasado son solo recuerdos, el futuro son solo sueños

sircuit

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Aclarenme Porfa
« Respuesta #2 en: Domingo 16 de Enero de 2005, 16:24 »
0
pero aclarame una cosa...
cuando declaro una variable sin poner el tipo que es, el vb me la denomina como variant o me equivoco ? no seria mejor declarar previamente la x como un string ?

en todo caso al escribir hola no pasa nada y se debiera ejecutar notepad.exe :unsure:

_vgt_

  • Miembro activo
  • **
  • Mensajes: 76
    • Ver Perfil
Re: Aclarenme Porfa
« Respuesta #3 en: Lunes 17 de Enero de 2005, 10:32 »
0
hola!!, al no declarar la variable si has puesto el option explicit te dara un error y sino creo k estas en lo cierto y te la crea el solo automaticamente como variant...
lo de ejecutar un programa tengo un procedimiento alternativo para ejecutar programas, te la posteo la pruebas a ver si tienes suerte...

Código: Text
  1.  
  2.  
  3. Public Sub ExecuteFile(FilePath As String)
  4.  
  5. Dim ret
  6.  
  7. On Error GoTo error
  8. ret = Shell("rundll32.exe url.dll,FileProtocolHandler " & (FilePath), 1)
  9. Exit Sub
  10. error:  MsgBox err.Description, vbExclamation, "Error"
  11.  
  12. End Sub
  13.  
  14.  
  15.  

en truco esta en pasarle en la variable FilePath la direccion completa del programa k kieres ejecutar...

Espero haberte ayudado

Saludos !!
...solo los perdedores alegan haber hexo lo k han podido...

eliza_marti

  • Miembro MUY activo
  • ***
  • Mensajes: 267
    • Ver Perfil
    • http://www.solocodigo.com
Re: Aclarenme Porfa
« Respuesta #4 en: Lunes 17 de Enero de 2005, 21:23 »
0
Hola sircuit!.. :hola: ..veo que recién estás aprendiendo... :)  y eso es bueno ..practica mucho!..mira..lo que está mal en tu code no es el uso del select case ni del shell....tu error está en donde lo validas...si pones lo que pusiste en un Load Form..(cuando se carga tu Form)...es lógico que no va a pasar nada porque tu Text1.text (date cuenta que es Text1.text no Text1)... seguro no tiene la palabra hola ... ;)  ...ahora...si por ahi le pones un botoncito.. :rolleyes: ...y dentro del botón validas lo que hay dentro del Text1 con el select case entonces te puede funcionar... :) ..mira este ejemplo...te funcionará... :P :

Código: Text
  1. Private Sub Command1_Click()
  2.     Select Case Text1.Text
  3.     Case Is = "hola"
  4.         Shell "notepad.exe"
  5.     End Select
  6. End Sub
  7.  
  8. Private Sub Form_Load()
  9.     Text1.Text = ""
  10. End Sub
  11.  

Claro!.. que tienes que escribir la palabra hola en el text... :P
Espero ser de ayuda!...y sigue Practicando!... :hola:  :comp:  bye!...
Conserva la Paz con tu Alma en la bulliciosa confusión de la vida, aún con toda su farsa, penalidades y sueños fallidos, el mundo es todavia Hermoso....

http]
programacion,c,c++,
C#,java,linux,videojuegos,
directX,.NET,allegro,asm,codigo
[

sircuit

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Aclarenme Porfa
« Respuesta #5 en: Martes 18 de Enero de 2005, 21:22 »
0
ooo muchas gracias
en estos dias estoy metiendome un poco mas a si que en un tiempo me quedara todo mas claro

una cosa con respecto a:
Código: Text
  1. Public Sub ExecuteFile(FilePath As String)
  2.  
  3. Dim ret
  4.  
  5. On Error GoTo error
  6. ret = Shell("rundll32.exe url.dll,FileProtocolHandler " & (FilePath), 1)
  7. Exit Sub
  8. error:  MsgBox err.Description, vbExclamation, "Error"
  9.  
  10. End Sub
  11.  
por lo que entiendo ese codigo te permite buscar la ruta de un programa para que lo ejecute ? si fuese asi como se podria hacer desde un textbox ?

salu2

desarrollo

  • Miembro activo
  • **
  • Mensajes: 74
    • Ver Perfil
Re: Aclarenme Porfa
« Respuesta #6 en: Miércoles 19 de Enero de 2005, 02:56 »
0
holas sircuit   :hola:

tal vez lo ke estes buscando sea, es ke te ponga la ruta completa de un programa en un Text mas o menos asi,

Citar
Text1.text = Shell("notepad.exe url.dll,FileProtocolHandler " & (FilePath), 1)

no estoy seguro si buscas eso   <_<  pero de todas maneras ten suerte y practica mucho eso es lo ,mejor  ;)

desarrollo  :comp:

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Aclarenme Porfa
« Respuesta #7 en: Miércoles 19 de Enero de 2005, 15:35 »
0
Hola sircuit.

Este código que pones ejecuta una llamada a RUNDLL32.EXE pasándole como parámetros 'url.dll,FileProtocolHandler C:\UnaRuta'. En la práctica esto abrirá una ventana mostrando el contenido de C:\UnaRuta. Si en lugar de 'C:\UnaRuta' pusieras 'C:\UnaRuta\UnArchivo.exe', intentaría ejecutar 'unArchivo.exe'.

Para llamar a la función y que te muestre el contenido de una ruta que tu escribas en un textbox, o el nombre de un programa, simplemente llama a la función pasándole como parámetro el texto del textbox.

Código: Text
  1.  
  2. ExecuteFile Text1.Text
  3.  
  4.  

¿Que dónde tienes que poner esto?... pues en el evento Click de un commandButton, por ejemplo.

Chao.

sircuit

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Aclarenme Porfa
« Respuesta #8 en: Miércoles 19 de Enero de 2005, 20:07 »
0
mmm ya me van aclarando un poquito mas pero todavia sigo sin poder hacer lo que quiero... por ejemplo tengo un textbox que en el cual escribo solo la aplicacion... por ejemplo winamp, entonces al hacer click en un boton me lo ejecute sin la nececidad de tener que escribir la ruta completa... quisas el pc se demore un tanto en buscar el exe y ejecutarlo entonces seria mejor definir algunas rutas como por defecto ? y si no las encuentra en esas rutas especificadas que la busque a si como un bucle hasta que lo ejecute y ahi se pare el bucle obviamente...

espero haber sido mas claro esta vez :smartass:

pd: saben que puse un texto box y luego un command buton... dentro de este puse "Text1.text = Shell("notepad.exe url.dll,FileProtocolHandler " & (FilePath), 1)" y al hacer click en el textbox me aparece un numero que se debe referir a algo interesante me imagino pero una vez abierto el notepad me aparecio quw no se encuentra url.dll,FileProtocolHandler.....
por que ocurrira eso ?

salu2