Delphi 十进制转十六进制函数怎么实现,不要IntTohex,返回的是string类型,要求返回的是Byte型? Delphi 十进制转十六进制函数怎么实现,不要IntTohex,以为IntTohex返回的是string类型!要求返回的是Byte型! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 type TBytes = array of Byte;function IntToBytes(value: Integer): TBytes;begin SetLength(Result, sizeof(Integer)); Move(value, Result, sizeof(Integer));end; 如果是阿发伯的答案,也可以通过定义结构体来达到: TIntegerByte = record case Boolean of True: (A: Integer); False: (B: Byte; C: Byte; D: Byte; E: Byte); end; 我要往端口发送数据,发的是ASCII码,不能发十进制的,只能发十六进制;比如‘0’就不能发十进制的48,只能发十六进制的30;而得到的数据是Integer型的48,必须得转换成$30. 你的这个是要把字符专程十六进制的字符发送,这样你要把每一个Byte转成Hex,给你一个函数参考,这个是把内存块直接转成16进制的文本串,你参考一下:function DataToHex(Data: PChar; Len: integer): string;{ 把指定的二进制数据转换成十六进制表示的字符串}begin SetLength(Result, Len shl 1); BinToHex(Data, PChar(Result), Len);end;如:要转Integer类型i: Integer;DataToHex(@i, SizeOf(Integer)); 这个有点晕char('0')=$30 (也等于48)既然要求返回byte,那都是二进制,既可以以十六进制输出(30),也可以以10进制输出(48)format('十进制:%d , 十六进制:%x',[ord('0'),ord('0')]) pascal问题 托盘无法删除的问题 请教一个有关于自定义FORM的初级问题 如何在DELPHI中进行时间比较 请大家看看这个问题,这段程序为什么能运行? 这里真的没高手吗?郁闷! 一个在DELPHI中用TMediaPlayer播放MPEG1的问题,高分求教! ☆☆☆☆ 算法问题,您能帮我解决吗??? ☆☆☆☆ 哪位高手能把下列VB代码转化为Delphi 高手们!ListView中怎么控制网格高度?怎么得到网格尺寸和坐标(Rect)? Delphi问题 Fastreport 控件打印格式设置求救
TBytes = array of Byte;function IntToBytes(value: Integer): TBytes;
begin
SetLength(Result, sizeof(Integer));
Move(value, Result, sizeof(Integer));
end;
case Boolean of
True: (A: Integer);
False: (B: Byte; C: Byte; D: Byte; E: Byte);
end;
我要往端口发送数据,发的是ASCII码,不能发十进制的,只能发十六进制;比如‘0’就不能发十进制的48,只能发十六进制的30;而得到的数据是Integer型的48,必须得转换成$30.
{
把指定的二进制数据转换成十六进制表示的字符串
}
begin
SetLength(Result, Len shl 1);
BinToHex(Data, PChar(Result), Len);
end;如:要转Integer类型
i: Integer;
DataToHex(@i, SizeOf(Integer));
既然要求返回byte,那都是二进制,既可以以十六进制输出(30),也可以以10
进制输出(48)format('十进制:%d , 十六进制:%x',[ord('0'),ord('0')])