Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

El Resultado De Shell No Lo Muestra En Un Textarea

El Resultado De Shell No Lo Muestra En Un Textarea
Artículo
Responder citando    Descargar mensaje  
Mensaje Re: El Resultado De Shell No Lo Muestra En Un Textarea 
 
Al fin salio lo que buscaba, al menos algo parecido, lo comparto:


pruebasshellexec5


Código: [Descargar] [Ocultar]
  1.  
  2. ' gambas class file
  3.  
  4. 'declaración de constantes ya que sudo, cat y pipe
  5. 'son comandos que seguramente usaremos mas de una vez
  6. Public Const cat1 As String = " cat"
  7. Public Const sudo1 As String = "sudo"
  8. Public Const pipe1 As String = "|"
  9.  
  10. Public Sub Form_Open()
  11.  Me.center 
  12. End
  13. 'creamos esta funsion asi nos ahorramos código,
  14. 'jeje que algún programador explique como funciona una funsión
  15. Public Function comandoymodificadores(fvar1 As String, fvar2 As String, fvar3 As String, fvar4 As String, fvar5 As String, fvar6 As String, fvar7 As String, fvar8 As String)
  16.  Dim va1, va2, va3, va4, va5, va6, va7, va8, resultado As String
  17.   va1 = fvar1
  18.   va2 = fvar2
  19.   va3 = fvar3
  20.   va4 = fvar4
  21.   va5 = fvar5
  22.   va6 = fvar6
  23.   va7 = fvar7
  24.   va8 = fvar8
  25.  Shell va1 & va2 & va3 & va4 & va5 & va6 & va7 & va8 To resultado
  26.   TextArea1.Text = resultado
  27. End
  28.  
  29. Public Sub btnifconfig_Click()
  30.  Dim ifconfig1 As String
  31.   ifconfig1 = "ifconfig"
  32.   comandoymodificadores(ifconfig1, Null, Null, Null, Null, Null, Null, Null)
  33.  
  34. End
  35.  
  36. Public Sub btnuname_Click()
  37.  Dim uname1, help1 As String
  38.   help1 = " --help"
  39.   uname1 = "uname"
  40.   comandoymodificadores(uname1, help1, Null, Null, Null, Null, Null, Null)
  41. End
  42.  
  43. Public Sub btngroup_Click()
  44.  Dim group1, help1 As String
  45.   group1 = " /etc/group"
  46.   comandoymodificadores(sudo1, cat1, group1, Null, Null, Null, Null, Null)
  47. End
  48.  
  49. Public Sub btnarchivo_Click()
  50.  Dim grep1, dir1, nano1, xfile1 As String
  51.   TextArea1.Clear
  52.   grep1 = "grep"
  53.   dir1 = " /proc/meminfo"
  54.   nano1 = "nano"
  55.   xfile1 = "/home/vector/Escritorio/memtoral.txt"
  56.   comandoymodificadores(grep1, cat1, dir1, pipe1, nano1, xfile1, Null, Null)
  57.   TextArea1.Text = "Acción ejecutada"
  58. End
  59.  
  60. Public Sub btnsalir_Click()
  61.  Me.Close
  62. End
  63. 'Gracias Shell, con tu código pude resolver ( Shell orden & modificador To TextArea1.Text )
  64.  
  65.  




 
v3ctor - Ver perfil del usuario Enviar mensaje privado  
v3ctor [ Domingo, 02 Junio 2013, 23:28 ]
 


El Resultado De Shell No Lo Muestra En Un Textarea
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: El Resultado De Shell No Lo Muestra En Un Textarea 
 
Una pequeña correpcion:

No se debe de usar este tipo de rutas:

xfile1 = "/home/vector/Escritorio/memtoral.txt"


Lo mejor es usar user.home (http://gambasdoc.org/help/comp/gb/user/home?es&v3&view


xfile1 = user.home & "/Escritorio/memtoral.txt"


Y si es un archivo temporal... mejor usar la carpeta "/tmp/" que se borra cada vez que apaguemos el ordenador...asi no "guarreamos"    mucho nuestro Escritorio     

Saludos



 
jsbsan - Ver perfil del usuario Enviar mensaje privado  
jsbsan [ Lunes, 03 Junio 2013, 11:01 ]
Responder citando    Descargar mensaje  
Mensaje Re: El Resultado De Shell No Lo Muestra En Un Textarea 
 
Otra cosita:
Public Function comandoymodificadores(fvar1 As String, fvar2 As String, fvar3 As String, fvar4 As String, fvar5 As String, fvar6 As String, fvar7 As String, fvar8 As String)
 Dim va1, va2, va3, va4, va5, va6, va7, va8, resultado As String
  va1 = fvar1
  va2 = fvar2
  ...
 

Es totalmente redundante. Las variables fvarn son de ámbito local. las variables van son de ámbito local, también. Por tanto son redundantes y no sirven para nada.
Puedes usar sin problemas:

Shell fva1 & fva2 & fva3 & fva4 & fva5 & fva6 & fva7 & fva8 To resultado


Claro que entonces la función no tiene razón de existir, al quedar reducida a una línea y no ahorras código ninguno al usarla.
Podrías hacer, por ejemplo.


Public Sub btnifconfig_Click()

  shell "ifconfig" to textarea1.text
 
End
 


Lo de desviar la salida de shell a una propiedad de un control (textarea1.text) no lo he hecho nunca, pero no veo por qué no habría de funcionar.



 
última edición por shordi el Lunes, 03 Junio 2013, 11:53; editado 2 veces 
shordi - Ver perfil del usuario Enviar mensaje privado  
shordi [ Lunes, 03 Junio 2013, 11:48 ]
Responder citando    Descargar mensaje  
Mensaje Re: El Resultado De Shell No Lo Muestra En Un Textarea 
 
jsbsan y shordi sigo aprendiendo con sus comentarios y correcciones,saludos.  



 
v3ctor - Ver perfil del usuario Enviar mensaje privado  
v3ctor [ Lunes, 03 Junio 2013, 16:17 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 2 de 2
Ir a la página Anterior  1, 2
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron