Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - RichEdit hat alles gleiche Farbe!
Andi1982KA - Di 19.11.02 22:16
Titel: RichEdit hat alles gleiche Farbe!
Hallo,
ich habe in einem Chat einen Record in dem Username, Farbe des Users und Sein eingegebener Text steht. All das wird in eine Datei geschrieben. Diese wird dann in ein RichEdit eingelesen.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| FOR i := 1 TO DsxDatei.LastInput DO BEGIN EingLang := length( DeCode( DsxDatei.Inputs[ i ].User ) + ' (' + DeCode( DsxDatei.Inputs[ i ].Time ) + '): ' + DeCode( DsxDatei.Inputs[ i ].Comment ) );
RichEdit1.Lines.Add( DeCode( DsxDatei.Inputs[ i ].User ) + ' (' + DeCode( DsxDatei.Inputs[ i ].Time ) + '): ' + DeCode( DsxDatei.Inputs[ i ].Comment ) ); Richedit1.SelStart := Position; Richedit1.SelLength := EingLang; Faerben; Position := Position + EingLang + 2; END; |
Die Procedure Faerben sieht so aus:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| PROCEDURE TForm1.Faerben; BEGIN case DsxDatei.Inputs[ DsxDatei.LastInput ].Farbe of 1: Richedit1.SelAttributes.Color:=clBlack; 2: Richedit1.SelAttributes.Color:=clMaroon; 3: Richedit1.SelAttributes.Color:=clGreen; 4: Richedit1.SelAttributes.Color:=clOlive; 5: Richedit1.SelAttributes.Color:=clNavy; 6: Richedit1.SelAttributes.Color:=clPurple; 7: Richedit1.SelAttributes.Color:=clTeal; 8: Richedit1.SelAttributes.Color:=clSilver; 9: Richedit1.SelAttributes.Color:=clGray; 10: Richedit1.SelAttributes.Color:=clRed; 11: Richedit1.SelAttributes.Color:=clLime; 12: Richedit1.SelAttributes.Color:=clYellow; 13: Richedit1.SelAttributes.Color:=clBlue; 14: Richedit1.SelAttributes.Color:=clFuchsia; 15: Richedit1.SelAttributes.Color:=clAqua; 16: Richedit1.SelAttributes.Color:=clWhite; end; END; |
Aber wenn die For-Schleife zu Ende ist hat der gesamte Inhalt von RichEdit1 die Farbe vom letzten Datensatz, warum ist das so, normalerweise ist doch nur der neue Text Selektiert!
Bitte helft mir,
Grüße Andi
Michael Stenzel - Mi 20.11.02 02:03
Hallo!
In deiner Procedure Faerben benutzt Du
als Index. Ich kann aber nicht feststellen, das der Index sich verändert!
Wenn der Index immer gleich bleibt, dann kann sich die Farbe nicht verändern!
Andi1982 - Mi 20.11.02 08:08
Oh ne,
Danke! Und an so einem blöden Fehler hock ich stundenlang rum und überlege!
Ich bin halt fest davon ausgegangen dass es daran liegt dass ich Lines Adde und dann färbe und dann wieder Adde.
Vielen Dank nochmal!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!