![]() |
Re: [Erledigt]Totales Brett vorm Kopf: Problem mit 'end'
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: [...]
Delphi-Quellcode:
[...]
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] |
Re: [Erledigt]Totales Brett vorm Kopf: Problem mit 'end'
Hi,
in den GExperts enthalten sind die "Editor Experts". Diese beinhalten die Funktion "Find Matching Delimiter", damit kannst Du ein "Begin" markieren und der Editor zeigt Dir das dazu passende "end" (oder "end." oder "end;"). Hat mir auch schon geholfen, wenn ich vor lauter Bäumen den Wald nicht mehr gesehen habe.... :shock: Gruß Frank |
Re: [Erledigt]Totales Brett vorm Kopf: Problem mit 'end'
danke.
JEtzt noch mal für ALLE: Das Problem ist Gelöst Ein end; war vor den ersten else-eintrag gerutscht, hätte aber DAHINTER stehen müssen. Es ist GELÖST Aber wenn wir schon dabei sind, wie ihr sicher seht ist das eine tcp/ip server/bzw Client anwendung Gebt mir doch mal Denkanstöße was ich damit jetzt noch so machen könnte^^ |
Re: [Erledigt]Totales Brett vorm Kopf: Problem mit 'end'
Aber.... bla. Achso gelöst! :angel2:
|
Re: [Erledigt]Totales Brett vorm Kopf: Problem mit 'end'
mindforce... dein alter in allen ehren(bin selbst erst 14) aber musst du eigentlich immer das letzte wort haben? :lol: :lol:
grrrr ICH will das letzte wort haben^^ is MEIN thread |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz