Thema: Delphi Ping und Daten Verwerten

Einzelnen Beitrag anzeigen

gasty

Registriert seit: 14. Nov 2007
Ort: Nidderau
80 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Ping und Daten Verwerten

  Alt 4. Aug 2008, 17:54
Also ich hab jetzt bei Delphi "Projekt - Dem Projekt hinzufügen" gemacht und die trace.pas hinzugefügt, dann testweise versucht einen ping auf button-click zu programmieren.

Delphi-Quellcode:
procedure TForm1.Button7Click(Sender: TObject);
var
  ip: DWORD;
  var b: Array[0..3] of Byte absolute ip;
  ping : Boolean;
begin
  b[3] := 127; b[2] := 0; b[1] := 0; b[0] := 1;
  ping := ICMPPing(ip);
  if ping = true then shape1.brush.color := clgreen
  else shape1.brush.color := clred;
end;
Aber es kommt immer dieser Error:
Zitat:
[Fehler] Unit1.pas(115): Undefinierter Bezeichner: 'ICMPPing'
Ok, habe diesen Fehler gelöst
hab einfach bei uses trace hingeschrieben, aber jetz bleibt immernoch die eine große frage:
Wie kann ich DNS-Adressen anpingen?

Danke schonmal an alle die bisher geholfen haben

//Edit: Noch ne Frage:
Also ich hab es jetzt mit vielen if gemacht und würde gerne wissen ob es nicht besser geht, da ich das irgendwie nicht so schön finde. (Hab schon mit case probiert, geht aber irgendwie nicht)
Aber das komische ist, er zeigt immer rot an, obwohl die adresse erreichbar ist. (router-ip)
Wahrscheinlicht liegt der Fehler wieder an mir also poste ich mal den quelltext ;D
Delphi-Quellcode:
procedure TForm1.Button7Click(Sender: TObject);
var
  ip: DWORD;
  var b: Array[0..3] of Byte absolute ip;
  ping : Boolean;
begin
  x := 1;
  if x = 1 then
    begin
      b[3] := 192; b[2] := 168; b[1] := 2; b[0] := 1;
      ping := ICMPPing(ip);
      if ping = true then shape1.brush.color := cllime
      else shape1.brush.color := clred;
      x := 2;
    end;
  if x = 2 then
    begin
      b[3] := 192; b[2] := 168; b[1] := 2; b[0] := 1;
      ping := ICMPPing(ip);
      if ping = true then shape2.brush.color := cllime
      else shape2.brush.color := clred;
      x := 3;
    end;
  if x = 3 then
    begin
      b[3] := 192; b[2] := 168; b[1] := 2; b[0] := 1;
      ping := ICMPPing(ip);
      if ping = true then shape3.brush.color := cllime
      else shape3.brush.color := clred;
      x := 4;
    end;
  if x = 4 then
    begin
      b[3] := 192; b[2] := 168; b[1] := 2; b[0] := 1;
      ping := ICMPPing(ip);
      if ping = true then shape4.brush.color := cllime
      else shape4.brush.color := clred;
      x := 5;
    end;
  if x = 5 then
    begin
      b[3] := 192; b[2] := 168; b[1] := 2; b[0] := 1;
      ping := ICMPPing(ip);
      if ping = true then shape5.brush.color := cllime
      else shape5.brush.color := clred;
      x := 0;
    end;
end;


Also die 2 großen Fragen:
Wie pinge ich DNS-Adressen?
und
Wie funkioniert das richtig, da ich das Gefühl hab, ich hab in dem Quelltext etwas falsch gemacht?
  Mit Zitat antworten Zitat