Hallo inherited!
Ich denke, die Ergänzung es IF von engine löst Dein Problem noch nicht vollständig.
Wenn ich Deinen Code richtig interpretiere, dann soll Dein TCP_Server auf den Befehl LOGIN hin überprüfen, ob der anzumeldende User (Rest des Loginstrings) sich anmelden darf, im Erfolgsfall soll 'VER:0.1' zurückgegeben werden, andernfalls 'loginnotok'.
Um dies zu realisieren, muß Dein ursprünglicher Code wie folgt geändert werden:
[...]
Delphi-Quellcode:
else if (Command[1]+Command[2]+Command[3]+Command[4]+Command[5]) = 'LOGIN' then
begin
OK:=true;
for i := 0 to ListBox1.Count-1 do if Uppercase(ListBox1.Items[i])=Copy(Command, 6, Length(Command)) then OK:=false;
if ok then
begin
if (Copy(Command, 6, Length(Command)) = 'HAMSTER') or (Copy(Command, 6, Length(Command)) = 'IGEL') then
begin
ListBox1.Items.Add(Copy(Command, 6, Length(Command)));
AThread.Connection.WriteLn('VER:0.1');
lbProcesses.Items.Insert(0, 'Sending Command: loginok');
end;
// end; [b](1) hier stand die Zeile ursprünglich[/b]
end
else
begin
AThread.Connection.WriteLn('loginnotok');
end; // [b](2) und hier muß Zeile (1) hin[/b]
end
else if Command[1]+Command[2]+Command[3]+Command[4]+Command[5]+Command[6] = 'LOGOUT' then
[...]
Und dann noch eine Anmerkung zu Deiner Schleife, in der Du den User gegen die Einträge einer Listbox validierst:
[...]
for i := 0 to ListBox1.Count-1 do if Uppercase(ListBox1.Items[i])=Copy(Command, 6, Length(Command)) then OK:=false;
[...]
Da hier alle Listboxeinträge durchlaufen werden, bekommst Du in OK nur die Info, ob der letzte Eintrag Deiner Listbux dem User entspricht.
Ich vermute, OK soll genau dann FALSE werden, wenn ein beliebiger Eintrag in der Listbox dem USER entspricht.
Das kannst Du folgendermaßen realisieren:
>>>>>>>>>>>>>>>>>>>>>>
Delphi-Quellcode:
for i := 0 to ListBox1.Count-1 do
begin
if Uppercase(ListBox1.Items[i]) = Copy(Command, 6, Length(Command)) then
begin
OK := false;
break;
end;
end;
<<<<<<<<<<<<<<<<<<<<<<
hoffe, Dir hilft das noch ein bißchen weiter
MfG
onlinekater
[edit=alcaeus]Delphi-Tags eingefuegt. Mfg, alcaeus[/edit]