delphi 语句,简单得很,帮忙给分(300)

  • 主题发起人 主题发起人 zhoufujin
  • 开始时间 开始时间
Z

zhoufujin

Unregistered / Unconfirmed
GUEST, unregistred user!
下面是钱龙成交明细数据结构:网上找的,不会改写为Delphi语句,请帮忙。数据结构 每个记录是5*32bit  时间(前16bit):  mi=fread(fid,1,'ubit16');//hour*60+minutes  成交价格(32bit):  a1=fread(fid,1,'ubit32');//成交价格*1000 下面是重点:100分!  成交量(共32bit,比较恶心,还要转换才行):  a=fread(fid,1,'ubit23');  m0=fread(fid,1,'ubit1');  m1=fread(fid,1,'ubit5');  n=fread(fid,1,'ubit3');  s=15+2*(m1-6);  if m0==1;   a=a/2^(1+(10-m1)*2)+2^(s-1);  else;   a=a/2^(2+(10-m1)*2)+2^(s-2);  end;  a=a/100;//成交数量请写出“下面是重点:100分!”下面的Delphi语句。
 
a=fread(fid,1,'ubit23');m0=fread(fid,1,'ubit1');m1=fread(fid,1,'ubit5');n=fread(fid,1,'ubit3');个人认为是取 fid 的第 23、1、5、3位(也可能是取的长度为23位、1位等),你可以测试一下(或者把数据发上来看看),至于后面的语句,没有什么技术含量了,好像最后还除以100返回“手数”,挺人性化的,估计也是一股民写的。
 
大致猜测一下:举个例子:a=fread(fid,1,'ubit23');fread应该是指文件读(File Read)。fid应该指文件中的指针,或是文件的指针(File ID)。1应该指从当前位置开始。'ubit23'应该是指无符号(u),比特(bit)类型的值,读23位(23)。a=fread(fid,1,'ubit23');m0=fread(fid,1,'ubit1');m1=fread(fid,1,'ubit5');n=fread(fid,1,'ubit3');上面这四句ubit后面的加起来一共是32,指一个32位长的2进制数,保存着上面说的四项内容。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部