黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 黑客编程 >> 正文
·没有路由密码权限时的鸽08-23·上网安全 Vista自我防范10-11
·让濒临崩溃的Windows XP10-11·有备无患,快速自制救急10-11
·要你好看!Windows看图工10-11·空间赞助网提供不同类型10-11
·讨论net.exe和net1.exe的10-10·让3389远程桌面传输更通10-10
·巧妙入侵渗透赌博站10-10·Aspx空间扫权限工具10-10
·Windows2003最新提权工具10-10·易淘乐提供100M免费全能10-10
·系统开机密码忘了不着急10-09·中意网络提供免费100M免10-09
·与众不同 Windows XP开始10-08·让桌面图标翻跟斗 在XP上10-08
·上海宽元站长资助计划-提10-08·个性化Windows XP的任务10-07
·趣盘提供3G免费网络硬盘10-07·秀山热线提供200MB免费全10-07
·一次艰辛的提权过程10-06·成功入侵IT大卖场的渗透10-06
·mysqlhack- MYSQL利用工10-06·lanker一句话PHP后门客户10-06
·WIXI提供3G免费多媒体网10-06·新人网络提供100M/ftp免10-06
·如何利用QQ带来高流量10-05·UuShare提供免费网络文件10-05
[图文]根据IP地址得到主机名(Delphi编程)
      ★★★★★

根据IP地址得到主机名(Delphi编程)

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-9-18 9:12:30

在网络程序的设计过程中,经常需要根据得到的IP地址取得主机的名称,本实例将演示如何根据用户输入的IP地址获取对应主机的名称。

向窗体上添加两个TLabel组件、两个TEdit组件和一个TButton组件,设计完成的主界面如图6-11所示。

6-11  主界面

在程序运行过程中首先需要向程序的uses段中加入Winsock,这样就可以调用与Winsock相关的函数进行操作。

AttributesFileName是两个全局变量。其中Word类型的Attributes变量用于存储文件的属性,而String类型的FileName属性用于存储文件的路径和文件名。

另外还要在FormCreate过程中添加下列代码:

procedure TfrmMain.btnConversionClick(Sender: TObject);

var

  WSAData: TWSAData;

  HostEnt: PHostEnt;

  IPAddress: string;

  addr: dword;

begin

    edtName.Clear;

    WSAStartup(2, WSAData);

    IPAddress:=edtAddress.Text;

    try

        addr := inet_addr(PChar(IPAddress));

        HostEnt:= GetHostByAddr(@addr, Length(IPAddress), PF_INET);

        edtName.Text:=HostEnt.h_name;

    except

        ShowMessage('无效的IP地址');

    end;

    WSACleanup;

end;

程序运行初期就会执行FormCreate中的代码,首先通过OpenDialog.Execute语句来显示一个提示读者选择文件的对话框。如果用户在该对话框中确认选择了一个有效文件后,就把文件路径和文件名等信息存储在变量FileName中,把文件读写属性等信息存储在变量Attributes中。然后通过判断Attributes分别与faReadOnlyfaArchivefaSysFilefaHidden常量比较的结果,来决定ReadOnlyArchiveSystemHidden4CheckBox组件的选中状态。

通过lblPosition.Caption:=lblPosition.Caption+ExtractFileDir(FileName)语句在lblPosition组件中显示文件位置,通过lblName.Caption:=lblName.Caption+ExtractFileName(FileName)语句显示文件名。最后通过GetFileSize函数和lblSize.Caption:=lblSize.Caption+Format('%d bytes', [GetFileSize(FileName)])语句来显示文件大小,GetFileSize函数代码如下:

function TfrmMain.GetFileSize(const FileName: string): LongInt;

var

  SearchRec: TSearchRec;

begin

  try

    if FindFirst(ExpandFileName(FileName), faAnyFile, SearchRec) = 0 then

      Result := SearchRec.Size

    else Result := -1;

  finally

    SysUtils.FindClose(SearchRec);

  end;

end;

首先声明SearchRec为一个查找记录,然后通过FindFirst(ExpandFileName(FileName), faAnyFile, SearchRec)语句来查找目标文件,找到后设置GetFileSize函数的返回值为目标文件的大小SearchRec.Size

[1] [2] 下一页

文章录入:cainiaowang    责任编辑:sygbox 
【字体:
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886