Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
Get edited text
|
Get edited text -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
Funktionsergebnis | Text |
![]() |
Eingegebener Text | |||||
Der Befehl Get edited text wird hauptsächlich mit dem Formularereignis On After Edit verwendet, um den Text abzurufen, während er eingegeben wird. Er kann auch mit den Formularereignissen On Before Keystroke und On After Keystroke verwendet werden. Weitere Informationen zu diesen Formularereignissen finden Sie in der Beschreibung der Funktion Form event code.
Die Kombination dieser Funktion mit den Formularereignissen On Before Keystroke und On After Keystroke funktioniert wie folgt:
Beachten Sie, dass das Ereignis On After Keystroke im Allgemeinen durch das Ereignis On After Edit ersetzt werden kann, das mehr Eingabemethoden (wie IME) unterstützt.
Diese Ereignisse werden nur in den betreffenden Objektmethoden erzeugt.
Diese Funktion gibt in einem Formularobjekt in einem anderen Kontext als Texteingabe einen leeren String zurück.
Mit der folgenden Methode werden die eingegebenen Zeichen automatisch in Großbuchstaben geschrieben:
If(Form event code=On After Edit)
[Trips]Agencies:=Uppercase(Get edited text)
End if
Hier ist ein Beispiel dafür, wie Sie in ein Textfeld eingegebene Zeichen on the fly verarbeiten können. Die Idee besteht darin, alle Wörter des eingegebenen Satzes in ein anderes Textfeld (namens "Words") zu übertragen. Dazu schreiben Sie den folgenden Code in die Objektmethode des Feldes:
If(Form event code=On After Keystroke)
$RealTimeEntry:=Get edited text
PLATFORM PROPERTIES($platform)
If($platform#3) ` Mac OS
Repeat
$DecomposedSentence:=Replace string($RealTimeEntry;Char(32);Char(13))
Until(Position(" ";$DecomposedSentence)=0)
Else ` Windows
Repeat
$DecomposedSentence:=Replace string($RealTimeEntry;Char(32);Char(13)+Char(10))
Until(Position(" ";$DecomposedSentence)=0)
End if
[Example]Words:=$DecomposedSentence
End if
Hinweis: Dieses Beispiel ist nicht voll ausgeschöpft, da wir lediglich die Wörter berücksichtigt haben, die durch Leerzeichen (Char (32)) voneinander getrennt sind. Für eine vollständige Lösung müssen Sie weitere Filter hinzufügen, um auch Wörter zu entnehmen, die durch andere Zeichen begrenzt sind, wie z.B. Kommas, Strichpunkte, Apostrophe.
Produkt: 4D
Thema: Eingabekontrolle
Nummer:
655
Erstellt: 4D v6.5
4D Programmiersprache ( 4D v20 R7)