当前位置:主页>仓库管理软件> 列表

spcomm数据接收的问题 找工程档案管理软件

库存管理软件版1楼: 我从串口中读数据,每条记录的格式是:年、月、日、时、分、秒、事件代号。可我用spcomm读出来的数据每条记录都缺最后一个字节(事件代号),但用commix却都能读出来,各位朋友说说这可能是什么导致的呢?谢谢,分不多了,不好意思,

2楼: http://www.delphifans.com/SoftView/SoftView_789.html
是個實例,你下載看代碼就可以了。 如金蝶财务软件介绍

3楼: 谢谢bbscom,这我运行了,得出的结果 跟我的程序 读出的一样,每条记录最后一位读不出来

4楼: 有朋友知道怎么回是马?

5楼: 把你的读取代码贴出来看看

6楼: 很简单的,没啥花头 ,是不是属性设置方面要注意什么?
procedure TfrmMain.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
viewstring : string;
i:integer;
rbuf:array[0..1024] of byte;
begin
viewstring:='''';

Move(Buffer^,pchar(@rbuf)^,BufferLength);

for i:=0 to BufferLength-1 do
begin
viewstring:=viewstring+inttohex(rbuf[i],2);
viewstring:=viewstring+'' '';
end;
memo1.Lines.Add(viewstring);
memo1.Lines.Add(''共计:''+inttostr(BufferLength));
Memo1.Invalidate;


end;

库存管理软件版7楼: 另外我这http://www.delphibbs.com/delphibbs/dispq.asp?lid=3262848帖中由于无人应答所以没法散分,但问题,我已经解决了,高手解决了这个问题,在那边留个名,我会把那100分也分给你们,谢谢

8楼: 比如我用commix读出来的是:
24 10 28 02 52 33 11
24 10 28 02 52 27 11
24 10 27 09 19 14 11
24 10 27 09 06 27 11
24 10 27 08 59 33 11
24 10 27 08 58 08 11
而用上面的spcomm写的却是如此结果
24 10 28 02 52 33
24 10 28 02 52 27
24 10 27 09 19 14
24 10 27 09 06 27
24 10 27 08 59 33
24 10 27 08 58 08

9楼: memo1.Lines.Add(''共计:''+inttostr(BufferLength));
这个输出的数据长度对不对呢

10楼: 不对阿

11楼: memo1.Lines.Add(''共计:''+inttostr(BufferLength));
这个输出的数据长度对不对呢

这个长度就是丢失11后的长度

12楼: 那你用串口工具給你的接收程序發數據,看看是不是最候一位的問題,至少查明問題是不是出在move函數上的? 如工程档案管理软件

13楼: 没用过SPCOM,我都用的是ComPORT,
在 ComPORT中有个属性 EventChar(是设置字符,来触发接收事件)
不知道SPCOM有没这个属性,如果有,你可以改改这个看

库存管理软件版14楼: 多人接受答案了。