MESSAGE

4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente

versión 2004 (Modificado)


MESSAGE (mensaje)

ParámetroTipoDescripción
mensajeAlfaMensaje a mostrar

Descripción

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 una ventana se ha abierto con Open window, todas las llamadas posteriores al comando MESSAGE muestran los mensajes en esa ventana. La ventana se comporta como un terminal:

Los mensajes sucesivos no borran los mensajes anteriores cuando se muestran en la ventana, se concadenan en mensajes existentes.

Si un mensaje es más largo que la ventana, 4D inserta automáticamente un retorno a la línea.

Si un mensaje tiene más líneas que la ventana, 4D automáticamente desplaza el mensaje en la ventana.

Para controlar los saltos de línea automáticos, incluya retornos de carro — Char(13) — en su mensaje.

Para mostrar el texto en un lugar en particular de la ventana, llame GOTO XY.

Para borrar los contenidos de la ventana, llame ERASE WINDOW.

La ventana es sólo una ventana de salida y su contenido no puede ser rediseñado cuando otras ventanas se colocan sobre ella.

Ejemplos

1. 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:

2. 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):

3. 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):

4. 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):

Ver también

CLOSE WINDOW, ERASE WINDOW, GOTO XY, Open window.


4D - Documentation   Français   English   German   Español   4D v11 SQL, Comandos por temas   4D v11 SQL, Lista alfabética de comandos   4D v11 SQL, Constantes por temas   Regresar   Anterior   Siguiente