Урок 13 Компонент NMHTTP
8-Nov-2005
в колонках играет - Aerosmith -Dream On
Компонент NMHTTP
В общем - эта херь нужна для того, чтобы загружать файлы из инета.Эта статья
будет маленькой - я вам покажу как с инета спиздить файл!Киньте на форму компонент
NMHTTP со вкладки FastNet
Также на форме расположите Label ,Button и Timer
В событии кнопки onClick напишите следующий код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
NMHTTP1->InputFileMode=true; // устанавливает режим для приёма файлов
NMHTTP1->Body="c:\\super.htm"; // место, куда сохранится загружаемый
файл
NMHTTP1->Get("http://www.superbuilder.narod.ru/index.htm"); //функция,
загружает файл из инета
}
Теперь сделаем так, чтобы мы видели, сколько загружено и сколько осталось.Для
этого в событии таймера onTimer пишем:
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Label1->Caption="loaded "+IntToStr(NMHTTP1->BytesRecvd/1024)+"Kb
from "+IntToStr(NMHTTP1->BytesTotal/1024)+"Kb";
}
пояснения:
IntToStr(NMHTTP1->BytesRecvd/1024)
-мы получаем количесвто принятых байтов, делим это количество на 1024 и получаем
значение в килобайтах , функцией IntToStr() мы преобразуем получившееся число
типа int в строку типа AnsiString, для того чтобы можно было разместить его
в labele(который кстати типа AnsiString) Аналогично для IntToStr(NMHTTP1->BytesTotal/1024).
Запустите проект, нажмите на button1 - выдаёт ошибку?Если вы не подключены к
инету, то так и должно быть.Чтобы это избежать, поменяйте код для Button1 onClick
на следующий.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
try //пытается совершить действия, заключенные в фигурных скобках
{
NMHTTP1->InputFileMode=true; // устанавливает
режим для приёма файлов
NMHTTP1->Body="c:\\super.htm"; // место, куда сохранится загружаемый
файл
NMHTTP1->Get("http://www.superbuilder.narod.ru/index.htm"); //функция,
загружает файл из инета
}
catch(...) //если не получается выполнить действия после try , то выполняет
другие действия(см ниже)
{
ShowMessage("Вы не подключены к инету, либо нету файла на сервере, либо
вы долбоёб!");//показывает сообщение
}
}
Если есть вопросы по этому материалу или вопросы в принципе, пишите на мыло,
ответы постараюсь выложить в последующих уроках.
Author of article - MA F*CKA CREW 2005
www.builderhelper.3dn.ru
builder.helper@rambler.ru