Comentarios |
Re: El Resultado De Shell No Lo Muestra En Un Textarea
|
Hola v3ctor.
¿ Tu quieres mostrar la ayuda de uname ?.
En ese caso no es -h es --help. Como hiciste arriba
Tendrías que añadir ademas alguna variable de cadena para que puedas añadir opciones.
Por ejemplo:
En el caso de que quieras usar mas de un modificador podías usar un array dinámico de cadena que vas llenando de modificadores.
Luego solo tendrás que ir concatenandolos para crear la orden completa.
Incluso puedes añadir como primer elemento del array la orden y los siguientes elementos son los modificadores.Nunca olvides el espacio con Shell.
¿ Llegaste a ver la orden Exec ?.
Saludos
última edición por Shell el Jueves, 30 May 2013, 20:34; editado 1 vez
|
Shell [ Jueves, 30 May 2013, 19:07 ]
|
|
Re: El Resultado De Shell No Lo Muestra En Un Textarea
|
Confieso que no daba con el problema y he tenido que preguntarlo en la lista de correo de gambas.
El problema es que algunos comandos, como el caso de ifconfig resulta que la salida del modificador (o argumento) --help no sale por la salida estándar (stdout) sino por la salida de errores del shell (stderr).
De manera que escribiendo el comando así, funciona correctamente:
Shell "ifconfig --help 2>&1" To una_variable
Lo que se hace con " 2>&1" es redirigir la salida de errores hacia la salida estándar y listo.
Por cierto, no siempre es lo mejor copiar la salida de un proceso shell a una variable, hay métodos más efectivos para controlar procesos que se detallan en la página oficial. Todo depende de las necesidades, como es lógico.
Saludos
|
jguardon [ Viernes, 31 May 2013, 13:20 ]
|
|
Re: El Resultado De Shell No Lo Muestra En Un Textarea
|
Hola v3ctor.
¿ Tu quieres mostrar la ayuda de uname ?.
En ese caso no es -h es --help. Como hiciste arriba
Tendrías que añadir ademas alguna variable de cadena para que puedas añadir opciones.
Por ejemplo:
En el caso de que quieras usar mas de un modificador podías usar un array dinámico de cadena que vas llenando de modificadores.
Luego solo tendrás que ir concatenandolos para crear la orden completa.
Incluso puedes añadir como primer elemento del array la orden y los siguientes elementos son los modificadores.Nunca olvides el espacio con Shell.
¿ Llegaste a ver la orden Exec ?.
Saludos
shell si ya lo sabia pero puse mal en el post:
uname -h
uname: opción inválida -- 'h'
Pruebe `uname --help' para más información.
es buena idea lo del array dinánico creo que es lo que necesito y usarlo con exec, aunque no tengo ni idea como es una array dinámico.
gracias sigo aprendiendo(no olviden que yo estoy empezando de cero nunca programe nada)
jguardon:
probé tu código y no anduvo
gracias, sigo intentando y fracasando intentando y fracasando, jaja es dura la vida del programador
|
v3ctor [ Domingo, 02 Junio 2013, 03:19 ]
|
|
Re: El Resultado De Shell No Lo Muestra En Un Textarea
|
Hola v3ctor.
Tienes mucha información sobre los arrays en la comunidad,la pagina de la documentación de gambas y en los blogs dedicados.
A los dinámicos se les conoce como nativos. (Arrays,matrices,conjuntos):
http://gambasdoc.org/help/cat/array?es
El blog que tengo olvidado por falta de tiempo:
http://gambas-basico.blogspot.com.e...-conjuntos.html
El blog del curso sobre Gambas3 de Julio:
http://cursogambas.blogspot.com.es/...s-matrices.html
Ya veras que es sencillo. Pregunta si tienes alguna duda sobre ellos.
En cuanto a los comandos de Shell, cada uno tiene su manera de trabajar y hay que conocerlos.
Luego como es normal depende de como quieras que sea tu aplicación y lo mas adecuado para ella.
Supongo que ya tendrás el manual de Gambas.
Saludos
última edición por Shell el Domingo, 02 Junio 2013, 10:03; editado 1 vez
|
Shell [ Domingo, 02 Junio 2013, 09:57 ]
|
|
Re: El Resultado De Shell No Lo Muestra En Un Textarea
|
jguardon:
probé tu código y no anduvo
Pues es posible que estés haciendo algo mal...
Copia y pega este códig y dinos si funciona, porque aquí funciona correctamente:
shell, no sé que tienen que ver los arrays con el comando Shell. El comando Exec es al que hay que pasarle arrays de string con el comando y los modificadores cada uno por separado, pero no a Shell, que lo único que admite es una cadena.
Saludos
|
jguardon [ Domingo, 02 Junio 2013, 11:00 ]
|
|
Re: El Resultado De Shell No Lo Muestra En Un Textarea
|
shell, no sé que tienen que ver los arrays con el comando Shell. El comando Exec es al que hay que pasarle arrays de string con el comando y los modificadores cada uno por separado, pero no a Shell, que lo único que admite es una cadena.
No tiene nada que ver. Es una posibilidad para que pueda añadir opciones al comando,(mas modificadores), cada uno seria un elemento del array.
Si concatenas todos esos elementos del array en una variable de cadena y se lo pasas a Shell es lo mismo. Ya sea por partes con Exec o una cadena con Shell.
Hay muchas posibilidades. Es como quiera hacerlo cada uno.
Saludos
|
Shell [ Domingo, 02 Junio 2013, 11:39 ]
|
|
Re: El Resultado De Shell No Lo Muestra En Un Textarea
|
Mmm, ya veo lo que dices. Bueno, es una posibilidad en el caso de necesitar trabajar mucho con un comando y sus modificadores.
Pero no olvides que Shell y Exec no son lo mismo y no funcionan exactamente igual internamente...
Saludos
|
jguardon [ Domingo, 02 Junio 2013, 13:10 ]
|
|
Re: El Resultado De Shell No Lo Muestra En Un Textarea
|
guardon, esta vez si funciono, tal vez en la primera que probé hice algo mal.
gracias.
Shell:
si conozco los dos blog, he agregado los enlaces en el mio.
con gente como ustedes se aprende rápido, saludos
- Public comandmodifik As String[]
-
-
- Public Sub Form_Open()
-
-
-
- End
-
- Public Function comandoymodificadores(comandmodifik As String[])
-
- TextArea1.Text.clear
- Exec [comandmodifik] To TextArea.Text
-
- End
-
- Public Sub btnifconfig_Click()
- comandmodifik.Clear
- comandmodifik.Add("ifconfig") 'error objeto nulo <-- me tira este error
- comandmodifik.Add("--help")
- comandoymodificadores()
- End
-
- Public Sub btnuname_Click()
- comandmodifik.Clear
- comandmodifik.Add("uname")
- comandmodifik.Add("--help")
- comandoymodificadores()
- End
-
- sigo probando....
-
-
última edición por v3ctor el Domingo, 02 Junio 2013, 20:41; editado 2 veces
|
v3ctor [ Domingo, 02 Junio 2013, 19:05 ]
|
|
Re: El Resultado De Shell No Lo Muestra En Un Textarea
|
Fíjate que hay que instanciar los arrays como un nuevo objeto. Hay que emplear la palabra New delante del tipo.
Saludos
|
jguardon [ Domingo, 02 Junio 2013, 20:28 ]
|
|
|