![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 04.07.2007
Сообщений: 4
|
![]()
В общем есть папка временная для обмена файлами. Нужна программа, чтобы очищала ее через какое-то время, но нельзя удалять все файлы сразу... Допустим задан интервал в час, то каждый файл попавший в папку должен быть удален через час.
т.е. один файл попал 50мин назад, должен быть удален через 10 мин, другой файл попал 5 мин назад - должен быть удален через 55 мин... Прога в принципе есть, но удаляет все и сразу. Может кто что подскажет... или напишет сразу ![]() |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
компонент
timer св-йство interval значение 3600000 событие ontimer
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
#3 |
Регистрация: 04.07.2007
Сообщений: 4
|
![]() |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
а что непонятного в фразе ?
кидаешь на форму компонент timer (вкладка systems) выставляешь его свойство Interval в необходимое тебе значение (1000=1сек) и в событие ontimer пишешь то что сейчас делаешь. Этот код у тебя будет соответственно выполняться через каждый заданный тобой интервал времени. Свойство enabled соответственно выставь в true
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
#5 |
With best regards
Участник клуба
Регистрация: 20.04.2007
Сообщений: 1,448
|
![]()
2 Квэнди: а зачем таймер на час? требуется то удалять не все файлы.
Таймер на 60000 (1 мин), а дольше проверка всех файлов по дате создания.
Life is too short, play more...
Как правильно задавать вопросы |
![]() |
![]() |
![]() |
#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-файл. Т.е. при создании файла сразу записать строку, где ключ=имя файла, значение=время его удаления. При удалении файла сразу удалять и эту строку. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 16.12.2006
Сообщений: 859
|
![]()
а можно просто - дата=имя файла
|
![]() |
![]() |
![]() |
#8 |
Регистрация: 04.07.2007
Сообщений: 4
|
![]()
to_SERGEYX_:
немного не так ![]() файлы в папке не создаются, а туда копируются... FileAge не то выдает ![]() у меня выходит так - обновляю папку первый раз, заношу имена всех файлов в файл тхт и к именам добавляю текущее время (NOW). а удалить нужно файл через час. Потом по таймеру опять через 10 сек обновляется список и сравнивается время прошлого обновления с NOW. Файлы для которых прошел уже час удаляются из папки и из списка, а новые файлы которые попали в папку до обновления добавляются в список и им приписывается NOW+1 час... как-то так... |
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
![]()
Вот по этому адресу
http://www.soft32.ru/delphi.shtml?to...tory_changes_w лежит статья "Следить за изменениями в каталоге". Наверно, тебе пригодится... |
![]() |
![]() |
![]() |
#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 |