4D v14.3

MESSAGE

Home

 
4D v14.3
MESSAGE

MESSAGE 


 

MESSAGE ( Meldung ) 
Parameter Typ   Beschreibung
Meldung  String in Zu zeigende Meldung

Der Befehl MESSAGE zeigt Meldung auf dem Bildschirm in einem eigenen Fenster an. Die Meldung ist temporär und verschwindet, sobald ein Formular aufgerufen oder eine Methode mit einem Formularaufruf ausgeführt wird. Führt MESSAGE eine andere Meldung aus, wird die alte entfernt.

Wird ein Fenster mit der Funktion Open window geöffnet, erscheinen alle später über MESSAGE aufgerufenen Meldungen in diesem Fenster. Das Fenster verhält sich wie ein Terminal:

  • Eine nachfolgende Meldung in diesem Fenster hebt die vorige Meldung nicht auf. Die Meldungen erscheinen nacheinander.
  • Ist eine Meldung breiter als das Fenster, bricht 4D den Text automatisch um.
  • Hat eine Meldung mehr Zeilen als das Fenster zulässt, scrollt 4D automatisch im Meldungsfenster.
  • Fügen Sie Zeilenumbrüche – Char(13) – in Ihre Meldungen ein, um den Textumbruch zu steuern.
  • Rufen Sie den Befehl GOTO XY auf, um Text an einer bestimmten Stelle im Fenster anzuzeigen.
  • Rufen Sie den Befehl ERASE WINDOW auf, um den Inhalt des Fensters zu entfernen.
  • Das Fenster ist nur ein Ausgabefenster, d.h. bei Überlappung durch andere Fenster wird es nicht neu gezeichnet.
  • Über die Seite "Oberfläche"  in den Datenbankeigenschaften können Sie Schrift und Größe der angezeigten Zeichen verändern.

Folgendes Beispiel bearbeitet eine Datensatzauswahl und informiert den Benutzer über MESSAGE über das Fortschreiten der Operation:

 For($vlRecord;1;Records in selection([anyTable]))
    MESSAGE("Datensatz wird bearbeitet Nr."+String($vlRecord))
  ` Tu etwas mit dem Datensatz
    NEXT RECORD([anyTable])
 End for

Folgendes Fenster erscheint und verschwindet bei jedem Aufruf von MESSAGE:

Um dieses "blinkende" Fenster zu vermeiden, können Sie die Meldungen mit der Funktion Open window in einem Fenster anzeigen:

 Open window(50;50;500;250;5;"Operation läuft")
 For($vlRecord;1;Records in selection([anyTable]))
    MESSAGE("Datensatz wird bearbeitet Nr."+String($vlRecord))
  ` Tu etwas mit dem Datensatz
    NEXT RECORD([anyTable])
 End for
 CLOSE WINDOW

Sie erhalten folgendes Ergebnis:

Fügen Sie die Zeilenschaltung ein:

 Open window(50;50;500;250;5;"Operation läuft")
 For($vlRecord;1;Records in selection([anyTable]))
    MESSAGE("Datensatz wird bearbeitet Nr."+String($vlRecord)+Char(13))
  ` Tu etwas mit dem Datensatz
    NEXT RECORD([anyTable])
 End for
 CLOSE WINDOW

erhalten Sie ein besseres Ergebnis:

Mit GOTO XY und weiteren Programmierzeilen:

 Open window(50;50;500;250;5;"Operation läuft")
 $vlNbRecords:=Records in selection([anyTable])
 $vhStartTime:=Current time
 For($vlRecord;1;$vlNbRecords)
    GOTO XY(5;2)
    MESSAGE("Datensatz wird bearbeitet Nr."+String($vlRecord)+Char(13))
  ` Tu etwas mit dem Datensatz
    NEXT RECORD([anyTable])
    GOTO XY(5;5)
    $vlRemaining:=(($vlNbRecords/$vlRecord)-1)*(Current time-$vhStartTime)
    MESSAGE("Noch verbleibende Zeit: ca. "+Time string($vlRemaining))
 End for
 CLOSE WINDOW

erhalten Sie folgendes Ergebnis (unter Windows):

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Meldungen
Nummer: 88

 
GESCHICHTE 

Geändert: 4D 2004

 
SIEHE AUCH 

CLOSE WINDOW
ERASE WINDOW
GOTO XY
Open window

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v12.4)
4D Programmiersprache ( 4D v11 SQL Release 6)
4D Programmiersprache ( 4D v14 R3)
4D Programmiersprache ( 4D v14 R2)
4D Programmiersprache ( 4D v13.5)
4D Programmiersprache ( 4D v14.3)
4D Programmiersprache ( 4D v14 R4)