Autor Beitrag
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 25.09.04 18:10 
Hallo,
ich habe folgende daten:
Zitat:

---------------------------
czp
---------------------------
D:\Daten\eigene\delphi\clz\system\czp.exe(clRed),19.09.2004 15:59:53(clBlue),25.09.2004(clYellow),25.09.2004 19:08:30(clLime),Anwendung
D:\Daten\eigene\delphi\clz\system\dir.txt(clRed),19.09.2004 16:20:35(clBlue),20.09.2004(clYellow),19.09.2004 16:08:54(clLime),Textdokument

---------------------------
OK
---------------------------

nun möchte ich das der dateinamen in rot das erste datum in blau das zweite datum auch in blau und der typ soll in grüne angezeigt werdn angezeit wird

ich habe mir deshalb folden code ausgedacht, der leider nicht fuktioniert !

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 TForm1.AddCZ(Add:TStringList);
var
  i,t,m:Integer;
  Str,str1:String;
begin
  m:=0;
  for i:=0 to Add.Count-1 do begin
    m:=NumToken(Add.Strings[i],',');
    RichEdit1.Lines.Add('T');
    SHowMessage(Add.Text);
    for t:=1 to m do begin
      if t +1 <= m then
        Str:=GetToken(GetToken(Add.Strings[i],'(',t+1),')',1);

     
      Str1:=GetToken(GetToken(Add.Strings[i],',',t),'(',1);


      RichEdit1.SelStart:=Pos(Str1,Add.Text)-1;
      RichEdit1.SelLength:=RichEdit1.SelStart+Length(str1);

      RichEdit1.SelAttributes.Color:=StringToColor(Str);

      RichEdit1.Lines[i]:=RichEdit1.Lines[i]+str1;
      RichEdit1.SelStart:=0;RichEdit1.SelLength:=0;

    end;
  end;
end;


dieser code sucht zuerst mit hilfe von GetToken alle farben rauß und anschließend die wörter vor den farben und nachdem er das den RichEdit hinzugefügt hat, werden die farbinfos gesetzt... doch leider ist die erste zeile rot und die zweite zeile grün, warum ? was habe ich falsch gemacht ?

_________________
MFG
Michael Springwald, "kann kein englisch...."
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 25.09.04 21:13 
mit diesem code jetzt geht alles bis auf eine sache: die farbe wird nicht geändert:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
var
  i,t,m:Integer;
  Str,str1:String;
begin
  m:=0;
  for i:=0 to Add.Count-1 do begin
    m:=NumToken(Add.Strings[i],',');
    RichEdit1.Lines.Add('T');

    for t:=1 to m do begin
      Str:=GetToken(GetToken(Add.Strings[i],'(',t+1),')',1);
      Str1:=GetToken(GetToken(Add.Strings[i],',',t),'(',1);

      RichEdit1.Lines[i]:=RichEdit1.Lines[i]+str1;
      RichEdit1.SelStart:=Pos(Str1,RichEdit1.Lines.Text)-1;
      RichEdit1.SelLength:=Length(str1);
      RichEdit1.SelAttributes.Color:=StringToColor(Str);
    end;
  end;

warum ???

_________________
MFG
Michael Springwald, "kann kein englisch...."
ernstl
Hält's aus hier
Beiträge: 11

Win 98
D5 Prof
BeitragVerfasst: Do 30.09.04 13:32 
Hallo!
Bin mir nicht sicher, aber da du die einzelnen Strings nacheinander einfügst schreib doch in Zeile 13
L := Length(RichEdit.Lines.Text);und in Zeile 15RichEdit1.SelStart:= L + 1;oder nur in Zeile 15RichEdit1.SelStart:= Length(RichEdit.Lines.Text)-Length(str1); vielleicht hilfts ja
Gruß ernstl
mimi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 02.10.04 18:41 
geht leider nicht....

_________________
MFG
Michael Springwald, "kann kein englisch...."