Program Ping (nie wiem czemu nie dziala)

0

Witam
Na podstawie ksiazki "Programowanie w Delphi 5.0" napisalem program do pingowania. (Zwykle pingowanie, bez zadnych bajerow). No i mam problem... moj wspanialy program nie dziala. Nie mam pojecia czemu. Zrobilem wszystko tak jak w ksiazce bylo napisane. Napisalem nawet go 2 razy i nawet przeinstalowalem delphi (myslalem ze moze cos u mnie bylo skopane).

Jezeli ktos moglby zerknac to bede bardzo wdzieczny.
Kod zrodlowy wraz z exe mozna sciagnac z: http://smart.toya.net.pl/~olaf/ping.zip

A tak to wyglada:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, Psock, NMEcho, StdCtrls;

type
TForm1 = class(TForm)
Panel1: TPanel;
Memo1: TMemo;
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
NMEcho1: TNMEcho;
Timer1: TTimer;
procedure Button1Click(Sender: TObject);
procedure NMEcho1Connect(Sender: TObject);
procedure NMEcho1Disconnect(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
If Button1.Caption = 'Ping' then
begin
Memo1.Lines.Clear;
NMEcho1.Host := Edit1.Text;
Button1.Enabled := False;
try
NMEcho1.Connect;
except
Memo1.Lines.Add('Nie moge polaczyc');
end;
Button1.Enabled := True;
end else
NMEcho1.Disconnect;
end;

procedure TForm1.NMEcho1Connect(Sender: TObject);
begin
Memo1.Lines.Add('Connected');
Button1.Caption := 'Stop';
NMEcho1.TimeOut := 700;
Timer1.Enabled := True;
end;

procedure TForm1.NMEcho1Disconnect(Sender: TObject);
begin
Memo1.Lines.Add('Disconnected');
Button1.Caption := 'Ping';
Timer1.Enabled := False;
NMEcho1.TimeOut := 10000
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
try
NMEcho1.Echo('12345678901234567890123456789012');
except
Memo1.Lines.Add('[' + NMEcho1.RemoteIP + '] transmit failed');
exit;
end;
Memo1.Lines.Add('Replay from ' + ' [' + NMEcho1.RemoteIP + '] Elapsed time: '

  • FloatToStr(NMEcho1.ElapsedTime) + ' ms');
    end;

end.

0

Jezeli chodzi o pingowanie to zainteresuj sie komponentami Indy, a konkretnie idEcho - jego uzywanie jest bardzo proste.

0

No i oczywiście TPing z ICS

0

No i oczywiście TPing z ICS

Wszystko okej by bylo... ale ICS mi nie chce dzialac (mam Delphi 5 - nie wiem czy to ma jakies znaczenie). Pisalem juz tu na forum o tym problemie ale nie dostalem odpowiedzi (http://www.4programmers.net/forum/viewtopic.php?id=32234)

0

U mnie twoj programik dziala zmienilem tylko port w komponencie NMEcho1 na port np 110 (POP3) i dziala ok

Pozdra

1 użytkowników online, w tym zalogowanych: 0, gości: 1