Discussion:
linea de comandos en vez de menu
(demasiado antiguo para responder)
Roberto R. P.
2005-04-24 18:21:49 UTC
Permalink
El otro dia, cuando tenia que entregar una tarea, se me ocurrio una
voladita, haber si alguien me pega una orientadita y/o idea de como... les
paso a contar... Despues de haber implementado unos tda y haber hechos las
funciones que lo manejaban, tenia que hacer una interfaz, para poder
mostrar que funcionaban. La tipica es hacer un menu, y pedir al usuario
que ingrese los datos y todo ese cuento. Pero es refome hacer eso.
Entonces, mi idea era hacer una especie de interprete de comandos para mis
funciones, o sea, que el usuario en vez de interactuar con el menu, use
las funciones directamente. Ejemplo: La tipica: MENU
1.- ingresar
2.- borrar
1
ingrese por favor un numero ... [...] etc, etc, etc.

Pero mi idea es hacer que el usuario haga, por ejemplo ingresar(3);
borrar(3);
[...]

Se entiende la idea?
A alguien se le ocurre como hacerlo? Se me olvidaba mencionarlo, esto hay
que hacerlo en C. Eso..
salu2!
Roberto
Javier Sánchez Martínez
2006-03-31 12:01:16 UTC
Permalink
Post by Roberto R. P.
El otro dia, cuando tenia que entregar una tarea, se me ocurrio una
voladita, haber si alguien me pega una orientadita y/o idea de como... les
paso a contar... Despues de haber implementado unos tda y haber hechos las
funciones que lo manejaban, tenia que hacer una interfaz, para poder
mostrar que funcionaban. La tipica es hacer un menu, y pedir al usuario
que ingrese los datos y todo ese cuento. Pero es refome hacer eso.
Entonces, mi idea era hacer una especie de interprete de comandos para mis
funciones, o sea, que el usuario en vez de interactuar con el menu, use
las funciones directamente. Ejemplo: La tipica: MENU
1.- ingresar
2.- borrar
1
ingrese por favor un numero ... [...] etc, etc, etc.
Pero mi idea es hacer que el usuario haga, por ejemplo ingresar(3);
borrar(3);
[...]
Se entiende la idea?
A alguien se le ocurre como hacerlo? Se me olvidaba mencionarlo, esto hay
que hacerlo en C. Eso..
salu2!
Roberto
Asi de primeras podrias hacer que cada line es una instruccion y que del
comienzo de esta hasta ( es la funcion y de ( a ) es la informacion que se
le pasa a tu pomando :))))) y luego (yo lo haria asi...) tus instrucciones
propias que sean ejecutables aparte que lo que haga es llamarlos con la
informacion de ( ... ) pasada como argumento... asi sera un "interprete"
que sera muy facilmente ampliables, tan solo tendras que realizar las
aplicaciones e incluirlas en la carpeta de comandos del interprete....

En caso de no encontrar el comando en dicha carpeta de comandos del
interprete que muestre error que no se ha podido localizar....

Un saludo, AntyDesk.
Oscar Garcia
2005-05-04 14:59:14 UTC
Permalink
Post by Roberto R. P.
que ingrese los datos y todo ese cuento. Pero es refome hacer eso.
Entonces, mi idea era hacer una especie de interprete de comandos para mis
funciones, o sea, que el usuario en vez de interactuar con el menu, use
las funciones directamente. Ejemplo: La tipica: MENU
Pero mi idea es hacer que el usuario haga, por ejemplo ingresar(3);
borrar(3);
Supongo que cuando te refieres a la línea de comandos te refieres a
que en el simbolo de sistema puedas pasar parámetros a tu ejecutable.

Para ello debes usar los dos argumentos (que desgraciadamente son
desconocidos por la mayoría de la gente) de la función main:

int main( int num_argumentos, char *argumentos[])

Es decir, la función main debería devolver un entero (estado de salida
que también puede ser invocado con la función _exit) y tiene como
parámetros de entrada el número de argumentos y un array de punteros a
cadenas.

Ejemplos:

/usr/local/bin/prueba 1 "hola que tal"

Tendrá como número de parámetros 3 (el nombre del archivo ejecutable
más el número -en formato cadena- 1 más la cadena entrecomillada):

num_argumentos = 3
argumentos[0] = "/usr/local/bin/prueba"
argumentos[1] = "1"
argumentos[0] = "hola que tal"

Espero que te sea de ayuda.

Un saludo.
--
Óscar Javier García Baudet
LinaresDigital
http://redstar.linaresdigital.com/
Antoine Leca
2005-05-04 18:07:50 UTC
Permalink
Post by Oscar Garcia
/usr/local/bin/prueba 1 "hola que tal"
Tendrá como número de parámetros 3 (el nombre del archivo ejecutable
Depiende del sistema operativo. También puedes encontrar sistemas que llamen
tu programa con

num_argumentos = 5;
argumentos[0] = "/usr/local/bin/prueba";
argumentos[1] = "1";
argumentos[2] = "\"hola";
argumentos[3] = "que";
argumentos[4] = "tal\"";
argumentos[5] = (char*)0;


Otros pueden devolverte 3 argumentos, pero el último siendo

argumentos[2] = "\"hola que tal\"";

Es decir comillas incluidas.

Antoine

Loading...