Hallo,
ich sitze gerade an einem Programm, was den Inhalt von Textdateien auslesen kann. Soweit nicht Besonderes. Da es sich bei den Textdateien aber um "Code" handelt, der von einem anderen Programm eingelesen wird, möchte ich eine Zeilennummerierung im TRichEdit erreichen (TRichEdit deshalb, weil ich bestimmte Code-Fragmente später noch per Highlighting hervorheben möchte).
Das ganze soll nach dem Muster aussehen (durch das Code-Tag hier passiert ja imgrunde das gleiche):
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| Zeile 1 Zeile 2 Zeile 3 ... ... ... ... ... ... Zeile 10 |
Mir fehlt jetzt irgendwie noch die passende Idee zur Umsetzung. Ich hab es mit dieser Schleife probiert:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| for i:=0 to REdit.Lines.Count do begin with REdit do begin Lines.Insert(i,IntToStr(i+1)+': '); SelAttributes.Color:= clRed; end; end; |
Nur sieht das ganze...
a) nicht so toll aus, weil die Einrückungen unterschiedlich sind. Wenn eine Zahl aus mehr als einer Ziffer besteht, möchte ich es gern so rechtsbündig haben, wie in dem Beispiel oben... aus maximal 3 Ziffern kann eine Zahl bestehen (bis Zeile 999)
und...
b) stimmt irgend etwas an der Schleife noch nicht, denn die 1. Zeilen-Nr bleibt schwarz und nur der Rest wird rot.
Anmerkungen: Das RichEdit ist auf ReadOnly gesetzt; Die Zeilennummerierungen sollen beim Speichern der Datei natürlich wieder gelöscht werden, sodass nur das Code stehen bleibt.
Zusatzfrage: Wie bekomme ich eine Art "Spalteneinteilung" hin, sodass die Nummern in Spalte 1 und der Inhalt in Spalte 2 steht? Am besten optisch auch getrennt durch eine vertikale Linie.
jo, das war's auch schon für's erste
Bin Dankbar für jeden Tipp.
MfG
Dibelius