当前位置:主页>销售管理软件> 列表

关于spcomm 找易语言进销存

库存管理软件版1楼: 取它返回的值必须用move方法吗?能不能直接取buffer里的值?

2楼: 没有人知道吗 如易语言进销存

3楼: 不明白说的,这控件都触发事件的啊,使用里面的变量就可以了

4楼: to:wwr74
如下:我把Buffer指针赋给temp再取temp里的值就行,直接取Buffer里的值就不行。请大家帮帮忙。
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
temp : pchar;
begin
move(Buffer,temp,BufferLength);
memo1.Lines.Add(temp);
end;

5楼: 大家快来看看呀,我在线等呀。

6楼: 并不一定非要move方法,直接读取也可以
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
pStr : pchar;
begin

pStr:= Buffer;
memo1.text := memo1.Text + pstr;
end;
这样就行了

库存管理软件版7楼: 直接到buffer里取不把它付给pstr怎么不行呢?

8楼: procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);


type Rev=array[1..64] of byte ;
var
A:array [0..63] of byte;
B:array [1..64] of byte;
myRev:^Rev;
i,x,y,j,k:integer;
s,s1,s2,s3,s4:String;
R:myCRC;
begin
myRev:=buffer;
for i:=1 to bufferLength do
begin
s:=s+intToHex(byte(myRev[i]),2);
B[i]:=strtoint(intToHex(byte(myRev[i]),2));
end;
R:=Crc16(B);
if (B[62]<>R[1]) or (B[63]<>R[0]) then
exit;
memo1.Lines.Add(s);
memo1.Lines.Add(#13);
end;

9楼: 接受答案了.