如何往串口发文件 哪位大侠能告诉我如何往串口(com1)发文件一个文本文件,不是发一个字符串,而是发一个.txt文件.谢谢,十万火急! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 下面是一接收程序的样例(主要部分),可根据实际需要进行完善。 在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 CommControl 首先应当明白,发送.txt文件也要打开文件后方可传送,所以最终结果还是相当于发送字符串,如果你想把文件的名字一起发过去,只有通过协议了。 问下Delphi的BitBtn调用的时候在Use里引用什么? 为了DELPHI板块的人气旺,必须散分! 考勤原始数据进数据库用什么方式好呢? 控件传递事件? 有个活需要几位懂Delphi的同志兼职 隐藏主窗体和列表框数据绑定的问题 Delphi程序员搞COM+ 三年的工作经验在(北京,上海,深圳)工资水平 如何备份和还原数据库 对昨天捧场的大虾们表示感谢!今天来问个关于调用外部程序的问题??? 有人知道怎样修改Tcombobox控件的height属性? 用win API画图时,如何选择窗口句柄?谢谢! 想学delphi希望能提供几本书~
在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