5,388
社区成员
发帖
与我相关
我的任务
分享
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
Str: string;
i:integer;
KGlist:Tstringlist;
begin
KGlist:=Tstringlist.Create;
memo1.Clear;
memo4.Clear;
SetLength(Str, BufferLength);
Move(buffer^, PChar(@Str[1])^, bufferlength);
Memo1.Text := Str;
for i:= 0 to memo1.Lines.Count-1 do
begin
if pos('+',memo1.Lines.Strings[i])<>0 then
begin
memo4.Lines.Add(Trim(Copy(memo1.Lines.Strings[i],pos('+',memo1.Lines.Strings[i])+1,Pos('kg',memo1.Lines.Strings[i])-pos('+',memo1.Lines.Strings[i])-1)));
Break;
end;
end;
//下面几句是让Memo1下拉的,让接收的数据始终在最前面
// Memo1.SelStart := Length(Memo1.Text);
// Memo1.SelLength := 0;
memo2.Lines.Add('接收一次,序号:'+inttostr(memo2.Lines.Count+1));
if (memo4.Lines.Strings[0]<>'0.000') and (PD=true) then
begin
memo3.Lines.Add(Memo4.Lines.Strings[0]+' KG') ;
pd:=false;
end ;
if (memo4.Lines.Strings[0]='0.000') and (PD=False) then
begin
pd:=true;
end ;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
pd:=true;
Comm1.StartComm;
end;