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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2013, 05:19   #1
angelap
Пользователь
 
Регистрация: 10.05.2013
Сообщений: 40
По умолчанию файлы на делфи

подскажите
как копировать только те файлы у которых первый символ буква, а второй цифра. Прога на делфи. Спасибо
angelap вне форума Ответить с цитированием
Старый 14.05.2013, 07:59   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
пока есть файлы
нач
FindFirst по маске *.*
занесение пути файла в буфер
вытаскивание имени файла ExtractFileName
если имя_файла[1] in ['А'..'Я','A'..'Z','a'..'z','а'..'я'] и имя_файла[2] in ['0'..'9'] то копировать CopyFile
FindNext
кон
FindClose
а теперь го в поиск по выделенному жирным
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 15.05.2013, 10:53   #3
angelap
Пользователь
 
Регистрация: 10.05.2013
Сообщений: 40
По умолчанию

можно по конкретней пожалуйста, а то не могу разобраться
angelap вне форума Ответить с цитированием
Старый 15.05.2013, 11:19   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

А поиск по выделенным словам Вам ничем не помог?!

через FindFirst и дальше FindNext в цикле находите ВСЕ имена файлов,
каждое имя проверяете, подходит оно Вам или нет.
Если имя файла подходит - выполняете процедуру CopyFile с нужными параметрами.

что Вам конкретно непонятно?!

маленький шаблончик (просто как пример):
Код:
procedure DirSearchAndCopy(Dir: string);
var
  SearchRec: TSearchRec;
  FName : string;
begin
  Dir := IncludeTrailingBackslash(Dir);

  if FindFirst(Dir + '*.*', faAnyFile, SearchRec) = 0 then
    repeat
      Application.ProcessMessages;

      if (SearchRec.Attr and faDirectory) <> 0 then begin
        if (SearchRec.name <> '.') and (SearchRec.name <> '..') then
                DirSearchAndCopy(Dir + SearchRec.name)
      end
      else begin
        FName :=  ExtractFileName(SearchRec.Name);
        if  (Length(FName)>1) and (FName[1] in ['А'..'Я','A'..'Z','a'..'z','а'..'я'])
                       and (FName[2] in ['0'..'9']) then
          CopyFile( тут нужные параметры! Имя копируемого файла =   Dir + SearchRec.Name);
      end;
    until FindNext(SearchRec) <> 0;
  FindClose(SearchRec);
end;

Последний раз редактировалось Serge_Bliznykov; 15.05.2013 в 11:26.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.05.2013, 13:06   #5
angelap
Пользователь
 
Регистрация: 10.05.2013
Сообщений: 40
По умолчанию

что такое DirSearchAndCopy??
angelap вне форума Ответить с цитированием
Старый 15.05.2013, 13:28   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

это идентификатор (наименование) вашей процедуры, которая выполняет нужные вам действия.

Вам нужно доработать строчку с CopyFile (очевидно, что в примере она не заполнена)
и вызывать данную процедуру в нужном месте (например, по клику на кнопку).
Например, так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
  DirSearchAndCopy('D:\My Folders\Sources');  // в кавычках указываем путь к исходной папке, 
                                  //   которую будем рекурсивно (с заходом в подпапки) обрабатывать!
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.05.2013, 13:57   #7
kta87
Форумчанин
 
Аватар для kta87
 
Регистрация: 22.02.2010
Сообщений: 912
По умолчанию

Пост № 4, procedure DirSearchAndCopy(Dir: string), где Dir - директория для поиска.
Пока отправил....
kta87 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
файлы в делфи ПИнасол Помощь студентам 11 06.06.2012 23:57
Делфи.Файлы Faron Помощь студентам 0 08.11.2011 19:25
Делфи.Текстовые файлы! Марат05 Помощь студентам 3 12.12.2010 11:32
Делфи.Файлы. pif Помощь студентам 3 02.03.2010 13:18