TRichEdit
Grundlegendes
Die TRichEdit Komponente ist im
Grunde eine TMemo mit erweitertem Funktionsangebot.
Der Inhalt (Text) eines RichEdit ist
ein String (S := RichEdit1.Text). Jede einzelne Zeile (Lines) für sich betrachtet ist
jedoch auch ein String. Mit "S := RichEdit1.Lines[0]"
kopiert man die erste Zeile in die Variable S, die vom Typ
String ist. Es gelten alle Operationen die für einen String
gelten >
siehe Stringoperationen. Tausche dazu einfach das "S" in den
Beispielen durch RichEdit1.Lines[X]
(wobei
X die Zeile der RichEdit ist).
Länge des Textes in einer
TRichEdit-Zeile (Lines)
ermitteln >
siehe Stringoperationen
Inhalt eines in einer
TRichEdit-Zeile (Lines)
zurechtschneiden >
siehe Stringoperationen
Nach einem Zeichen oder
Teilstring in einer TRichEdit-Zeile (Lines) suchen >
siehe Stringoperationen
Zuweisen von Textzeilen (
var S:
String;)
| |
RichEdit1.Lines.Add ('ich
bin ein TEdit');
oder RichEdit1.Lines.Add(S); |
Auslesen
einer Zeile
(
var S:
String;)
| |
Edit1.Text :=
RichEdit1.Lines[0]
// liest den Inhalt der ersten Zeile in Edit1
S
:= RichEdit1.Lines[1]
// liest den Inhalt der zweiten Zeile in die Variable S |
Zuweisen einer Integer - Zahl (
var Zahl: Integer; )
[sieh auch >
Umwandeln von Variablen]
| |
RichEdit1.Lines.Add(IntToStr(Zahl)); |
Eintrag nur dann hinzufügen wenn dieser nicht vorhanden ist
(
var S:
String;)
| |
S := ('hinzufügen
wenn nicht bereits enthalten');
if
RichEdit1.Lines.IndexOf(S) = -1
then
RichEdit1.Lines.Add(S); |
Löschen einer Zeile (Items)
| |
RichEdit1.Lines.Delete(0);
//löscht die erste Zeile |
Kompletten Inhalt löschen
| |
RichEdit1.Clear;
//löscht alle Zeilen |
Suchen nach Eintrag
| |
var
Zeile:
String;
Zeile := RichEdit1.Lines.IndexOf('Suchwort')
// wird ‚Suchwort’ nicht als Eintrag (komplette Zeile) in
ListBox1 gefunden ist der Ausgabewert in Variable Zeile -1
// wird ‚Suchwort’ in ListBox1 gefunden, enthält die Variable
Zeile die erste Zeile in der ‚Suchwort’ gefunden wird
|
Inhalt aus Datei laden
| |
RichEdit1.Lines.LoadFromFile('Datei.txt');
// hier wäre es angebracht die Anweisung in ein "try except" zu
packen > sieh hier |
Inhalt in Datei speichern
| |
RichEdit1.Lines.SaveToFile('Datei.txt');
// hier wäre es angebracht die Anweisung in ein "try except" zu
packen > sieh hier
RichEdit1.Items.SaveToFile('Datei.txt',
TEncoding.ASCII);
// in ASCII Zeichenkodierung
RichEdit1.Items.SaveToFile('Datei.txt',
TEncoding.UTF8);
// in UTF8 Zeichenkodierung |
Anzahl der Zeilen (Items)
ermitteln
| |
var
Zeilen: Integer;
Zeilen := RichEdit1.Lines.Count; |
TPopupMenu einbinden
Zunächst eine TPopupMenu Komponente
auf das Form ziehen. Danach bei der entsprechenden ListBox im
Objektinspektor unter Ereignisse ins Feld PoupMenu klicken und
das entsprechende PopupMenu auswählen. Nun durch einen
Doppelklick auf die PopupMenu Komponente einen Eintrag
hinzufügen (Objektinsektor muss dazu auf Eigenschaften stehen
und der Cursor im Feld Caption stehen).
Format eines Teilstrings ändern
| |
RichEdit1.SelStart :=
0;
// Startposition der Markierung
RichEdit1.SelLength := 6;
// Ende der Markierung
RichEdit1.SelAttributes.Style := [fsbold];
// Markierung fett drucken
RichEdit1.SelLength :=
0;
// Markierung beenden |
Einfärben bestimmter Buchstaben oder Wörter im gesamten Text
//
posex benötigt StrUtils in uses!
| |
var
i,x: Integer;
for i :=
1
to length(RichEdit1.text)
do
begin
x := posex('e',
RichEdit1.text,x)+1;
RichEdit1.SelStart:=posex('e',
RichEdit1.text,x)-1;
RichEdit1.SelLength:=1;
// 1 muss angepasst werden bei Zeichenkette
RichEdit1.SelAttributes.Color:=clRed;
end; |
Möchte man nun nach einer
Buchstabenkette suchen, so gibt man diese anstatt dem 'e' (2x
vorhanden) ein und ändert die oben genannte Eins entsprechend
der Länge der Zeichenkette.
Nur Lesezugriff gewähren
| |
RichEdit1.ReadOnly := true; |
|