gusucode.com > 一个视频压缩并通过网络来传送的源代码 > 一个视频压缩并通过网络来传送的源代码/断点续传和多线程VC源码/code/fMain.cpp
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "fMain.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TfmMain *fmMain; //--------------------------------------------------------------------------- __fastcall TfmMain::TfmMain(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TfmMain::ButtonCloseClick(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- void __fastcall TfmMain::ButtonBrowseClick(TObject *Sender) { if(SaveDialog1->Execute()) { EditSaveFile->Text=SaveDialog1->FileName; } } //--------------------------------------------------------------------------- void __fastcall TfmMain::ButtonStartClick(TObject *Sender) { HttpGetEx1->URL=EditURL->Text; HttpGetEx1->FileName=EditSaveFile->Text; Memo0->Lines->Add("下载线程数"); Memo0->Lines->Add(IntToStr(HttpGetEx1->ThreadCount)); HttpGetEx1->StartGet(); } //--------------------------------------------------------------------------- void __fastcall TfmMain::HttpGetEx1GetFileSize(TObject *Sender, int FileSize) { AnsiString Msg = "文件大小:"; Msg = Msg + IntToStr(FileSize); Memo0->Lines->Add(Msg); } //--------------------------------------------------------------------------- void __fastcall TfmMain::HttpGetEx1Progress(TObject *Sender, int Position, int Max, int Index) { switch(Index) { case 0: { ProgressBar0->Position=Position; ProgressBar0->Max=Max; LabelPosition0->Caption=IntToStr(Position); LabelTotal0->Caption=IntToStr(Max); break; } case 1: { ProgressBar1->Position=Position; ProgressBar1->Max=Max; LabelPosition1->Caption=IntToStr(Position); LabelTotal1->Caption=IntToStr(Max); break; } case 2: { ProgressBar2->Position=Position; ProgressBar2->Max=Max; LabelPosition2->Caption=IntToStr(Position); LabelTotal2->Caption=IntToStr(Max); break; } case 3: { ProgressBar3->Position=Position; ProgressBar3->Max=Max; LabelPosition3->Caption=IntToStr(Position); LabelTotal3->Caption=IntToStr(Max); break; } } } //--------------------------------------------------------------------------- void __fastcall TfmMain::HttpGetEx1StatusText(TObject *Sender, AnsiString Msg, int Index) { switch(Index) { case 0: { Memo0->Lines->Add(Msg); break; } case 1: { Memo1->Lines->Add(Msg); break; } case 2: { Memo2->Lines->Add(Msg); break; } case 3: { Memo3->Lines->Add(Msg); break; } } } //--------------------------------------------------------------------------- void __fastcall TfmMain::HttpGetEx1Complete(TObject *Sender) { Memo0->Lines->Add("下载完成"); } //---------------------------------------------------------------------------