📄 thttpgetex.~h
字号:
//---------------------------------------------------------------------------
#ifndef THttpGetExH
#define THttpGetExH
//---------------------------------------------------------------------------
#include <SysUtils.hpp>
#include <Controls.hpp>
#include <Classes.hpp>
#include <Forms.hpp>
#include "THttpGetThread.h"
typedef enum
{
mGetFileSizeFalse,// 获取文件大小
mCreateFileFalse,// 建立文件
mThreadError,//线程错误
mOnAbort,// 终止
} ErrorCode;
//---------------------------------------------------------------------------
class PACKAGE THttpGetEx : public TComponent
{
private:
// 下载线程
THttpGetThread **HttpThreads;
AnsiString *OutTmpFiles;
bool *FSuccesss;
bool FHttpThreadCreated; // 线程是否已经创建
// 属性变量
int FHttpThreadCount;
bool FWorking; // 是否正在下载
bool FFromBreakpoint; // 从断点开始下载
AnsiString FURL;
AnsiString FOutFileName;
// 事件变量
TNotifyEvent FOnAbort;
TOnError FOnError;
TNotifyEvent FOnComplete;
TOnHttpGetFileSize FOnGetFileSize;
TOnProgressEvent FOnProgress;
TOnHttpStatusText FOnStatusText;
void AssignResource(void);
void ReleaseResource(void);
void DoOnComplete(void);
void DoOnError(int errorcode);
void DoOnStatusText(AnsiString Text);
void __fastcall OnThreadError(TObject *Sender, int Index);
void __fastcall OnThreadComplete(TObject *Sender, int Index);
protected:
THttpGetThread * CreateHttpThread(void); // 创建下载线程
bool CreateHttpThreads(void); // 创建下载线程
public:
__fastcall THttpGetEx(TComponent* Owner);
__fastcall ~THttpGetEx();
int __fastcall StartGet(void);
void __fastcall RestartGet(void);
void __fastcall Pause(void);
void __fastcall Stop(void);
__published:
__property int ThreadCount= { read=FHttpThreadCount, write=FHttpThreadCount };
__property bool Working= { read=FWorking};
__property bool FromBreakpoint = { read=FFromBreakpoint, write=FFromBreakpoint};
__property AnsiString URL = { read=FURL, write=FURL };
__property AnsiString FileName = { read=FOutFileName, write=FOutFileName };
__property TNotifyEvent OnAbort = { read=FOnAbort, write=FOnAbort };
__property TOnError OnError = { read=FOnError, write=FOnError };
__property TNotifyEvent OnComplete = { read=FOnComplete, write=FOnComplete };
__property TOnHttpGetFileSize OnGetFileSize = { read=FOnGetFileSize, write=FOnGetFileSize };
__property TOnProgressEvent OnProgress = { read=FOnProgress, write=FOnProgress };
__property TOnHttpStatusText OnStatusText = { read=FOnStatusText, write=FOnStatusText };
};
//---------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -