| 4D v15.4MESSAGE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v15.4
 MESSAGE 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MESSAGE ( Meldung ) | ||||||||
| Parameter | Typ | Beschreibung | ||||||
| Meldung | String |   | 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:
Hinweis: MESSAGE ist kompatibel mit dem Befehl Open form window. Beachten Sie jedoch, dass in diesem Kontext der zweite Parameter von * von Open form window, der Größe und Position des Fensters sichert, nicht unterstützt wird.
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 forFolgendes 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 WINDOWSie 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 WINDOWerhalten 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 WINDOWerhalten Sie folgendes Ergebnis (unter Windows):

	Produkt: 4D
	Thema: Meldungen
	Nummer: 
        88
        
        
        
	
	Geändert: 4D 2004 
	
	
	
	
	4D Programmiersprache ( 4D v15.4)
	
	
	
	4D Programmiersprache ( 4D v15)
	
	
	
	
	
	
	
	4D Programmiersprache ( 4D v15.3)
	
	
 Fehler melden
Fehler melden