AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi [Erledigt]Totales Brett vorm Kopf: Problem mit 'end'
Thema durchsuchen
Ansicht
Themen-Optionen

[Erledigt]Totales Brett vorm Kopf: Problem mit 'end'

Ein Thema von inherited · begonnen am 12. Feb 2006 · letzter Beitrag vom 13. Feb 2006
Antwort Antwort
Seite 3 von 3     123   
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.893 Beiträge
 
Delphi 12 Athens
 
#21

Re: [Erledigt]Totales Brett vorm Kopf: Problem mit 'end'

  Alt 13. Feb 2006, 17:01
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]) = 'LOGINthen
    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] = 'LOGOUTthen
[...]

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]
Thomas Breitkreuz
  Mit Zitat antworten Zitat
Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
654 Beiträge
 
Delphi 10.4 Sydney
 
#22

Re: [Erledigt]Totales Brett vorm Kopf: Problem mit 'end'

  Alt 13. Feb 2006, 17:12
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....

Gruß

Frank
"Ich habe Dinge gesehen, die ihr Menschen niemals glauben würdet. Gigantische Schiffe, die brannten, draußen vor der Schulter des Orion" - Roy Batty
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#23

Re: [Erledigt]Totales Brett vorm Kopf: Problem mit 'end'

  Alt 13. Feb 2006, 18:14
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^^
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
mindforce
(Gast)

n/a Beiträge
 
#24

Re: [Erledigt]Totales Brett vorm Kopf: Problem mit 'end'

  Alt 13. Feb 2006, 18:40
Aber.... bla. Achso gelöst!
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#25

Re: [Erledigt]Totales Brett vorm Kopf: Problem mit 'end'

  Alt 13. Feb 2006, 21:17
mindforce... dein alter in allen ehren(bin selbst erst 14) aber musst du eigentlich immer das letzte wort haben?

grrrr ICH will das letzte wort haben^^
is MEIN thread
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz