Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 30.10.2009, 02:40   #1
-=L.Morgan=-
Пользователь
 
Регистрация: 23.04.2009
Сообщений: 30
Репутация: 7
Вопрос Отправка файлов из подкаталогов на ФТП

Доброго времени суток..
У меня такая проблема
Есть катало (C:\Logs\) в нем ещо много других файлов и каталогоф...
Короче вопрос состоит в том как реализирыветь программно што б все файлы с именем "log.txt" которые есть в каталогах и ПОДКАТАЛОГАХ папки Logs отправлялись на ФТП сервер?
__________________
ICQ: 110111110-1010000101-1110001001
-=L.Morgan=- вне форума   Ответить с цитированием
Старый 30.10.2009, 06:41   #2
Пепел Феникса
Модератор
Заслуженный модератор
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 21,004
Репутация: 3436

icq: 446843180
skype: phoenix_proger
По умолчанию

FindFirst/FindNext/FindClose
примеров масса.
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума   Ответить с цитированием
Старый 30.10.2009, 14:02   #3
-=L.Morgan=-
Пользователь
 
Регистрация: 23.04.2009
Сообщений: 30
Репутация: 7
По умолчанию

Зделал так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  SR: TSearchRec;
  FindRes: Integer;
begin
  ListBox1.Clear;

  FindRes := FindFirst('C:\Logs\*\log.txt', faAnyFile, SR);
  while FindRes = 0 do
  begin
  if ((SR.Attr and faDirectory) = faDirectory) and
    
    ((SR.Name = '.') or (SR.Name = '..')) then
    begin
      FindRes := FindNext(SR);
      Continue; 
    end;

    ListBox1.Items.Add(SR.Name);
    FindRes := FindNext(SR);
  end;
  FindClose(SR);
end;
Но ничего в ListBox нет..

Код:
procedure TForm1.FindFile(Dir:String);
Var SR:TSearchRec;
    FindRes:Integer;
    exten:string;
begin
FindRes:=FindFirst(Dir+'*.*',faAnyFile,SR);
While FindRes=0 do
   begin
      if ((SR.Attr and faDirectory)=faDirectory) and
      ((SR.Name='.')or(SR.Name='..')) then
         begin 
            FindRes:=FindNext(SR);
            Continue; 
         end; 

      if ((SR.Attr and faDirectory)=faDirectory) then
         begin
            FindFile(Dir+SR.Name+'\');
            FindRes:=FindNext(SR);
            Continue;
         end; 

       ListBox1.Items.Add(Dir + SR.Name);
      FindRes:=FindNext(SR); 
   end; 
FindClose(SR); 
end;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Clear;
FindFile('C:\Log\');
end;

end.
Всем спасибо разобрался! Этот код работает прекрасно. Теперь следующее вопрос. Как найденные файлы отправить на FTP.

Што прописать в IdFTP1.Put ?

Меня интересует как указать путь файлов которые нашол поиск...
А не сама функция отправки...

Не могли бы вы подправить код и добавить функцию отправки найденных файлов? .. Ибо я не осилю ...

Не помогло..

Может кто поможет поправить код и отправить найденые файлы на ФТП?..

Цитата:
...а мне вот интересно где в коде 5 поста вы сохраняете пути найденных файлов?
Вот уже поправил:
Код:
ListBox1.Items.Add(Dir + SR.Name);
А тепер подскажите как оформить путь к найденым файлам? Если так то не пашет:
Код:
IdFTP.Put (Dir + SR.Name, 1.txt, false);
Подскажите как правельно должно бить?
__________________
ICQ: 110111110-1010000101-1110001001

Последний раз редактировалось mihali4; 02.11.2009 в 11:57. Причина: Сбой в теме
-=L.Morgan=- вне форума   Ответить с цитированием
Старый 30.10.2009, 17:17   #4
raxp
Профессионал
 
Регистрация: 29.09.2009
Сообщений: 9,742
Репутация: 3006
По умолчанию

делаете так...
Код:
  IDFTP.Host:='111.11.11.11' ;
  IDFTP.Username:= 'Name';
  IDFTP.Password:= 'Pass';
  try
    IDFTP.Connect();
    IDFTP.ChangeDir(каталог на сервере);
    IdFTP.Put(ваш файл, имя файла на сервере); // вам надоть по циклу гнать все
  finally
    IDFTP.Disconnect
  end;
Цитата:
Меня интересует как указать путь файлов которые нашол поиск. А не сама функция отправки...
это вы щас написали. напомню
Цитата:
Как найденные файлы отправить на FTP
...а мне вот интересно где в коде 5 поста вы сохраняете пути найденных файлов?
Код:
ListBox1.Items.Add(SR.Name)
вы не забыли туда полный путь добавлять случаем? как выход могу предложить перерисовывать listbox и отображать только сам найденный файл через textout, а храниться будет полный путь.

вот это вам немного поможет http://www.programmersforum.ru/showp...79&postcount=4
__________________
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось mihali4; 02.11.2009 в 12:13.
raxp вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка файлов по e-mail mustang007 Работа с сетью в Delphi 17 20.11.2011 15:28
копирование файлов из подкаталогов cemen13 Win Api 15 25.09.2009 17:55
Загрузка файлов на фтп mish@ Работа с сетью в Delphi 0 30.06.2009 13:28
Отправка файлов по локальной сети dani92 Работа с сетью в Delphi 3 23.05.2009 18:16
Работа с ФТП: Скачка файлов Horror Общие вопросы .NET 4 03.03.2008 15:50


06:27.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.