在C++Builder中编写发送图象文件程序(四)

原创 2001年08月21日 13:39:00

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;
}
//---------------------------------------------------------------------------

  编好代码以后,编译源程序,在两台计算机上运行它就行了,每一方都可以做服务器或工作站,只要对方运行了该程序,都可以向其发送图象文件,也可以在单机上操作,快来试试吧!


C++Builder中大尺寸图象的显示技巧

在C++Builder中利用TImage控件可以轻松地读入并显示图象,但TImage 控件本身不可以接收输入焦点,也没带有滚动条,在显示超出显示区域范围的大图象时,需要对TImage控件进行加强。本文...
  • daofengdeba
  • daofengdeba
  • 2013年09月11日 14:34
  • 1398

C++Builder中大尺寸图象的显示技巧

在C++Builder中利用TImage控件可以轻松地读入并显示图象,但TImage 控件本身不可以接收输入焦点,也没带有滚动条,在显示超出显示区域范围的大图象时,需要对TImage控件进行加强。本文...
  • m13286282
  • m13286282
  • 2015年02月02日 16:47
  • 423

用Delphi编写CGI程序返回图象

珠海西门子表计公司  汪永荣  ---- Delphi 4.0对Internet编程提供了强大的支持,Delphi 4.0编写CGI非常容易, Delphi 4.0本身提供了例程。但是笔者在实践中...
  • bq_cui
  • bq_cui
  • 2013年04月02日 10:54
  • 893

【用C++Builder编写定时关机程序】

从internet下载较大的软件时,由于目前网络带宽的原因,许多人喜欢在晚间进行,而到深夜时就存在人需要休息的问题。目前绝大多数下载软件可以估算出下载所需的时间,如果到时让计算机自动关机,就可以免受守...
  • u011168635
  • u011168635
  • 2013年08月10日 15:40
  • 378

C++ Builder 的文件读写操作总结

这类函数完成对文件的读写相关的操作,这种类型的操作和C的基于I/O文件操作类似,下表列出这类操作常用的函数及其功能。   FileOpen() 打开文件   FileClose() 关闭文件  ...
  • C_S_D_N_USER
  • C_S_D_N_USER
  • 2014年09月02日 11:37
  • 3327

Bitblt函数(API)祥解

Bitblt作用将某一内存块的数据传送到另一内存块,前一内存块被称为”源”,后一内存块被称为”目标”图象程序开发者使用Blit的函数在内存中将某页面上的一幅位图经过一定的变换转移到另一个页面上 原形...
  • u011100345
  • u011100345
  • 2017年03月21日 11:41
  • 91

马克飞象使用技巧

马克飞象 帮助 Markdown 马克飞象是一款专为印象笔记(Evernote)打造的Markdown编辑器,通过精心的设计与技术实现,配合印象笔记强大的存储和同步功能,带来前所未有...
  • niwenxian1
  • niwenxian1
  • 2015年01月06日 15:05
  • 5708

c++builder 如何实现一个应用程序只能打开一个进程

c++builder 如何实现一个应用程序只能打开一个进程 这样做有什么好处呢!主要体现管理类型中录入、修改、删除、增加等操作中,当一个用户,操作了一半,由于别的事情忘记了自己已经打开了一个进程,此...
  • txk15619567977
  • txk15619567977
  • 2013年05月20日 16:00
  • 2001

C++builder串口通信设计(一)-串口接收数据

一、安装mscomm32.ocx控件 1、复制mscomm32.ocx到windows\system32\下 2、注册 二、在c++builder下引入mscomm32.ocx 选择菜单com...
  • niepangu
  • niepangu
  • 2016年01月11日 16:36
  • 1506

C++Builder及VC的DLL相互调用示例

C++Builder及VC的DLL相互调用示例 由于MS和Borland(CodeGear)两家的编辑器实现细节不同,造成了它们生成的DLL不能相互通用,因此给实际带来了很多的麻烦。下面来说一说如何...
  • shufac
  • shufac
  • 2016年12月21日 08:46
  • 1428
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在C++Builder中编写发送图象文件程序(四)
举报原因:
原因补充:

(最多只允许输入30个字)