4D v16.3

Get edited text

Home

 
4D v16.3
Get edited text

Get edited text 


 

Get edited text -> Function result 
Parameter Type   Description
Function result  Text in Text being entered

The Get edited text command is mainly to be used with the form event On After Keystroke to retrieve the text as it is being entered. It can also be used with the On Before Keystroke form event. For more information about those form events, please refer to the description of the command Form event.

The combination of this command with On Before Keystroke and On After Keystroke form events works as follows:

  • As soon as a character is typed on the keyboard, the On Before Keystroke event is generated. In this case, the Get edited text function returns the contents of the area before the last keystroke occurred. For example, if the area contains “PA” and the user types an “R”, Get edited text returns “PA” in the On Before Keystroke event. If the area is empty initially, Get edited text returns an empty string.
  • Next, the On After Keystroke form event is generated. In this case, Get edited text returns the contents of the area including the last character entered on the keyboard. For example, when the area contains “PA” and the user types an “R”, Get edited text returns “PAR” in the On After Keystroke event.

These two events are only generated in the object methods concerned.

When used in a context other than text entry in a form object, this function returns an empty string.

The following method automatically puts the characters being entered in capitals:

 If(Form event=On After Keystroke)
    [Trips]Agencies:=Uppercase(Get edited text)
 End if

Here is an example of how to process on the fly characters entered in a text field. The idea consists of placing in another text field (called “Words”) all the words of the sentence being entered. To do so, write the following code in the object method of the field:

 If(Form event=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

Note: This example is not comprehensive because we have assumed that words are separated uniquely by spaces (Char (32)). For a complete solution you will need to add other filters to extract all the words (delimited by commas, semi-colons, apostrophes, etc.).



See also 

Form event

 
PROPERTIES 

Product: 4D
Theme: Entry Control
Number: 655

 
HISTORY 

Created: 4D v6.5

 
ARTICLE USAGE

4D Language Reference ( 4D v16)
4D Language Reference ( 4D v16.1)
4D Language Reference ( 4D v16.2)
4D Language Reference ( 4D v16.3)