Regresar   Foro de marcianitos.org > Emuladores y programas de todo tipo > Sistemas operativos > MS-DOS

 
 
Old 28-ene-2009, 21:13   #1
daesdae
Marciano
 
Avatar de daesdae
He hecho esta aplicacion como alternativa al Choice de Microsoft, destinada a generar menus de opciones mediante archivos Batch, por lo que supongo, solo tendrá algún interes para aquellos que enredan con este tipo de cosas. Vamos, que no va a causar ninguna revolucion marciana.

===============================================================
= XCHOICE beta 1 - Menu de opciones "navegable" para DOS, al estilo CHOICE =
===============================================================

"Un CHOICE especial para recreativas" Paul Sernine.

- XCHOICE es una variante de CHOICE, no introduce ninguna mejora, la diferencia está en la forma de escoger la opcion del menu.
- XCHOICE permite moverse por las distintas opciones (teclas Up y Down) y escoger una pulsando la tecla Enter ó 1.
- Su declaracion es muy similar al Choice, espera a que se escoja una opcion y devuelve mediante ERRORLEVEL la opcion escogida.
- Esta version viene con la opcion 'Salir del Menu' incorporada en su codigo (tecla ESC), no hace falta ponerla como opcion, pero es obligado declarar su 'if errorlevel 0' en el batch.

Declaracion:
Code:
XCHOICE TextoOpcion1 'Texto Opcion 2' ... "Texto Opcion N"
Si el texto de la opcion consta de varias palabras, existen espacios, esta debe ir entrecomillada. 'Texto Opcion' ó "Texto Opcion".

Teclas:
Code:
Up (flecha arriba), Down (flecha abajo) - Moverse por las opciones.
Enter ó 1 - Aceptar la opcion.
Esc - Para salir del menu de opciones.
Ejemplo general en un archivo Batch:
Code:
echo Titulo del Menu de Opciones
XCHOICE opcion1 opcion2 ... opcionN
if errorlevel N (accion N si escoge opcionN)
    .    .
    .    .
    .    .
if errorlevel 1 (accion 1 si escoge opcion1)
if errorlevel 0 (accion Salir si pulsa ESC)
Notas:
- Comprobado su funcionamiento en DOS-puro, Win98 y WinXP
- Para que funcione correctamente en DOS-puro, es imprescindible el archivo 'CWSDPMI.EXE'.
- Dado que msdos solo permite ejecutar lineas con un maximo de 127 letras, el numero de opciones como su tamaño está restringido por esto.
- La primera opcion aparece en la 6ª línea con un margen de 10 espacios y un salto de linea de 2, osea entre opcion y opcion hay una linea en blanco.

Historial

XCHOICE BETA 5 (10/02/2009)

- Implementada la posibilidad de aceptar etiquetas en el "archivo de opciones del menu".
Esto es util si tenemos varios menus, de esta forma todas las opciones de los distintos menus, se pueden declarar en un archivo de texto mediante etiquetas.
XCHOICE ... @archivo:etiqueta ...
Ejemplo general de archivo con etiquetas:
# Esto es un comentario.
[Menu_1]
Opcion 1 del Menu 1
...
Opcion N del Menu 1

[Menu_2]
Opcion 1 del Menu 2
...
Opcion M del Menu 2
...
- Descarga: (incluidos unos ejemplos de su funcionamiento)
http://rapidshare.com/files/20148653...beta5.rar.html
http://www.megaupload.com/?d=IMSH9QWG

XCHOICE BETA 4 (07/02/2009)

- Implementada la posibilidad de aceptar un archivo con las opciones del menu.
En el "archivo de opciones del menu" cada opcion debe estar en una linea, no es necesario entrecomillar las opciones con espacios.

Las lineas que comienzan con un # y las lineas en blaco, son ignoradas.

Esta opcion del xchoice se declara anteponiendo @ a la direccion del archivo (admite ..\).
XCHOICE ... @archivo ...
Ejemplo general de archivo:
# Esto es un comentario.
Opcion 1 del Menu
...
Opcion N del Menu

XCHOICE BETA 3 (04/02/2009)

- Cursor parpadeante eliminado.
- Implementadas las opciones de posicion:
XCHOICE ... [Opciones de Posicion] ...

[Opciones de Posicion]: Determinan la posicion de las opciones de menu en una pantalla tipica de MS-Dos de 80x25.
/Xn - Sangria ó Margen - columna apartir de la cual van aparecer las opciones del menu.
/Yn - Fila apartir de la cual aparecera la primera opcion del menu.
/Sn - Salto de Linea - ejemplo: si /S2; entre opcion y opcion del menu habra una linea en blanco.

donde n es un numero entero entre 0 y 255

Por defecto u omision /X10 /Y6 /S2

XCHOICE BETA 2 (01/02/2009)

- No necesita el archivo CWSDPMI.EXE
- Ocupa 6 KB


XCHOICE BETA 1 (28/01/2009)

- Necesita el archivo 'CWSDPMI.EXE'
- Ocupa 128 KB
- Declaracion:
XCHOICE [Opciones del Menu]

Opciones del Menu: declaracion de las opciones que apareceran en el menu.

XCHOICE Opcion1_sin_espacios ... 'Opcion N, con espacios' ... "Oncion M, con otro entrecomillado" ...
- Descarga: (esta comprimido con winrar y en él ademas del xchoice.exe hay un par de ejemplos de su funcionamiento.)
http://rapidshare.com/files/19075955...beta1.rar.html
http://www.megaupload.com/?d=8RVTKO0P


¡LARGA VIDA AL DOS!

