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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2009, 17:23   #1
jkpro
Пользователь
 
Регистрация: 12.09.2009
Сообщений: 32
Вопрос Загрузка по списку

Ну вобщем хотелось узнать как реализовать следующее
у меня есть код (офтоп спасибо людям с этого форума) который качает токо те файлы которые вписанны программой меня интересует следующее выкладую:
1.В папке с программой лежит файл(линк), который показует путь к другому файлу (сылки к файлам).
2.После того как он загрузил файл по линку он начинает считывать ссылки к файлам (которые должны быть разложенны по папкам)
В итоге мне нужно узнать как заставить прогу считывать инфу с текстовых файлов и заставить качать файлы, но даже если это команда есть я думаю буит тяжело заставить распихивать файлы по папкам, как скачивать прото файлы я уже научился а как скачивать с файла и раскладывать по папкам для меня трабла.
Если никто не понял чо я обяснил обясню на примере
GetInetFiles('site.ru','files.txt', 'C:\',IDHTTP1) в скобочках вместо 'site.ru','files.txt','C:\' должны стоять ссылки и путь сохранения файла


Помогите плиз
В Японии скончался старейший пингвин в мире.
Linux объявил 3-х дневный траур...

Последний раз редактировалось jkpro; 17.09.2009 в 17:43.
jkpro вне форума Ответить с цитированием
Старый 17.09.2009, 19:11   #2
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,455
По умолчанию

Вот держи пример, там все по полочкам расписано.
В текстовом файле содержаться ссылки на файлы, папка сохранения и создаются еще под папки для каждого файла!
Вложения
Тип файла: rar Examples_download.rar (212.5 Кб, 22 просмотров)
uberchel вне форума Ответить с цитированием
Старый 17.09.2009, 20:17   #3
jkpro
Пользователь
 
Регистрация: 12.09.2009
Сообщений: 32
По умолчанию

Огромное спасибо, но хотелось бы увидеть как выглядит тесктовый файл и где тут GetInetFiles('URLBase.txt','jpg',id htp1 вставлять ссылку? вместо URLBase.txt?
В Японии скончался старейший пингвин в мире.
Linux объявил 3-х дневный траур...
jkpro вне форума Ответить с цитированием
Старый 17.09.2009, 20:21   #4
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,455
По умолчанию

Я же убрал ссылку, вы сразу в файле URLBase - прописывайте Ссылку до файла, вы откройте файл и посмотрите как там .
uberchel вне форума Ответить с цитированием
Старый 17.09.2009, 20:22   #5
jkpro
Пользователь
 
Регистрация: 12.09.2009
Сообщений: 32
По умолчанию

сори не заметил спс
В Японии скончался старейший пингвин в мире.
Linux объявил 3-х дневный траур...
jkpro вне форума Ответить с цитированием
Старый 17.09.2009, 20:30   #6
jkpro
Пользователь
 
Регистрация: 12.09.2009
Сообщений: 32
По умолчанию

А можно как то избавица от подпапок для каждого файла?
В Японии скончался старейший пингвин в мире.
Linux объявил 3-х дневный траур...
jkpro вне форума Ответить с цитированием
Старый 17.09.2009, 20:33   #7
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,455
По умолчанию

Ну ты же просил чтобы каждый файл сохранялся в подпапку,
да и если убрать то я же там расписал все, там написано какую строчку убрать.
Замени соответствующий код на этот:

Код:
 finally
  for I:= 0 to L.Count -1  do //количество ссылок на файлы, начинаем скачивать в цикле с 0 до последней строчки URLBase
  begin
   IDHTP.Get(L[i], M); // Скачиваем и помешаем в память
   S:= ExtractFileName(StringReplace(L[i],'/','\',[rfReplaceAll])); // вытаскиваем имена файлов без URL
   Form1.Memo1.Lines.Add(S);
   if not DirectoryExists(SaveFolder) then CreateDir(SaveFolder); // Если нет директории то создадим
   M.SaveToFile(SaveFolder +'\'+ S ); //сохраняем файл
   Application.ProcessMessages;
   M.Clear;  // Очишаем память
  end;
  Result:= True; // Результат успешного завершения функции
 end;

Последний раз редактировалось uberchel; 17.09.2009 в 22:40.
uberchel вне форума Ответить с цитированием
Старый 18.09.2009, 11:38   #8
jkpro
Пользователь
 
Регистрация: 12.09.2009
Сообщений: 32
По умолчанию

Спасибо за помощь но меня еще кое что интересует насчет папок они не совсем "ложаться" как надо
вот к примеру ваш урлбейс
http://ru.kidscotv.tv/images/program...857/FOP-th.jpg
он по этой ссылке сохраняет в папку jpg но мне нужно чтобы он сохранял в
(папка с программой)/images/programmes/254857/FOP-th.jpg
заранее спасибо
В Японии скончался старейший пингвин в мире.
Linux объявил 3-х дневный траур...
jkpro вне форума Ответить с цитированием
Старый 19.09.2009, 13:47   #9
jkpro
Пользователь
 
Регистрация: 12.09.2009
Сообщений: 32
По умолчанию

UP темы если то что я попросил не возможно то можно сделать так чтобы он распихивал по папкам и создавал папки исходя из тчт файла?
В Японии скончался старейший пингвин в мире.
Linux объявил 3-х дневный траур...
jkpro вне форума Ответить с цитированием
Старый 19.09.2009, 14:22   #10
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,455
По умолчанию

Цитата:
Сообщение от jkpro Посмотреть сообщение
Спасибо за помощь но меня еще кое что интересует насчет папок они не совсем "ложаться" как надо
вот к примеру ваш урлбейс
http://ru.kidscotv.tv/images/program...857/FOP-th.jpg
он по этой ссылке сохраняет в папку jpg но мне нужно чтобы он сохранял в
(папка с программой)/images/programmes/254857/FOP-th.jpg
заранее спасибо
Ну а вы сами пробывали что то делать ? Читайте и учите делфи, помогаю в последний раз, если вы таки будете писать такие вопросы(темы)!

Поменяйте соответствующею функцию на эту:
Код:
function TForm1.GetInetFiles(URLbase, SaveFolder: string; IDHTP: TIDHTTP): Boolean;
var
  F: string;
  I: Integer;
  L, L1: TStringList;
  M: TMemoryStream;
begin
  L:= TStringList.Create;
  L1:= TStringList.Create;
  M:= TMemoryStream.Create;
 try
  if URLBase = '' then
   ShowMessage('URL áàçà íå íàéäåíà !')
  else L.LoadFromFile(URLBase);
  if not DirectoryExists(SaveFolder) then CreateDir(SaveFolder);

 finally
  for I:= 0 to L.Count -1  do
  begin
   IDHTP.Get(L[i], M);
   F:= StringReplace(StringReplace(L[i],'/','\',[rfReplaceAll]),'http:\','',[rfReplaceAll]);
   L1.Add(ExtractFilePath(Application.ExeName) + SaveFolder +  F);

   if ForceDirectories(ExtractFilePath(L1[i])) then
   begin
    M.SaveToFile(SaveFolder + F);
    M.Clear;
   end

   else begin
    raise Exception.Create('Сохранение невозможно, не создан путь сохранения !');
    Result:= False;
   end;
  end;
   Result:= True;
   L1.Free;
 end;
  L.Free;
  M.Free;
end;

Последний раз редактировалось uberchel; 19.09.2009 в 15:23.
uberchel вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление строк по списку файлов 550953 Microsoft Office Excel 7 01.09.2009 10:23
список/поиск по списку risen Microsoft Office Excel 5 21.07.2009 17:33
Программа по линейному списку, нужна помощь. breakfast Помощь студентам 3 04.05.2009 05:38
Обратиться к впадающему списку Exo Microsoft Office Excel 9 28.11.2008 14:01
Переименовать файлы по списку!? jungo Microsoft Office Excel 14 19.05.2008 11:43