Autor |
Beitrag |
ReddY
      
Beiträge: 31
Win 2000
|
Verfasst: 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
      
Beiträge: 1087
Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
|
Verfasst: Mo 05.06.06 12:18
_________________ Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
|
|
Leuchtturm
      
Beiträge: 1087
Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
|
Verfasst: 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 
      
Beiträge: 31
Win 2000
|
Verfasst: 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.
      
Beiträge: 1876
Erhaltene Danke: 129
Win 8.1, Xubuntu 15.10
|
Verfasst: 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:
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..2] of String = ('e','a'); var i: integer; text: string; begin
for i := 0 to Form1.richedit.GetTextLen-1 do begin text := copy(Form1.richedit.Text,i+1,1); if (text = suchwort[1]) or (text = suchwort[2]) then begin with Form1.richedit do begin SetFocus; SelStart := i; SelLength := 1; SelAttributes.Style := [fsbold]; continue; end; end; end; end;
procedure TForm1.Button1Click(Sender: TObject); var id: DWord; begin CreateThread(nil,0,@SetAttributes,nil,0,id); end; |
Mit freundlichen Grüßen 
|
|
Leuchtturm
      
Beiträge: 1087
Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
|
Verfasst: Mo 05.06.06 15:22
Es würde auch so gehen:
Delphi-Quelltext 1:
| RichEdit1.SetAttributes := [fsBold] |
_________________ Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
|
|
ReddY 
      
Beiträge: 31
Win 2000
|
Verfasst: 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
      
Beiträge: 1087
Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
|
Verfasst: Mo 05.06.06 15:28
Sorry,
muss so heißen:
Delphi-Quelltext 1:
| RichEdit1.SelAttributes.Style := [fsBold]; |
_________________ Ich bin dafür verantwortlich was ich sage - nicht dafür was du verstehst.
|
|
Marc.
      
Beiträge: 1876
Erhaltene Danke: 129
Win 8.1, Xubuntu 15.10
|
Verfasst: 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
      
Beiträge: 1087
Win Vista, Knoppix, Ubuntu
Delphi 7 Pe, Turbo Delphi, C#(VS 2005 Express), (X)HTML + CSS, bald Assembler
|
Verfasst: 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.
|
|