Editado por daesdae en 23-feb-2009 a las 11:15.
Old 29-ene-2009, 00:03   #2
Bubu
Editor Marciano
Buffff... peaso de utilidad, daesdae. Esto lo podríamos usar para el instalador de ArcaDOS, ¿no? Enhorabuena por esto, y me encanta que todavía queden marcianos que hagan grandes cosas en MSDOS.
Una duda tésnica, ¿en qué lo has pogramado? ¿en Turbo C?
Old 29-ene-2009, 01:10   #3
Paul Sernine
Moderador
 
Avatar de Paul Sernine
Un CHOICE especial para recreativas, me parece una idea cojonuda y como ha dicho Bubu tiene multitud de aplicaciones para la gente que tiene DOS en la máquina.

Gracias por tu aportación.
Old 29-ene-2009, 01:43   #4
daesdae
Marciano
 
Avatar de daesdae
Me encanta que te encante, jeje

Quote:
Originalmente publicado por Bubu Ver post
... Esto lo podríamos usar para el instalador de ArcaDOS, ¿no?
jeje, en eso pense cuando lo programé, de ahí que le pusiese la tecla 1 para aceptar y tal.
Almenos para los que tienen la maca con el J-pac o I-pac no tendrian que tirar de teclado.

¿he acertado con las teclas? ¿son esas las que generalmente usais en los J-pac I-pac?

Si a ti te parece bien el incorporarlo al arcados, yo encantado de la vida.

Lenguaje de programacion, pues desempolve mis apuntes de Pasculo y me puse a ello, me parece un lenguaje sencillisimo y para todo lo del ms-dos está genial. Aparte me da mucha pereza meterme con C.
Bueno en concreto lo he compilado con FreePascal, pero lo voy a adaptar al legendario TurboPascal7.0, me he dado cuenta que con este ultimo deja el ejecutable en apenas 5 o 6 Kb y no necesita el cwsdmpi para nada. Lo unico que tengo que programar unas cosillas que interpreta de distinta forma que el FreePascal, supongo que para este fin de semana estará.

Si te interesa, prueba, mira que le podriamos cambiar y me lo cuentas, no te cortes ni un pelo en decirme fallos, mejoras y demas, no hay prisa, se que estas muy liado, la version 1.2beta1 está generando mucha informacion.
Por mi parte ya tengo una serie de mejoras en la cabeza. Mañana me auto contestare citandolas, a ver que te parecen.

Edito: Gracias a ti Paul Sernine, guau que acojida, jeje, venga a subir la reputacion, gracias de verdad, todo esto es mi hoby, me encanta el proyecto de Bubu y enredar con estas cosas. Ademas mi terapeta me recomendó liarme en algo como esto , todo lo que sea menos emparanoiarme con problemas existenciales.

Editado por daesdae en 29-ene-2009 a las 01:57.
Old 29-ene-2009, 12:17   #5
daesdae
Marciano
 
Avatar de daesdae
Posibles mejoras para siguiente y ¿definitiva? version:

(1) Pulido del codigo. ¡HECHO!

(2) Quitar el cursor papadeante que aparece en el menu, no molesta mucho pero no mola. ¡HECHO!

(3) Incluir argumentos para determinar la posicion en la que se van a escribir las opciones, por defecto: /X10 /Y6 /S2 en una pantalla de 80x25
XCHOICE /X10 /Y6 /S2 opciones ¡HECHO!
(4) Que admita el paso de opciones a traves de un archivo de texto (con etiquetas). Se acabo la restriccion de linea de 127 letras.

¡HECHO!
XCHOICE archivo_con_las_opciones:etiqueta
archivo_con_las_opciones
------------------------
[etiqueta 1]
opcion 1
opcion 2
. . .
opcion N
[etiqueta 2]
opcion a
opcion b
. . .
opcion n
------------------------
De esta forma se podria tener en un solo archivo todas las opciones de los distintos menus.
(5) ¿colorines?

---------------------------------------------------------------
(1), (2) y (3) - fijo que estaran.
(4) y (5) - ya veré, segun opiniones.

Si algun interesado se le ocurre alguna mejora, cuenta cuenta, a ver que se puede hacer y que opinina Bubu, pues en principio iria en el arcados.

Editado por daesdae en 19-feb-2009 a las 22:31. Razón: (4) ¡HECHO A MEDIAS!
Old 29-ene-2009, 12:39   #6
Paul Sernine
Moderador
 
Avatar de Paul Sernine
¿Cómo se marca ahora mismo la opción activa?, sería bueno que apareciera en video inverso (texto negro sobre fondo blanco).

Lo de los colorines creo que estaría bien, y lo de definir las opciones en un fichero de texto también lo veo muy útil, pero como alternativa no como obligación. Es decir que mantendría el comportamiento de ahora de pasarle las opciones en la línea de comandos.
Old 29-ene-2009, 14:54   #7
daesdae
Marciano
 
Avatar de daesdae
Paul Sernine
El fondo es negro, el texto en blanco y el texto de la opcion activa verde.
Probaré lo que sugieres de video inverso para la opcion activa. Puedo imaginarmelo y en mi cabeza esta vastante bien.
Quizas haga varias pruebas de colores y ponga unas capturillas. Eso sí, creo que lo dejaré para el final.

Importantisimo lo del fichero de opciones como alternativa

Dentro del rar de descarga he metido dos batch ejemplos (ejemplo1.bat y ejemplo2.bat), se pueden ejecutar en dos, en win98 y en winXP, sin ningun problema. Si puedes pruebalos, no te preocupes, no toca nada del pc, tan solo aparece en una ventana ms-dos un menu, aceptas una opcion y te dice que opcion has escogido.

Gracias por la colaboracion, me anima muchisimo el que mostreis interes, esto de hacer programillas chorras para el DOS me encanta, para mi es un juego mas, es una pena que el MAME no incluya el TurboPascal, jeje,