一個關于StrPCopy問題。
我碰到一個關于StrPCopy比較棘手的問題﹐煩請各位高手指點。
程序主要過程如下﹕
function ReadComm(hPort:THandle; ReadData:PChar; ReqReadNum : Cardinal):Boolean;stdcall;
var
Buf_data: Array[1..100]of char;
S: String;
buf:PChar;
str1:String;
j:integer;
begin
ReadFile(hPort, Buf_Data, Coms.cbInQue, Coms.cbInQue, @lpol);
S:=S+Copy(Buf_Data, 1, Coms.cbInQue);
StrPCopy(ReadData, S);
for j := 0 to StrLen(ReadData)-1 do
BEGIN
str1 := str1+' '+IntToHex(ord(ReadData[j]),2);
END;
end;
當我用了StrPCopy指令后﹐
正確的str1結果應該是:81 81 81 01 00 00 05,但現在執行的結果是:81 81 81 01,把00后面的結果切掉了﹐應該如何使用才能得到我想要的結果﹖