程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++ Builder中利用組件傳送文件

C++ Builder中利用組件傳送文件

編輯:關於C++

在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中運行通過。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved