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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2008, 20:38   #1
snooppy
 
Регистрация: 14.10.2008
Сообщений: 4
По умолчанию Скачивание случайного файла с фтп

Использую компонент TIdFTP.
Есть задача, на фтп есть пару папок (1, 2, 3) с картинками, надо в случайном порядке скачать картинку например с папки 1. Как можно это реализовать?
snooppy вне форума Ответить с цитированием
Старый 14.10.2008, 21:32   #2
DOLBY
Форумчанин
 
Аватар для DOLBY
 
Регистрация: 12.12.2007
Сообщений: 121
По умолчанию

Что именно у вас не получается? подключиться к фтп серверу? взять имена всех папок и файлов и в случайном порядке выбрать любой из них? скачать выбранный файл? говорите конкретнее...
Компьютеры - вещь слишком сложная, чтобы работать в принципе. Поэтому то, что они работают хоть как-то, уже чудо.
DOLBY вне форума Ответить с цитированием
Старый 14.10.2008, 21:38   #3
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

выполнить list , потом рандомно выбрать индекс и скачать этот файл
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 14.10.2008, 21:59   #4
DOLBY
Форумчанин
 
Аватар для DOLBY
 
Регистрация: 12.12.2007
Сообщений: 121
По умолчанию

В общем наработок нет никаких...
Компьютеры - вещь слишком сложная, чтобы работать в принципе. Поэтому то, что они работают хоть как-то, уже чудо.
DOLBY вне форума Ответить с цитированием
Старый 15.10.2008, 10:37   #5
snooppy
 
Регистрация: 14.10.2008
Сообщений: 4
По умолчанию

Цитата:
Сообщение от DOLBY Посмотреть сообщение
Что именно у вас не получается? подключиться к фтп серверу? взять имена всех папок и файлов и в случайном порядке выбрать любой из них? скачать выбранный файл? говорите конкретнее...
Подключиться к ФТП получается, получаю список папок. Как зайти в определенную папку и рандомно скачать файл?


Код:
With TIdFtp.Create(nil) Do
    try
      Host := 'ftp.com';
      Username := 'admin';
      Password := 'admin';
      try
        Connect;

        FileList := TStringList.Create;
        try
          List(FileList);
          ShowMessage(FileList.Text);
        finally
          FileList.Free;
        end;

        Disconnect;
      except
        ShowMessage('Auth failed');
      end;
    finally
      Free;
    end;
Не судите строго, просто я в делфи последний раз работал лет 7 назад :-\

Последний раз редактировалось snooppy; 15.10.2008 в 10:47.
snooppy вне форума Ответить с цитированием
Старый 15.10.2008, 10:45   #6
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

А вы справку или хотя бы список методов IdFtp не пробовали посомтреть ?

Цитата:
procedure ChangeDir(
const ADirName: string
);
Parameters
Parameters Description
ADirName path desired on the server file system.

Summary
Changes the current directory on the FTP server file system.
Description
ChangeDir is a procedure used to change the current directory on the FTP server file system to the subdirectory specified in the ADirName parameter.
ChangeDir sends the FTP CWD command using ADirName as an argument to set the current directory to the specified value.

RFC 959 indicates that response code 250 is the success response code for the CWD command. Some server implementations (to remain nameless) return the 200 response code to indicate successful completion of the CWD command. Indy will recognize both response codes 200 and 250 as the success response code for the CWD command.

According to RFC 959, ChangeDir may encounter any of the following error responses in the FTP protocol:


Code Meaning
500 Syntax error, command unrecognized. (This may include errors such as command line too long.)
501 Syntax error in parameters or arguments.
502 Command not implemented.
421 Service not available, closing control connection. (This may be a reply to any command if the service knows it must shut down.)
530 Not logged in.
550 Requested action not taken. File unavailable (e.g., file not found, no access).

When one of these protocol error responses is received, an EIdProtocolReplyError is raised. The ReplyErrorCode for the exception is set to the numeric portion of the protocol response. The Message for the exception is set to the textual part of the protocol response, and may vary based on the exact values returned from the server implementation.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 15.10.2008, 13:13   #7
snooppy
 
Регистрация: 14.10.2008
Сообщений: 4
По умолчанию

Все, получил лист файлов, только не совсем пойму как рандомом выбрать файл?
И каким образом получать рандомом из нескольких папок?
snooppy вне форума Ответить с цитированием
Старый 15.10.2008, 13:29   #8
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

функции randomize random и операторы работы с списками смотрите.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 16.10.2008, 11:36   #9
snooppy
 
Регистрация: 14.10.2008
Сообщений: 4
По умолчанию

Помогите плз организовать скачивание случайного файла с текущей папки. Я даж незнаю как подойти к этому компоненту IdFTP

Вот составляю список файлов текущей папки. Как посчитать колличество и загрузить случайный?

Код:
with IdFTP1 do
 begin
   Host:='test.com';
   Password:='test';
   Username:='test';
   Connect;
   List(sl,'',true);
   ListBox1.Items.Assign(sl);
  end;
 finally
   sl.Free;
if IdFTP1.Connected
 then
 begin
Label1.Caption:='Connected';
 end
 else
 begin
 Label1.Caption:='Disconected';
 end
end;
end;

Последний раз редактировалось snooppy; 16.10.2008 в 12:03.
snooppy вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скачивание файла после просмотра рекламы westakof JavaScript, Ajax 3 02.07.2008 15:48
Проверка нового файла на ФТП Aleksei Работа с сетью в Delphi 11 10.05.2008 22:26
Скачивание файла из сети, по средствам TcpClient. papa_serg Работа с сетью в Delphi 6 01.04.2008 23:22
Скачивание файла с прогрессом CoDeR Работа с сетью в Delphi 2 22.10.2007 09:10