Einzelnen Beitrag anzeigen

ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#7

Es ist zum verrückt werden!

  Alt 15. Mai 2003, 00:04
Vielen dank! Jetzt gehts!

Juchu , leider noch nit ganz!

Es gibt jedoch noch ein Problem!

Das Programm soll alle Falschen IP's ( nur zur Kontrolle in Listbox2 auflisten und die richtige in Listbox1);

Das Problem liegt eindeutug daran, das der Befehl Client.open erst nach der Procedure ausgeführt wird!
Die Schleife wird erst komplett ausgeführt , dann die Error Procedure und dann die Connect Procedure!Da Onconnect erst nach der Schleife ausgeführt wird und dort die Variable geändert wird, läuft die Schleife auf jedenfall bis zum ende! Und es wird die letzte IP in die Listbox geschrieben!

Delphi-Quellcode:

procedure TForm1.BT_tryClick(Sender: TObject);
VAR i:Integer;
Begin
i:=103;
While i<104 do
Begin
  Client1.host:='192.168.2.'+inttostr(i);
  Try
   client1.open;
   If client1.Socket.Connected=true then
   Begin
     Listbox1.Items.Add(client1.Host);
     exit;
   end;
  finally
   beep;
  end;
  i:=i+1;
end;
end;

procedure TForm1.Client1Error(Sender: TObject; Socket: TCustomWinSocket;
  ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
  ErrorCode:=0;
  Listbox2.Items.Add(Client1.Host);
end;
Ich habe auch schon versucht die For-Schleife durch eine While-Schleife zu erstzen, aber der Effekt ist der Gleiche!

Es ist zum verrückt werden,
nun funktioniert der Scan aber ich kann die richtige IP nit rausfiltern!

  Mit Zitat antworten Zitat