Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2008, 02:51   #1
Manoff
Новичок
Джуниор
 
Регистрация: 23.02.2008
Сообщений: 1
Восклицание Помогите с программой ПлЗ.

Здравствуйте.Пишу код:
Код:
program Project1;
uses
  Windows,SysUtils,Registry,wininet;
var
  d:string;
  hSession, hURL: HInternet;
  Buffer: array[1..1024] of Byte;
  BufferLen: DWORD;
  f: file;
  sAppName,fileURL,FileName: string;
{$R *.dfm}
{$R *.res}
begin
vi:='ПУТЬ ДЛЯ СОЗДАНИЯ ФАЙЛА';  d:='САЙТ С ФАЙЛОМ';
  sAppName := ExtractFileName(vi);
  hSession := InternetOpen(PChar(d),INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  try
    hURL:= InternetOpenURL(hSession,PChar(sappName), 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);
    finally
      InternetCloseHandle(hURL);
    end;
  finally
    InternetCloseHandle(hSession);
  end;
end;
end;
end.
В итоге прога либо выдаёт ошибку , либо просто создаст пустой файл.
Объясните что я делаю неправельно и желательно покажите код.Заранее благодарен.
Manoff вне форума Ответить с цитированием
Старый 25.02.2008, 04:41   #2
Viteef
stopfake.org
Участник клуба
 
Регистрация: 03.05.2007
Сообщений: 1,927
По умолчанию

Вот рабочая функция
Код:
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;
Если не заработает, значит проблема не в коде
Viteef вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с программой! MAKEDON Общие вопросы Delphi 3 27.12.2007 13:46
помогите с программой LexusSPb Фриланс 2 04.09.2007 16:29