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

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

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

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

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

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

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

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

Зделал так:
Код:
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 в 10:57. Причина: Сбой в теме
-=L.Morgan=- вне форума Ответить с цитированием
Старый 30.10.2009, 16:17   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

делаете так...
Код:
  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 в 11:13.
raxp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка файлов по локальной сети dani92 Работа с сетью в Delphi 5 08.06.2021 20:31
Отправка файлов по 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
Работа с ФТП: Скачка файлов Horror Общие вопросы .NET 4 03.03.2008 14:50