Autor Beitrag
ReddY
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31

Win 2000

BeitragVerfasst: Mo 05.06.06 12:10 
Hi.


Zurzeit arbeite ich viel mit RIchedit und möchte gerne wissen, wie ich ein WOrt nur teilweise farbig machen kann.

angenommen bei folgender:



Zitat:
richedit1.lines.add ('¤'+ timetostr(now)+'¤ '+ '['+edit3.text+']'+': '+ edit2.text);


da sollen nur die eckigen klammenr ( [ ) z.b. in fsbold (fett) erscheinen. wie geht das ?

und ja, ich habe schon in der hilfe geguckt und gesucht, aber nichst passendes gefunden.

danke im vorraus

gruß

_________________
Ordnung braucht nur der Dumme. Das Genie beherrscht das Chaos! (Albert Einstein)
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Mo 05.06.06 12:18 

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Mo 05.06.06 12:19 
Edit: Sorry habe zwei mal auf senden geklickt

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
ReddY Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31

Win 2000

BeitragVerfasst: Mo 05.06.06 12:34 
sry, das hat mir wenig weitergeholfen, weil ich daraus nicht schlau werde. kann man mir das an meinem beispiel machen ? bei den threads von der suche nämlich ist kein beispiel so konkret wie bei mir

_________________
Ordnung braucht nur der Dumme. Das Genie beherrscht das Chaos! (Albert Einstein)
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Mo 05.06.06 13:58 
Sers,
eine Möglichkeit wäre, den Text von vorne bis hinten, Zeichen für Zeichen zu durchlaufen, und das aktuelle Zeichen mit dem gesuchten zu vergleichen.
Mit Sicherheit nicht die schnellste Methode, aber eine Lösung:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
procedure SetAttributes;
const  suchwort : Array[1..2of String = ('e','a');  // die gesuchten Wörter
var   i: integer;  // Laufvariable 'i'
      text: string
begin

 for i := 0 to Form1.richedit.GetTextLen-1 do // von vorne bis hinten..
  begin
   text := copy(Form1.richedit.Text,i+1,1);  // Zeichen für Zeichen in "Text" kopieren
   if (text = suchwort[1]) or (text = suchwort[2]) then // anschließend vergleichen
    begin
      with Form1.richedit do // falls gleich, dann Attribute anpassen
       begin
        SetFocus;
        SelStart := i;
        SelLength := 1;
        SelAttributes.Style := [fsbold];
         continue; // und Schleife weiter durchlaufen
       end;
    end;
  end;
 end;

{******* Aufruf von SetAttributes *******}
procedure TForm1.Button1Click(Sender: TObject);
var id: DWord;
begin
 CreateThread(nil,0,@SetAttributes,nil,0,id); // SetAttributes bekommt einen eigenen Thread
end;


Mit freundlichen Grüßen ;)
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Mo 05.06.06 15:22 
Es würde auch so gehen:
ausblenden Delphi-Quelltext
1:
RichEdit1.SetAttributes := [fsBold]					

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
ReddY Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31

Win 2000

BeitragVerfasst: Mo 05.06.06 15:26 
also bie mir funzt der code nicht :/

btw... er soll mir von diesem nur nie eckigen klammern z.b. dick machen:

Zitat:
richedit1.lines.add ('¤'+ timetostr(now)+'¤ '+ '['+edit3.text+']'+': '+ edit2.text);

_________________
Ordnung braucht nur der Dumme. Das Genie beherrscht das Chaos! (Albert Einstein)
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Mo 05.06.06 15:28 
Sorry,
muss so heißen:
ausblenden Delphi-Quelltext
1:
RichEdit1.SelAttributes.Style := [fsBold];					

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
Marc.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Mo 05.06.06 15:30 
und? soll der anwender auch noch selbst '[' und ']' makieren, herr leuchtturm?
was klappt denn nicht? kommt eine fehlermeldung?
Du musst den Code natürlich für dich entsprechend anpassen ;)
Leuchtturm
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1087

Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
BeitragVerfasst: Mo 05.06.06 15:32 
NoTVerYEvilPzYchO bei mir klappt das.

_________________
Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.