Skip to main content
Skip table of contents

TBeRichEditEx

TBeRichEditEx

Die Klasse TBeRichEditEx kapselt Funktionen für das Markieren und Austauschen/Einfügen von Text in einem RichEdit.

Eigenschaften

Eigenschaft Beschreibung

AllowSelection:L

(default) True = Text kann selektiert werden

CBHighLightStrings:C

Strings die farblich hervorgehoben werden sollen

ScrollBars:N

(default) ssBoth = Scrollbalken sowohl vertikal als auch horizontal
ssHorizontal = horizontaler Scrollbalken
ssVertical = vertikaler Scrollbalken
ssNone = kein Scrollbalken

SelAll:L

True = Selektiert den ganzen Text
False = Hebt Selektion auf

SelLength:N

Länge der Selektion

SelStart:N

Anfangsposition der Selektion

SelText:C

Aktuell selektierter Text

Text

Rtf-Text, wenn die Eigenschaft 'TextOnly' auf False gesetzt ist
Reiner Text, ohne Formatierung, wenn 'TextOnly' auf True gesetzt ist

TextOnly:L

Text wird frei von jeglicher Formatierung dargestellt

ToolbarVisible:L

(default) False = Toolbar zum Formatieren des Textes wird nicht angezeigt

Funktionen

FunktionParameterBeschreibung

CBFormatSelectedText

Selektierten Text formatieren

aProperties:U

Ein Array mit 7 Elementen
1. Element: Schriftart
2. Element: Schriftgröße
3. Element: Schriftstil: Fett
4. Element: Schriftstil: Kursiv
5. Element: Schriftstil: Unterstrichen
6. Element: Vordergrundfarbe
7. Element: Hintergrundfarbe

CBGetCurrentWord():C

Gibt das Wort an der aktuellen Cursorposition innerhalb eines RichEdits zurück.



CBSelectCurrentWord():C

Selektiert das Wort bei der aktuellen Cursorposition in einem RichEdit.



CBInsertTextAtWord():L

Fügt einen übergebenen Text an der aktuellen Cursorposition in einem RichEdit ein.

aText:CEinzufügender Text

Beispiel

CODE
| oDAB065:DB:= 'waDAB065' |

//******************************************************************************
// Zur Verwendung auf der Memo-Maske
// Ermittelt das aktuelle Wort im Text und ersetzt dieses durch einen Textbaustein
//******************************************************************************
// @Param: aSender = Instanz des Controls das die Funktion aufruft
//                   (z.B. CodeblockButton -> SELF)
//         aTable =  Tabellen-Objekt (z.B. DAB065),
//         aFieldName = Memo-Feld-Name (z.B. 'MEMO')
//         bReplaceCurrentWord = das aktuelle Wort durch den Textbaustein erstezen
//                               sonst wird der Textbaustein dirket an der Cursor-
//                               Position eingefügt
// @Result: null
//******************************************************************************
function InsertTextblockAtCurrentWord(oOwner, oTable, cFieldName, bReplaceCurrentWord)
| oRichMemo, oInsertField, cCurrentWord, cTextBlock |
   startseq,
      // Feld ermitteln
      oInsertField := DBField(cFieldName, oTable),
      // Zugehöriges RichView ermitteln
      oRichMemo    := FindFieldComponent(GetOwner(oOwner), oInsertField, 'TComponent'),
      if not empty(oRichMemo) then
         // Aktuelles Wort am Cursor ermitteln
         cCurrentWord := oRichMemo.CBGetCurrentWord() ,
         if not empty(cCurrentWord) then
            // Textbaustein für Wort ermitteln (DAB350)
            cTextBlock := Lookup(waDAB350, 'DAB351', <code>"AUTOTEXT_" + Upper(cCurrentWord)</code>, "MEMO", ""),

            if not empty(RTFToText(cTextBlock)) then
               // ggf Wort selektiern
               if bReplaceCurrentWord then
                  oRichMemo.CBSelectCurrentWord(),
               endif,
               // Aktuelles Wort durch Textbaustein ersetzen
               oRichMemo.CBInsertTextAtWord(cTextBlock),
            else
               StatusError('Kein Textbaustein für "' + cCurrentWord + '" gefunden!'),
            endif,
         endif,
      endif,
   onerror,
      // Fehler ignorieren
      writeln(GetErrorText()),
      MessageDlg('Fehler' + crlf + crlf + GetErrorText() , mtError ),
   stopseq,
end,

InsertTextblockAtCurrentWord(Self, oDab065, 'MEMO', True)
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.