WinExec Yardımı İstiyorum.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
WinExec Yardımı İstiyorum.
Selamun Aleyküm
Programımda kullanıcının yazacağı siteye ping attıracağım.Yani bir text teki yazıyı winexec komutuyla ping attırmak istiyorum fakat bir türlü başaramadım.
Yardımlarınızı bekliyorum.
Programımda kullanıcının yazacağı siteye ping attıracağım.Yani bir text teki yazıyı winexec komutuyla ping attırmak istiyorum fakat bir türlü başaramadım.
Yardımlarınızı bekliyorum.
http://delphi.about.com/od/internetintr ... 81503a.htm bu sayfada istedigin sey var. winexec ile yapimamis ama
fonksiyonuna edit' taki degeri parametre gecmeniz yeterli.
gibi.
Kod: Tümünü seç
function Ping(InetAddress : string) : boolean;
Kod: Tümünü seç
ping(edit1.text);
Peki bu şekilde dönen sonucu bir ekrana nasıl yazdırabilirim?oyle yazdı:http://delphi.about.com/od/internetintr ... 81503a.htm bu sayfada istedigin sey var. winexec ile yapimamis amafonksiyonuna edit' taki degeri parametre gecmeniz yeterli.Kod: Tümünü seç
function Ping(InetAddress : string) : boolean;
gibi.Kod: Tümünü seç
ping(edit1.text);
Ayrıca WinExec komutu ile aynı değeri gönderebilir mi?
Bildiğim kadarı ile winexec ile yapılan pingin dönüşünü alamıyorsunuz . Ben aşağıdaki gibi kullanıyorum.
Formunuza button, listbox, edit ve IdIcmpClient bileşeni koyup;
Butona,
IdIcmpClient nin onreply event ine de,
Kolay Gelsin
Formunuza button, listbox, edit ve IdIcmpClient bileşeni koyup;
Butona,
Kod: Tümünü seç
IdIcmpClient1.OnReply := IdIcmpClient1Reply;
IdIcmpClient1.ReceiveTimeout := 990;
try
IdIcmpClient1.Host := edit1.Text;
IdIcmpClient1Reply.ping;
finally
end;
Kod: Tümünü seç
var
sTime,saat: string;
begin
if (ReplyStatus.MsRoundTripTime = 0) then
sTime := '<1'
else
sTime := '=';
if ReplyStatus.BytesReceived>1 then begin
saat:=timetostr(time);
ListBox1.Items.Add(Format('%s => %s : Bayt=%d ttl=%d Süre%s%d ms',
[saat,
ReplyStatus.FromIpAddress,
ReplyStatus.BytesReceived,
// ReplyStatus.SequenceId,
ReplyStatus.TimeToLive,
sTime,
ReplyStatus.MsRoundTripTime]));
end else ListBox1.Items.add(edit1.Text+' cevabı : İstek Zaman Aşımına Uğradı');
" Her bildiğin doğru olsun. Ama her doğruyu her yerde söylemek doğru değildir. "
Selam.
Delphi 7 için Indy 9.0'da kodlar biraz farklılaşmış... Modifiye edilmiş hali...
Delphi 7 için Indy 9.0'da kodlar biraz farklılaşmış... Modifiye edilmiş hali...
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
begin
IdIcmpClient1.OnReply := IdIcmpClient1Reply;
IdIcmpClient1.ReceiveTimeout := 990;
try
IdIcmpClient1.Host := Edit1.Text;
IdIcmpClient1.Ping;
finally
end;
end;
Kod: Tümünü seç
procedure TForm1.IdIcmpClient1Reply(ASender: TComponent;
const AReplyStatus: TReplyStatus);
var
sTime, Saat: string;
begin
if (AReplyStatus.MsRoundTripTime = 0)
then sTime := '<1'
else sTime := '=';
if AReplyStatus.BytesReceived > 1 then begin
Saat := TimeToStr(Time);
ListBox1.Items.Add( Format('%s => %s : Bayt=%d ttl=%d Süre%s%d ms',
[ Saat,
AReplyStatus.FromIpAddress,
AReplyStatus.BytesReceived,
// ReplyStatus.SequenceId,
AReplyStatus.TimeToLive,
sTime,
AReplyStatus.MsRoundTripTime ]));
end else ListBox1.Items.add( Edit1.Text + ' cevabı : İstek Zaman Aşımına Uğradı');
end;
Merhabalar
Delphi 7 de kodu şu şekilde yazdım:
Buton:
OnReply:
Bu şekilde çalıştı ping cevabını bana yolladı.Şimdi ben bu program ile eğer kullanıcı istek duyarsa belli aralıklarda o siteye ping attırıp gelen cevabı farklı şekilde kullanıcıya sunduracağım ama şöyle bir durum var bu ping olayı ping atılan siteyi yavaşlatır mı?
Yani siteye herhangi bir zararı olur mu?
Delphi 7 de kodu şu şekilde yazdım:
Buton:
Kod: Tümünü seç
IdIcmpClient1.OnReply := IdIcmpClient1.OnReply;
IdIcmpClient1.ReceiveTimeout := 990;
try
IdIcmpClient1.Host := Edit1.Text;
IdIcmpClient1.Ping;
finally
end;
OnReply:
Kod: Tümünü seç
if (AReplyStatus.MsRoundTripTime = 0)
then sTime := '<1'
else sTime := '=';
if AReplyStatus.BytesReceived > 1 then begin
Saat := TimeToStr(Time);
ListBox1.Items.Add( Format('%s => %s : Bayt=%d ttl=%d Süre%s%d ms',
[ Saat,
AReplyStatus.FromIpAddress,
AReplyStatus.BytesReceived,
// ReplyStatus.SequenceId,
AReplyStatus.TimeToLive,
sTime,
AReplyStatus.MsRoundTripTime ]));
end else ListBox1.Items.add( Edit1.Text + ' cevabı : İstek Zaman Aşımına Uğradı');
end;
Yani siteye herhangi bir zararı olur mu?