Delphi版IP地址与整型互转
unit Unit11; interface uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls; type
TForm11 = class(TForm)
edt1: TEdit;
btn1: TButton;
edt2: TEdit;
btn2: TButton;
procedure btn1Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
function ip2Int(const strIP: string): Int64;
function int2Ip(intIP: Int64): string;
{ Private declarations }
public
{ Public declarations }
end; var
Form11: TForm11; implementation {$R *.dfm} function TForm11.int2Ip(intIP : Int64) : string;
var
n : int64;
begin
Result := '';
n := intIP shr ;
intIP := intIP xor (n shl );
Result := IntToStr(n) + '.'; n := intIP shr ;
intIP := intIP xor (n shl );
Result := Result + IntToStr(n) + '.'; n := intIP shr ;
intIP := intIP xor (n shl );
Result := Result + IntToStr(n) + '.'; n := intIP;
Result := Result + IntToStr(n);
end; function TForm11.ip2Int(const strIP : string): Int64;
var
lst : TStringList;
i : integer;
begin
result := ;
lst := TStringList.Create;
try
lst.Delimiter := '.';
lst.DelimitedText := strIP; for i := to lst.Count - do
result := result + StrToInt64(lst[i]) shl ( - i * );
finally
lst.Free;
end;
end; procedure TForm11.btn1Click(Sender: TObject);
begin
edt2.Text := IntToStr(ip2Int(edt1.Text));
end; procedure TForm11.btn2Click(Sender: TObject);
begin
edt1.Text := int2Ip(StrToInt64(edt2.Text));
end; procedure TForm11.FormCreate(Sender: TObject);
begin
edt1.Text := '192.168.1.1';
btn1.Click;
end; end.
Delphi版IP地址与整型互转的更多相关文章
- PHP中IP地址与整型数字互相转换详解
这篇文章主要介绍了PHP中IP地址与整型数字互相转换详解,本文介绍了使用PHP函数ip2long与long2ip的使用,以及它们的BUG介绍,最后给出自己写的两个算法,需要的朋友可以参考下 IP转换成 ...
- php IP string与整型互换
PHP中有内置函数ip2long可以将ip地址转换整型. 使用long2ip把整型转换回ip地址 例子: $ip = '58.6.207.207'; $ip_int = ip2long($ip); e ...
- php 怎样将有范围的ip转化为整型范围
php中将IP转换成整型的函数ip2long()容易出现问题,在IP比较大的情况下,会变成负数.如下: <?php $ip = "192.168.1.2"; $ip_n = ...
- Delphi 获取Ip地址的方法总结
通过注册表获取或修改Ip 想到Windows会把系统网卡相关信息存入注册表,肯定可通过注册表读取具体ip信息.大致思路是找HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\W ...
- python字符串跟整型互转
print ("整型:",int(50))a=int(50)print("整型:",a)numStr = "50";print (" ...
- [daily][python2] int型IP地址与string型IP地址互转
使用python2,类似如下操作. >>> import socket >>> import struct >>> socket.ntohl(]) ...
- MySQL和PHP中以整型存储IP地址
正文:将IP地址以整型存储 一般我们在数据库中会用到ip地址用来查记录的等等,而ip地址是分为四段的,一般是用varchar或char类型存储.但是其实有更好的存储方法就是以整型存储IP地址. 因为c ...
- MySQL存储IP地址操作
数据库数据表创建语法: DROP TABLE IF EXISTS `admin`; CREATE TABLE IF NOT EXISTS `admin`( `adminid` INT UNSIGNED ...
- mysql 存储ip地址
mysql提供了两个方法来处理ip地址: inet_aton 把ip转为无符号整型(4-8位) inet_ntoa 把整型的ip转为电地址 插入数据前,先用inet_aton把ip地址转为整型,可以节 ...
随机推荐
- HDU 5755 Gambler Bo
可以设n*m个未知量,建立n*m个方程.位置i,j可以建立方程 (2*x[i*m+j]+x[(i-1)*m+j]+x[(i+1)*m+j]+x[i*m+j-1]+x[i*m+j+1])%3=3-b[i ...
- 《C++ Primer》之面向对象编程(二)
构造函数和复制控制 每个派生类对象由派生类中定义的(非 static)成员加上一个或多个基类子对象构成,当我们构造.复制.赋值和撤销一个派生类对象时,也会构造.复制.赋值和撤销这些基类子对象. 构造函 ...
- VBS脚本代码(手工编写---在windows 7上调用系统对话框,来选择文件)
'=========================================================================='' VBScript Source File - ...
- 在Activity之间传递数据—简单数据/Bundle
1.首先要知道怎么通过一个Activity 打开另一个Activity.主页面为MainActivity,另一个页面为OtherActivity.MainActivity中的按钮Id为btnStart ...
- how to increase an regular array length in java?
Arrays in Java are of fixed size that is specified when they are declared. To increase the size of t ...
- MPEG1的码流层次与各层次的作用
1. 序列层(Sequence layer) 序列层主要用于为随机播放提供全局参数支持,这些参数包括图像宽高.像素高宽比.帧率.码率.VBV大小.帧内量化矩阵.帧间量化矩阵. 2. 图像组层(Grou ...
- android版本 busybox
http://www.busybox.net/downloads/binaries/1.21.1/ 根据不同的平台选择busybox已经编译好的
- Java 中的四种引用及垃圾回收策略
Java 中有四种引用:强引用.软引用.弱引用.虚引用: 其主要区别在于垃圾回收时是否进行回收: 1.强引用 使用最普遍的引用.如果一个对象具有强引用,那就 类似于必不可少的生活用品,垃圾回收器绝不会 ...
- navicat连接oracle时发现 ORA-12737 set CHS16GBK
oracle安装目录下找到目录:\product\11.2.0\dbhome_1\BIN, 将箭头标注的三个文件(截图中为navicat中的目录,已经测试成功,亲们可以参考)从目录中拷贝纸navica ...
- Got a packet bigger than ‘max_allowed_packet’ bytes的解决方法
在使用 longtext 类型执行数据录入时,有时会抛出这个异常,从字面理解就是当前包大小超过 mysql 系统设置的包大小无法执行操作. 解释一下包大小这个东西:简单来说就是mysql把当前执行的m ...