Autor Beitrag
Hopsekey
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Mi 11.06.03 10:59 
kennt von euch jemand den befehl um alle rechner im netz anzupingen (nicht einzeln, sondern mit einem befehl sprich rundping). sich also alle adressen zeigen lassen?
kann man über delphi per source den ping-befehl ausführen?

riesen DANKE und bitte den quelltext mal so als Bsp. mit bei
specialwork
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 52

Windows XP Professional; Windows Server 2003
Delphi 7 Prof, Delphi 8.Net
BeitragVerfasst: Do 12.06.03 00:31 
Titel: Ping
Hallo Hopsekey

So wirds gemacht:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
unit UPing;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdIcmpClient, Spin, StdCtrls, ScktComp, ExtCtrls, Buttons;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    SpinEdit1: TSpinEdit;
    SpinEdit2: TSpinEdit;
    Label3: TLabel;
    Timer1: TTimer;
    SpinEdit3: TSpinEdit;
    Label4: TLabel;
    SpeedButton1: TSpeedButton;
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure SpinEdit3Change(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  mPing: TIdIcmpClient;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  try
    mPing.ReceiveTimeout := SpinEdit2.Value;
    mPing.Host := Edit1.Text;
    mPing.Port:= SpinEdit1.Value;
    mPing.Ping;
    Memo1.Lines.Add('Received from Host: '+mPing.ReplyStatus.FromIpAddress+' Bytes: '+inttostr(mPing.ReplyStatus.BytesReceived));
  except
    on E: Exception do begin
      Memo1.Lines.Add('Host not received');
    end;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  mPing:=TIdIcmpClient.Create(self);
end;

procedure TForm1.SpinEdit3Change(Sender: TObject);
begin
  Timer1.Interval:=SpinEdit3.Value;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  Timer1.Enabled:=not Timer1.Enabled;
  SpeedButton1.Down:=Timer1.Enabled;
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
  Timer1.Enabled:=false;
  SpeedButton1.Down:=false;
end;

end.

Gruß, Tom
Bela Urlaub
ontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 453

WinXP Prof/Home, Win98SE (nur auf Server)
D6 Pers
BeitragVerfasst: Do 12.06.03 02:09 
Hi, hab das mal ausprobiert....
Bei mir kommt n Fehler: "IdIcmpClient"
ausblenden Quelltext
1:
[Fataler Fehler] ...: Datei nicht gefunden: 'IdIcmpClient.dcu'					

Also... was ist da für eine Datei???
Wohl nicht bei Windows 98 dabei oda??

_________________
mensch, menschen können auch probleme haben...
specialwork
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 52

Windows XP Professional; Windows Server 2003
Delphi 7 Prof, Delphi 8.Net
BeitragVerfasst: Do 12.06.03 09:56 
Titel: IdIcmpClient.dcu
Hallo Bela Urlaub,

Ich glaube nicht, das es etws mit dem Betriebssystem zu tun hat. Es hat wohl eher etwas mit Deiner Delphi Version zu tun. Ich verwende zur zeit Delphi 6 Professional. Solltest Du ebenfalls D6 verwenden, dann schau doch mal nach, ob Du die Indy Komponenten installiert hast.

Gruß, Tom
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Do 12.06.03 12:26 
schaut mal n paar zeilen weiter unten.
um das thema ping geht es auch hier:
www.delphi-forum.de/viewtopic.php?t=8291

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
BungeeBug
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 901



BeitragVerfasst: Do 12.06.03 12:30 
Hi, es gibt bessere Möglichkeiten als einmal das ganze Netz anzupingen und zu gucken wer antwortet ... das is erstens "belastend" für deinen Rechner und das gesammt Netz (Wenn BNC Netz) besser ist es ein UDP - Bordcast zusenden und dann alle Rechner die sich anwesend melden an zupingen ... geht sogar schneller :P

MfG BungeeBug
Bela Urlaub
ontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 453

WinXP Prof/Home, Win98SE (nur auf Server)
D6 Pers
BeitragVerfasst: Do 12.06.03 13:54 
Titel: Re: IdIcmpClient.dcu
specialwork hat folgendes geschrieben:
Hallo Bela Urlaub,

Ich verwende zur zeit Delphi 6 Professional. Solltest Du ebenfalls D6 verwenden, dann schau doch mal nach, ob Du die Indy Komponenten installiert hast.

Gruß, Tom

Indy- Komponenten???? was das? Ich verwende D6 Personal

_________________
mensch, menschen können auch probleme haben...
specialwork
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 52

Windows XP Professional; Windows Server 2003
Delphi 7 Prof, Delphi 8.Net
BeitragVerfasst: Do 12.06.03 14:31 
Hallo Bela Urlaub,

Die Indy Komponenten sind wenigstens in der Delphi Professional Version integriert.

In Deinem Falle würde ich mich nun an die Idee von BungeeBug halten. Jedoch hast Du dann das Problem, dass Du nur Rechner im LAN und nicht in LAN und WAN anpingen kannst.

Gruß Tom
DarkLord
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Do 12.06.03 15:26 
Du kannst dir die aktuelle Indy Version kostenlos runterladen auf: www.indyproject.org !
Hopsekey Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Do 12.06.03 17:33 
ich bedanke mich für eure antworten, aber @ BungeeBug wie geht das denn nun schon wieder?
Hopsekey Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 26



BeitragVerfasst: Do 12.06.03 18:26 
ich habs gerade mal ausprobiert, bei mir komm die fehlermeldung:
ungültiges zeichen in der eingabedatei undzwar bei StdCtrls.
Dann will er die Variants.dcu.
dann kommt die vorhergehende fehlermeldung mit ungültiges zeichen bei IdIcmpClient.
Dann giebt er ruhe. Ich habe delphi 5.0 Enterprise, entwerder ist die helfte nicht installiert, oder ich weiß nicht.

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Buttons, ExtCtrls, Spin, StdCtrls, Variants, IdIcmpClient, ScktComp;
BungeeBug
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 901



BeitragVerfasst: Do 12.06.03 19:07 
Hi,
du kannst (wenn du die Indy installiert hast) nen UDP - Server (den brauch man dazu glaub ich ... wenn nich dann wars der Client) auf die Form setzen und dann die IP 192.168.0.255 (nur wenn die auf dein Netzwerk zutrifft ... sonst musste se so ändern das die ersten 3 Abschnitte zu deinem Netz passen, der letzte muss immer 255 heissen) mit nem BroardCast anpeilen ... als Ergebniss sollte sich dann jeder Rechner in deinem Netz melden. So und das dann nur noch in ne Stringlist oder nen Array laden und nach und nach jeden anpingen. So hasst du vermieden das dein Rechner auf ne Antwort wartet wo keine kommt ...

MfG BungeeBug