4D v13.4MESSAGE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v13.4
MESSAGE
|
MESSAGE ( Meldung ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
Meldung | String |
![]() |
Zu zeigende Meldung | |||||
Der Befehl MESSAGE zeigt in einem eigenen Fenster den Text Meldung an. Die Meldung ist temporär und verschwindet, sobald ein Formular aufgerufen oder eine Methode mit einem Formularaufruf ausgeführt wird. Bei jedem Aufruf von MESSAGE löscht 4D den Inhalt des Fensters, bevor die neue Meldung gezeigt wird.
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:
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 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):
Produkt: 4D
Thema: Meldungen
Nummer:
88
Alphabetische Liste der Befehle
Geändert: 4D 2004
CLOSE WINDOW
ERASE WINDOW
GOTO XY
Open window