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

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

?? tools.pas

?? 該程序用D5編譯
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
unit Tools;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls,winsock, ExtCtrls, Buttons, StdCtrls, Spin, Menus;

type
  TNbtRecord = packed record
    IpAddr, GroupName, HostName, UserName: string[15]; //array [1..15] of char;
    MacAddr: string[17]; //array [1..17] of char;
    //Separator: char;
  end;

  TToolsForm = class(TForm)
    PageCtrl: TPageControl;
    FindIpTabSheet: TTabSheet;
    TopPanel: TPanel;
    BtnCheckIP: TSpeedButton;
    Label1: TLabel;
    Edit1: TEdit;
    IPListView: TListView;
    Panel2: TPanel;
    Radio1: TRadioButton;
    Radio2: TRadioButton;
    NbtTabSheet: TTabSheet;
    Panel1: TPanel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    btnNbtStart: TSpeedButton;
    edtNbtIP1: TEdit;
    edtNbtIP2: TEdit;
    spInterval: TSpinEdit;
    lvNbt: TListView;
    btnNbt: TSpeedButton;
    pnlStatus: TPanel;
    cbIP: TCheckBox;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    cbAddToTree: TCheckBox;
    TCPScanTabSheet: TTabSheet;
    Panel3: TPanel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    SpeedButton1: TSpeedButton;
    btnScanPort: TSpeedButton;
    edtScanIP1: TEdit;
    edtScanIP2: TEdit;
    spTimeOut: TSpinEdit;
    lvPortScan: TListView;
    Label10: TLabel;
    cbScanPort1: TComboBox;
    Panel4: TPanel;
    Label11: TLabel;
    cbAddToTree2: TCheckBox;
    PingTabSheet: TTabSheet;
    Panel5: TPanel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    SpeedButton2: TSpeedButton;
    btnPing: TSpeedButton;
    edtPing1: TEdit;
    edtPing2: TEdit;
    spPingTime: TSpinEdit;
    lvPing: TListView;
    Panel6: TPanel;
    cbAddToTree3: TCheckBox;
    Label16: TLabel;
    SendMsgTabSheet: TTabSheet;
    memMsg: TMemo;
    Panel7: TPanel;
    btnSendMsg: TSpeedButton;
    Label17: TLabel;
    cbToHost: TComboBox;
    cbClearMsg: TCheckBox;
    lvSendMsg: TListView;
    Splitter1: TSplitter;
    Panel8: TPanel;
    SaveDlg: TSaveDialog;
    NbtDbTabSheet: TTabSheet;
    lvNbtDb: TListView;
    Panel9: TPanel;
    lvSearchResult: TListView;
    Splitter2: TSplitter;
    Panel10: TPanel;
    cbField: TComboBox;
    btnSearchField: TButton;
    Label18: TLabel;
    Label19: TLabel;
    edtSearch: TEdit;
    Panel11: TPanel;
    Label20: TLabel;
    Label21: TLabel;
    cbScanPort2: TComboBox;
    Label22: TLabel;
    Bevel1: TBevel;
    IPCfgTabSheet: TTabSheet;
    btnSort: TSpeedButton;
    cbNbtDataLoad: TCheckBox;
    Bevel2: TBevel;
    Panel16: TPanel;
    lvIpAddrRange: TListView;
    Panel17: TPanel;
    Panel14: TPanel;
    lvIpAddr: TListView;
    Panel15: TPanel;
    memIpCfg: TMemo;
    Splitter3: TSplitter;
    btnRefreshIpCfg: TButton;
    Splitter4: TSplitter;
    Panel12: TPanel;
    Label23: TLabel;
    btnDelIpRange: TButton;
    procedure FormCreate(Sender: TObject);
    procedure BtnCheckIPClick(Sender: TObject);
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Radio1Click(Sender: TObject);
    procedure Radio2Click(Sender: TObject);
    procedure btnNbtClick(Sender: TObject);
    procedure lvNbtDblClick(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure PopupMenu1Popup(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure btnScanPortClick(Sender: TObject);
    procedure lvPortScanDblClick(Sender: TObject);
    procedure PageCtrlChange(Sender: TObject);
    procedure btnPingClick(Sender: TObject);
    procedure lvPingDblClick(Sender: TObject);
    procedure btnSendMsgClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure lvSendMsgDblClick(Sender: TObject);
    procedure btnSearchFieldClick(Sender: TObject);
    procedure btnSortClick(Sender: TObject);
    procedure cbScanPort1Change(Sender: TObject);
    procedure lvIpAddrDblClick(Sender: TObject);
    procedure btnRefreshIpCfgClick(Sender: TObject);
    procedure cbNbtDataLoadClick(Sender: TObject);
    procedure lvIpAddrRangeDblClick(Sender: TObject);
    procedure btnDelIpRangeClick(Sender: TObject);
  private
    { Private declarations }
    NbtHasItem: boolean;
    PingHasItem: boolean;
    PortScanHasItem: boolean;
    
    CurListView: TListView;
    //SaveFileName: string;
    PreviousPortScanIP: string;

    procedure SaveNbtData;
    procedure LoadNbtData;
    procedure AddNbtData(Item: TListItem);
    
    procedure SaveAddrRange;
    procedure LoadAddrRange;

    //----------------nbtstat---------------
    procedure NbtEndEvent(Sender: TObject);
    procedure NbtSendEvent(Sender: TObject);
    procedure NbtAddNodeEvent(Sender: TObject);

    //--------------scan prot---------------
    procedure PortShowProgress(Sender: TObject);
    procedure PortOnConnect(Sender: TObject);
    procedure PortOnExitScan(Sender: TObject);

    //--------------ping--------------------
    procedure PingReply(Sender: TObject);
    procedure PingBegin(Sender: TObject);
    procedure PingEnd(Sender: TObject);
    procedure PingSend(Sender: TObject);

    //--------------send message-------------
    procedure SendMsgResultEvent(Sender: TObject);

  public
    { Public declarations }
    //StrListIP:TStringList;
    procedure AddIpAddrRange(ip1, ip2: string);
  end;

type CheckType = (Name2IP, IP2Name);

TGetIPThread=class(TThread)
public
  //index:integer;
  check_type:CheckType;
  sIP,hostName:string;
  MyListitem:TListitem;
protected
  procedure Execute; override;
  procedure AddItem;
  Procedure AddResult;
  //procedure SaveToList;
end;

var
  ToolsForm: TToolsForm;

implementation
uses Main, Nbtstat, TCPScan, FmxUtils, PingThread, SendMsgUnit, IpCfg;
{$R *.DFM}

procedure TGetIPThread.AddItem;
var
  listitem: TListitem;
begin
  with ToolsForm do
  begin
      ListItem:=IPListview.Items.Insert(0);
      MyListItem:=ListItem;
      MyListItem.Caption := hostName;
      MyListitem.SubItems.add(sIP);
  end;
end;

procedure TGetIPThread.AddResult;
begin
  with ToolsForm do
  begin
      MyListItem.Caption := hostName;
      MyListitem.SubItems[0]:=sIP;
  end;
end;

procedure TGetIPThread.Execute;
var
  WSAData: TWSAData;
  HostEnt: PHostEnt;
  netaddr: u_long;
begin

  synchronize(AddItem);

  WSAStartup(2, WSAData);

  case check_type of
    Name2IP:
    begin
      HostEnt := gethostbyname(PChar(hostName));
      if HostEnt <> nil then
      with HostEnt^ do
      sIP := Format('%d.%d.%d.%d', [Byte(h_addr^[0]), Byte(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])])
      else sIP:='未知';
    end;
    IP2Name:
    begin
      netaddr:=inet_addr(Pchar(sIP));
      HostEnt:=GetHostbyaddr(pchar(@netaddr),30,0);
      if HostEnt <> nil then HostName:=strpas(HostEnt.h_name)
      else HostName:='未知';
    end;
  end;//end of case;

  WSACleanup;

  synchronize(AddResult);
  //synchronize(SaveToList);

end;

procedure TToolsForm.FormCreate(Sender: TObject);
var
  i: integer;
begin
  //StrListIP:=TStringList.Create;
  if bk<>nil then Brush.Bitmap :=  bk;

  Nbt := TNbt.Create(self);
  Nbt.MyListView := lvNbt;
  
  edtNbtIP1.Text := Nbt_IP1;
  edtNbtIP2.Text := Nbt_IP2;

  edtScanIP1.Text := ScanPort_IP1;
  edtScanIP2.Text := ScanPort_IP2;

  edtPing1.Text := Ping_IP1;
  edtPing2.Text := Ping_IP2;

  if FileExists('SendToHost.txt') then cbToHost.Items.LoadFromFile('SendToHost.txt');

  if (not MainForm.bNotAutoSaveNbt) then
  begin
    LoadNbtData;
  end
  else
  begin
    cbNbtDataLoad.Checked := true;
    lvSearchResult.Enabled := false;
    lvNbtDb.Enabled := false;
    label18.Enabled := false;
    label19.Enabled := false;
    label20.Enabled := false;
    cbField.Enabled := false;
    edtSearch.Enabled := false;
    btnSearchField.Enabled := false;
    btnSort.Enabled := false;
  end;

  for i := 0 to lvNbtDb.Columns.Count - 1 do cbField.Items.Add(lvNbtDb.Columns[i].Caption);
  cbField.ItemIndex := 0;

  EnumInterfaces;

  LoadAddrRange;

end;

procedure TToolsForm.BtnCheckIPClick(Sender: TObject);
var GetIPThread:TGetIPThread;
begin

  if Radio1.Checked then   //主機名->IP地址
  begin
    GetIPThread:=TGetIPThread.Create(true);
    GetIPThread.FreeOnTerminate := true;
    GetIPThread.check_type := Name2IP;
    GetIPThread.hostName := Edit1.Text;
    GetIPThread.sIP:='正在查找.....';
    GetIPThread.Resume;
  end
  else
  begin
    if IsLegalIP(Edit1.Text) then  //IP地址->主機名
    begin
      GetIPThread:=TGetIPThread.Create(true);
      GetIPThread.FreeOnTerminate := true;
      GetIPThread.check_type := IP2Name;
      GetIPThread.sIP:=Edit1.Text;
      GetIPThread.hostName := '正在查找.....';
      GetIPThread.Resume;
    end
    else ShowMessage(Edit1.text+'不是合法的IP地址');
  end;
  Edit1.Text := '';

end;

procedure TToolsForm.Edit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=vk_return then  BtnCheckIPClick(Self);
end;

procedure TToolsForm.Radio1Click(Sender: TObject);
begin
  Label1.Caption := '主機名(域名):';
  Edit1.SetFocus;
end;

procedure TToolsForm.Radio2Click(Sender: TObject);
begin
  Label1.Caption := 'IP地址:';
  Edit1.SetFocus;
end;

procedure TToolsForm.btnNbtClick(Sender: TObject);
begin

  if btnNbt.Tag = 0 then
  begin
    btnNbt.Tag := 1;
    btnNbt.Caption := '停止';
    NbtHasItem := false;

    if (not IsLegalIP(edtNbtIP1.Text))or(not IsLegalIP(edtNbtIP2.Text))  then
    begin
      ShowMessage('IP地址非法,請重新輸入');
      exit;
    end;

    //btnNbt.Enabled := False;
    edtNbtIP1.Enabled := false;
    edtNbtIP2.Enabled := false;
    spInterval.Enabled := false;
    //BorderIcons := [{biSystemMenu,}biMaximize];

    {Nbt := TNbt.Create(self);
    Nbt.MyListView := lvNbt; }  //FormCreate

    Nbt.StartIP := edtNbtIP1.Text;
    Nbt.EndIP := edtNbtIP2.Text;
    Nbt.wait_time := spInterval.Value;
    Nbt.OnEndEvent := NbtEndEvent;
    Nbt.OnSendEvent := NbtSendEvent;
    Nbt.OnAddNodeEvent := NbtAddNodeEvent;
    Nbt.Start;
  end
  else
  begin
    btnNbt.Tag := 0;
    btnNbt.Caption := '開始';

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费观看高清| 97精品国产97久久久久久久久久久久| 欧美日韩视频一区二区| 国产精品99久久久久久有的能看| 69堂国产成人免费视频| 亚洲高清在线精品| 337p亚洲精品色噜噜狠狠| 美国十次综合导航| 26uuu亚洲综合色欧美| 国产麻豆一精品一av一免费 | 蜜臀99久久精品久久久久久软件 | 欧美大片在线观看| 国产在线国偷精品免费看| 国产亚洲制服色| 97精品电影院| 日韩av一二三| 久久精品人人做| 99精品欧美一区二区蜜桃免费| 亚洲香肠在线观看| 777午夜精品视频在线播放| 蜜臀精品久久久久久蜜臀| 久久久久久久久99精品| 91美女片黄在线观看91美女| 五月婷婷激情综合| 久久午夜电影网| 99久久99久久精品免费看蜜桃 | 9191久久久久久久久久久| 久久福利视频一区二区| 国产精品毛片久久久久久| 欧美无人高清视频在线观看| 另类综合日韩欧美亚洲| 国产精品卡一卡二| 欧美一级搡bbbb搡bbbb| 成人黄色大片在线观看| 日一区二区三区| 中文字幕av一区二区三区免费看| 欧美亚洲自拍偷拍| 国产一区视频在线看| 亚洲制服丝袜av| 久久久影视传媒| 欧美日韩国产精品成人| 国产成人在线视频免费播放| 亚洲国产婷婷综合在线精品| 国产欧美1区2区3区| 欧美日韩小视频| 波多野结衣欧美| 久久国产精品露脸对白| 亚洲国产一区二区三区| 中文字幕一区二区三| 精品国产乱码久久久久久老虎 | 国产精品丝袜一区| 91精品国产免费| 色婷婷久久久久swag精品 | 国内精品伊人久久久久av一坑| 国产精品黄色在线观看| 精品少妇一区二区三区免费观看| 色综合久久中文字幕| 麻豆久久一区二区| 亚洲国产精品一区二区久久恐怖片 | 日日嗨av一区二区三区四区| 国产精品久久久久永久免费观看 | 欧美日韩一区成人| caoporm超碰国产精品| 麻豆91小视频| 午夜精品123| 一区二区三区美女| 国产精品二三区| 国产视频一区在线观看 | 国产一区二区三区美女| 奇米精品一区二区三区在线观看 | 日韩欧美国产午夜精品| 欧美日韩视频在线观看一区二区三区| 91免费精品国自产拍在线不卡| 粉嫩一区二区三区性色av| 美女免费视频一区二区| 日本三级韩国三级欧美三级| 婷婷综合在线观看| 亚洲成av人片在线| 婷婷开心激情综合| 五月天中文字幕一区二区| 亚洲成av人片| 亚欧色一区w666天堂| 一区二区三区欧美视频| 怡红院av一区二区三区| 亚洲色图制服诱惑| 亚洲天堂精品视频| 一区二区三区小说| 亚洲国产一区二区在线播放| 午夜亚洲福利老司机| 午夜精品福利一区二区三区蜜桃| 亚洲风情在线资源站| 午夜激情久久久| 日韩av一区二区三区四区| 老司机精品视频线观看86| 国内精品国产三级国产a久久| 国产一区不卡视频| 成人av在线一区二区| 波多野结衣在线aⅴ中文字幕不卡| 国产精品一二三区| www.av精品| 欧美日韩视频在线观看一区二区三区| 欧美另类变人与禽xxxxx| 欧美一区二区在线观看| 精品裸体舞一区二区三区| 久久精品人人做| 亚洲人成电影网站色mp4| 亚洲18色成人| 激情成人午夜视频| gogo大胆日本视频一区| 欧美三级电影精品| 精品国产乱码久久久久久久| 亚洲欧洲一区二区在线播放| 亚洲一区二区三区中文字幕在线| 日本成人中文字幕在线视频 | 国产99一区视频免费| 99在线精品观看| 日韩一区二区免费高清| 国产精品视频观看| 亚洲午夜一二三区视频| 老司机精品视频在线| 91蝌蚪porny| 日韩精品一区二区三区四区视频| 亚洲国产精品v| 亚洲午夜日本在线观看| 国产一二精品视频| 欧美影院午夜播放| 久久久99精品免费观看不卡| 亚洲自拍欧美精品| 国产成人综合在线观看| 欧美性猛交xxxxxx富婆| 精品国精品国产| 亚洲激情自拍偷拍| 国产精品12区| 91精品国产aⅴ一区二区| 国产精品久久久久影院| 日本怡春院一区二区| av亚洲精华国产精华精| 精品久久久久久久久久久久包黑料 | 在线观看视频91| 国产欧美精品区一区二区三区| 日韩高清一区在线| 色婷婷久久久亚洲一区二区三区| 久久久久久久久久电影| 男女性色大片免费观看一区二区| 99re成人精品视频| 久久久影院官网| 免费成人美女在线观看| 91国产成人在线| 国产精品久久久久久久久图文区 | 偷窥国产亚洲免费视频| 国产不卡视频在线播放| 日韩欧美国产一区在线观看| 亚洲自拍与偷拍| 91香蕉视频污| 国产精品乱码人人做人人爱 | 亚洲高清在线精品| 91久久精品一区二区| 国产精品理论片在线观看| 国产精品一区二区免费不卡| 日韩欧美一级二级| 日韩高清不卡一区二区| 欧美中文字幕久久| 一区二区三区欧美久久| 粉嫩一区二区三区在线看| 久久综合久久综合亚洲| 男男视频亚洲欧美| 欧美一区二区不卡视频| 日韩电影免费一区| 欧美一区二区三区在线观看| 亚洲成人自拍网| 欧美日韩成人高清| 午夜伦欧美伦电影理论片| 欧美日韩精品三区| 五月天婷婷综合| 91精品国产综合久久久久 | 免费成人小视频| 日韩一二三四区| 精品一区二区三区在线播放视频| 精品噜噜噜噜久久久久久久久试看| 午夜电影网一区| 欧美精品少妇一区二区三区 | 久久久久国产成人精品亚洲午夜| 国产美女久久久久| 中文字幕乱码久久午夜不卡| 99视频超级精品| 最新不卡av在线| 欧美视频一区在线观看| 日本va欧美va精品发布| 久久久欧美精品sm网站| 国产suv精品一区二区883| 亚洲天堂2014| 欧美视频你懂的| 美女脱光内衣内裤视频久久网站| 久久伊人中文字幕| www.亚洲在线| 性做久久久久久免费观看欧美| 日韩一级片网站| 国产成人精品免费看| 亚洲乱码国产乱码精品精小说| 欧美日韩一区二区三区不卡|