• Publicidad

Menú por consola

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Re: Menú por consola

Notapor explorer » 2009-11-06 03:50 @201

Has escrito mal las comparaciones:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
if ($answer eq 'sqlcronograma') {
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


El valor devuelto por el módulo es la CLAVE (lo que hay delante de '=>').

Fíjate que comparo si $answer es igual a 'sqlcronograma', y no con 'sqlcronogramas', que es lo que sale en pantalla, ni con '3', que es lo que pulsa el usuario.
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Re: Menú por consola

Notapor scout » 2009-11-06 19:04 @836

Doy por cerrada mi consulta y paso a limpio este arte que creo que ayudará a quien quiera hacer algo tan retro como un menú por consola...

Gracias a la ayuda de Explorer pude realizar este menú...

Vale aclarar que lo bueno de ello es capturar la selección en una variable y luego poder con ella trabajar sin problemas...

En mi caso generé la primera función &sqlaltas($answer); y le paso la famosa selección del usuario; en vuestro caso podréis mejorar este tema... y depurarlo.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use strict;
  2. use warnings;
  3. use diagnostics;
  4. use Term::Menu;
  5.  
  6. my $var  = 0;
  7. my $sede = 0;
  8. my $prompt = Term::Menu->new(
  9.     beforetext      => 'Por favor, elija una de las siguientes opciones:',
  10.     aftertext       => 'Introduzca la sede por favor  ',
  11.     nooptiontext    => 'No seleccionaste ninguna opción ',
  12.     toomanytries    => 'Inicia el programa nuevamente y pulse alguna tecla por favor ',
  13. );
  14.  
  15. my $answer = $prompt->menu(
  16.     resguardo     => ["resguardo",                1 ],
  17.     sqlaltas      => ["sqlaltas",                 2 ],
  18.     sqlcronograma => ["sqlcronogramas",           3 ],
  19.     Ayuda         => ["Ayuda sobre el  Programa", 4 ],
  20.     Salir         => ["Salir del Programa",       5 ],
  21. );
  22.  
  23. print "\n";
  24. print "$answer \n";
  25.  
  26. if ($answer eq 'resguardo') {
  27.     print "Has elegido sede resguardo ";
  28.     #&sqlresguardo ( $answer);
  29. }
  30. elsif ($answer eq 'sqlaltas') {  
  31.     print "Has elegido sede sqlaltas ";
  32.     #&sqlaltas ( $answer);
  33. }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Última edición por explorer el 2009-11-07 06:40 @319, editado 1 vez en total
Razón: Ortografía, bloques de código, corrección del código, indentación del código
scout
Perlero nuevo
Perlero nuevo
 
Mensajes: 228
Registrado: 2009-10-28 13:50 @618

Anterior

Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 12 invitados