![]() |
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:
kann mir vllt jemand bei meinem problem helfen?
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. |
Re: spezielle adressen anpingen und anzeigen
Was geht nicht? kommt ein fehler?
|
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 |
Re: spezielle adressen anpingen und anzeigen
Zeile 11 müßte heißen:
Delphi-Quellcode:
for i := o to liste.count-1 do
|
Re: spezielle adressen anpingen und anzeigen
Zitat:
(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 |
Re: spezielle adressen anpingen und anzeigen
Natürlich 0, denn der Index von Arrays, Listen usw. beginnt immer bei 0, nicht bei 1.
|
Re: spezielle adressen anpingen und anzeigen
Die Schleife in Zeile 11 umfasst nur eine Zeile. Umschließe den Block mit begin ... end;
|
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? |
Re: spezielle adressen anpingen und anzeigen
-
Delphi-Quellcode:
einfügen
Application.ProcessMessages;
- Funktion in Thread auslagern. |
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. |
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