Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi code richtig??? (https://www.delphipraxis.net/12430-code-richtig.html)

Remote1 27. Nov 2003 11:07


code richtig???
 
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
    for i:=spinedit1.Value to spinedit2.Value do
     begin
      try
       if (GetAsyncKeystate(VK_ESCAPE)) <> 0 then
        begin
         gauge2.Progress:=0;
         label3.Visible:=false;
         exit;
        end;
       gauge2.Progress:=i;
       TcpClient1.RemotePort:=inttostr(i);
       if TcpClient1.Connected
        then
         begin
          TcpClient1.Disconnect;
         end
        else
         begin
          TcpClient1.Disconnect;
          listbox1.Items.Add('Port ' + inttostr(i) + ' ist geschlossen');
         end;
       application.ProcessMessages;
      except
       application.ProcessMessages;
       TcpClient1.Disconnect;
       listbox1.Items.Add('Port ' + inttostr(i) + ' ist geschlossen');
      end;
     end;
ich hab mir den sorce gebastelt um die ports zu prüfen, ob sie offen sind, aber ich bekomme immer die meldung, dass alle ports geschlossen sind, obwohl ich keine portblocker hab

hab komplettes projekt mal mit angefügt --> ist natürlich nur testversion (noch nicht ausgereift)

Treffnix 27. Nov 2003 11:10

Re: code richtig???
 
Also, damit hab ich mich noch nie befasst und kann dir leider nicht viel helfen.
Aber zumindest in dem Codeschnipsel da gibts ja auch gar keine Ausgabe, wenn ein Port offen ist, oder? :gruebel:

Remote1 27. Nov 2003 11:13

Re: code richtig???
 
ja hast schon recht
es werden nur alle geschlossenen ports in die liste eingefügt, aber jeder normale mesch weiss dann ja auch, dass die anderen offen sind (zumal es mehr ports wie zeilen in der liste gibt--> würden einfach nicht alle reinpassen)

Treffnix 27. Nov 2003 11:15

Re: code richtig???
 
Biste schonmal mit dem Debugger durchgelaufen? Vielleicht läuft das Programm ja auch jedesmal in den Except-Teil. Schreib da doch mal nen anderen Text rein. 'Fehler bei Port' + IntToStr( i ) oder so...

Matze 27. Nov 2003 11:18

Re: code richtig???
 
Ich kenne mich da auch nicht aus, aber unser Luckie hat mal einen Portscanner programmiert:
http://luckie-online.de/downloads/PortScanner1_0.zip

Remote1 27. Nov 2003 11:20

Re: code richtig???
 
gute idee, aber dann würde der doch aus der schleife rauskommen und nicht jeden port einzeln ala geschlossen melden sonden dort aufhören, wo er sich ausgehagt hat (im delphi debugger würde das prog auch anhalten, except wird nur bei verwendet, wenn ich die exe extern starte --> zumindest bei mir so)

Treffnix 27. Nov 2003 11:23

Re: code richtig???
 
Ne, die For-Schleife beginnt ja vor dem Try-Except-Block

Wie dein Debugger eingestellt ist, weiss ich natürlich nicht, aber ich würds halt mal versuchen.

Remote1 27. Nov 2003 11:26

Re: code richtig???
 
hast recht mit er schleife, aber delphi meckert bei mir da trotzdem immer rum

Kamil 27. Nov 2003 15:03

Re: code richtig???
 
Müsste es nicht so aussehen:
Delphi-Quellcode:
       ...
       gauge2.Progress:=i;
       //Wenn Connected -> Disconnect
       if TcpClient1.Connected then
          TcpClient1.Disconnect;
       //neuen Port setzen
       TcpClient1.RemotePort:=inttostr(i);
       //jetzt neue Verbindung aufbauen
       TcpClient1.Connect;
       //Falls fehlgeschlagen, dann springt er in den except Block
       listbox1.Items.Add('Port ' + inttostr(i) + ' ist geschlossen');
       ...

SleepyMaster 27. Nov 2003 15:20

Re: code richtig???
 
Und zeig lieber in der Listbox die OFFENEN Ports an


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:22 Uhr.
Seite 1 von 2  1 2      

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