Dim Buffer As Variant
Buffer = MSComm1.Input
Dim CardNumber4 As Long
If CDec(Buffer(3)) > 127 Then
Buffer(3) = Buffer(3) - &H70
CardNumber4=CDec(Buffer(3))*2^24+CDec(Buffer(4))*2^16+(Buffer(5)*2^8)+Buffer(6)
else
CardNumber4=CDec(Buffer(3))*2^24+CDec(Buffer(4))*2^16+(Buffer(5)*2^8)+Buffer(6)我需要改成Delphi的程式
Buffer = MSComm1.Input
Dim CardNumber4 As Long
If CDec(Buffer(3)) > 127 Then
Buffer(3) = Buffer(3) - &H70
CardNumber4=CDec(Buffer(3))*2^24+CDec(Buffer(4))*2^16+(Buffer(5)*2^8)+Buffer(6)
else
CardNumber4=CDec(Buffer(3))*2^24+CDec(Buffer(4))*2^16+(Buffer(5)*2^8)+Buffer(6)我需要改成Delphi的程式
解决方案 »
- 用DELPHI读取EXE_DLL文件的相关参数
- 关于在dbgrid 动态改变某一个网格的颜色(不是某一行一列)
- 抽象类--〉〉〉〉为什么要有抽象类,他存在的意义是什么?? 各位指点..
- 请教:Indy的TCP Server如何接收byte?我现在只能收ascII
- BDE 连接 SQL 2000 报“用户'sa'登录失败,原因:未与信任的 SQL Server 连接相关连。登录不正确。”如何解决!
- 再次提问:如何用程序的方法来实现客户端对MS SQL的一些配置?
- 请教一个小问题:怎么清除键盘缓冲区啊???
- delphi7安装RC5.2
- 在form的.pas引用application.xxx没问题,但怎样在没有form的.pas中引用application?
- 关于在eclipse中用pyqt实现可视化编程
- 如何注册服务?
- BORLAND的64位编译器,是否支持DELPHI5.6.7版本?
var
buffer :variant;
len: integer;
CardNumber4: DWORD;
begin
len := MSComm.InBufferCount;
buffer := MSComm.Input;
if buffer[2] > 127 then begin
dec(buffer[2], $70);
end;
CardNumber4 := buffer[2]*(2 shl 24) + buffer[3]*(2 shl 16) + buffer[4]*(2 shl 8) + buffer[5];
end;差不多是这样,你自己调试一下.
buf :variant;
buffer :array of byte; SetLength(buffer, len);
Move(pchar(@buf)^, pchar(buffer)^, len);
不过你自己注意一下变量值界的问题吧.