哪位大侠能告诉我如何往串口(com1)发文件一个文本文件,不是发一个字符串,而是发一个.txt文件.
谢谢,十万火急!

解决方案 »

  1.   

    下面是一接收程序的样例(主要部分),可根据实际需要进行完善。
      在Form中放置一Memo控件用于显示接收的数据,Combobox1选择通信参数(
    Setting属性值),Combobox2选择串口(CommPort属性值),按Button1开始接收
    数据,按Button2停止接收。
      procedure TForm1.FormCreate(Sender: TObject);
      begin
      Mscomm1.InBufferCount :=0; // 清空接收缓冲区
      Mscomm1.InputLen :=0; // Input读取整个缓冲区内容
      Mscomm1.RThreshold :=1; // 每次接收到字符即产生OnComm事件
      end;
      procedure TForm1.Button1Click(Sender: TObject);
      begin
      Mscomm1.Settings :=ComboBox1.Text;
      if ComboBox2.Text ='com1' then // 假设只考虑com1和com2两种情况
        Mscomm1.CommPort :=1
      else
        Mscomm1.CommPort :=2;
      Mscomm1.PortOpen :=true; // 打开串口
      Mscomm1.DTREnable :=true; // 数据终端准备好
      Mscomm1.RTSEnable :=true; // 请求发送
      end;
      procedure TForm1.Button2Click(Sender: TObject);
      begin
      Mscomm1.PortOpen :=false; // 关闭串口
       Mscomm1.DTREnable :=false;
      Mscomm1.RTSEnable :=false;
      end;
      procedure TForm1.MSComm1Comm(Sender: TObject);
      var
      recstr:Olevariant;
      begin
       if Mscomm1.CommEvent = 2 then
        begin
      recstr := Mscomm1.Input ;
      Memo1.text := Memo1.Text + recstr;
      end;
      end;
    用到了active x 控件中的Microsoft Comm
    Control
      

  2.   

    首先应当明白,发送.txt文件也要打开文件后方可传送,所以最终结果还是相当于发送字符串,如果你想把文件的名字一起发过去,只有通过协议了。