永发信息网

谁能讲讲这段代码是什么意思——Delphi

答案:2  悬赏:0  手机版
function ByteToSingle(B1,B2,B3,B4: Byte): Single;
//************************************************
//功能:字节转换成Single型数据
var
//outputsingle:single; // 输出数值
outputPsingle:PSingle; // 输出数值用到的指针
outputPchar:Pchar; // 输出数值用到的转换字符串
outputArr:array [1..4]of byte;// 输出数值用到的字符数组
begin
outputArr[1]:=0;
outputArr[2]:=0;
outputArr[3]:=0;
outputArr[4]:=0;

outputPchar:=@(outputArr[1]);
outputPchar[1]:= char(strtoint('$'+IntToHex(B1,2)));
outputPchar[2]:= char(strtoint('$'+IntToHex(B2,2)));
outputPchar[3]:= char(strtoint('$'+IntToHex(B3,2)));
outputPchar[4]:= char(strtoint('$'+IntToHex(B4,2)));

outputPsingle := PSingle(outputPchar);
Result := outputPsingle^;
end;
最佳答案
函上面已经有说明了,这个函数的作用是将四个byte(字节)转成一个Single类型。但谁写的这个函数写得很蛋疼,下面这段代码象脱裤子放屁一样:
outputPchar:=@(outputArr[1]);
outputPchar[1]:= char(strtoint('$'+IntToHex(B1,2)));
outputPchar[2]:= char(strtoint('$'+IntToHex(B2,2)));
outputPchar[3]:= char(strtoint('$'+IntToHex(B3,2)));
outputPchar[4]:= char(strtoint('$'+IntToHex(B4,2)));

改成这样好了:

function ByteToSingle2(B1,B2,B3,B4: Byte): Single;
//************************************************
//功能:字节转换成Single型数据
var
outputArr:array [1..4]of byte;// 输出数值用到的字符数组
begin
outputArr[1]:=B1;
outputArr[2]:=B2;
outputArr[3]:=B3;
outputArr[4]:=B4;

Result := PSingle(@outputArr)^;
end;
全部回答

这段代码使用了大量的定义符号,不知道哪个是变量,哪个是常数,因此无法读懂,除非能看到全貌,否则很难猜测含义。唯一能猜测的是adj_vtg.edit3应该是某个文本输入框。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
下列对组成细胞的分子的描述,不正确的是AA激
媚娘泡菜店在哪里啊,我有事要去这个地方
赤壁市咸宁电信时代洒店地址在哪,我要去那里
东岘峰茶庄地址在什么地方,我要处理点事
普拉达女包拉链生锈
在济南市立三院做CT和心脏彩超多少钱啊,谢谢
广义的项目建设人力资源管理是指
扬中市粮食收储中心在哪里啊,我有事要去这个
召陵区漯河正源康护院怎么去啊,谁知道地址啊
下列选项中,对社区工作地区发展模式的评价,
辞职后原来入的公司股份可以取回吗
厦门沙茶粉什么牌子比较好?
高野洗衣我想知道这个在什么地方
辩论会:开卷有益开卷有益,这是一句古话,但有
亚洲气候复杂多样分布最广的气候类型是,其气
推荐资讯
南美洲大陆南端同火地岛等岛屿之间的海峡叫什
人们所说的耳后见腮到底说的是什么长相?是不
等待戈多哪段最精彩?演12-15分钟的话哪段比
蜀门游戏中火峨眉与水峨眉那个PK比较厉害?
OPPO R15梦境版和普通版有什么区别
怎样在QQ里找到附近打招呼的人
机动车款未保证安全车距罚款多少
电地暖会因家具小面积覆盖损坏吗?
公路石料厂我想知道这个在什么地方
退一步是风景,进一步是人生?
保税区环路经过4S集群店吗?
煤八路/东盐路(路口)地址在什么地方,想过去
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?