Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.06;
Скачать: CL | DM;

Вниз

Как скачать файл HTTP/FTP   Найти похожие ветки 

 
ruffest   (2003-12-03 00:11) [0]

Как сохранить файл с некоторого URL на локальной машине используя HTTP\FTP? как проше так и лучше. спасибо.


 
ruffest   (2003-12-03 00:18) [1]

Извините господа, уважаемые..
сам нарыл токошто!

Качаем файл из Internet
(Delphi)
Если ваша программа содержит подключаемые модули (BPL или DLL) или есть необходимость обновлять саму программу, то наверняка стояла проблема обновления копий программы. С развитием Internet появилась прекрасная возможность сделать это быстро и красиво. В данной статье мы расскажем, как добавить опцию автообновления программ из Internet.
Delphi дает нам полный доступ к API WinInet (wininet.pas), что позволяет подключиться и скачать любой файл с указанного вебсайта, используя протоколы FTP или HTTP. Например, мы можем использовать функции API WinInet для создания FTP-браузера или программы для поиска на публичных FTP-серверах заданных файлов.
Основная функция нашей программы - GetInetFile:

uses Wininet;

function GetInetFile(const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: File;
sAppName: string;
begin
Result:=False;
sAppName := ExtractFileName(Application.ExeName);
hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG,
nil, nil, 0);
try
hURL := InternetOpenURL(hSession,
PChar(fileURL),nil,0,0,0);
try
AssignFile(f, FileName);
Rewrite(f,1);
repeat
InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
BlockWrite(f, Buffer, BufferLen)
until BufferLen = 0;
CloseFile(f);
Result:=True;
finally
InternetCloseHandle(hURL)
end
finally
InternetCloseHandle(hSession)
end
end;



Страницы: 1 вся ветка

Текущий архив: 2004.02.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
1-16461
ИМХО
2004-01-28 02:33
2004.02.06
Удаление файла в Корзину


1-16399
msgipss
2004-01-22 19:26
2004.02.06
присвоение записей


1-16358
MadGhost
2004-01-24 23:12
2004.02.06
Научите работать с потоками нормально или ссылку дайте?


1-16345
Vitalik
2004-01-24 15:06
2004.02.06
Классы


1-16502
mvgfirst
2004-01-21 17:45
2004.02.06
Переопределить метод InternalPost компонента TCustomADODataSet