网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.在CB6下基于api函数编写串口通信.
.C++语言代码检查工具PC-Lint四步.
.COM编程入门2.
.打印日历.
.C++语言概述.
.网络上的数据报侦听.
.在Delphi中使用电子邮件.
.C趣味程序百例(16).
.在C++中处理错误的方法.
.改变DBGrid的颜色.
.庆祝20岁生日: C++图书热点观察.
.C++编程从零开始之赋值操作符.
.VC的若干实用小技巧(四).
.C/C+语言struct深层探索.
.C语言:黑客学员必修课(一).
.完整的读写函数.
.C语言初学者入门讲座 第十二讲 多.
.菜单程序.
.Win98内核分析(Kernel32).
.C++中确定基类有虚析构函数.

BCB利用组件传送文件

发表日期:2008-3-8



  在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中运行通过。
上一篇:用C++实现简单的文件I/O操作 人气:909
下一篇:C++Builder中实现控件数组的功能 人气:742
浏览全部C/C++的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