WriteCommData的用法是什么?
ReceiveData是怎样用的??

解决方案 »

  1.   

    procedure Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
      BufferLength: Word);
    var
      str :string;
    begin
      hasdata := True;
      SetLength(Str,BufferLength);
      move(buffer^,pchar(@Str[1])^,bufferlength);
    end;
    str的值就是接收的数据Comm1.WriteCommData(Pchar(str),Length(str)); 向com口发送str字符串
      

  2.   


    procedure TForm1.Button1Click(Sender: TObject);
    begin
      self.Comm1.CommName:=edit1.Text;
      self.Comm1.BaudRate:=strtoint(edit2.Text);
      self.Comm1.ByteSize:=Tbytesize(3);
      self.Comm1.StopBits:=Tstopbits(0);
      self.Comm1.Parity:=tparity(0);
      try
        self.Comm1.StartComm;
      except
        raise exception.Create('打开串口失败!');
      end;    self.StatusBar1.Panels[0].Text:=edit1.text+'已打开';
      self.StatusBar1.Refresh;
    end;
    procedure TForm1.Button2Click(Sender: TObject);
    var
      str:Pchar;
      count:integer;
    begin
      str:=pchar(edit3.Text);
      count:=length(str);
      if self.Comm1.WriteCommData(str,count) then
        self.Memo1.Lines.Add('已发送'+inttostr(count)+'个字符')
      else
        raise  exception.Create('发送错误');
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
      self.Comm1.StopComm;
      self.StatusBar1.Panels[0].Text:=edit1.text+'已关闭';
      self.StatusBar1.Refresh;
    end;
      

  3.   


    你还有哪里没懂呀
    procedure Comm1ReceiveData(Sender: TObject; Buffer: Pointer; 
      BufferLength: Word); 
    var 
      str :string; 
    begin 
      hasdata := True; 
      SetLength(Str,BufferLength); 
      move(buffer^,pchar(@Str[1])^,bufferlength); 
    end; 
    这个过程拿去直接用就可以了