سلام

در تکمیل صحبت negative60 عزیز



uses
Winapi.WinInet;



procedure TForm1.btn_InternetGetConnectedStateClick(Sender: TObject);
var
origin: Cardinal;
// connections origins by origin value
// NO INTERNET CONNECTION = 0;
// INTERNET_CONNECTION_MODEM = 1;
// INTERNET_CONNECTION_LAN = 2;
// INTERNET_CONNECTION_PROXY = 4;
// INTERNET_CONNECTION_MODEM_BUSY = 8;
begin
if InternetGetConnectedState(@origin, 0) then
ShowMessage('اتصال به اینترنت وجود دارد!')
else
ShowMessage('اتصالی وجود ندارد!')
end;


مقادیر موجود در متغیر origin نشاندهنده نحوه اتصال به اینترنت خواهد بود(اتصال از طریق LAN، از طریق مودم و ...)

این رو هم درنظر داشته باشید که ممکنه پروسه چک کردن وجود اتصال زمانبر بشه و اونوقت UI کاربر به حالت قفل دربیاد! لذا استفاده از یک ترد جداگانه پیشنهاد میشه.

البته بیشتر پیشنها میشه به بک سرور که همیشه در اینترنت UP هست کانکت بشین و از نتیجه اون استفاده کنید چرا که بعضی مواقع ممکنه سیستم عامل نتیجه درستی بر نگردونه!

موفق باشیم