El Resultado De Shell No Lo Muestra En Un Textarea
Artículo |
Re: El Resultado De Shell No Lo Muestra En Un Textarea
|
Al fin salio lo que buscaba, al menos algo parecido, lo comparto:
-
- ' gambas class file
-
- 'declaración de constantes ya que sudo, cat y pipe
- 'son comandos que seguramente usaremos mas de una vez
- Public Const cat1 As String = " cat"
- Public Const sudo1 As String = "sudo"
- Public Const pipe1 As String = "|"
-
- Public Sub Form_Open()
- Me.center
- End
- 'creamos esta funsion asi nos ahorramos código,
- 'jeje que algún programador explique como funciona una funsión
- 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
- va3 = fvar3
- va4 = fvar4
- va5 = fvar5
- va6 = fvar6
- va7 = fvar7
- va8 = fvar8
- Shell va1 & va2 & va3 & va4 & va5 & va6 & va7 & va8 To resultado
- TextArea1.Text = resultado
- End
-
- Public Sub btnifconfig_Click()
- Dim ifconfig1 As String
- ifconfig1 = "ifconfig"
- comandoymodificadores(ifconfig1, Null, Null, Null, Null, Null, Null, Null)
-
- End
-
- Public Sub btnuname_Click()
- Dim uname1, help1 As String
- help1 = " --help"
- uname1 = "uname"
- comandoymodificadores(uname1, help1, Null, Null, Null, Null, Null, Null)
- End
-
- Public Sub btngroup_Click()
- Dim group1, help1 As String
- group1 = " /etc/group"
- comandoymodificadores(sudo1, cat1, group1, Null, Null, Null, Null, Null)
- End
-
- Public Sub btnarchivo_Click()
- Dim grep1, dir1, nano1, xfile1 As String
- TextArea1.Clear
- grep1 = "grep"
- dir1 = " /proc/meminfo"
- nano1 = "nano"
- xfile1 = "/home/vector/Escritorio/memtoral.txt"
- comandoymodificadores(grep1, cat1, dir1, pipe1, nano1, xfile1, Null, Null)
- TextArea1.Text = "Acción ejecutada"
- End
-
- Public Sub btnsalir_Click()
- Me.Close
- End
- 'Gracias Shell, con tu código pude resolver ( Shell orden & modificador To TextArea1.Text )
-
-
|
v3ctor [ Domingo, 02 Junio 2013, 23:28 ]
|
|
El Resultado De Shell No Lo Muestra En Un Textarea
Comentarios |
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 [ Lunes, 03 Junio 2013, 11:01 ]
|
|
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.
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 [ Lunes, 03 Junio 2013, 11:48 ]
|
|
Re: El Resultado De Shell No Lo Muestra En Un Textarea
|
jsbsan y shordi sigo aprendiendo con sus comentarios y correcciones,saludos.
|
v3ctor [ Lunes, 03 Junio 2013, 16:17 ]
|
|
|
|
Página 2 de 2
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
|
|