MessageBox y Tutorial
Hola!.
Necesito saber como manejar un MessageBox, de manera que de las opciones Aceptar y Cancelar; ¿Cómo sé la respuesta del usuario?, necesito también de un Tutorial que explique sobre este tipo de cosas, ya que los que he encontrado son casi todos especifícos en Base de Datos. Gracias
Necesito saber como manejar un MessageBox, de manera que de las opciones Aceptar y Cancelar; ¿Cómo sé la respuesta del usuario?, necesito también de un Tutorial que explique sobre este tipo de cosas, ya que los que he encontrado son casi todos especifícos en Base de Datos. Gracias
1 Respuesta
Respuesta de alfredogarci
1
1
Lo que te recomiendo es que veas la ayuda del comando MessageBox, la cual te explica sin complicaciones la forma de operar de este comando. Para darte un ejemplo. Deseas preguntarle al usuario si quiere salir del sistema:
IF MESSAGEBOX("¿Desea salir del sistema?",4+32+256,"Confirmación") = 6
QUIT
ENDIF
El "4" hace que aparezcan los botones "Si" y "No".
El "32" hace que aparezca el signo de interrogación "?"
El "256" hace que siempre aparezca el foco en el 2do. Botón, el "No".
De todas maneras te envío toda la ayuda que tiene este comando en Visual FoxPro.
Alfredo García
Director de Tecnología
Referencia del lenguaje de Microsoft Visual FoxPro
MESSAGEBOX( ) (Función)Vea también
WAIT | DO CASE ... ENDCASE (Comando) | InputBox( ) (Función)
Muestra un cuadro de diálogo definido por el usuario.
MESSAGEBOX(eMessageText [, cTitleBarText][, nDialogBoxType ][, nTimeout])
Valores devueltos
Numeric
Parámetros
EMessageText
Especifica el texto que aparece en el cuadro de diálogo. Utilice un retorno de carro (CHR(13)) en eMessageText para mover una parte del mensaje a la línea siguiente del cuadro de diálogo. El alto y el ancho del cuadro de diálogo aumentan lo que sea necesario para que quepa cMessageText.
Puede utilizar cualquier función o tipo de datos válido de Visual FoxPro en vez de eMessageText. Si la función que utiliza produce un valor que no sea un carácter, Visual FoxPro utilizará automáticamente TRANSFORM para proporcionar el carácter equivalente, como en el siguiente ejemplo:
Messagebox(date())
NDialogBoxType
Especifica los botones y los iconos que aparecen en el cuadro de diálogo, el botón elegido inicialmente cuando se muestra y el comportamiento del mismo.
En las tablas siguientes, los valores 0 a 5 del botón del cuadro de diálogo especifican los botones que aparecen en el mismo. Los valores de icono 16, 32, 48 y 64 especifican el icono que aparece en el cuadro de diálogo. Los valores predeterminados 0, 256 y 512 especifican qué botón del cuadro de diálogo es el botón predeterminado. El botón predeterminado se selecciona cuando aparece el cuadro de diálogo.
Omitir nDialogBoxType es lo mismo que especificar un valor de 0 para nDialogBoxType.
Valor Botones del cuadro de diálogo
0 Sólo botón Aceptar.
1 Botones Aceptar y Cancelar.
2 Botones Anular, Reintentar e Ignorar.
3 Botones Sí, No y Cancelar.
4 Botones Sí y No.
5 Botones Reintentar y Cancelar.
Valor Icono
16 Punto.
32 Signo de interrogación.
48 Signo de exclamación.
64 Icono de información (i).
Valor Botón predeterminado
0 Primer botón.
256 Segundo botón.
512 Tercer botón.
NDialogBoxType puede ser la suma de hasta tres valores, uno de cada una de las tablas anteriores. Por ejemplo, si nDialogBoxType es 290 (2+32+256), el cuadro de diálogo especificado tendrá las siguientes características:
Botones Anular, Reintentar e Ignorar.
El cuadro de mensaje muestra el icono del signo de interrogación.
El segundo botón, Reintentar, es el botón predeterminado.
Hay disponible información adicional acerca de las constantes en el archivo FoxPro.h, que se encuentra en el directorio de inicio de Visual FoxPro. El uso de constantes definidas tales como MB_ABORTRETRYIGNORE + MB_ICONQUESTION + MB_DEFBUTTON2 puede ser más legible que 2 + 32 + 256.
CTitleBarText
Especifica el texto que aparece en la barra de titulo del cuadro de diálogo. Si omite cTitleBarText, en la barra de titulo aparecerá el titulo "Microsoft Visual FoxPro".
NTimeout
Especifica el número de milisegundos que Visual FoxPro mostrará cMessageText sin ninguna entrada desde el teclado o el mouse antes de borrar cMessageText. Es posible especificar cualquier tiempo de espera válido. Un valor menor de 1 no agotará el tiempo de espera hasta que se produzca la entrada del usuario (igual que si no se utiliza el parámetro nTimeout). Cuando se agote el tiempo de espera, ¿MESSAGEBOX( ) devolverá?1.
Observaciones
El valor que devuelve MESSAGEBOX( ) indica qué botón del cuadro de diálogo se ha elegido. En los cuadros de diálogo con un botón Cancelar, al presionar la tecla ESC para salir del cuadro de diálogo se devolverá el mismo valor (2) que al elegir Cancelar.
Observe que la abreviatura más corta para esta función es MESSAGEB( ).
La tabla siguiente muestra los valores que devuelve MESSAGEBOX( ) para cada botón.
Valor devuelto Botón
1 Aceptar
2 Cancelar
3 Anular
4 Reintentar
5 Ignorar
6 Sí
7 No
La función MESSAGEBOX( ) utiliza parámetros inteligentes donde el tipo de parámetro dicta qué parámetro se está utilizando. El primer parámetro es requerido y siempre es cMessageText; sin embargo, el segundo parámetro, opcional, puede ser nDialogBoxType si el tipo es numérico o cTitleBarText si el tipo es de caracteres. Siempre se asume el parámetro nTimeout para el segundo parámetro numérico opcional que se pasa. Algunos ejemplos válidos son:
MESSAGEBOX("HELLO","MyTitle", 36,1)
MESSAGEBOX("HELLO", 36,"MyTitle", 1)
MESSAGEBOX("HELLO", 36,1)
MESSAGEBOX("HELLO", 36,1,"MyTitle")
Ejemplo
El siguiente ejemplo muestra un cuadro de diálogo definido por el usuario. Como titulo del cuadro de diálogo definido por el usuario, se muestra el mensaje "Record not found. Would you like to search again?", y en la barra de titulo se muestra "My application".
El cuadro de diálogo definido por el usuario contiene los botones Yes y No, y el icono del signo de interrogación; el segundo botón (No) es la selección predeterminada. Cuando elija uno de los botones, la selección se mostrará en pantalla.
cMessageTitle = 'My Application'
cMessageText = 'Record not found. Would you like to search again?'
nDialogType = 4 + 32 + 256
* 4 = Yes and No buttons
* 32 = Question mark icon
* 256 = Second button is default
nAnswer = MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)
DO CASE
CASE nAnswer = 6
WAIT WINDOW 'You chose Yes'
CASE nAnswer = 7
WAIT WINDOW 'You chose No'
Endcase
Vea también
WAIT | DO CASE ... ENDCASE (Comando) | InputBox( ) (Función)
--------------------------------------------------------------------------------
© 2001 Microsoft Corporation. Reservados todos los derechos.
IF MESSAGEBOX("¿Desea salir del sistema?",4+32+256,"Confirmación") = 6
QUIT
ENDIF
El "4" hace que aparezcan los botones "Si" y "No".
El "32" hace que aparezca el signo de interrogación "?"
El "256" hace que siempre aparezca el foco en el 2do. Botón, el "No".
De todas maneras te envío toda la ayuda que tiene este comando en Visual FoxPro.
Alfredo García
Director de Tecnología
Referencia del lenguaje de Microsoft Visual FoxPro
MESSAGEBOX( ) (Función)Vea también
WAIT | DO CASE ... ENDCASE (Comando) | InputBox( ) (Función)
Muestra un cuadro de diálogo definido por el usuario.
MESSAGEBOX(eMessageText [, cTitleBarText][, nDialogBoxType ][, nTimeout])
Valores devueltos
Numeric
Parámetros
EMessageText
Especifica el texto que aparece en el cuadro de diálogo. Utilice un retorno de carro (CHR(13)) en eMessageText para mover una parte del mensaje a la línea siguiente del cuadro de diálogo. El alto y el ancho del cuadro de diálogo aumentan lo que sea necesario para que quepa cMessageText.
Puede utilizar cualquier función o tipo de datos válido de Visual FoxPro en vez de eMessageText. Si la función que utiliza produce un valor que no sea un carácter, Visual FoxPro utilizará automáticamente TRANSFORM para proporcionar el carácter equivalente, como en el siguiente ejemplo:
Messagebox(date())
NDialogBoxType
Especifica los botones y los iconos que aparecen en el cuadro de diálogo, el botón elegido inicialmente cuando se muestra y el comportamiento del mismo.
En las tablas siguientes, los valores 0 a 5 del botón del cuadro de diálogo especifican los botones que aparecen en el mismo. Los valores de icono 16, 32, 48 y 64 especifican el icono que aparece en el cuadro de diálogo. Los valores predeterminados 0, 256 y 512 especifican qué botón del cuadro de diálogo es el botón predeterminado. El botón predeterminado se selecciona cuando aparece el cuadro de diálogo.
Omitir nDialogBoxType es lo mismo que especificar un valor de 0 para nDialogBoxType.
Valor Botones del cuadro de diálogo
0 Sólo botón Aceptar.
1 Botones Aceptar y Cancelar.
2 Botones Anular, Reintentar e Ignorar.
3 Botones Sí, No y Cancelar.
4 Botones Sí y No.
5 Botones Reintentar y Cancelar.
Valor Icono
16 Punto.
32 Signo de interrogación.
48 Signo de exclamación.
64 Icono de información (i).
Valor Botón predeterminado
0 Primer botón.
256 Segundo botón.
512 Tercer botón.
NDialogBoxType puede ser la suma de hasta tres valores, uno de cada una de las tablas anteriores. Por ejemplo, si nDialogBoxType es 290 (2+32+256), el cuadro de diálogo especificado tendrá las siguientes características:
Botones Anular, Reintentar e Ignorar.
El cuadro de mensaje muestra el icono del signo de interrogación.
El segundo botón, Reintentar, es el botón predeterminado.
Hay disponible información adicional acerca de las constantes en el archivo FoxPro.h, que se encuentra en el directorio de inicio de Visual FoxPro. El uso de constantes definidas tales como MB_ABORTRETRYIGNORE + MB_ICONQUESTION + MB_DEFBUTTON2 puede ser más legible que 2 + 32 + 256.
CTitleBarText
Especifica el texto que aparece en la barra de titulo del cuadro de diálogo. Si omite cTitleBarText, en la barra de titulo aparecerá el titulo "Microsoft Visual FoxPro".
NTimeout
Especifica el número de milisegundos que Visual FoxPro mostrará cMessageText sin ninguna entrada desde el teclado o el mouse antes de borrar cMessageText. Es posible especificar cualquier tiempo de espera válido. Un valor menor de 1 no agotará el tiempo de espera hasta que se produzca la entrada del usuario (igual que si no se utiliza el parámetro nTimeout). Cuando se agote el tiempo de espera, ¿MESSAGEBOX( ) devolverá?1.
Observaciones
El valor que devuelve MESSAGEBOX( ) indica qué botón del cuadro de diálogo se ha elegido. En los cuadros de diálogo con un botón Cancelar, al presionar la tecla ESC para salir del cuadro de diálogo se devolverá el mismo valor (2) que al elegir Cancelar.
Observe que la abreviatura más corta para esta función es MESSAGEB( ).
La tabla siguiente muestra los valores que devuelve MESSAGEBOX( ) para cada botón.
Valor devuelto Botón
1 Aceptar
2 Cancelar
3 Anular
4 Reintentar
5 Ignorar
6 Sí
7 No
La función MESSAGEBOX( ) utiliza parámetros inteligentes donde el tipo de parámetro dicta qué parámetro se está utilizando. El primer parámetro es requerido y siempre es cMessageText; sin embargo, el segundo parámetro, opcional, puede ser nDialogBoxType si el tipo es numérico o cTitleBarText si el tipo es de caracteres. Siempre se asume el parámetro nTimeout para el segundo parámetro numérico opcional que se pasa. Algunos ejemplos válidos son:
MESSAGEBOX("HELLO","MyTitle", 36,1)
MESSAGEBOX("HELLO", 36,"MyTitle", 1)
MESSAGEBOX("HELLO", 36,1)
MESSAGEBOX("HELLO", 36,1,"MyTitle")
Ejemplo
El siguiente ejemplo muestra un cuadro de diálogo definido por el usuario. Como titulo del cuadro de diálogo definido por el usuario, se muestra el mensaje "Record not found. Would you like to search again?", y en la barra de titulo se muestra "My application".
El cuadro de diálogo definido por el usuario contiene los botones Yes y No, y el icono del signo de interrogación; el segundo botón (No) es la selección predeterminada. Cuando elija uno de los botones, la selección se mostrará en pantalla.
cMessageTitle = 'My Application'
cMessageText = 'Record not found. Would you like to search again?'
nDialogType = 4 + 32 + 256
* 4 = Yes and No buttons
* 32 = Question mark icon
* 256 = Second button is default
nAnswer = MESSAGEBOX(cMessageText, nDialogType, cMessageTitle)
DO CASE
CASE nAnswer = 6
WAIT WINDOW 'You chose Yes'
CASE nAnswer = 7
WAIT WINDOW 'You chose No'
Endcase
Vea también
WAIT | DO CASE ... ENDCASE (Comando) | InputBox( ) (Función)
--------------------------------------------------------------------------------
© 2001 Microsoft Corporation. Reservados todos los derechos.
- Compartir respuesta
- Anónimo
ahora mismo