hoi ich habe eine Listbox auf form1 in der die benutzer eines chats sind,
ich prüfe beim start jeden user durch (erste for schleife), mit den levels aus dem memo von Form3
(zweite for schleife). in dem memo sind die user so gelistet: "blabla:100" (als beispiel).
Ich mache das folgendermaßen:
Delphi-Quellcode:
procedure EndOfNicks(AUser: TIdIRCUser; ACommand, AContent: string);
var
i, i2: integer;
nick, nilist, lilist: string;
match: boolean;
begin
match := false;
for i := 0 to Form1.Listbox1.Count-1 do
begin
for i2 := 0 to Form3.Memo1.Lines.Count-1 do
begin
nick := Form1.ListBox1.Items.Strings[i];
nilist := Copy(Form3.Memo1.Lines.Strings[i2], 1, Pos(':', Form3.Memo1.Lines.Strings[i2])-1);
lilist := Copy(Form3.Memo1.Lines.Strings[i2], Pos(':', Form3.Memo1.Lines.Strings[i2])+1, length(Form3.Memo1.Lines.Strings[i2]));
if nick = nilist then
begin
Form1.ListBox1.Items.Delete(Form1.ListBox1.Items.IndexOf(nick));
Form1.ListBox1.Items.Add(nick + #9 + '[0]');
match := true;
break;
end
end;
if match = false then
begin
Form1.ListBox1.Items.Delete(Form1.ListBox1.Items.IndexOf(nick));
Form1.ListBox1.Items.Add(nick + #9 + '[' + IntToStr(0) + ']');
end;
end;
end;
das ergebnis ist, das 2 (die letzten beiden) items irgendwie kein "level" bekommen, siehe anhang.
weiss jemand woher das kommt?