Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];

Вниз

Скачивание файла через HTTP FTP   Найти похожие ветки 

 
abcdef   (2004-06-23 11:27) [0]

Использую процедуру для скачивания фалов с сервера:

function tform1.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;

procedure TForm1.Button1Click(Sender: TObject);
begin
if GetInetFile(Edit1.text,Edit2.Text) then
ShowMessage("Process was compliate!")
else
ShowMessage("Download error!");
end;

Но она не работает, программа даже не коннектится к серваку, а на строчке BlockWrite(f, Buffer, BufferLen); вылетает ошибка IO error, как заставить процедуру работать и еще прицепить к ней прогресс?


 
McZim ©   (2004-06-28 12:07) [1]

попробуй для начала просто установить соединение, а уж потом добиваться прогресса :))). Для коннекта могу посоветовать поработать с сокетами то-есть явно указать соединение через нужный тебе протокол.


 
Alaman   (2004-08-23 23:50) [2]

Я пользуюсь примерно такой же процедурой. И у меня работает. Качает файлы по заданному URL. Перед запуском программы связь с интернет уже есть?



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

Форум: "Сети";
Текущий архив: 2004.10.31;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.04 c
3-1096900734
ANT1
2004-10-04 18:38
2004.10.31
Как в сессии изменить значение NLS_LANG ?


3-1096884693
WondeRu
2004-10-04 14:11
2004.10.31
FireBird: port 3050


9-1088607478
aprm
2004-06-30 18:57
2004.10.31
Свет в OGL API


14-1097680643
peypivo
2004-10-13 19:17
2004.10.31
:-)


1-1098202041
Strimer
2004-10-19 20:07
2004.10.31
Возможно ли запустить в Excel макрос сформированный в Delphi?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский