Delphi IP地址转换


本文整理自网络,侵删。

 

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function HexToInt(str:string) : Int64;
var
i :Word;
value : Int64;
pos : Word;
begin
value:=0;
pos:=length(str);
for i:=1 to pos do
 begin
case str[i] of
'f','F':
value := value*16+15;
'e','E':
value := value*16+14;
'd','D':
value := value*16+13;
'c','C':
 value := value*16+12;
'b','B':
value := value*16+11;
'a','A':
value := value*16+10;
'0'..'9':
value := value*16+ord(str[i])-ord('0');
else
 result:=value;
exit;
end;
result:=value;
end;
end;

function GetHexIP(ip:string):string;
var
  strlist:TStringList;
  i:Integer;
  hexip:string;
begin
  hexip:=ip;
  strlist:=TStringList.Create;
  strlist.Delimiter:='.';
  strlist.DelimitedText:=ip;
  for i := 0 to strlist.Count - 1 do
  begin
    hexip:=hexip+IntToHex(StrToInt(strlist.Strings[i]),2);
  end;
  hexip:=IntToStr(HexToInt(hexip));
  Result :=hexip;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
  strlist:TStringList;
  i:Integer;
begin
  strlist:=TStringList.Create;
  strlist.Delimiter:='.';
  strlist.DelimitedText:=Edit1.Text;
  for i := 0 to strlist.Count - 1 do
  begin
    Edit2.Text:=Edit2.Text+IntToHex(StrToInt(strlist.Strings[i]),2);
  end;
  Edit2.Text:=Edit2.Text;
  Edit2.Text:=IntToStr(HexToInt(Edit2.Text));

end;

end.

相关阅读 >>

Delphi显示圆形头像circle image

Delphi memo控件对粘贴板的支持

进程防杀Delphi版(dll部分)

Delphi 内存中加载dll

Delphi insert 插入一个字符(串)

Delphi 日期相减 比较大小 过期时间函数

Delphi datetimetostr函数专用优化版

Delphi 泛型,存放n张图片

Delphi treeview中显示mainmenu菜单

Delphi xe3中使用tidftp的示例

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...