Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
MESSAGE
|
MESSAGE ( mensaje ) | ||||||||
Parámetro | Tipo | Descripción | ||||||
mensaje | Cadena |
![]() |
Mensaje a mostrar | |||||
El comando MESSAGE generalmente se utiliza para informar al usuario sobre alguna actividad. Muestra mensaje en la pantalla en una ventana de mensaje especial que se abre y cierra cada vez que usted llama a MESSAGE, a menos que usted trabaje con una ventana que abrió previamente utilizando Open window (ver los siguientes detalles). El mensaje es temporal y se borra tan pronto como se muestre un formulario o se detenga la ejecución del método. Si se ejecuta otro comando MESSAGE, el mensaje anterior se borra.
Si se abre una ventana con Open window, todas las llamadas posteriores al comando MESSAGE muestran los mensajes en esa ventana. La ventana se comporta como un terminal:
Nota: MESSAGE es compatible con el comando Open form window; sin embargo, en este contexto, el segundo parámetro * de Open form window, que guarda el tamaño y la posición de la ventana, no es compatible.
El siguiente ejemplo procesa una selección de registros y llama MESSAGE para informar al usuario sobre el progreso de la operación:
For($vlRegistro;1;Records in selection([todaTabla]))
MESSAGE("Proceso del registro #"+String($vlRegistro))
` Hacer algo con el registro
NEXT RECORD([todaTabla])
End for
La siguiente ventana aparece y desaparece cada vez que se llama MESSAGE:
Con el fin de evitar la ventana "titilante", puede mostrar los mensajes en una ventana abierta utilizando Open window, como en este ejemplo:
Open window(50;50;500;250;5;"Operación en progreso")
For($vlRegistro;1;Records in selection([todaTabla]))
MESSAGE("Procesando registro #"+String($vlRegistro))
` Hacer algo con el registro
NEXT RECORD([todaTabla])
End for
CLOSE WINDOW
El resultado es el siguiente (en Windows):
Añadiendo un retorno de carro mejora la presentación:
Open window(50;50;500;250;5;"Operación en progreso")
For($vlRegistro;1;Records in selection([todaTabla]))
MESSAGE("Procesando registro #"+String($vlRegistro)+Char(Carriage return))
` Hacer algo con el registro
NEXT RECORD([todaTabla])
End for
CLOSE WINDOW
Este es el resultado (en Windows):
Utilizando GOTO XY y escribiendo algunas líneas adicionales:
Open window(50;50;500;250;5;"Operación en progreso")
$vlNbRegistros:=Records in selection([todaTabla])
$vhStartTime:=Current time
For($vlRegistro;1;$vlNbRegistros)
GOTO XY(5;2)
MESSAGE("Procesando registro #"+String($vlRegistro)+Char(Carriage return))
` Hacer algo con el registro
NEXT RECORD([todaTabla])
GOTO XY(5;5)
$vlResto:=(($vlNbRegistros/$vlRegistro)-1)*(Current time-$vhHoraInicio)
MESSAGE("Tiempo restante estimado: "+Time string($vlResto))
End for
CLOSE WINDOW
El resultado es el siguiente (en Windows):
Producto: 4D
Tema: Mensajes
Número
88
Modificado: 4D 2004
Manual de lenguaje 4D ( 4D v20 R7)