En el siguiente ejemplo, el usuario puede
escoger el siguiente programa para correrlo desde el diálogo gráfico File Open.
0010 REM "Ejemplo para 'FILEOPEN' (Iniciar corrida de
un programa)
0100 INPUT 'FILEOPEN'("Correr Siguiente",DSK("")+DIR(""),"",""),
0100:'EE',F$,'BE',
0110 IF F$<>"::BAD::" AND F$<>"::CANCEL::" THEN
RUN F$
¡NOTA! EL tercer parámetro de 'FILEOPEN' no es utilizado --
pasa justamente un string vacío. Usted puede querer apagar el 'echo' antes de
leer el string de respuesta, y usar una coma al final, después del mnemónico,
para conservar texto extra para el despliegue.
'MOUSE' (col, fila, cols, filas,[,simple_resp$ [,doble_resp$]])
'AMOUSE' (col, fila, cols, filas,[,simple_resp$ [,doble_resp$]])
Estos mnemónicos son de ayuda para aplicaciones en ambiente
de caracteres. Lo que hacen es sensibilizar una región del área de acción de
despliegue. Nos referimos a estas regiones sensibilizadas como "área caliente
del ratón". Si el botón del ratón es presionado y mantenido, y el cursor
del ratón es arrastrado sobre el SYSWINDOW, el área caliente del ratón iluminará
el cursor del ratón cuando pase sobre ella. Si el botón de ratón es oprimido
una o dos veces sobre unas de estas áreas, un string de respuesta es introducido
en el buffer del teclado, justamente como si el usuario lo hubiera mecanografiado.
La aplicación más útil para 'MOUSE' y 'AMOUSE' es en la confección
de menús, ya que es generalmente simple disponer el ratón para operar el menú
tan rápidamente como el teclado. El string de respuesta pueden ser preparado
a las teclas del menú, de modo que el único cambio para el código es la adición
de un mnemónico 'MOUSE' o 'AMOUSE' dentro del loop que presenta los ítems del
menú.
La diferencia entre 'MOUSE' y 'AMOUSE' está en la naturaleza
del área caliente del ratón así creado. 'MOUSE' crea un área caliente para el
ratón que son anexadas a un 'WINDOW' o pantalla virtual de caracter particular.
Si la ventana es movida, el área caliente del ratón también se mueve. Si la
ventana es destruida, el área caliente del ratón desaparece. También, si una
región incluyendo el área caliente del ratón es corrida o limpiada, el área
caliente del ratón desaparecerá. Areas calientes del ratón de 'MOUSE' son solamente
activas cuando la ventana que las contiene está en uso actual. Areas calientes
del ratón de 'AMOUSE' son anexadas para todo lo desplegado en el SYSWINDOW,
y perduran independientemente de cualquier creación y destrucción de ventana,
limpieza o corrimiento por "scroll".
Para crear un área caliente del ratón, suministre una columna
y fila para la esquina superior izquierda, más el ancho en cols y la altura
en filas. Finalmente, especifique al menos un string de respuesta. El primer
string de respuesta es introducido en un simple 'click', el segundo en un doble-click.
Para limpiar una o más áreas calientes del ratón, emita un mnemónico
de llamada sin strings de respuesta. Toda área caliente del ratón intersectando
la región especificada será limpiada. 'MOUSE'(0,0,0,0 ) y 'AMOUSE' (0,0,0,0
) son formas rápidas para limpiar toda área caliente del ratón. Areas calientes
del ratón 'MOUSE' (no 'AMOUSE') también pueden ser limpiadas simplemente limpiando
la ventana.
|