TFbmItem.Preview
Diese Funktion ist eine Methode der Klasse TFbmItem und welche in der Unit Item definiert wurde. Der Funktionstyp ist Funktion. Der Rückgabetyp ist vom Typ string.
Die Funktion verlangt folgende Parameter:
Parameter |
Typ |
Beschreibung |
---|---|---|
DataType | TFbmItemPreviewDataType | Der gewünschte Datentyp für die Vorschau. |
Erzeugt eine Vorschau des Elements. Das Ergebnis ist das selbe, wie im GREYHOUND Client bei der Erstellung von Elementen im Reiter "Vorschau". Falls die Vorschau als Datei gespeichert werden soll, kann die Funktion TFbmSaveStrToFile verwendet werden.
Text aus Element extrahieren:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var
OldTemplateRef: Integer;
Text: string;
begin
// Aktuelles Template für die Vorschau ermitteln
OldTemplateRef := Item.TemplateRef;
// Wir setzen das Template für die Nachricht auf 0, damit kein zusätzlicher Text eingefügt wird:
Item.TemplateRef := 0;
// Nun wandeln wir das Element in Text um:
Text := Item.Preview(ipdtTxt); // Bei eingehenden Nachrichten benötigt man NUR diese Zeile
// Altes Template wieder setzen
Item.TemplateRef := OldTemplateRef;
// Hier kann nun mit der Variable Text weitergearbeitet werden (RegEx, etc.)
// [...]
end.
OldTemplateRef: Integer;
Text: string;
begin
// Aktuelles Template für die Vorschau ermitteln
OldTemplateRef := Item.TemplateRef;
// Wir setzen das Template für die Nachricht auf 0, damit kein zusätzlicher Text eingefügt wird:
Item.TemplateRef := 0;
// Nun wandeln wir das Element in Text um:
Text := Item.Preview(ipdtTxt); // Bei eingehenden Nachrichten benötigt man NUR diese Zeile
// Altes Template wieder setzen
Item.TemplateRef := OldTemplateRef;
// Hier kann nun mit der Variable Text weitergearbeitet werden (RegEx, etc.)
// [...]
end.
Das Code-Beispiel behandelt ausgehende und eingehende Nachrichten. Wird eine Regel für eingehende Nachrichten erstellt, dann kann das speichern und setzen der TemplateRef entfallen. Eingehende Nachrichten haben i.d.R. kein Template gesetzt.
Element in das Text-Format umwandeln:
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
var
OldTemplateRef: Integer;
begin
if ifUseHtml in Item.Flags then
begin
OldTemplateRef := Item.TemplateRef;
Item.TemplateRef := 0;
Item.ViewData := Item.Preview(ipdtTxt);
Item.Flags := Item.Flags - [ifUseHtml];
Item.TemplateRef := OldTemplateRef;
end;
end.
OldTemplateRef: Integer;
begin
if ifUseHtml in Item.Flags then
begin
OldTemplateRef := Item.TemplateRef;
Item.TemplateRef := 0;
Item.ViewData := Item.Preview(ipdtTxt);
Item.Flags := Item.Flags - [ifUseHtml];
Item.TemplateRef := OldTemplateRef;
end;
end.
Dieses Code-Beispiel wandelt eine Nachricht in das Text-Format um, sofern aktuell HTML verwendet wird.
Die ursprüngliche HTML-Formatierung kann nach dieser Umwandlung nicht wieder hergestellt werden.
Die Umwandlung in Text geht aber auch noch einfacher:
Umwandlung in Text:
1
2
3
4
5
6
7
2
3
4
5
6
7
begin
if ifUseHtml in Item.Flags then
begin
Item.ViewData = Item.TextViewData;
Item.Flags := ItemFlags - [ifUseHtml];
end;
end.
if ifUseHtml in Item.Flags then
begin
Item.ViewData = Item.TextViewData;
Item.Flags := ItemFlags - [ifUseHtml];
end;
end.
Die ursprüngliche HTML-Formatierung kann nach dieser Umwandlung ebenfalls nicht wieder hergestellt werden.