|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.07.2007, 13:58 | #1 |
Регистрация: 04.07.2007
Сообщений: 4
|
Полная очистка директории с нюансами...
В общем есть папка временная для обмена файлами. Нужна программа, чтобы очищала ее через какое-то время, но нельзя удалять все файлы сразу... Допустим задан интервал в час, то каждый файл попавший в папку должен быть удален через час.
т.е. один файл попал 50мин назад, должен быть удален через 10 мин, другой файл попал 5 мин назад - должен быть удален через 55 мин... Прога в принципе есть, но удаляет все и сразу. Может кто что подскажет... или напишет сразу . |
06.07.2007, 14:11 | #2 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
компонент
timer св-йство interval значение 3600000 событие ontimer
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
09.07.2007, 10:27 | #3 |
Регистрация: 04.07.2007
Сообщений: 4
|
|
09.07.2007, 10:34 | #4 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
а что непонятного в фразе ?
кидаешь на форму компонент timer (вкладка systems) выставляешь его свойство Interval в необходимое тебе значение (1000=1сек) и в событие ontimer пишешь то что сейчас делаешь. Этот код у тебя будет соответственно выполняться через каждый заданный тобой интервал времени. Свойство enabled соответственно выставь в true
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
09.07.2007, 10:42 | #5 |
With best regards
Участник клуба
Регистрация: 20.04.2007
Сообщений: 1,448
|
2 Квэнди: а зачем таймер на час? требуется то удалять не все файлы.
Таймер на 60000 (1 мин), а дольше проверка всех файлов по дате создания.
Life is too short, play more...
Как правильно задавать вопросы |
09.07.2007, 10:47 | #6 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
Как я понимаю, при событии таймера нужно получить все файлы в каталоге, например так:
procedure ListFileDir(Path: string; FileList: TStrings); var SR: TSearchRec; begin if FindFirst(Path + '*.*', faAnyFile, SR) = 0 then begin repeat if (SR.Attr <> faDirectory) then begin FileList.Add(SR.Name); end; until FindNext(SR) <> 0; FindClose(SR); end; end; Затем циклично проверить дату создания файла, например через функцию: function GetFileDateTime(FileName: string): TDateTime; var intFileAge: LongInt; begin intFileAge := FileAge(FileName); if intFileAge = -1 then Result := 0 else Result := FileDateToDateTime(intFileAge) end; ..и если дата = и т.д. А проще использовать ini-файл. Т.е. при создании файла сразу записать строку, где ключ=имя файла, значение=время его удаления. При удалении файла сразу удалять и эту строку. |
10.07.2007, 17:06 | #7 |
Форумчанин
Регистрация: 16.12.2006
Сообщений: 859
|
а можно просто - дата=имя файла
|
13.07.2007, 13:19 | #8 |
Регистрация: 04.07.2007
Сообщений: 4
|
to_SERGEYX_:
немного не так файлы в папке не создаются, а туда копируются... FileAge не то выдает . у меня выходит так - обновляю папку первый раз, заношу имена всех файлов в файл тхт и к именам добавляю текущее время (NOW). а удалить нужно файл через час. Потом по таймеру опять через 10 сек обновляется список и сравнивается время прошлого обновления с NOW. Файлы для которых прошел уже час удаляются из папки и из списка, а новые файлы которые попали в папку до обновления добавляются в список и им приписывается NOW+1 час... как-то так... |
13.07.2007, 13:30 | #9 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
Вот по этому адресу
http://www.soft32.ru/delphi.shtml?to...tory_changes_w лежит статья "Следить за изменениями в каталоге". Наверно, тебе пригодится... |
13.07.2007, 15:49 | #10 |
Владимир М.
Участник клуба
Регистрация: 30.10.2006
Сообщений: 1,289
|
Берегите друг друга!
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удаление динамических объектов / полная очистка формы | 095 | Общие вопросы Delphi | 3 | 23.04.2012 16:09 |
Выбор директории | Kashp | Общие вопросы Delphi | 6 | 06.05.2009 06:29 |
выбор директории | Var17 | Win Api | 5 | 13.05.2008 13:50 |
отправка директории | kommunist | Работа с сетью в Delphi | 2 | 19.01.2008 17:24 |
Очистка dbf. | Ferro | БД в Delphi | 8 | 12.11.2007 17:27 |