프로젝트에 Button, Label, NMHttp 를 올려놓고 아래 코드를 입력해 보세요. 아래 코드는 다운로드 예제입니다.
그리고, 만약 프로그램에서 NMHttp가 프로그램에서 차지하는 비중이 크다면, Indy의 Http를 대신 이용하시는 것이 좋을것 같습니다. NMHttp는 아직까지 버그가 많고 개발자 지원이 안됩니다. 데드락도 많이 발생하구요.
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
#define SAVE_FILENAME "C:\\TEST.PDF";
#define DOWNLOAD_ADDRESS "
http:\/\/www.borland.co.kr/bcppbuilder/cpp6/C++builder제품발표회.pdf"
NMHTTP1->Body = SAVE_FILENAME;
NMHTTP1->InputFileMode = true;
NMHTTP1->Get(DOWNLOAD_ADDRESS);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::NMHTTP1PacketRecvd(TObject *Sender)
{
Label1->Caption = IntToStr(NMHTTP1->BytesRecvd * 100 / NMHTTP1->BytesTotal);
}
//---------------------------------------------------------------------------
김혜미 님이 쓰신 글 :
: 도와주세요.^^
:
: 예제가 업로드는 많이 있는데 다운로드는 어떻게 하는지 잘 모르겠어요..
:
: 그리고 저장되는 폴더는 지정해줘야 하나요?