📄 20010312001.htm
字号:
<HTML>
<HEAD>
<TITLE>BCB利用组件传送文件</TITLE>
<META content="MSHTML 5.00.2314.1000" name=GENERATOR>
</HEAD>
<BODY aLink=#FF0000 bgColor=#ffffff leftMargin=0 link=#187800 topMargin=0
vLink=#990099>
<div align="center">
<table width="744" border="0" cellspacing="0" cellpadding="0" height="76">
<tr>
<td>
<div align=center><font size=2><b><font size=3><br>
BCB利用组件传送文件<br>
<br>
</font></b></font></div>
<div align=center></div>
<br>
<div>在Borland C++ Builder中,使用NMStrmServ和NMStrm组件可以很容易地在两台电脑之间传递文件。当然,你也可以使用基于FTPJ协议的文件传输组件NMFTP,但使用NMStrmServ和NMStrm组件更加方便、快捷。<br>
<br>
首先,运行Borland C++ Builder,在窗体Form1中加入一个NMStrmServ组件和一个保存对话框组件SaveDialog。<br>
<br>
然后在NMStrmServ1的OnMSG事件中加入:<br>
<br>
//保存文件对话框<br>
<br>
if(SaveDialog1->Execute())<br>
<br>
{<br>
<br>
//如果目标文件存在则删除 <br>
<br>
if (FileExists(SaveDialog1->FileName))<br>
<br>
DeleteFile(SaveDialog1->FileName);<br>
<br>
TFileStream *MyFStream;<br>
<br>
//建立文件 <br>
<br>
MyFStream = new TFileStream(SaveDialog1->FileName, fmCreate);<br>
<br>
try<br>
<br>
{<br>
<br>
MyFStream->CopyFrom(strm, strm->Size);<br>
<br>
ShowMessage("接收成功!文件另存为"+SaveDialog1->FileName);<br>
<br>
}<br>
<br>
catch(...)<br>
<br>
{<br>
<br>
ShowMessage("接收失败!");<br>
<br>
}<br>
<br>
//释放 <br>
<br>
MyFStream->Free();<br>
<br>
}<br>
<br>
这样,一个接收文件的程序请做好了,紧接着我们做文件发送的程序:<br>
<br>
再次运行Borland C++ Builder,在新工程的窗体上加入一个NMStrm组件、一个OpenDialog组件、一个按钮Button组件、一个Label组件和一个Edit组件。把Button1的Caption属性改为“发送文件”,把Label1的Caption属性改为“接收主机:”,把Edit1的Text属性改为“127.0.0.1”。<br>
<br>
然后双击Button1,在它的OnClick事件中加入代码:<br>
<br>
//打开文件对话框 <br>
<br>
if (OpenDialog1->Execute())<br>
<br>
{<br>
<br>
TFileStream *MyFStream;<br>
<br>
MyFStream = new TFileStream(OpenDialog1->FileName, fmOpenRead);<br>
<br>
try<br>
<br>
{<br>
<br>
//主机名 <br>
<br>
NMStrm1->Host = Edit1->Text;<br>
<br>
NMStrm1->FromName = "NetMasters";<br>
<br>
//发送 <br>
<br>
NMStrm1->PostIt(MyFStream);<br>
<br>
ShowMessage("文件"+OpenDialog1->FileName+"发送成功!");<br>
<br>
}<br>
<br>
catch(...)<br>
<br>
{<br>
<br>
ShowMessage("文件"+OpenDialog1->FileName+"发送失败!");<br>
<br>
}<br>
<br>
MyFStream->Free();<br>
<br>
}<br>
<br>
代码输入完毕,分别编译运行这两个程序。编译完成后,你就可以点击发送程序的“发送文件”按钮打开一个文件来传送到远程的主机了。本例中默认的接收主机IP地址是127.0.0.1,即本地计算机,你也可以在局域网中的其它计算机上运行接收程序,再在发送程序的主机名里填入该计算机的名字或IP地址,然后打开文件发送。发送成功后,接收程序收到文件并询问保存文件,选择要保存的路径及文件名即可保存接收到的文件。<br>
<br>
以上程序在Borland C++ Builder 5.0,Win98/Win2000中运行通过。 </div>
</td>
</tr>
</table>
</div>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -