Mscomm事件的疑惑
我有个命令要通过Mscomm来发,请各位帮我看看为什么这里通不过呢?
如果采用被屏蔽的那四行中的二行就可以。
因为以后其中要加参数,所以要通过算法来实现。
请帮忙!
在线等!
void YCTEmTime(TMSComm *ms)
{
BYTE Sum;
AnsiString Sum1;
int Sum2,Sum3;
Sum1 = "";
Sum2 = 0;
Sum3 = 0;
Variant Command = VarArrayCreate(OPENARRAY(int, (0,21)), varByte);
if (!ms->PortOpen) return;
Command.PutElement(0x09, 0);
Command.PutElement(0x30, 1);
Command.PutElement(0x31, 2);
Command.PutElement(0x30, 3);
Command.PutElement(0x34, 4);
Command.PutElement(0x32, 5);
Command.PutElement(0x30, 6);
Command.PutElement(0x30, 7);
Command.PutElement(0x33, 8);
Command.PutElement(0x30, 9);
Command.PutElement(0x37, 10);
Command.PutElement(0x32, 11);
Command.PutElement(0x34, 12);
Command.PutElement(0x31, 13);
Command.PutElement(0x36, 14);
Command.PutElement(0x33, 15);
Command.PutElement(0x34, 16);
Command.PutElement(0x32, 17);
Command.PutElement(0x30, 18);
Sum = 0x30 + 0x31 + 0x30 + 0x34 + 0x32 + 0x30 + 0x30 + 0x33 + 0x30 + 0x37 +
0x32 + 0x34 + 0x31 + 0x36 + 0x33 + 0x34 + 0x32 + 0x30;
Sum1 = IntToHex(Sum,2);
Sum2 = Sum1.SubString(1,1).Trim().ToInt();
Sum3 = Sum1.SubString(2,1).Trim().ToInt();
Command.PutElement('Sum2', 19);
Command.PutElement('Sum3', 20);
// Command.PutElement('8', 19);
// Command.PutElement('7', 20);
// Command.PutElement(0x38, 19);
// Command.PutElement(0x37, 20);
Command.PutElement(0x0D, 21);
ms->Output = Command;
}