+ -
当前位置:首页 → 问答吧 → 几个我没有弄明白的问题

几个我没有弄明白的问题

时间:2011-12-12

来源:互联网

NilArray: array[0..0] of byte;

DM.SendData(USER_INFOALL, 0, DM.NilArray);

ZeroMemory(@SendBuffer[0], 4096); //清空SendBuffer

var
  CharacterWord: WORD;
  DataLength: WORD;
  DataBuffer: array of BYTE;

  SendBuffer: array[0..4095] of BYTE;
  SendDataLength: WORD;
  UserID: string;
  MineID: string; //增加矿号 // Added by zhb 2011-12-12 11:40:54
  nRev: integer;
  temp: Word;
  DataLength := DataLength + 22; //用户20,特征字2
  SendDataLength := DataLength or $F000; //后12位4095为数据长,高4位用于校验,暂时F
  move(SendDataLength, SendBuffer[0], 2);
  move(CharacterWord, SendBuffer[2], 2);
  move(UserID[1], SendBuffer[4], Length(UserID));

1、DM.SendData(USER_INFOALL, 0, DM.NilArray) 这个传过来的NilArray仅仅是个地址?
2、SendDataLength := DataLength or $F000 整型值和$F000得到的结果值是什么?
3、move(UserID[1], SendBuffer[4], Length(UserID)); 
  userid是字符串,得到的SendBuffer是什么结果?



作者: jubobo   发布时间: 2011-12-12

1、DM.SendData(USER_INFOALL, 0, DM.NilArray) 这个传过来的NilArray仅仅是个地址?
内容把
2、SendDataLength := DataLength or $F000 整型值和$F000 异或 
3、move(UserID[1], SendBuffer[4], Length(UserID));  
  userid是字符串,得到的SendBuffer是什么结果?

SendBuffer【4】后面的内容

作者: jacknes009   发布时间: 2011-12-13