linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘网络学院网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > Delphi >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·HexToStr函数和StrToHex函数
·Delphi中的进制转换
·delphi轻松设置无边框透明窗体
·delphi第三方控件安装(Ehlib)
·DELPHI组件安装全攻略
·delphi动态创建控件
·开发工具比较Visual C++ VS De
·delphi完整身份证效验程序实例
·delphi中的Format函数详解
·delphi编程获取打印机的打印任
·如何判断文本文件的编码格式
·深入研究Variant数组
·用delphi编写网络游戏的外挂
·Delphi技巧-用户自定义数据类型
·delphi设置控件透明
最新文章
·在应用程序中跟踪MOUSE的坐标
·压缩和修复MS Access 2000文件
·DELPHI 6.0 动画制做
·怎样在Delphi中调用LastError信
·怎样得到主域服务器名称
·怎样利用递归实现删除某一目录
·读出主键下所有项
·如何制作照片底片效果的图像(
·获得Modem的状态
·WebBrowser屏幕滚动的实现,设
·有关字符串处理的小技巧
·Delphi建立键盘鼠标动作纪录与
·Delphi中布尔类型辨析
·DELPHI程序注册码设计
·图形的不规则的Copy
Google
 
Delphi中的进制转换
[ 作者:  加入时间:2007-11-01 10:47:39  来自:Linux联盟收集整理 ]
1.HexToBin() 十六进制转换二进制xsZLinux联盟
所在单元:ClassesxsZLinux联盟
Delphi语法:xsZLinux联盟
function HexToBin(Text, Buffer: PChar; BufSize: Integer): Integer
xsZLinux联盟
描述:xsZLinux联盟
调用HexToBin函数转换十六进制字符串到相应的二进制值。xsZLinux联盟
Text是一个表示十六进制值的字符串。xsZLinux联盟
Buffer返回转换后的二进制结果值。xsZLinux联盟
BufferSize表示Buffer的大小。Text需要指向至少2*BufSize的十六进制字符,因为每两个十六进制字符表现为一个字节。xsZLinux联盟
HexToBin返回在Buffer中因为Text没有包含有效的十六进制字符('0'..'f')而还没有被用的字符数量.xsZLinux联盟
注意:十六进制数必须使用小写字符;HexToBind不能识别大写字符。xsZLinux联盟
xsZLinux联盟
2.BinToHex() 二进制转换十六进制 xsZLinux联盟
所在单元:ClassesxsZLinux联盟
Delphi语法:xsZLinux联盟
procedure BinToHex(Buffer, Text: PChar; BufSize: Integer);
xsZLinux联盟
描述:xsZLinux联盟
调用BinToHex转换buffer中的二进制值为它所表示的十六进制字符串xsZLinux联盟
Buffer是一个字节的缓冲区,其中包含二进制值xsZLinux联盟
Text返回一个以null为结束字符的字符串,表示Buffer作为十六进制数的值xsZLinux联盟
BufSize表示Buffer的大小。Text需要指向一系列字符,这些字符至少有2*BufSize大小字节。xsZLinux联盟
xsZLinux联盟
3.IntToHex()将整型数转换为十六进制数xsZLinux联盟
所在单元:SysUtilsxsZLinux联盟
Delphi语法:xsZLinux联盟
xsZLinux联盟
function IntToHex(Value: Integer; Digits: Integer): string; overload;xsZLinux联盟
function IntToHex(Value: Int64; Digits: Integer): string; overload;
xsZLinux联盟
描述:xsZLinux联盟
IntToHex转换一个数字为这个数字十六进制表示的字符串。Value是要转换的数字。参数Digits指定字符最小宽度,最小宽度不足时将用0填充。xsZLinux联盟
xsZLinux联盟
4.StrToInt()字符串转换成整型数xsZLinux联盟
所在单元:SysUtilsxsZLinux联盟
Delphi语法:xsZLinux联盟
function StrToInt(const S: string): Integer;
xsZLinux联盟
描述:xsZLinux联盟
返回字符串S转换成整数,字符串非整数表达时将引起异常,十六进制字符串转换为整型数要求在字符串前面添加$即可。xsZLinux联盟
xsZLinux联盟
5.把一个整数变成二进制字符串 xsZLinux联盟
xsZLinux联盟
function IntToBinaryStr(TheVal: LongInt): string;xsZLinux联盟
varxsZLinux联盟
counter: LongInt;xsZLinux联盟
beginxsZLinux联盟
  
{This part is here because we remove leading zeros.  ThatxsZLinux联盟
means that a zero value would return an empty string.}
xsZLinux联盟
  if TheVal = 0 then beginxsZLinux联盟
    result := '0';xsZLinux联盟
    exit;xsZLinux联盟
  end;xsZLinux联盟
  result := '';xsZLinux联盟
  counter := $80000000;xsZLinux联盟
  {Suppress leading zeros}xsZLinux联盟
  while  ((counter and TheVal) = 0) do beginxsZLinux联盟
    counter := counter shr 1;xsZLinux联盟
    if (counter = 0) then break; {We found our first "1".}xsZLinux联盟
  end;xsZLinux联盟
  while counter > 0 do beginxsZLinux联盟
    if (counter and TheVal) = 0 then result := result + '0'xsZLinux联盟
    else  result := result + '1';xsZLinux联盟
    counter := counter shr 1;xsZLinux联盟
  end;xsZLinux联盟
end;xsZLinux联盟
xsZLinux联盟
// Binary to IntegerxsZLinux联盟
function BinToInt(Value: string): Integer;xsZLinux联盟
varxsZLinux联盟
i, iValueSize: Integer;xsZLinux联盟
beginxsZLinux联盟
  Result := 0;xsZLinux联盟
  iValueSize := Length(Value);xsZLinux联盟
  for i := iValueSize downto 1 doxsZLinux联盟
  if Value[i] = '1' then Result := Result + (1 shl (iValueSize - i));xsZLinux联盟
end;xsZLinux联盟
xsZLinux联盟
// Integer to BinaryxsZLinux联盟
function IntToBin(Value: Longint; Digits: Integer): string;xsZLinux联盟
varxsZLinux联盟
i: Integer;xsZLinux联盟
beginxsZLinux联盟
  Result := '';xsZLinux联盟
  for i := Digits downto 0 doxsZLinux联盟
  if Value and (1 shl i) <> 0 thenxsZLinux联盟
  Result := Result + '1'xsZLinux联盟
  elsexsZLinux联盟
  Result := Result + '0';xsZLinux联盟
end;
xsZLinux联盟
xsZLinux联盟
6.十六进制转换二进制 xsZLinux联盟
xsZLinux联盟
function HexToBin(Hexadecimal: string): string;xsZLinux联盟
constxsZLinux联盟
BCD: array [0..15] of string =xsZLinux联盟
('0000', '0001', '0010', '0011', '0100', '0101', '0110', '0111',xsZLinux联盟
'1000', '1001', '1010', '1011', '1100', '1101', '1110', '1111');xsZLinux联盟
varxsZLinux联盟
i: integer;xsZLinux联盟
beginxsZLinux联盟
  for i := Length(Hexadecimal) downto 1 doxsZLinux联盟
  Result := BCD[StrToInt('$' + Hexadecimal[i])] + Result;xsZLinux联盟
end;
xsZLinux联盟
xsZLinux联盟
7.八进制和十进制的转换xsZLinux联盟
xsZLinux联盟
function OctToInt(Value: string): Longint;xsZLinux联盟
varxsZLinux联盟
i: Integer;xsZLinux联盟
int: Integer;xsZLinux联盟
beginxsZLinux联盟
  int := 0;xsZLinux联盟
  for i := 1 to Length(Value) doxsZLinux联盟
  beginxsZLinux联盟
    int := int * 8 + StrToInt(Copy(Value, i, 1));xsZLinux联盟
  end;xsZLinux联盟
  Result := int;xsZLinux联盟
end;xsZLinux联盟
xsZLinux联盟
function IntToOct(Value: Longint; digits: Integer): string;xsZLinux联盟
varxsZLinux联盟
rest: Longint;xsZLinux联盟
oct: string;xsZLinux联盟
i: Integer;xsZLinux联盟
beginxsZLinux联盟
  oct := '';xsZLinux联盟
  while Value <> 0 doxsZLinux联盟
  beginxsZLinux联盟
    rest  := Value mod 8;xsZLinux联盟
    Value := Value div 8;xsZLinux联盟
    oct := IntToStr(rest) + oct;xsZLinux联盟
  end;xsZLinux联盟
  for i := Length(oct) + 1 to digits doxsZLinux联盟
  oct := '0' + oct;xsZLinux联盟
  Result := oct;xsZLinux联盟
end;
xsZLinux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·用Delphi编写圆周率模拟器  (2007-11-01 10:43:02)
 ·在Delphi编程中使用C语言代码  (2007-11-01 10:42:15)
 ·Delphi编程实现清空回收站  (2007-11-01 10:41:17)
 ·Delphi编程调用指定的Windows程序  (2007-11-01 10:40:24)
 ·delphi无DLL版Downloader的代码  (2007-11-01 10:38:23)
 ·delphi编程获取打印机的打印任务列表  (2007-11-01 10:36:49)
 ·用Delphi编程检测打印机状态  (2007-11-01 10:35:56)
 ·使delphi代码简洁的五条忠告  (2007-11-01 10:35:14)
 ·深入理解Delphi的消息机制  (2007-11-01 10:34:17)
 ·delphi开发嵌入式IE浏览器监控程序  (2007-11-01 10:33:29)