Autor Beitrag
Andi1982KA
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Di 19.11.02 22:16 
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.

ausblenden 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:
ausblenden 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

_________________
Bald kann ichs allein ;-)
Michael Stenzel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 133


D3 Prof, D7 PE
BeitragVerfasst: Mi 20.11.02 02:03 
Hallo!

In deiner Procedure Faerben benutzt Du
ausblenden Quelltext
1:
DsxDatei.LastInput					

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
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: 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!

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...