• 大小: 87KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: 其他
  • 标签: 控件  源码  资源  

资源简介

一个很不错得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个文件信息

评论

共有 条评论