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

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

?? nslook1.pas

?? 包含常用Internet協議TCP,UDP、HTTP、FTP、Telnet等
?? PAS
字號:
{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Program:      NsLookup
Description:  Demo for DnsQuery ICS component.
Author:       Fran鏾is Piette
EMail:        francois.piette@pophost.eunet.be    francois.piette@rtfm.be
              http://www.rtfm.be/fpiette
Creation:     January 29, 1999
Version:      1.02
Support:      Use the mailing list twsocket@rtfm.be See website for details.
Legal issues: Copyright (C) 1999 by Fran鏾is PIETTE
              Rue de Grady 24, 4053 Embourg, Belgium. Fax: +32-4-365.74.56
              <francois.piette@pophost.eunet.be>

              This software is provided 'as-is', without any express or
              implied warranty.  In no event will the author be held liable
              for any  damages arising from the use of this software.

              Permission is granted to anyone to use this software for any
              purpose, including commercial applications, and to alter it
              and redistribute it freely, subject to the following
              restrictions:

              1. The origin of this software must not be misrepresented,
                 you must not claim that you wrote the original software.
                 If you use this software in a product, an acknowledgment
                 in the product documentation would be appreciated but is
                 not required.

              2. Altered source versions must be plainly marked as such, and
                 must not be misrepresented as being the original software.

              3. This notice may not be removed or altered from any source
                 distribution.

History:
Feb 27, 1999 V1.01 Added PTR lookup (reverse DNS lookup)
Mar 07, 1999 V1.02 Adapted for Delphi 1

 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
unit NsLook1;

interface

uses
  WinTypes, WinProcs, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, IniFiles, WinSock, DnsQuery, StdCtrls, ExtCtrls, Buttons;

type
  TNsLookupForm = class(TForm)
    DisplayMemo: TMemo;
    Panel1: TPanel;
    DnsEdit: TEdit;
    NameEdit: TEdit;
    MXLookupButton: TButton;
    DnsQuery1: TDnsQuery;
    ClearDisplayBitBtn: TBitBtn;
    ALookupButton: TButton;
    PTRLookupButton: TButton;
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure MXLookupButtonClick(Sender: TObject);
    procedure DnsQuery1RequestDone(Sender: TObject; Error: Word);
    procedure ClearDisplayBitBtnClick(Sender: TObject);
    procedure ALookupButtonClick(Sender: TObject);
    procedure PTRLookupButtonClick(Sender: TObject);
  private
    FIniFileName : String;
    FInitialized : Boolean;
    FRequestID   : Integer;
    procedure Display(Msg : String);
    procedure DumpDnsResponse;
  public
    property IniFileName : String read FIniFileName write FIniFileName;
  end;

var
  NsLookupForm: TNsLookupForm;

implementation

{$R *.DFM}

const
    SectionWindow      = 'Window';
    KeyTop             = 'Top';
    KeyLeft            = 'Left';
    KeyWidth           = 'Width';
    KeyHeight          = 'Height';
    SectionData        = 'Data';
    KeyName            = 'Name';
    KeyDns             = 'Dns';


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TNsLookupForm.FormCreate(Sender: TObject);
begin
    FIniFileName := LowerCase(ExtractFileName(Application.ExeName));
    FIniFileName := Copy(FIniFileName, 1, Length(FIniFileName) - 3) + 'ini';
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TNsLookupForm.FormShow(Sender: TObject);
var
    IniFile : TIniFile;
begin
    if not FInitialized then begin
        FInitialized := TRUE;

        IniFile       := TIniFile.Create(FIniFileName);
        Width         := IniFile.ReadInteger(SectionWindow, KeyWidth,  Width);
        Height        := IniFile.ReadInteger(SectionWindow, KeyHeight, Height);
        Top           := IniFile.ReadInteger(SectionWindow, KeyTop,
                                             (Screen.Height - Height) div 2);
        Left          := IniFile.ReadInteger(SectionWindow, KeyLeft,
                                             (Screen.Width  - Width)  div 2);
        NameEdit.Text := IniFile.ReadString(SectionData, KeyName, 'inprise.com');
        DnsEdit.Text  := IniFile.ReadString(SectionData, KeyDns,  '193.121.171.135');
        DisplayMemo.Clear;
        IniFile.Destroy;
    end;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TNsLookupForm.FormClose(Sender: TObject; var Action: TCloseAction);
var
    IniFile : TIniFile;
begin
    IniFile := TIniFile.Create(FIniFileName);
    IniFile.WriteInteger(SectionWindow, KeyTop,         Top);
    IniFile.WriteInteger(SectionWindow, KeyLeft,        Left);
    IniFile.WriteInteger(SectionWindow, KeyWidth,       Width);
    IniFile.WriteInteger(SectionWindow, KeyHeight,      Height);
    IniFile.WriteString(SectionData, KeyName, NameEdit.Text);
    IniFile.WriteString(SectionData, KeyDns,  DnsEdit.Text);
    IniFile.Destroy;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TNsLookupForm.Display(Msg : String);
begin
    if DisplayMemo.Lines.Count > 200 then
        DisplayMemo.Lines.Delete(0);
    DisplayMemo.Lines.Add(Msg);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TNsLookupForm.DumpDnsResponse;
var
    P      : PChar;
    I      : Integer;
    Len    : Integer;
    Buf    : String;
begin
    Display('Response dump (' + IntToStr(DnsQuery1.ResponseLen) + ' bytes):');
    P   := DnsQuery1.ResponseBuf;
    Len := DnsQuery1.ResponseLen;
    Buf := '';
    I   := 0;
    while I < Len do begin
        if P^ in [' '..'~'] then
            Buf := Buf + P^
        else
            Buf := Buf + '<' + IntToStr(Ord(P^)) + '>';
        Inc(I);
        Inc(P);
        if (I mod 16) = 0 then begin
            Display('  ' + Buf);
            Buf := '';
        end;
    end;
    if Length(Buf) > 0 then
        Display('  ' + Buf);
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TNsLookupForm.DnsQuery1RequestDone(Sender: TObject; Error: Word);
var
    I      : Integer;
    nIndex : Integer;
begin
    if Error <> 0 then begin
        Display('Error #' + IntToStr(Error));
        Exit;
    end;
    Display('ID                 : ' + IntToStr(DnsQuery1.ResponseID));
    Display('ResponseCode       : ' + IntToStr(DnsQuery1.ResponseCode));
    Display('OpCode             : ' + IntToStr(DnsQuery1.ResponseOpCode));
    Display('Authoritative      : ' + IntToStr(Ord(DnsQuery1.ResponseAuthoritative)));
    Display('Truncation         : ' + IntToStr(Ord(DnsQuery1.ResponseTruncation)));
    Display('RecursionAvailable : ' + IntToStr(Ord(DnsQuery1.ResponseRecursionAvailable)));
    Display('QDCount            : ' + IntToStr(DnsQuery1.ResponseQDCount));
    Display('ANCount            : ' + IntToStr(DnsQuery1.ResponseANCount));
    Display('NSCount            : ' + IntToStr(DnsQuery1.ResponseNSCount));
    Display('ARCount            : ' + IntToStr(DnsQuery1.ResponseARCount));
    Display('ResponseLen        : ' + IntToStr(DnsQuery1.ResponseLen));
    Display('QuestionName       : ' + DnsQuery1.QuestionName);
    Display('QuestionType       : ' + IntToStr(DnsQuery1.QuestionType));
    Display('QuestionClass      : ' + IntToStr(DnsQuery1.QuestionClass));

    for I := 0 to DnsQuery1.ResponseANCount - 1 do begin
        Display('Answer #' + IntToStr(I + 1));
        Display('  AnswerName       : ' + DnsQuery1.AnswerName[I]);
        Display('  AnswerType       : ' + IntToStr(DnsQuery1.AnswerType[I]));
        Display('  AnswerClass      : ' + IntToStr(DnsQuery1.AnswerClass[I]));
        Display('  AnswerTTL        : ' + IntToStr(DnsQuery1.AnswerTTL[I]));
        nIndex := DnsQuery1.AnswerTag[I];
        if nIndex >= 0 then begin
            case DnsQuery1.AnswerType[I] of
            DnsQueryMX:
                begin
                    Display('  MXPreference     : ' + IntToStr(DnsQuery1.MXPreference[nIndex]));
                    Display('  MXExchange       : ' + DnsQuery1.MXExchange[nIndex]);
                end;
            DnsQueryA:
                begin
                    Display('  Address          : ' + StrPas(inet_ntoa(DnsQuery1.Address[nIndex])));
                end;
            DnsQueryPTR:
                begin
                    Display('  Hostname         : ' + DnsQuery1.Hostname[nIndex]);
                end;
            end;
        end;
    end;
    { Dump complete response }
    DumpDnsResponse;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TNsLookupForm.ClearDisplayBitBtnClick(Sender: TObject);
begin
    DisplayMemo.Clear;
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TNsLookupForm.MXLookupButtonClick(Sender: TObject);
begin
    DnsQuery1.Addr := DnsEdit.Text;
    FRequestID     := DnsQuery1.MXLookup(NameEdit.Text);
    Display('Request ID         : ' + IntToStr(FRequestID));
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TNsLookupForm.ALookupButtonClick(Sender: TObject);
begin
    DnsQuery1.Addr := DnsEdit.Text;
    FRequestID     := DnsQuery1.ALookup(NameEdit.Text);
    Display('Request ID         : ' + IntToStr(FRequestID));
end;


{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
procedure TNsLookupForm.PTRLookupButtonClick(Sender: TObject);
begin
    DnsQuery1.Addr := DnsEdit.Text;
    FRequestID     := DnsQuery1.PTRLookup(NameEdit.Text);
    Display('Request ID         : ' + IntToStr(FRequestID));
end;


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

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美片网站yy| 蜜臀av一区二区在线免费观看 | 国产二区国产一区在线观看| 99视频热这里只有精品免费| 欧美一区二区三区在线观看视频 | 91丝袜美女网| 欧美极品美女视频| 另类综合日韩欧美亚洲| 欧美日韩综合一区| **欧美大码日韩| 国产成人在线视频免费播放| 制服丝袜亚洲色图| 亚洲伊人伊色伊影伊综合网| 大桥未久av一区二区三区中文| 日韩一区二区免费在线观看| 亚洲综合激情小说| 91丨porny丨国产| 欧美韩国日本综合| 国产乱人伦偷精品视频免下载 | 中文字幕不卡在线播放| 蜜桃视频在线观看一区| 在线播放日韩导航| 午夜影视日本亚洲欧洲精品| 欧美亚洲国产bt| 亚洲男人的天堂网| 色综合一区二区| 亚洲女人的天堂| 91丨九色丨蝌蚪富婆spa| 日韩一区中文字幕| 91网上在线视频| 亚洲精品视频免费看| 91捆绑美女网站| 亚洲黄色片在线观看| 欧美视频在线观看一区二区| 亚洲精品v日韩精品| 欧美在线三级电影| 日韩在线一区二区三区| 欧美一区二区久久| 久久精品免费看| 2020国产精品| 国产91精品免费| |精品福利一区二区三区| 91丨porny丨国产入口| 自拍av一区二区三区| 欧美亚男人的天堂| 青青草国产成人av片免费| 日韩视频一区二区| 国产精品一区免费视频| 国产精品久久久久四虎| 色婷婷综合久久久中文字幕| 亚洲福利一区二区三区| 日韩欧美一区在线| 国产99久久久国产精品潘金| 亚洲精品国产一区二区三区四区在线| 欧美日韩一区在线观看| 精油按摩中文字幕久久| 国产三级精品三级| 欧洲精品一区二区三区在线观看| 日韩精品91亚洲二区在线观看| 日韩欧美成人激情| 本田岬高潮一区二区三区| 亚洲一区在线观看免费观看电影高清| 欧美一区二区黄| heyzo一本久久综合| 日韩影院在线观看| 国产精品美女久久久久久久 | 91丨porny丨中文| 日韩精品一二区| 国产精品三级av| 911精品国产一区二区在线| 国产在线观看免费一区| 亚洲国产视频一区| 国产午夜精品一区二区三区四区 | 欧美不卡一二三| 91亚洲资源网| 国产高清亚洲一区| 日韩av电影免费观看高清完整版| 国产精品毛片大码女人| 欧美日韩视频第一区| 国产91精品一区二区麻豆亚洲| 亚洲风情在线资源站| 国产精品理伦片| 26uuu另类欧美亚洲曰本| 日本丶国产丶欧美色综合| 韩国三级中文字幕hd久久精品| 一区二区三区日韩欧美| 中文在线一区二区| 久久色.com| 91精品国产91久久久久久一区二区| 大尺度一区二区| 精品一区二区日韩| 水野朝阳av一区二区三区| 亚洲蜜臀av乱码久久精品蜜桃| 久久免费视频一区| 日韩一级大片在线| 欧美亚洲国产一区在线观看网站| 不卡一卡二卡三乱码免费网站| 精品一区二区三区香蕉蜜桃| 亚洲国产精品影院| 亚洲一区二区三区视频在线 | 一区二区中文字幕在线| 2021国产精品久久精品| 欧美变态口味重另类| 91精品欧美福利在线观看| 欧美性一级生活| 91国在线观看| 欧美午夜电影在线播放| 欧美在线免费播放| 欧美午夜精品久久久| 日本高清不卡在线观看| 在线观看中文字幕不卡| 欧美三级三级三级| 欧美在线不卡一区| 欧美亚洲综合一区| 欧美亚洲另类激情小说| 欧美人伦禁忌dvd放荡欲情| 欧美日韩在线综合| 3d动漫精品啪啪1区2区免费| 欧美日韩国产在线观看| 91精品久久久久久蜜臀| 日韩三级.com| 欧美精品一区二区高清在线观看| 欧美大黄免费观看| 久久精品亚洲乱码伦伦中文| 日本一区二区三级电影在线观看| 久久久精品综合| 国产精品五月天| 亚洲美女视频在线观看| 亚洲成人手机在线| 日本亚洲最大的色成网站www| 伦理电影国产精品| 国产成a人无v码亚洲福利| 99亚偷拍自图区亚洲| 在线观看日韩国产| 欧美精品一卡二卡| 久久色.com| 亚洲激情在线播放| 美国毛片一区二区| 春色校园综合激情亚洲| 欧美性猛片aaaaaaa做受| 精品久久人人做人人爰| 国产欧美精品区一区二区三区| 亚洲免费av在线| 美女任你摸久久| 成人爱爱电影网址| 欧美精品丝袜中出| 日本一区二区视频在线观看| 亚洲人成人一区二区在线观看| 日韩精品五月天| 成人精品一区二区三区中文字幕| 欧美日韩一区二区三区高清| 精品久久人人做人人爰| 亚洲伦在线观看| 久久精品国产亚洲a| 一本色道亚洲精品aⅴ| 精品处破学生在线二十三| 一级特黄大欧美久久久| 精品一二三四在线| 欧美日韩一区中文字幕| 欧美激情一区在线观看| 天堂蜜桃91精品| 99精品国产91久久久久久 | 欧美性感一类影片在线播放| 久久久久久久久久久久久久久99| 一区二区三区在线免费播放| 国内精品伊人久久久久影院对白| 91黄视频在线观看| 中文字幕第一区综合| 免费观看一级特黄欧美大片| 一本色道久久加勒比精品| 国产人成亚洲第一网站在线播放 | 国产成人在线观看免费网站| 欧美日韩在线播放一区| 亚洲少妇屁股交4| 国产一区二区主播在线| 欧美精品高清视频| 一区二区三区四区在线免费观看| 国产伦精品一区二区三区在线观看 | 久久成人麻豆午夜电影| 欧美日韩久久久一区| 亚洲激情在线激情| av在线不卡免费看| 亚洲国产精品成人综合色在线婷婷| 麻豆freexxxx性91精品| 欧美日韩专区在线| 亚洲一区二区三区免费视频| 一本色道久久综合精品竹菊| 成人免费在线观看入口| 成人亚洲一区二区一| 久久久五月婷婷| 国产一区二区三区四区在线观看 | 在线精品视频一区二区三四| 亚洲色图.com| 成人app下载| 亚洲欧洲日韩av| 99综合电影在线视频| 亚洲婷婷在线视频| 在线观看日产精品| 亚洲第一狼人社区| 欧美群妇大交群的观看方式|