easyDelphi Q&A
+1 تصويت
49 مشاهدات

كيف اتحقق من اتصالي بالانترنت 

ارسد ان اعلم المستخدم عند وجود انترنت و عند انقطاعها كدالك شطرااا

سُئل في تصنيف vcl بواسطة (5,790 نقاط) | 49 مشاهدات
 

2 إجابة

+2 تصويتات
أفضل إجابة

اعمل ping بواسطة IdIcmpClient الذي يأتي مع Indy

procedure TForm1.IdIcmpClient1Reply(ASender: TComponent; const AReplyStatus: TReplyStatus);
begin
	if IdIcmpClient1.ReplyStatus.BytesReceived = 0 then
  	    Label1.Caption := 'not online'
	else
  		Label1.Caption := 'online';
end;

procedure DoPing;
begin
	IdIcmpClient1.ReceiveTimeout := 200;
	IdIcmpClient1.Host := '8.8.8.8';
	IdIcmpClient1.Ping;
end;


المرجع

https://stackoverflow.com/questions/38083856/indy-tidicmpclient-how-to-detect-a-timeout

تم الرد عليه بواسطة (9,270 نقاط)
مختارة بواسطة
هذا الجواب هو الصحيح لأن عملية "Ping" تعمل حتى و إن كان هناك مشكل في الحاسوب (مثلا مشكل في DNS أو مشكل في "FireWall" إما من طرف "Antivirus" أو من طرف الوينداوز نفسه ... أو أحيانا يكون هناك خلل في "IExplorer" من ناحية البروكسي و غيرها .....ألخ) المهم يبقى البينق "Ping" هو الحل لفحص و تفقد إن كان هناك فعلا تدفق أم لا .... و أحسن سرفر هو سرفر "Google" ===> "Ping www.google.com" ... و شكرا.
+2 تصويتات
uses
   Windows, wininet;


procedure TForm1.Button1Click(Sender: TObject);
var
  Flags: Windows.DWORD; // flags to pass to API function
  con: boolean;
begin
  Flags := 0;
  con := WinInet.InternetGetConnectedState(@Flags, 0);
  if con then ShowMessage('متصل بلانترنيت')
  else ShowMessage('غير متصل بلانترنيت');
end;       

 

تم الرد عليه بواسطة (840 نقاط)

اسئلة متعلقة

+3 تصويتات
2 إجابة
سُئل أغسطس 11 في تصنيف vcl بواسطة KHALED (5,790 نقاط) | 56 مشاهدات
+2 تصويتات
2 إجابة
سُئل سبتمبر 3 في تصنيف vcl بواسطة َAbdallah (2,010 نقاط) | 59 مشاهدات
+2 تصويتات
1 إجابة
سُئل أغسطس 5 في تصنيف vcl بواسطة َAbdallah (2,010 نقاط) | 31 مشاهدات
+3 تصويتات
2 إجابة
سُئل أغسطس 2 في تصنيف Components بواسطة KHALED (5,790 نقاط) | 83 مشاهدات
ادعُ اصدقائك في الفايسبوك لمشاركتك

مرحبًا بك إلى EasyDelphi Q&A، حيث يمكنك طرح الأسئلة والحصول على الإجابة عليها من المستخدمين الآخرين.

لا يسمح بطلب او السؤال عن كراك او تفعيل او كسر او فك او اي شيء يخالف اتفاقيات الترخيص  مهما كان السبب ومهما كان البرنامج ونوعه. ولا حتى نشر روابط تحتوي على مثل هذه الاشياء لا في الاسئلة ولا في الاجابات ولا التعليقات . نهائيا

249 سؤال
451 إجابة
790 تعليق
148 مستخدم