Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
ST Get expression
|
ST Get expression ( {* ;} Objekt {; StartAusw {; EndeAusw}} ) -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
* | Operator |
![]() |
Mit Stern: Objekt ist Objektname (String) Ohne Stern: Objekt ist Feld oder Variable |
|||||
Objekt | Formularobjekt |
![]() |
Objektname (mit *) oder Feld bzw. Variable (ohne *) | |||||
StartAusw | Lange Ganzzahl |
![]() |
Start der Auswahl | |||||
EndeAusw | Lange Ganzzahl |
![]() |
Ende der Auswahl | |||||
Funktionsergebnis | Text |
![]() |
Bezeichnung des Ausdrucks | |||||
Die Funktion ST Get expression gibt den ersten Ausdruck in der aktuellen Auswahl im Feld zurück, definiert im Parameter Objekt und vom Typ formatierter Text oder Variable.
Die Funktion gibt die Bezeichnung des Ausdrucks zurück, der im Objekt eingefügt wurde (zum Beispiel "mymethod" oder "[table1]field1"). Es wird nicht der aktuelle Wert des Ausdrucks zurückgegeben.
Hinweis: Diese Funktion gibt "reale" Namen für Felder und Tabellen zurück, selbst wenn über die Befehle SET TABLE TITLES und SET FIELD TITLES eine "virtuelle" Struktur definiert wurde.
Mit dem optionalen Parameter * geben Sie an, dass der Parameter Objekt ein Objektname (String) ist. Hat das Objekt den Fokus, gibt die Funktion beim Ausführen die Information zum Objekt in Bearbeitung zurück. Hat das Objekt keinen Fokus, gibt die Funktion die Information der Datenquelle des Objekts zurück (Variable oder Feld). Ohne diesen Parameter ist Objekt ein Feld oder eine Variable. In diesem Fall übergeben Sie eine Feld- oder Variablenreferenz anstelle eines String (nur Feld oder Variablenobjekt). Die Funktion gibt dann beim Ausführen die Information der Variablen oder des Feldes zurück.
Die optionalen Parameter StartAusw und EndeAusw definieren eine Textauswahl in Objekt. Die Werte StartAusw und EndeAusw geben eine Auswahl im Plain Text, ohne evtl. vorhandene Stil Tags zu berücksichtigen.
4D bietet vordefinierte Konstanten, so dass Sie die Auswahlgrenzen in den Parametern StartAusw und EndeAusw automatisch setzen können. Diese Konstanten finden Sie unter dem Thema "Mehrfachstil Text":
Konstante | Typ | Wert | Kommentar |
ST End highlight | Lange Ganzzahl | -1001 | Bestimmt das letzte Zeichen der aktuellen Textauswahl in Objekt (*) |
ST End text | Lange Ganzzahl | 0 | Bestimmt das letzte Zeichen des Textes in Objekt |
ST Start highlight | Lange Ganzzahl | -1000 | Bestimmt das erste Zeichen der aktuellen Textauswahl in Objekt (*) |
ST Start text | Lange Ganzzahl | 1 | Bestimmt das erste Zeichen des Textes in Objekt |
(*) Um diese Konstante zu nutzen, müssen Sie in Objekt einen Objektnamen verwenden. Übergeben Sie eine Referenz auf ein Feld oder eine Variable, wird der Befehl auf den gesamten Text des Objekts angewendet.
Hinweis: Ist StartAusw größer als EndeAusw (außer EndeAusw ist 0), führt der Befehl nichts aus nicht und die Variable OK wird auf 0 gesetzt.
Wird in der Auswahl kein Ausdruck gefunden, gibt die Funktion einen leeren String zurück.
Bei einem Doppelklick Ereignis prüfen Sie, ob es einen Ausdruck gibt. Wenn ja, zeigen Sie, wo seine Werte gefunden wurden, so dass der Benutzer den eingefügten Ausdruck ändern kann:
Case of
:(Form event code=On Double Clicked)
GET HIGHLIGHT(*;"StyledText_t";startSel;endSel)
If(ST Get content type(*;"StyledText_t";startSel;endSel)=ST Expression type)
vExpression:=ST Get expression(*;"StyledText_t";startSel;endSel)
$winRef:=Open form window("Dial_InsertExpr";Movable form dialog box;Horizontally centered;Vertically centered;*)
DIALOG("Dial_InsertExpr")
If(OK=1)
ST INSERT EXPRESSION(*;"StyledText_t";vExpression;startSel;endSel)
HIGHLIGHT TEXT(*;"StyledText_t";startSel;endSel)
End if
End if
End case
Eine 4D Methode ausführen, wenn ein Benutzerlink angeklickt wurde:
Case of
:(Form event code=On Clicked)
//Die Auswahl finden
HIGHLIGHT TEXT(*;"myText";startSel;endSel)
If(startSel#endSel) //Es gibt ausgewählten Inhalt
//Die Art des Inhalts erhalten
$CT_type:=ST Get content type(*;"myText";startSel;endSel)
If($CT_type=ST User type) //Dies ist ein Benutzerlink
MyMethod //Eine 4D Methode ausführen
End if
End if
End case
Produkt: 4D
Thema: Mehrfachstil Text
Nummer:
1287
Erstellt: 4D v14
4D Programmiersprache ( 4D v20 R7)