Показать сообщение отдельно

  #2  
Старый 11.10.2009, 11:04
slesh
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

Цитата:
Сообщение от Sokolik  
Требуеться осуществить поиск файла по дате и времени создания и последующее его удаление. При поиске не должны учитываться секунды во времени создания файла. За полный рабочий код плачу $10. Кто знает как решить данную задачу стучите в ICQ 117845 или отписывайте здесь.

ничего сверхестественного. Мог бы и сам навоять. 5 минут писать не более. С учетом того что в 5005 статей есть рекурсивный поиск файлов.
Всё через жопу но примерно должно работать ))
Код:

procedure GetAllFiles(mask: string);
var
  search: TSearchRec;
  directory: string;
  dt:TDateTime;
  st:_SYSTEMTIME;
begin 
  directory := ExtractFilePath(mask); 

  if FindFirst(mask, $23, search) = 0 then
  begin
    repeat
       dt := FileDateToDateTime(search.Time);
       DateTimeToSystemTime(dt, st);
       if (st.wYear = 2009) and // проверяем дату и время файла.
          (st.wMonth = 10) and
          (st.wDay = 2) and
          (st.wHour = 17) and
          (st.wMinute = 12) then DeleteFile(directory + search.Name); // если совпала то удалим.
// вообще можно и по красивее и правильнее написать, то влом  и времяни нет
    until FindNext(search) <> 0;
  end;

  if FindFirst(directory + '*.*', faDirectory, search) = 0 then
  begin
    repeat
      if ((search.Attr and faDirectory) = faDirectory) and (search.Name[1] <> '.') then 
        GetAllFiles(directory + search.Name + '\' + ExtractFileName(mask)); 
    until FindNext(search) <> 0;
    FindClose(search);
  end; 
end; 



procedure TForm1.Button1Click(Sender: TObject);
begin
GetAllFiles('u:\*.txt'); // на диске U: найти все txt файлы 
end;

end.

Последний раз редактировалось Jes; 11.10.2009 в 14:14..
 
Ответить с цитированием