CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  网络及通讯开发

udp的小程序,发送方如何最简单的方法以同文件名强行保存到接收方的任意路径下呢。

楼主cnjsnt1995()2006-06-01 09:40:00 在 C++ Builder / 网络及通讯开发 提问

//Unit1.cpp---------------------------------------------------------------------------  
   
  #include   <vcl.h>  
  #pragma   hdrstop  
   
  #include   "Unit1.h"  
  //---------------------------------------------------------------------------  
  #pragma   package(smart_init)  
  #pragma   resource   "*.dfm"  
  TForm1   *Form1;  
  //---------------------------------------------------------------------------  
  __fastcall   TForm1::TForm1(TComponent*   Owner)  
                  :   TForm(Owner)  
  {  
  }  
  //---------------------------------------------------------------------------  
   
  void   __fastcall   TForm1::Button1Click(TObject   *Sender)  
  {  
                  if(OpenDialog1->Execute())  
                                  Edit3->Text=OpenDialog1->FileName;  
  }  
  //---------------------------------------------------------------------------  
   
  void   __fastcall   TForm1::Button2Click(TObject   *Sender)  
  {  
                  if(Edit3->Text=="")  
                  {  
                                  ShowMessage("请选择一个您要传送的文件.");  
                                  return;  
                  }  
                  NMUDP1->RemoteHost=Edit1->Text;  
                  NMUDP1->RemotePort=StrToInt(Edit2->Text);  
                  NMUDP1->ReportLevel=Nmudp::Status_Basic;  
                  const   int   ThreshHold=2048;  
                  //载入文件流  
                  TFileStream   *Strm=new   TFileStream(Edit3->Text,   fmOpenRead);  
                  char   *Buffer=new   char[ThreshHold];  
                  int   BuffSize=Strm->Size;  
                  int   Buffers=BuffSize/ThreshHold;  
                  for(int   i=0;i<=Buffers;i++)  
                  {  
                                  if(BuffSize>2048)  
                                  {  
                                                  Strm->Read(Buffer,ThreshHold);  
                                                  NMUDP1->SendBuffer(Buffer,ThreshHold,ThreshHold);  
                                  }  
                                  else  
                                  {  
                                                  Strm->Read(Buffer,BuffSize);  
                                                  NMUDP1->SendBuffer(Buffer,BuffSize,BuffSize);  
                                  }  
                                  BuffSize-=ThreshHold;  
                  }  
                  delete   Buffer;  
                  delete   Strm;  
                  Memo1->Lines->Add("");  
  }  
  //---------------------------------------------------------------------------  
   
  void   __fastcall   TForm1::NMUDP1DataReceived(TComponent   *Sender,  
              int   NumberBytes,   AnsiString   FromIP,   int   Port)  
  {  
                  char   *TmpBuffer=new   char[NumberBytes+1];  
                  int   i;  
                  //读取接收到的文件流  
                  NMUDP1->ReadBuffer(TmpBuffer,NumberBytes,i);  
                  TmpBuffer[NumberBytes]='\0';  
                  Memo1->Text=Memo1->Text+TmpBuffer;  
                  delete[]   TmpBuffer;  
  }  
  //---------------------------------------------------------------------------  
   
  void   __fastcall   TForm1::NMUDP1DataSend(TObject   *Sender)  
  {  
                  StatusBar1->Panels->Items[0]->Text="文件传送完毕.";  
  }  
  //---------------------------------------------------------------------------  
  问题点数:20、回复次数:4Top

1 楼BlueDeepOcean(蓝色·深海)回复于 2006-06-01 10:35:29 得分 20

能不能用SaveDialog呢?Top

2 楼yimawww(一天到晚看不到人)回复于 2006-06-01 10:42:17 得分 0

强行保存?什么企图?Top

3 楼pp616(坏蛋)回复于 2006-06-01 12:35:18 得分 0

怎么保存是接收端的事。修改接收端啊。Top

4 楼cnjsnt1995()回复于 2006-06-01 14:51:17 得分 0

发送方用一个Dialog,用于选择要发送的文件和用于选择接收端的保存的路径.接收方的文件名和发送方的文件名一样.  
  发送方是老师机,接收方是学生机.  
  Top

相关问题

关键词

得分解答快速导航

  • 帖主:cnjsnt1995
  • BlueDeepOcean

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo