نمایش نتایج 1 تا 4 از 4

نام تاپیک: اطلاع از اتصال به اینترنت

  1. #1

    Question اطلاع از اتصال به اینترنت

    با سلام

    من چگونه میتوانم بفهمم که دستگاه به اینترنت وصل هستش یا نه ؟

    با تشکر

  2. #2

    نقل قول: اطلاع از اتصال به اینترنت

    سلام. یک سرور سریع رو پینگ بگیرید
    توابع تبدیل تاریخ با دقت 5000 سال
    پذیرش پروژه، کامپوننت، آموزش برنامه نویسی (دلفی، اس کیو ال، ..) -> 09123780840

    دوستای گلم حمایت کنید : https://cafebazaar.ir/app/com.nikanmehr.marmarxword/


    نرم افزار پخش مویرگی

  3. #3

    نقل قول: اطلاع از اتصال به اینترنت

    نقل قول نوشته شده توسط سیروس مقصودی مشاهده تاپیک
    با سلام

    من چگونه میتوانم بفهمم که دستگاه به اینترنت وصل هستش یا نه ؟

    با تشکر
    برای بررسی اتصال به اینترنت در دلفی می‌توانید از تابع TIdHTTP استفاده کنید. این تابع به وسیله بررسی اتصال به یک سایت مشخص (مثل گوگل)، می‌تواند مشخص کند که آیا دستگاه به اینترنت متصل است یا خیر. به عنوان مثال می‌توانید از کد زیر استفاده کنید:

    uses
    IdHTTP;

    function IsConnectedToInternet: Boolean;
    var
    Http: TIdHTTP;
    begin
    Http := TIdHTTP.Create(nil);
    try
    Http.Head('http://www.google.com/');
    Result := True;
    except
    on E: Exception do
    Result := False;
    end;
    Http.Free;
    end;


    اگر تابع IsConnectedToInternet را فراخوانی کنید، در صورتی که دستگاه به اینترنت متصل باشد، true بازگردانده می‌شود و در غیر این صورت تابع false بازگردانده می‌شود.

  4. #4
    کاربر دائمی آواتار ابوالفضل عباسی
    تاریخ عضویت
    شهریور 1393
    محل زندگی
    Inside Esfahan
    پست
    719

    نقل قول: اطلاع از اتصال به اینترنت

    اینم دستور مشابه با کامند ping در cmd هستش:
    function  Ping(const Address:string;Retries,BufferSize:Word;mm:TMemo):B  oolean;var
    FSWbemLocator : OLEVariant;
    FWMIService : OLEVariant;
    FWbemObjectSet: OLEVariant;
    FWbemObject : OLEVariant;
    oEnum : IEnumvariant;
    iValue : LongWord;
    i : Integer;


    PacketsReceived : Integer;
    Minimum : Integer;
    Maximum : Integer;
    Average : Integer;


    function GetStatusCodeStr(statusCode:integer) : string;
    begin
    case statusCode of
    0 : Result:='Success';
    11001 : Result:='Buffer Too Small';
    11002 : Result:='Destination Net Unreachable';
    11003 : Result:='Destination Host Unreachable';
    11004 : Result:='Destination Protocol Unreachable';
    11005 : Result:='Destination Port Unreachable';
    11006 : Result:='No Resources';
    11007 : Result:='Bad Option';
    11008 : Result:='Hardware Error';
    11009 : Result:='Packet Too Big';
    11010 : Result:='Request Timed Out';
    11011 : Result:='Bad Request';
    11012 : Result:='Bad Route';
    11013 : Result:='TimeToLive Expired Transit';
    11014 : Result:='TimeToLive Expired Reassembly';
    11015 : Result:='Parameter Problem';
    11016 : Result:='Source Quench';
    11017 : Result:='Option Too Big';
    11018 : Result:='Bad Destination';
    11032 : Result:='Negotiating IPSEC';
    11050 : Result:='General Failure'
    else
    result:='Unknow';
    end;
    end;
    begin;
    PacketsReceived:=0;
    Minimum :=0;
    Maximum :=0;
    Average :=0;
    // Writeln(Format('Pinging %s with %d bytes of data:',[Address,BufferSize]));
    FSWbemLocator := CreateOleObject('WbemScripting.SWbemLocator');
    FWMIService := FSWbemLocator.ConnectServer('localhost', 'root\CIMV2', '', '');
    //FWMIService := FSWbemLocator.ConnectServer('192.168.52.130', 'root\CIMV2', 'user', 'password');
    for i := 0 to Retries-1 do
    begin
    FWbemObjectSet:= FWMIService.ExecQuery(Format('SELECT * FROM Win32_PingStatus where Address=%s AND BufferSize=%d',[QuotedStr(Address),BufferSize]),'WQL',0);
    oEnum := IUnknown(FWbemObjectSet._NewEnum) as IEnumVariant;
    if oEnum.Next(1, FWbemObject, iValue) = 0 then
    begin
    if FWbemObject.StatusCode=0 then
    begin
    Result := true;
    if FWbemObject.ResponseTime>0 then
    mm.Lines.Add(Format('Reply from %s: bytes=%s time=%sms TTL=%s',[FWbemObject.ProtocolAddress,FWbemObject.ReplySize, FWbemObject.ResponseTime,FWbemObject.TimeToLive]))
    else
    mm.Lines.Add(Format('Reply from %s: bytes=%s time=<1ms TTL=%s',[FWbemObject.ProtocolAddress,FWbemObject.ReplySize, FWbemObject.TimeToLive]));


    Inc(PacketsReceived);


    if FWbemObject.ResponseTime>Maximum then
    Maximum:=FWbemObject.ResponseTime;


    if Minimum=0 then
    Minimum:=Maximum;


    if FWbemObject.ResponseTime<Minimum then
    Minimum:=FWbemObject.ResponseTime;


    Average:=Average+FWbemObject.ResponseTime;
    end
    else
    begin
    Result := False;
    if not VarIsNull(FWbemObject.StatusCode) then
    mm.Lines.Add(Format('Reply from %s: %s',[FWbemObject.ProtocolAddress,GetStatusCodeStr(FWbem Object.StatusCode)]))
    else
    mm.Lines.Add(Format('Reply from %s: %s',[Address,'Error processing request']));
    end;
    end;
    FWbemObject:=Unassigned;
    FWbemObjectSet:=Unassigned;
    //Sleep(500);
    end;


    mm.Lines.Add('');
    mm.Lines.Add(Format('Ping statistics for %s:',[Address]));
    mm.Lines.Add(Format(' Packets: Sent = %d, Received = %d, Lost = %d (%d%% loss),',[Retries,PacketsReceived,Retries-PacketsReceived,Round((Retries-PacketsReceived)*100/Retries)]));
    if PacketsReceived>0 then
    begin
    mm.Lines.Add('Approximate round trip times in milli-seconds:');
    mm.Lines.Add(Format(' Minimum = %dms, Maximum = %dms, Average = %dms',[Minimum,Maximum,Round(Average/PacketsReceived)]));
    end;
    end;

تاپیک های مشابه

  1. پاسخ: 5
    آخرین پست: شنبه 18 مهر 1394, 23:57 عصر
  2. پاسخ: 0
    آخرین پست: سه شنبه 12 دی 1391, 17:09 عصر
  3. پاسخ: 4
    آخرین پست: جمعه 05 اسفند 1390, 18:25 عصر
  4. پاسخ: 3
    آخرین پست: چهارشنبه 09 شهریور 1390, 16:06 عصر
  5. پاسخ: 1
    آخرین پست: جمعه 23 دی 1384, 20:42 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •