资源简介
一个很不错得bt源代码.
代码片段和文件信息
// DSPFile.cpp: implementation of the DSPFile class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “DSPFile.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
enum
{
SEND_SUCCESSFUL=100
RECV_SUCCESSFUL
SEND_TIMEOUT
RECV_TIMEOUT
SEND_FAIL
RECV_FAIL
SEND_ABORT
RECV_ABORT
};
DSPFile::DSPFile()
{
}
DSPFile::~DSPFile()
{
if(this->m_ifs.is_open())
this->m_ifs.close();
if(this->m_ofs.is_open())
{
this->m_ofs.flush();
this->m_ofs.close();
}
}
bool DSPFile::Serialize(BYTE byClassLevelsBYTE byAttrNoDSP::_DSPPACKET &dsp)
{
switch(byAttrNo)
{
case 1:
dsp.Write(this->m_nFilesize);
return false;
case 2:
dsp.Write(this->m_strFilename);
return false;
case 3: //序列化最后一个属性
if(this->m_ifs.is_open()==FALSE)
{
//打开文件准备读
if(DSP::OpenIfstreamForRead(this->m_ifsthis->m_hFileDetail.strPathname)==FALSE)
{
//如果打开文件失败
dsp.Write(NULL0true);
return true;
}
}
else
{
//如果文件已经读完
this->m_ifs.close();
}
dsp.Write(this->m_buffFILE_SECT_SIZEfalse);
}
return true;
}
bool DSPFile::UnSerialize(BYTE byClassLevelsBYTE byAttrNoDSP::_DSPPACKET &dspDWORD dwLen)
{
//反序列化对象
switch(byAttrNo)
{
case 1:
dsp.Read(this->m_nFilesize);
return false;
case 2:
dsp.Read(this->m_strFilenamedwLen);
return false;
case 3: //序列化最后一个属性
if(this->m_ofs.is_open()==FALSE)
{
this->m_hFileDetail.strPathname =this->m_strFilename.c_str();
this->m_hFileDetail.nFilesize =this->m_nFilesize;
this->m_hFileDetail.nCurrLen =FILE_SECT_SIZE;
//传送文件名和尺寸,并且打开文件输出流,准备写
::SendMessage(this->m_hFileDetail.hwndMSG_SETFILENAMESIZE
(WPARAM)&this->m_hFileDetail0);
//打开对话框,选择被保存的文件名
CFileDialog fileDialog(FALSENULLthis->m_strFilename.c_str()OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT);
if(fileDialog.DoModal()==IDOK)
{
//得到被选择的文件名
this->m_hFileDetail.strPathname =fileDialog.GetPathName();
//重新传送文件名和尺寸
::SendMessage(this->m_hFileDetail.hwndMSG_SETFILENAMESIZE
(WPARAM)&this->m_hFileDetail0);
this->m_hFileDetail.nCurrLen =0;
if(DSP::OpenOfstreamForWrite(this->m_ofsthis->m_hFileDetail.strPathname)==FALSE)
{
//如果找开文件失败
dsp.Read(NULL0);
return true;
}
}
else
{
dsp.Read(NULL0);
return true;
}
}
else
{
//文件已经写完
this->m_ofs.flush();
this->m_ofs.close();
}
dsp.Read(this->m_buffdwLen);
}
return true;
}
bool DSPFile::AttrSectRecv(BYTE byClassLevelsBYTE byAttrNoconst char* const lpBuffDWORD dwLenbool bLa
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2003-07-27 00:32 DSPSample
目录 0 2003-07-22 18:29 DSPSample\DSPDLL
文件 4098 2003-07-27 19:06 DSPSample\DSPDLL\DSPSpider.h
文件 10328 2003-07-22 18:12 DSPSample\DSPDLL\DSP.h
文件 6459 2003-07-14 15:44 DSPSample\DSPDLL\DNS.h
文件 94208 2003-07-27 19:45 DSPSample\DSPDLL\DSPDLL.dll
文件 55726 2003-07-27 19:45 DSPSample\DSPDLL\DSPDLL.lib
文件 913 2003-07-26 13:30 DSPSample\DSPDLL\ListenType.h
文件 41733 2003-07-27 09:56 DSPSample\DSPDLL\DSP_SDK_.txt
文件 5039 2003-07-27 20:31 DSPSample\DSPSample.dsp
文件 1937 2003-07-27 00:49 DSPSample\DSPSample.cpp
文件 6357 2003-07-27 20:30 DSPSample\DSPSample.rc
文件 1284 2003-07-27 19:59 DSPSample\Resource.h
文件 1858 2003-07-27 20:36 DSPSample\DSPSample.clw
文件 3630 2003-07-27 00:33 DSPSample\ReadMe.txt
文件 1352 2003-07-27 00:33 DSPSample\DSPSample.h
文件 1371 2003-07-27 09:19 DSPSample\DSPSampleDlg.h
文件 1089 2003-07-01 15:32 DSPSample\HGF.h
文件 2444 2003-07-27 09:23 DSPSample\HGF.cpp
文件 8389 2003-07-27 17:11 DSPSample\PPQ.cpp
文件 211 2003-07-27 00:33 DSPSample\StdAfx.cpp
目录 0 2003-07-27 00:33 DSPSample\res
文件 401 2003-07-27 00:33 DSPSample\res\DSPSample.rc2
文件 1078 2003-07-27 00:33 DSPSample\res\DSPSample.ico
文件 6701 2003-07-27 20:34 DSPSample\DSPSampleDlg.cpp
文件 1567 2003-07-27 17:11 DSPSample\PPQ.h
文件 2596 2003-07-27 20:00 DSPSample\FileSendDlg.h
文件 541 2003-07-27 00:33 DSPSample\DSPSample.dsw
文件 2300 2003-07-27 18:00 DSPSample\DSPFile.h
文件 7479 2003-07-27 18:01 DSPSample\DSPFile.cpp
............此处省略12个文件信息
- 上一篇:一个多用户聊天程序
- 下一篇:Halcon找圆的中心坐标。
相关资源
- 嵌入式Linux应用系统开发精讲源码
- 天猫淘宝数据爬取源码可直接使用.
- Qt控件QListWidget实现鼠标拖拽Item换序
- 飞思卡尔S12单片机CCP源码
- AES,TS,M3U8加密视频高速解密源码.
- 西门子开发的OPC UA客户端和源码.rar
- 美女图片微信小程序源码
- 日历源代码 完整的项目,可以直接使
- 游戏登陆器源码
- 网上评教系统源码
- 二维码控件及PB使用说明
- 百度地图实现距离测量和面积测量源
- 简易天气查询的微信小程序源码
- 简单思路实现游戏----贪吃蛇源码
- MD5-SHA1-SHA256算法源码
- Qt控件的拖放
- keycloak应用于rest资源保护的springboot端
- 曲线控件+曲线显示控件
- flash计时器源码
- 博客《 Animation动画详解(十)——联
- 博客《 PopUpWindow使用详解(一)——
- bmp图像转换为16位565数据软件源码
- 跑跑卡丁车源码
- AIDL源码AIDL源码
- 读秀--bash脚本-脚本源码可见,大家容
- windows运行原理源代码进度条控件
- LabView编的打地鼠小游戏源码
- 寿星万年历版Delphi源码.rar
- 淘淘商城-张志君-Dubbo版-完整项目源码
- soem主站源码纯C代码编写,方便移植
评论
共有 条评论