在C++Builder中編寫發送圖象文件程序(四)
2019-09-10 09:07:06
供稿:網友
void __fastcall TForm1::NMStrm1HostResolved(TComponent *Sender)
{
StatusBar1-$#@62;SimpleText = "Host Resolved";
}
//---------------------------------------------------------------------------
//當文件發送到對方時產生此事件
void __fastcall TForm1::NMStrm1MessageSent(TObject *Sender)
{
ShowMessage("有文件發送到對方");
}
//---------------------------------------------------------------------------
//數據發送到對方時產生此事件
void __fastcall TForm1::NMStrm1PacketSent(TObject *Sender)
{
StatusBar1-$#@62;SimpleText = IntToStr(NMStrm1-$#@62;BytesRecvd)+" bytes of "
+NMStrm1-$#@62;BytesTotal+" sent";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::NMStrm1Status(TComponent *Sender,AnsiString Status)
{
if (StatusBar1 != 0)
StatusBar1-$#@62;SimpleText = Status;
}
//---------------------------------------------------------------------------
//沒有主機名時產生此事件
void __fastcall TForm1::NMStrm1InvalidHost(bool &Handled)
{
AnsiString NewHost;
if (InputQuery("沒有主機", "請輸入要發送的主機名:", NewHost))
{
NMStrm1-$#@62;Host = NewHost;
Edit1-$#@62;Text=NewHost;
}
}
//---------------------------------------------------------------------------
//表示客戶機已連接到服務器了
void __fastcall TForm1::NMStrmServ1ClientContact(TObject *Sender)
{
StatusBar1-$#@62;SimpleText = "Client Contacted";
}
//---------------------------------------------------------------------------
//接收客戶端發送來的文件
void __fastcall TForm1::NMStrmServ1MSG(TComponent *Sender,
const AnsiString sFrom, TStream *strm)
{
if (FileExists("./tmp.bmp"))
DeleteFile("./tmp.bmp");
TFileStream *MyFStream;
MyFStream = new TFileStream("./tmp.bmp", fmCreate);
try
{
MyFStream-$#@62;CopyFrom(strm, strm-$#@62;Size);
}
catch(...)
{
}
MyFStream-$#@62;Free();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::NMStrmServ1Status(TComponent *Sender,
AnsiString Status)
{
if (StatusBar1 != 0)
StatusBar1-$#@62;SimpleText = Status;
}
//---------------------------------------------------------------------------
編好代碼以后,編譯源程序,在兩臺計算機上運行它就行了,每一方都可以做服務器或工作站,只要對方運行了該程序,都可以向其發送圖象文件,也可以在單機上操作,快來試試吧!