ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
938
938
EMPFEHLEN
-
Hallo
Ich bin Anfänger in der Programmierung mit Borland Builder. Jetzt habe ich das Problem die Zeilennummer einer markierten Zeile in einem Memo zu ermitteln.
Kann mir da jemand weiterhelfen?
Gruß
sgdiablo
-
Hy...
also ich hab gerade mal geguckt und festgestellt, das es keine Methode gibt um die Zeilennummer in einem Memo geliefert zu bekommen.
Vielleicht gibts ne Alternative. Wozu genau brauchst du die Zeilennummer, bzw. was willst du damit machen?
Oder, wenns wirklich nicht anders geht, kannst du dir natürlich immernoch selbst ne Funktion schreiben. (--> Könntest den Text bis zum Courser kopieren und dann einfach die Gesamtzeilen zählen... dann weißt Du ja auch in welcher Zeile du dich befindest...)noch 'n bischen Werbung in eigener Sache: www.ice-only.de
-
10.10.06 10:46 #3
- Registriert seit
- Mar 2004
- Beiträge
- 441
Also zum Ermitteln der Zeilennummer eines markierten Textes habe ich auch nichts Vorgefertigtes gefunden. Aber als selbstgestrickte Methode würde ich wohl so vorgehen:
- TMemo.Lines[] durchlaufen
- Jede einzelne TMemo.Lines[x] mit dem markierten Text vergleichen (es hieß ja, daß eine ganze Zeile markiert ist).
- Bei Übereinstimmung: X + 1 ist die gesuchte Zeilennummer.
-
Ist aber problematisch wenn es mehrere Zeilen gibt die diesen Text beinhalten.
-
10.10.06 11:37 #5
- Registriert seit
- Mar 2004
- Beiträge
- 441
Ich mag dich nicht.

Vor allem, weil du Recht hast.
In dem Falle bliebe dann fast nur noch, eine Wrapperkomponente über die bestehende TMemo zu basteln oder gleich eine eigene TMemo, die genau diese Funktionalität beinhaltet. Letzteres sollte eigentlich kein unlösbares Problem sein.
-
Hallo,
da bei mir nie zwei Zeilen den gleichen Text enthalten, habe ich die Lösung mit dem Vergleich eingebaut. Ist zwar bestimmt nicht die eleganteste Lösung, aber immerhin funktioniert es gut.
Gruß
sgdiablo
-
Hallo zusammen,
so geht es natürlich auch:
Code :1 2 3 4 5 6 7
void __fastcall TForm1::Memo1Click(TObject *Sender) { int Zeile; Zeile = SendMessageA(Memo1->Handle, EM_LINEFROMCHAR, Memo1->SelStart, 0); Edit1->Text = IntToStr(Zeile+1); }
Ähnliche Themen
-
Markierte Zeile in DataGridView ermitteln
Von cuchulainn im Forum .NET Windows FormsAntworten: 4Letzter Beitrag: 13.09.10, 13:49 -
Memo: Pro ButtonClick andere Zeile ansprechen
Von Asix im Forum Borland CBuilder und VCLAntworten: 2Letzter Beitrag: 08.01.09, 16:28 -
Aktuelle Zeile in Textarea ermitteln?
Von DataFox im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 16.08.08, 00:36 -
letzte Zeile ermitteln
Von deen_90 im Forum Visual Basic 6.0Antworten: 20Letzter Beitrag: 22.01.08, 11:48 -
Zeile aus Memo lesen und dann als Variable einfügen
Von smaresh im Forum Delphi, Kylix, PascalAntworten: 7Letzter Beitrag: 12.01.08, 04:10





Zitieren
Login






