?? 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,// 終止
} ErrorCodeStatus;
//---------------------------------------------------------------------------
class PACKAGE THttpGetEx : public TComponent
{
private:
// 下載線程
THttpGetThread **HttpThreads;
AnsiString *OutTmpFiles;
bool *FSuccesss;
bool FHttpThreadCreated; // 線程是否已經(jīng)創(chuàng)建
// 屬性變量
int FHttpThreadCount;
bool FWorking; // 是否正在下載
bool FFromBreakpoint; // 從斷點(diǎn)開始下載
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); // 創(chuàng)建下載線程
bool CreateHttpThreads(void); // 創(chuàng)建下載線程
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
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -