4D v14.3Modified |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
Modified
|
Modified ( Feldname ) -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
Feldname | Feld |
![]() |
Datenfeld, das auf Änderung abgefragt werden soll | |||||
Funktionsergebnis | Boolean |
![]() |
Wahr, wenn dem Datenfeld ein neuer Wert zugewiesen wurde, sonst Falsch | |||||
Diese Funktion wird nur zur Wahrung der Kompatibilität beibehalten, da sie auf der früheren Verwaltung von Ausführungszyklen beruht, die selbst schon seit Version 6 überholt sind (siehe hierzu die Funktionen Before, During, etc.) In den meisten Fällen empfiehlt es sich, die Funktion Form event zu verwenden und zu prüfen, dass sie das Ereignis On Data Change zurückgibt.
Die Funktion Modified gibt Wahr zurück, wenn Feldname per Programmierung ein Wert zugewiesen wurde oder während der Dateneingabe bearbeitet wurde. Modified darf nur in einer Formularmethode bzw. in einer Unterroutine, die von einer Formularmethode aufgerufen wird, verwendet werden.
Beachten Sie, dass diese Funktion nur im gleichen Ausführungszyklus einen signifikanten Wert zurückgibt. Insbesondere für alle Formularereignisse, die zum früheren Ausführungszyklus During gehören, gibt sie Falsch zurück.
Bei der Dateneingabe gilt ein Datenfeld als geändert, das der Benutzer bearbeitet - unabhängig davon, ob der ursprüngliche Wert geändert wird - und durch Wechseln zum nächsten Datensatz oder Anklicken einer Steuerung verlässt. Nur das Verlassen eines Datenfeldes ohne Bearbeitung setzt Modified nicht auf Wahr.
Beim Ausführen einer Methode gilt ein Datenfeld als geändert, wenn ein Wert zugewiesen wurde (geändert oder nicht).
Hinweis: Modified gibt nach Ausführen der Befehle PUSH RECORD und POP RECORD immer Wahr zurück.
Testen Sie in beiden Fällen mit dem Befehl Old, ob der Wert des Datenfeldes geändert wurde.
Hinweis: Sie können Modified zwar für jeden Datenfeldtyp verwenden. Beachten Sie jedoch in Kombination mit dem Befehl Old die dafür geltenden Einschränkungen. Weitere Informationen dazu finden Sie unter dem Befehl Old.
Bei der Dateneingabe lassen sich Operationen normalerweise einfacher in Objektmethoden als über Modified in Formularmethoden anzeigen. Da einer Objektmethode bei jeder Datenfeldänderung ein Ereignis On Data Change übergeben wird, ist die Verwendung von Modified in Formularmethoden gleichwertig mit Objektmethoden.
Folgendes Beispiel testet, ob das Datenfeld [Orders]Quantity oder das Datenfeld [Orders]Price geändert wurde. Wenn ja, wird das Datenfeld [Orders]Total neu berechnet.
If((Modified([Orders]Quantity)|(Modified([Orders]Price))
[Orders]Total :=[Orders]Quantity*[Orders]Price
End if
Beachten Sie, dass derselbe Vorgang ausgeführt wird, wenn Sie die zweite Zeile als Unterroutine verwenden, die von einer Objektmethode für die Datenfelder [Orders]Quantity und [Orders]Price innerhalb des Formularereignisses On Data Change aufgerufen wird.
Wählen Sie einen Datensatz für die Tabelle [anyTable], rufen Sie dann mehrere Unterroutinen auf, die das Datenfeld [anyTable]Important field ändern, jedoch nicht den Datensatz sichern. Am Ende der Hauptmethode können Sie dann mit dem Befehl Modified prüfen, ob Sie den Datensatz sichern müssen:
` Hier wurde der Datensatz als aktueller Datensatz ausgewählt.
` Führen Sie dann Aktionen mit Unterroutinen aus
MACH DIES
MACH DAS
MACH JENES
` ...
` Testen Sie nun das Datenfeld, um herauszufinden, ob der Datensatz gesichert
` werden muss
If(Modified([anyTable]Important field))
SAVE RECORD([anyTable])
End if
Produkt: 4D
Thema: Eingabe
Nummer:
32
Geändert: 4D 2004
4D Programmiersprache ( 4D v11 SQL Release 6)
4D Programmiersprache ( 4D v12.4)
4D Programmiersprache ( 4D v14 R2)
4D Programmiersprache ( 4D v14 R3)
4D Programmiersprache ( 4D v13.5)
4D Programmiersprache ( 4D v14.3)
4D Programmiersprache ( 4D v14 R4)