BCB利用组件传送文件 在Borland C++ Builder中，使用NMStrmServ和NMStrm组件可以很容易地在两台电脑之间传递文件。当然，你也可以使用基于FTPJ协议的文件传输组件NMFTP，但使用NMStrmServ和NMStrm组件更加方便、快捷。 首先，运行Borland C++ Builder，在窗体Form1中加入一个NMStrmServ组件和一个保存对话框组件SaveDialog。 然后在NMStrmServ1的OnMSG事件中加入： //保存文件对话框 if(SaveDialog1->Execute()) { //如果目标文件存在则删除 if (FileExists(SaveDialog1->FileName)) DeleteFile(SaveDialog1->FileName); TFileStream *MyFStream; //建立文件 MyFStream = new TFileStream(SaveDialog1->FileName, fmCreate); try { MyFStream->CopyFrom(strm, strm->Size); ShowMessage("接收成功！文件另存为"+SaveDialog1->FileName); } catch(...) { ShowMessage("接收失败！"); } //释放 MyFStream->Free(); } 这样，一个接收文件的程序请做好了，紧接着我们做文件发送的程序： 再次运行Borland C++ Builder，在新工程的窗体上加入一个NMStrm组件、一个OpenDialog组件、一个按钮Button组件、一个Label组件和一个Edit组件。把Button1的Caption属性改为“发送文件”，把Label1的Caption属性改为“接收主机：”，把Edit1的Text属性改为“127.0.0.1”。 然后双击Button1，在它的OnClick事件中加入代码： //打开文件对话框 if (OpenDialog1->Execute()) { TFileStream *MyFStream; MyFStream = new TFileStream(OpenDialog1->FileName, fmOpenRead); try { //主机名 NMStrm1->Host = Edit1->Text; NMStrm1->FromName = "NetMasters"; //发送 NMStrm1->PostIt(MyFStream); ShowMessage("文件"+OpenDialog1->FileName+"发送成功！"); } catch(...) { ShowMessage("文件"+OpenDialog1->FileName+"发送失败！"); } MyFStream->Free(); } 代码输入完毕，分别编译运行这两个程序。编译完成后，你就可以点击发送程序的“发送文件”按钮打开一个文件来传送到远程的主机了。本例中默认的接收主机IP地址是127.0.0.1，即本地计算机，你也可以在局域网中的其它计算机上运行接收程序，再在发送程序的主机名里填入该计算机的名字或IP地址，然后打开文件发送。发送成功后，接收程序收到文件并询问保存文件，选择要保存的路径及文件名即可保存接收到的文件。 以上程序在Borland C++ Builder 5.0，Win98/Win2000中运行通过。