亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ping.pas

?? 包含常用Internet協議TCP,UDP、HTTP、FTP、Telnet等
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
    FIcmp               := TICMP.Create;
    FIcmp.OnDisplay     := IcmpDisplay;
    FIcmp.OnEchoRequest := IcmpEchoRequest;
    FIcmp.OnEchoReply   := IcmpEchoReply;
    { Delphi 32 bits has threads and VCL is not thread safe.                }
    { We need to do our own way to be thread safe.                          }
    FWindowHandle := XSocketAllocateHWnd(Self);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
destructor TPing.Destroy;
begin
    CancelDnsLookup;                 { Cancel any pending dns lookup      }
    XSocketDeallocateHWnd(FWindowHandle);
    if Assigned(FIcmp) then begin
        FIcmp.Destroy;
        FIcmp := nil;
    end;
    inherited Destroy;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TPing.IcmpDisplay(Sender: TObject; Msg: String);
begin
    if Assigned(FOnDisplay) then
        FOnDisplay(Self, Sender, Msg);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TPing.IcmpEchoReply(Sender: TObject; Error : Integer);
begin
    if Assigned(FOnEchoReply) then
        FOnEchoReply(Self, Sender, Error);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TPing.IcmpEchoRequest(Sender: TObject);
begin
    if Assigned(FOnEchoRequest) then
        FOnEchoRequest(Self, Sender);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
function TPing.Ping : Integer;
begin
    if Assigned(FIcmp) then
        Result := FIcmp.Ping
    else
        Result := 0;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TPing.CancelDnsLookup;
begin
    if FDnsLookupHandle = 0 then
        Exit;
    if WSACancelAsyncRequest(FDnsLookupHandle) <> 0 then
        raise Exception.CreateFmt('WSACancelAsyncRequest failed, error #%d',
                               [WSAGetLastError]);
    FDnsLookupHandle := 0;
    if Assigned(FOnDnsLookupDone) then
        FOnDnsLookupDone(Self, WSAEINTR);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TPing.DnsLookup(HostName : String);
var
    IPAddr  : TInAddr;
begin
    { Cancel any pending lookup }
    if FDnsLookupHandle <> 0 then
        WSACancelAsyncRequest(FDnsLookupHandle);

    FDnsResult := '';

    IPAddr.S_addr := Inet_addr(@HostName[1]);
    if IPAddr.S_addr <> u_long(INADDR_NONE) then begin
        FDnsResult := StrPas(inet_ntoa(IPAddr));
        if Assigned(FOnDnsLookupDone) then
            FOnDnsLookupDone(Self, 0);
        Exit;
    end;

    FDnsLookupHandle := WSAAsyncGetHostByName(FWindowHandle,
                                              WM_ASYNCGETHOSTBYNAME,
                                              @HostName[1],
                                              @FDnsLookupBuffer,
                                              SizeOf(FDnsLookupBuffer));
    if FDnsLookupHandle = 0 then
        raise Exception.CreateFmt(
                  '%s: can''t start DNS lookup, error #%d',
                  [HostName, WSAGetLastError]);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TPing.SetAddress(Value : String);
begin
    if Assigned(FIcmp) then
        FIcmp.Address := Value;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
function TPing.GetAddress : String;
begin
    if Assigned(FIcmp) then
        Result := FIcmp.Address
    else
        Result := '';
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TPing.SetSize(Value : Integer);
begin
    if Assigned(FIcmp) then
        FIcmp.Size := Value;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
function TPing.GetSize : Integer;
begin
    if Assigned(FIcmp) then
        Result := FIcmp.Size
    else
        Result := 0;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TPing.SetTimeout(Value : Integer);
begin
    if Assigned(FIcmp) then
        FIcmp.Timeout := Value;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
function TPing.GetTimeout : Integer;
begin
    if Assigned(FIcmp) then
        Result := FIcmp.Timeout
    else
        Result := 0;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TPing.SetTTL(Value : Integer);
begin
    if Assigned(FIcmp) then
        FIcmp.TTL := Value;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
function TPing.GetTTL : Integer;
begin
    if Assigned(FIcmp) then
        Result := FIcmp.TTL
    else
        Result := 0;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TPing.SetFlags(Value : Integer);
begin
    if Assigned(FIcmp) then
        FIcmp.Flags := Value;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
function TPing.GetFlags : Integer;
begin
    if Assigned(FIcmp) then
        Result := FIcmp.flags
    else
        Result := 0;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
function TPing.GetReply : TIcmpEchoReply;
begin
    if Assigned(FIcmp) then
        Result := FIcmp.Reply
    else
        FillChar(Result, SizeOf(Result), 0);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
function TPing.GetErrorCode : Integer;
begin
    if Assigned(FIcmp) then
        Result := FIcmp.ErrorCode
    else
        Result := -1;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
function TPing.GetErrorString : String;
begin
    if Assigned(FIcmp) then
        Result := FIcmp.ErrorString
    else
        Result := '';
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
function TPing.GetHostName : String;
begin
    if Assigned(FIcmp) then
        Result := FIcmp.HostName
    else
        Result := '';
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
function TPing.GetHostIP : String;
begin
    if Assigned(FIcmp) then
        Result := FIcmp.HostIP
    else
        Result := '';
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
{procedure TPing.SetOnDisplay(Value : TICMPDisplay);
begin
    if Assigned(FIcmp) then
        FIcmp.OnDisplay := Value;
end;
}

{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
{function TPing.GetOnDisplay : TICMPDisplay;
begin
    if Assigned(FIcmp) then
        Result := FIcmp.OnDisplay
    else
        Result := nil;
end;
}

{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
{procedure TPing.SetOnEchoRequest(Value : TNotifyEvent);
begin
    if Assigned(FIcmp) then
        FIcmp.OnEchoRequest := Value;
end;
}

{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
{function TPing.GetOnEchoRequest : TNotifyEvent;
begin
    if Assigned(FIcmp) then
        Result := FIcmp.OnEchoRequest
    else
        Result := nil;
end;
}

{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
{procedure TPing.SetOnEchoReply(Value : TICMPReply);
begin
    if Assigned(FIcmp) then
        FIcmp.OnEchoReply := Value;
end;
}

{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
{function TPing.GetOnEchoReply : TICMPReply;
begin
    if Assigned(FIcmp) then
        Result := FIcmp.OnEchoReply
    else
        Result := nil;
end;
}

{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆精东视频| 成人性生交大片免费看中文| 亚洲特级片在线| 国产精品午夜春色av| 国产人成亚洲第一网站在线播放 | 精品久久久久久综合日本欧美| 欧美精品视频www在线观看| 欧美亚洲免费在线一区| 欧美麻豆精品久久久久久| 欧美日本在线观看| 日韩一区二区三区在线视频| 日韩一区二区免费在线观看| 精品久久一区二区| 亚洲国产电影在线观看| 老汉av免费一区二区三区| 美女视频网站黄色亚洲| 国产精品自拍网站| 91视频你懂的| 欧美一二区视频| 久久精品免视看| 日韩一区在线播放| 手机精品视频在线观看| 狠狠色丁香九九婷婷综合五月| 丁香六月综合激情| 91搞黄在线观看| 欧美成人精品福利| 亚洲婷婷综合久久一本伊一区 | 精品福利视频一区二区三区| 国产欧美日韩视频一区二区| 亚洲精品免费播放| 久久成人18免费观看| 不卡视频在线看| 欧美一区二区三区婷婷月色| 国产午夜一区二区三区| 亚洲影院久久精品| 国产一区二区久久| 欧美三日本三级三级在线播放| 久久蜜桃av一区精品变态类天堂| 亚洲激情图片小说视频| 国产在线国偷精品免费看| 在线观看91视频| 中文字幕第一区| 日本成人在线不卡视频| 91啪九色porn原创视频在线观看| 日韩亚洲电影在线| 一区二区三区日韩欧美| 经典一区二区三区| 欧美日韩一区二区在线视频| 中文字幕av一区二区三区免费看| 午夜激情久久久| 色综合天天综合给合国产| 久久久久久毛片| 久久精品国产久精国产爱| 欧美日韩一区二区三区四区五区| 中文天堂在线一区| 国产乱码精品一区二区三区五月婷| 欧美日韩小视频| 亚洲尤物在线视频观看| 91亚洲永久精品| 国产精品电影一区二区| 丰满少妇久久久久久久| 欧美精品一区二区久久婷婷| 日日欢夜夜爽一区| 欧美日韩精品系列| 亚洲一二三四区不卡| 日本二三区不卡| 亚洲欧美日韩系列| 色综合久久久网| 亚洲激情网站免费观看| 91视频观看免费| 亚洲免费观看在线视频| 91在线观看地址| 亚洲欧美日韩小说| 在线精品视频小说1| 亚洲日本va午夜在线电影| 99久久99久久综合| 久久精品夜夜夜夜久久| 欧美性猛片xxxx免费看久爱| 亚洲一区二区欧美| 国产精品视频九色porn| 成人免费三级在线| 亚洲国产成人一区二区三区| 国产不卡视频一区| 国产精品嫩草久久久久| 99免费精品在线| 一区二区在线观看视频| 欧美午夜精品一区| 奇米四色…亚洲| 久久日一线二线三线suv| 粉嫩嫩av羞羞动漫久久久| 中文字幕一区二区三区视频| 色综合天天性综合| 日日骚欧美日韩| 久久久久久久久蜜桃| 99久久99久久精品免费观看| 亚洲成在人线免费| 日韩三级视频中文字幕| 国产成人av网站| 亚洲欧美偷拍另类a∨色屁股| 欧美日韩不卡一区二区| 国产成人自拍高清视频在线免费播放| 欧美激情艳妇裸体舞| 91成人免费电影| 极品美女销魂一区二区三区| 日韩一区日韩二区| 欧美一区二区视频在线观看2020| 国产麻豆91精品| 1024国产精品| 日韩一区二区在线观看视频播放| 高潮精品一区videoshd| 五月婷婷激情综合| 国产精品嫩草99a| 91精品一区二区三区在线观看| 成人黄页在线观看| 日韩精品视频网站| 亚洲天堂网中文字| 欧美电视剧在线看免费| 色婷婷av一区二区三区之一色屋| 精品无人码麻豆乱码1区2区 | 99精品视频在线免费观看| 欧美aaaaa成人免费观看视频| 2023国产一二三区日本精品2022| 在线观看亚洲精品视频| 国产高清在线观看免费不卡| 五月天中文字幕一区二区| 亚洲欧洲一区二区三区| 欧美精品一区二区三区蜜桃 | 91福利视频网站| 国产成a人亚洲精品| 日韩专区一卡二卡| 亚洲综合丁香婷婷六月香| 国产日产精品1区| 日韩精品中午字幕| 7777精品伊人久久久大香线蕉完整版| 成人黄色免费短视频| 国产精品综合久久| 精品一区二区精品| 男女性色大片免费观看一区二区| 一区二区三区国产| 1000精品久久久久久久久| 国产三级欧美三级日产三级99| 日韩欧美一区中文| 日韩欧美专区在线| 欧美xxxxxxxx| 精品粉嫩aⅴ一区二区三区四区| 欧美夫妻性生活| 91精品国产91综合久久蜜臀| 欧美日韩美少妇| 欧美乱熟臀69xxxxxx| 欧美日韩一区二区不卡| 欧美日韩在线观看一区二区| 欧美日韩亚洲综合在线 | 在线观看视频一区| 91浏览器入口在线观看| 色哟哟国产精品免费观看| 色综合天天视频在线观看| 91麻豆成人久久精品二区三区| 色综合久久88色综合天天6| 99久久久久免费精品国产 | 91麻豆精品国产自产在线| 欧美日韩情趣电影| 7777精品伊人久久久大香线蕉的| 欧美日韩精品一区二区天天拍小说| 欧美日韩夫妻久久| 欧美mv日韩mv国产网站app| 精品三级在线看| 日本一二三不卡| 亚洲日韩欧美一区二区在线| 午夜视频久久久久久| 久久精品二区亚洲w码| 狠狠色狠狠色综合日日91app| 国产不卡高清在线观看视频| 色噜噜狠狠色综合欧洲selulu| 欧美日韩国产色站一区二区三区| 69堂国产成人免费视频| 久久久久久久久久久电影| 中文字幕欧美一区| 日本欧美一区二区三区乱码| 国产精品一区二区三区网站| 91免费看`日韩一区二区| 在线播放/欧美激情| 国产视频在线观看一区二区三区| 亚洲另类色综合网站| 欧美a级一区二区| 91亚洲午夜精品久久久久久| 制服丝袜亚洲播放| 国产精品视频线看| 日韩av在线发布| 91尤物视频在线观看| 日韩欧美区一区二| 亚洲欧洲综合另类| 国产乱子轮精品视频| 91久久精品午夜一区二区| 久久夜色精品一区| 亚洲一级二级三级在线免费观看| 国产美女在线精品| 91精品国产一区二区三区香蕉| 国产精品每日更新| 韩国一区二区三区| 欧美日韩国产影片|