Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Font.Color eines einzigen Buchstabens in RichEdit ändern (https://www.delphipraxis.net/116034-font-color-eines-einzigen-buchstabens-richedit-aendern.html)

ösichemiker 22. Jun 2008 08:30


Font.Color eines einzigen Buchstabens in RichEdit ändern
 
Hi

Hab ein Problem! Ich will Bereiche von einem Text (aus RichEdit) in einer anderen Schriftfarbe darstellen.
Brauch das für ne Syntax

Wie kan ich es machen, dass das gelingt?? hab mal probiert nacheinander jeden Buchstaben (Char := Text[x]) in einer schleife abzufragen ob eine Variable true ist (wird jedesmal wenn im Text ein "?" auftauche umgestellt) und wenn sie true ist die Schriftfarbe auf Grün zu ändern.

Ergebnis: hat nicht geklappt =(


Kann mir jemand helfen???

Wär echt dankbar

mfg
ösichemiker

toms 22. Jun 2008 08:49

Re: Font.Color eines einzigen Buchstabens in RichEdit ändern
 
Hallo,

Wie sieht dein jetziger Code aus?

ösichemiker 22. Jun 2008 09:02

Re: Font.Color eines einzigen Buchstabens in RichEdit ändern
 
Hi

hab auf dem Computer kein Delphi

aus dem Gedächtnis: issyntax ist die Variable für die Erkennung (global)


Delphi-Quellcode:
var chr: Char; str: String; loop: Integer
begin
 str := RichEdit...(weiß nicht mehr genau)
 for loop := 1 to length(str) do
 begin
  chr := str[loop];
  case chr of
   '?': begin issyntax := not issyntax; str[loop].Font.Color := clGreen; end;
   else: if issyntax then str[loop].Font.color := clGreen;
  end;
end;
kommt ímmer eine Fehlermeldung bei str[loop].font.color: Record oder... erforderlich

Hoff es ist alles so wie ichs gemacht habe

mfg ösichemiker

DeddyH 22. Jun 2008 09:08

Re: Font.Color eines einzigen Buchstabens in RichEdit ändern
 
Mit str[loop] bekommst Du ein einzelnes Zeichen (Typ Char). Das ist keine Klasse und verfügt deshalb auch nicht über Eigenschaften wie Font. Du könntest Dir aber einmal die Eigenschaften von TRichEdit anschauen, die mit "Sel" beginnen, damit solltest Du weiterkommen.

[edit] Etwas zuviel C&P :oops: [/edit]

ösichemiker 22. Jun 2008 09:10

Re: Font.Color eines einzigen Buchstabens in RichEdit ändern
 
Danke werd ich machen
Hab in der suche nach buchstaben farbe gesucht aber nichts passendes gefunden. aber jetzt weiß ich ja wonach ich suchen muss

noch nen schönen Sonntag

mfg
ösichemiker

ösichemiker 22. Jun 2008 09:12

Re: Font.Color eines einzigen Buchstabens in RichEdit ändern
 
was ist denn C&P (Copy & Paste???)

inherited 22. Jun 2008 09:20

Re: Font.Color eines einzigen Buchstabens in RichEdit ändern
 
Getippt und nicht getestet:

Delphi-Quellcode:
wuppdi:=false;
lastpos := 1;
for i := 1 to Length(me.Text) do
begin
  if me.Text[i] = '?' then
  begin
    wuppdi := not wuppdi;
    me.SelStart := lastpos;
    me.SelLength := i-lastpos;
    lastpos := i+1;
    if wuppdi then
      me.SelAttributes.Color := clGreen
    else
      me.SelAttributes.Color := clRed;
  end;
end;
Vielleicht fehlt an der ein oder anderen Stelle noch ein +1 oder -1

DeddyH 22. Jun 2008 09:23

Re: Font.Color eines einzigen Buchstabens in RichEdit ändern
 
C&P = Copy and Paste, richtig :)

ösichemiker 22. Jun 2008 10:24

Re: Font.Color eines einzigen Buchstabens in RichEdit ändern
 
Vielen Dank, werds mal probieren

mfg
ösichemiker

ösichemiker 24. Jun 2008 12:37

Re: Font.Color eines einzigen Buchstabens in RichEdit ändern
 
Hi

Hab die Sel...-Eigenschaften nun drin - und es funzt perfekt! :-D
Danke...

mfg
ösichemiker


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:28 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