Portada
Banner
Portada Foros Manuales Enlaces Email
clear1x1.gif clear1x1.gif clear1x1.gif
clear1x1.gif
clear1x1.gif

Portada
Foros
Manuales
Enlaces
Distribuidores
Precios
Sugerencias

Contacto

 

clear1x1.gif clear1x1.gif
 Guía rápida de inicio al GUI de Visual Pro/5 (Parte 13/68)
Primero Previo Próximo Último

Los Valores retornados por el MSGBOX

El valor retornado por MSGBOX() identifica el botón que el usuario seleccionó, como sigue:

Valor Botón Seleccionado
1 Ok
2 Cancel
3 Abort
4 Retry
6 Yes
7 No

Ejemplo 1:

El siguiente crea un diálogo que despliega "Esto es un mensaje" y un OK como botón.  Además, utilizará el nombre del programa como título de la caja y retornará un valor de 1.

LET x=MSGBOX("Esto es un mensaje")

Ejemplo 2:

El siguiente crea un diálogo que muestra el contenido de MENSAJE$ como el texto de mensaje; que contiene los Botones Cancel y Retry y un ícono con el signo de interrogación; y despliega el contenido de TITULO$ como el título de diálogo.

LET x=MSGBOX(mensaje$,5+32+256,titulo$)

Seleccionando el botón Cancel (valor por omisión) retorna un valor de 2.
Seleccionando el Botón Retry retorna un valor de 4.

Otros ejemplos:

LET m=MSGBOX("Desea cancelar la impresión",4+32,"Cancelar")
LET m=MSGBOX("La impresora no está lista",16,"Error")

Uso del FIN( ) del SYSWINDOW

Al igual que con cualquier otro dispositivo, la función FIN() regresa información útil relativa a la condición de ese dispositivo. Siguientes son algunos valores regresados por la función FIN() en un canal SYSWINDOW que podría ser usado cuando migre al GUI.

FIN(syswindow)

Con esta función normal FIN() obtenemos información de cualquier dispositivo de terminal. De interés particular son los campos {maxcols} y {maxrows}. Estos pueden ser cambiados cuando el SYSWINDOW es cambiado de tamaño por el usuario. (Esto solamente ocurre si la caja "Lock Cols/Rows" en el diálogo de Fuentes/Tamaño no está marcada o chequeada).

El siguiente ejemplo nos trae e imprime las dimensiones actuales del SYSWINDOW abierto al canal 0.

0010 DIM F$:TMPL(0,IND=0)
0020 F$=FIN(0)
0030 PRINT "Cols",F.MAXCOLS,",  Filas",F.MAXROWS
>run
Cols 80, Filas 25

FIN(syswindow,IND=1)

Esta función FIN() nos retorna información que es útil para aplicaciones que necesitan seguir el movimiento y actividad del botón del ratón mientras está sobre el área de despliegue del SYSWINDOW. Esta es una rara necesidad, pero puede ser utilizada para algunos efectos interesantes, como con un texto de varias líneas {drag-and-drop}.

El siguiente ejemplo nos informa si el botón izquierdo del ratón está oprimido, y donde el cursor del ratón está localizado (o ha sido localizado) dentro del SYSWINDOW. Ejecútelo algunas veces, moviendo el ratón y oprimiendo a veces el botón izquierdo del ratón, para notar el efecto completo.

0001 PRINT 'CS',"Para apreciar los movimientos del MOUSE: muévalo,
0001:oprimiendo y soltando el botón"
0010 DIM F$:TMPL(0,IND=1)
0020 F$=FIN(0,IND=1)
0030 PRINT "El botón del ratón está ",
0040 IF AND(BIN(F.MOUSE_BUTTONS,1),$01$)=$01$ THEN PRINT "oprimido"
0040:ELSE PRINT "sin oprimir"
0050 PRINT "Cursor en col",F.MOUSE_TERM_COL," lín.",F.MOUSE_TERM_ROW
0060 WAIT 1; GOTO 20

Primero Previo Próximo Último

Portada -- Foros -- Manuales -- Enlaces-- Sugerencias
Para comentarios: webmaster@essnet.com

clear1x1.gif
clear1x1.gif
clear1x1.gif
Portada Email Foros