Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit Server Pinger (https://www.delphipraxis.net/8803-problem-mit-server-pinger.html)

p0w3r5tr34m3r 12. Sep 2003 11:00


Problem mit Server Pinger
 
Ich bin eine art wochenend coder und habe mir einen Server Pinger für meine CS Server zusammengebastelt weil ich finde das die im Spiel nicht alle genau genug sind.
Nur mein Problem ist das ich nicht weiß wie ich die var schreiben soll das der alle IP´s nach der Reihe pingen soll!! Und da ihr hier alle schon etwas mehr erfahrung in solchen sachen habt...

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;
    ListBox2: TListBox;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    IdIcmpClient1: TIdIcmpClient;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    procedure Button1Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure IdIcmpClient1Reply(ASender: TComponent;
      const AReplyStatus: TReplyStatus);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  IdIcmpClient1.Host := ListBox1.Items.Text;
  IdIcmpClient1.Ping(IntToStr(timeout));
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  Close;
end;

procedure TForm1.IdIcmpClient1Reply(ASender: TComponent;
  const AReplyStatus: TReplyStatus);
begin
  ListBox2.Items.Add(IdIcmpClient1.ReplyStatus.FromIpAddress);
  ListBox2.Items.Add(IntToStr (IdIcmpClient1.ReplyStatus.MsRoundTripTime));
  ListBox2.Items.Append('ms von');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if OpenDialog1.Execute then ListBox1.Items.LoadFromFile (OpenDialog1.FileName);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  if SaveDialog1.Execute then ListBox2.Items.SaveToFile (SaveDialog1.FileName);
end;


end.

Bitte helft mir

THX im Vorraus

Powerstreamer

Tpercon 12. Sep 2003 11:12

Re: Problem mit Server Pinger
 
Willkommen in der DP.

Schau mal in die Suche, da gibt es schöne Beispiele für's pingen.

Christian Seehase 12. Sep 2003 11:24

Re: Problem mit Server Pinger
 
Moin Powerstreamer,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Als Suchbegriffe eingnen sich hierfür Hier im Forum suchenPing (surprise, surprise ;-)), aber auch Hier im Forum suchenIcmpSendEcho

sakura 12. Sep 2003 11:39

Re: Problem mit Server Pinger
 
Er hat doch das meiste, Leute :!: Seine Frage bezog sich auf ein anderes Problem, als das direkte Pingen ;-)

Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
  [color=#ec0000][s]IdIcmpClient1.Host := ListBox1.Items.Text;[/s]
  if ListBox1.ItemIndex < 0 then
    Exit;
  IdIcmpClient1.Host := ListBox1.Items[ListBox1.ItemIndex]; [/color]
  IdIcmpClient1.Ping(IntToStr(timeout));
end;
...:cat:...

Tpercon 12. Sep 2003 11:47

Re: Problem mit Server Pinger
 
Sakura hat recht. :oops:

Und für die MultiSelect Variante:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  for i := 0 to ListBox1.Items.Count - 1 do begin
    if ListBox1.Selected[i] then begin
      IdIcmpClient1.Host := ListBox1.Items.Strings[i];
      IdIcmpClient1.Ping(IntToStr(timeout));
    end;
  end;
end;

p0w3r5tr34m3r 12. Sep 2003 11:54

Re: Problem mit Server Pinger
 
Erstmal danke für den freundlichen Empfang und dann nochmal ein herzliches Dankeschön für eure Hilfe! Es klappt alles *freu*

MfG Powerstreamer

Christian Seehase 12. Sep 2003 12:09

Re: Problem mit Server Pinger
 
Moin sakura,

Zitat:

Zitat von sakura
Seine Frage bezog sich auf ein anderes Problem, als das direkte Pingen

war mir schon klar ;-), nur findet sich, gerade bei ICMP hier mindestens ein Beispiel für die Abarbeitung eines Pings in einer Schleife (hab' das Programm gerade erst vor ein paar Tagen hochgeladen ;-)), zum anderen hat der Ping via Indys den Nachteil, dass er nur mit administrativen Rechten funktioniert, IcmpSendEcho hingegen sollte es auch ohne tun.

p0w3r5tr34m3r 12. Sep 2003 12:14

Re: Problem mit Server Pinger
 
und wie geht der die alle alleine durch?
also das wenn er mit dem ersten ping fertig ist das er diese IP dann auch löscht?

Tpercon 12. Sep 2003 12:17

Re: Problem mit Server Pinger
 
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  for i := ListBox1.Items.Count - 1 downto 0 do begin
    IdIcmpClient1.Host := ListBox1.Items.Strings[i];
    IdIcmpClient1.Ping(IntToStr(timeout));
    ListBox1.Delete(i);
  end;
end;

sakura 12. Sep 2003 12:18

Re: Problem mit Server Pinger
 
Das wäre dann:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  while ListBox1.Items.Count > 0 do
  begin
    IdIcmpClient1.Host := ListBox1.Items[0];
    IdIcmpClient1.Ping(IntToStr(timeout));
    ListBox1.Items.Delete(0);
  end;
end;
...:cat:...

Christian Seehase 12. Sep 2003 12:20

Re: Problem mit Server Pinger
 
Moin TPercon,

so find' ich's praktischer:

Delphi-Quellcode:
while ListBox1.Items.Count > 0 do begin
  IdIcmpClient1.Host := ListBox1.Items[0];
  IdIcmpClient1.Ping(IntToStr(timeout));
  ListBox1.Delete(0);
end;
[EDIT]
Ach nöööö...
nicht schon wieder zu spät.... :evil:

:mrgreen:

[/EDIT]

Tpercon 12. Sep 2003 12:34

Re: Problem mit Server Pinger
 
OK, gebe mich geschlagen. :wink:

sakura 12. Sep 2003 12:36

Re: Problem mit Server Pinger
 
Zitat:

Zitat von Tpercon
OK, gebe mich geschlagen. :wink:

Brauchst Du gar nicht, nur wie kommt Dein Beitrag vor unserere? Den hatte ich noch gar nicht gesehen :shock:

...:cat:...

Tpercon 12. Sep 2003 12:39

Re: Problem mit Server Pinger
 
Zitat:

Zitat von sakura
Zitat:

Zitat von Tpercon
OK, gebe mich geschlagen. :wink:

Brauchst Du gar nicht, nur wie kommt Dein Beitrag vor unserere? Den hatte ich noch gar nicht gesehen :shock:

...:cat:...

Ich schreibe halt schneller. :mrgreen:

p0w3r5tr34m3r 12. Sep 2003 13:10

Re: Problem mit Server Pinger
 
nochmals danke...
ich denke mal THREAD CLOSED...

ihr werdet noch weiterhin von mir hören *gg*


Power


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:41 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