4D v16.3

Modified

Home

 
4D v16.3
Modified

Modified 


 

Modified ( Feldname ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
Feldname  Feld in Datenfeld, das auf Änderung abgefragt werden soll
Funktionsergebnis  Boolean in Wahr, wenn dem Datenfeld ein neuer Wert zugewiesen wurde, sonst Falsch

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. Für alle Formularereignisse, die zum davorliegenden Ausführungszyklus _o_During gehören (On Clicked, On After Keystroke, etc.), 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



Siehe auch 

Form event
Old

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Eingabe
Nummer: 32

 
GESCHICHTE 

Geändert: 4D 2004

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)