Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi spezielle adressen anpingen und anzeigen (https://www.delphipraxis.net/71355-spezielle-adressen-anpingen-und-anzeigen.html)

any_key 13. Jun 2006 20:03


spezielle adressen anpingen und anzeigen
 
aHoyHoy
(erst mal hallo... mein erster post)
so und jetzt zu dem was ich eigentlich will
es gibt ja viele seiten mit proxyserver listen
aber da man nie genau weiß welcher gerade mal ne gescheite geschwindigkeit hat oder überhaupt online ist wollte ich mir mal ne programm schreiben das so eine ip liste ein mal komplett anpingt und dann die einzelnen pings auflistet (und halt wenn nen server nicht antwortet irgendeine andere meldung)
so und das hab ich halt mal probiert und jetzt hab ich keine ahnung was daran nicht funktioniert
(weil hinter den servern oft sachen wie ports usw stehen soll alles hinter der ip selber weg)
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  i, durchgang : integer;

begin
liste := TStringList.Create;
liste.LoadFromFile (OpenDialog1.FileName);
  for i := 0 to liste.Count - 1 do Memo1.Lines.Add(copy(liste[i],1,pos(' ',liste[i]) - 1));
  durchgang := 1;
  for i := 1 to liste.count do
  durchgang := durchgang + 1;
  Edit1.Text := Memo1.Lines[durchgang - 1];
  IdIcmpClient1.Host := Memo1.Lines[durchgang];
   IdIcmpClient1.Ping;
   Application.ProcessMessages;
 end;

procedure TForm1.IdIcmpClient1Reply(ASender: TComponent;
  const AReplyStatus: TReplyStatus);
var
  sTime: String;
begin
  if (AReplyStatus.MsRoundTripTime = 0) then
    sTime := '<1'
  else
    sTime := '=';

  Listbox1.Items.Add(Format('%d bytes from %s: icmp_seq=%d ttl=%d time%s%d ms',
                            [AReplyStatus.BytesReceived,
                             AReplyStatus.FromIpAddress,
                             AReplyStatus.SequenceId,
                             AReplyStatus.TimeToLive,
                             sTime,
                             AReplyStatus.MsRoundTripTime]));
end;

procedure TForm1.Oeffnen1Click(Sender: TObject);
begin
OpenDialog1.Execute;
end;

end.
kann mir vllt jemand bei meinem problem helfen?

mkinzler 13. Jun 2006 20:07

Re: spezielle adressen anpingen und anzeigen
 
Was geht nicht? kommt ein fehler?

any_key 13. Jun 2006 20:10

Re: spezielle adressen anpingen und anzeigen
 
beim ersten druck auf den button ping er 192.168.0.3 an (obwohl die ip nicht in der liste steht is aber meine netzwerkadresse)
wenn man dann noch mal drückt wird der erste server angepingt (aus der liste) aber mehr passiert nicht

mkinzler 13. Jun 2006 20:22

Re: spezielle adressen anpingen und anzeigen
 
Zeile 11 müßte heißen:

Delphi-Quellcode:
for i := o to liste.count-1 do

any_key 13. Jun 2006 20:28

Re: spezielle adressen anpingen und anzeigen
 
Zitat:

Zitat von mkinzler
Zeile 11 müßte heißen:

Delphi-Quellcode:
for i := o to liste.count-1 do

wolltest du o schreiben oder null?
(bei o meckert er rum)
aber bei null listet er die auch nicht auf sondern pingt wieder 192.168.0.3 und beim zweiten drücken 0.0.0.0

mkinzler 13. Jun 2006 20:31

Re: spezielle adressen anpingen und anzeigen
 
Natürlich 0, denn der Index von Arrays, Listen usw. beginnt immer bei 0, nicht bei 1.

mkinzler 13. Jun 2006 20:33

Re: spezielle adressen anpingen und anzeigen
 
Die Schleife in Zeile 11 umfasst nur eine Zeile. Umschließe den Block mit begin ... end;

any_key 13. Jun 2006 20:40

Re: spezielle adressen anpingen und anzeigen
 
juhu
(es lag an dem fehlendem begin...end das auch noch an ner anderen stelle fehlte)
und jetzt klappt es einiger maßen
thx
hmmm noch ne frage
während der die duchpingt scheint der sehr beschäftigt zu sein weil in der zeit das programm einfach hängt und am ende die fertige liste ausspuckt
kann man das irgendwie machen das das etwas flüssiger läuft?

mkinzler 13. Jun 2006 20:44

Re: spezielle adressen anpingen und anzeigen
 
-
Delphi-Quellcode:
Application.ProcessMessages;
einfügen
- Funktion in Thread auslagern.

any_key 13. Jun 2006 21:27

Re: spezielle adressen anpingen und anzeigen
 
an welcher stelle muss ich das denn einfügen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 Uhr.
Seite 1 von 2  1 2      

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-2025 by Thomas Breitkreuz