AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wahlfrei Zeilen in Memofeld markieren.

Ein Thema von testan · begonnen am 1. Jan 2007 · letzter Beitrag vom 2. Jan 2007
Antwort Antwort
testan

Registriert seit: 12. Sep 2006
8 Beiträge
 
#1

Wahlfrei Zeilen in Memofeld markieren.

  Alt 1. Jan 2007, 18:02
Hallo und frohes Neues,

ich iteriere über die Zeilen eines Memo-Felds und prüfe, ob die Zeilen einem bestimmten Muster entsprechen. Sollte die Prüfung fehlschlagen, wird die Zeile markiert. Nun habe ich gelernt, dass man mit SelStart und SelLength die Koordinaten zum Markieren vorgibt. Wie mache ich aber, wenn ich die 2. und die 4. Zeile markieren möchte. Gibt es eine "elegante" Lösung dafür?

Vielen Dank, und viele Grüße
Testan
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Wahlfrei Zeilen in Memofeld markieren.

  Alt 1. Jan 2007, 19:17
Auch dir alles Gute im neuen Jahr.

Das Memo kapselt ein Multiline Edit Control und dieses Windows Control beherrscht keine extended selection, wie du sie vielleicht aus verschiedenen Office-Paketen kennst. Du musst dir da anders behelfen. Du könntest ein TRichEdit verwenden und dort mit Farben arbeiten.

Freundliche Grüße
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Wahlfrei Zeilen in Memofeld markieren.

  Alt 1. Jan 2007, 19:23
Oder ein TStringGrid mit einer Spalte.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#4

Re: Wahlfrei Zeilen in Memofeld markieren.

  Alt 1. Jan 2007, 19:35
würde evtl eine TListbox gehen, oder brauchst du die Zeilen editierbar? dort gehst du die Zeilen durch und brauchst nur den itemindex zu setzen.

evtl. hilft dir das:
http://www.swissdelphicenter.ch/de/showcode.php?id=439

daraus hab ich mal diese Funktion gebastelt:
Delphi-Quellcode:
procedure selectline(memo:TMemo;line:integer);
begin
  memo.SelStart := memo.Perform(EM_LINEINDEX, line-1, 0);
  memo.Perform(EM_SCROLLCARET, 0, 0);
  memo.sellength:=length(Memo.lines.strings[line-1]);
  memo.SetFocus;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  selectLine(memo1,2);
end;
HTH Frank
  Mit Zitat antworten Zitat
testan

Registriert seit: 12. Sep 2006
8 Beiträge
 
#5

Re: Wahlfrei Zeilen in Memofeld markieren.

  Alt 2. Jan 2007, 16:00
Vielen Dank für alle Eure Antworten. Das Problem habe ich mit TRichEdit dann gelöst.

Viele Grüße,

Testan
  Mit Zitat antworten Zitat
sabzine

Registriert seit: 2. Jan 2007
3 Beiträge
 
#6

Re: Wahlfrei Zeilen in Memofeld markieren.

  Alt 2. Jan 2007, 18:19
Hallo,
mich würde aber interessieren, wie man die Hintergrundfarbe einer Zeile in einem TRichEdit genau setzt? Ich kämpfe nämlich mit dem gleichen Problem.

Gruß
Sabzine
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Wahlfrei Zeilen in Memofeld markieren.

  Alt 2. Jan 2007, 20:49
Herzlich willkommen in der Delphi-PRAXiS, Sabzine.

Es gibt da ein kleines Problem. Die Delphi-Komponente TRichEdit kapselt leider nur die Version 1.0 des Windows Rich Edit Controls und die Eigenschaft BackColor kann erst ab Version 2.0 für den selektierten Text eingestellt werden. Also entweder du beschränkst dich auf das Arbeiten mit Textfarben oder du verwendest eine andere Komponente. Es gab für ältere Delphi-Versionen einmal TRichEdit98 - eine freie VCL-Komponente für Rich Edit 2.0.

Freundliche Grüße
  Mit Zitat antworten Zitat
sabzine

Registriert seit: 2. Jan 2007
3 Beiträge
 
#8

Re: Wahlfrei Zeilen in Memofeld markieren.

  Alt 2. Jan 2007, 21:09
Zitat von marabu:
Herzlich willkommen in der Delphi-PRAXiS, Sabzine.

Es gibt da ein kleines Problem. Die Delphi-Komponente TRichEdit kapselt leider nur die Version 1.0 des Windows Rich Edit Controls und die Eigenschaft BackColor kann erst ab Version 2.0 für den selektierten Text eingestellt werden. Also entweder du beschränkst dich auf das Arbeiten mit Textfarben oder du verwendest eine andere Komponente. Es gab für ältere Delphi-Versionen einmal TRichEdit98 - eine freie VCL-Komponente für Rich Edit 2.0.

Freundliche Grüße
Hallo marabu,
es würde völlig reichen, wenn ich die Textfarbe zeilenweise ändern kann. Ich bin Delphi-Anfänger und habe aus der Hilfe nicht eine solche Möglichkeit gefunden die Hintergrundfarbe/Textfarbe zeilenweise in TRichEdit oder TMemo zu setzen. Es wäre sehr hilfreich, wenn Du mir ein Beispielcode posten könntest.

Danke && Gruß
Sabzine
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: Wahlfrei Zeilen in Memofeld markieren.

  Alt 2. Jan 2007, 21:15
Darf der Code auch schon etwas älter sein? klick

Gute Nacht
  Mit Zitat antworten Zitat
sabzine

Registriert seit: 2. Jan 2007
3 Beiträge
 
#10

Re: Wahlfrei Zeilen in Memofeld markieren.

  Alt 2. Jan 2007, 22:02
Besten Dank marabu!

Gruß
Sabzine
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz