![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как лучше сделать! [D7]
Ingwar © (2006-10-28 20:51:00)Проблема такого плана: Есть чужая программа которая создает и изменяет файлы. Моя задача прочесть эти файлы, после их создания или очередного изменения.
Сейчас я сделал через таймер, т.е. переодически опрашиваю каталог на появление нового файла, или на обновление уже имеющихся.
Вопрос: Можно ли это сделать более оптимально?
Ketmar (2006-10-30 15:49:00) [1]>[17] Ingwar(c) 30-Oct-2006, 13:58
а я тебя считал адекватным. и с мозгами... скажи, что ты пошутил так неудачно.
хинт: всю необходимую информацию я дал. или записать и тебя в "надмозги"?
>[19] MikePetrichenko(c) 30-Oct-2006, 14:02
>И гиде тема
у меня в базе. %-)
MikePetrichenko (2006-10-30 14:02:00) [2]
> Ketmar © (28.10.06 21:23) [4]
И гиде тема где я штуку баксов прое...?
MikePetrichenko (2006-10-30 14:01:00) [3]
> ТО Ketmar: Может литературу или автора по WinAPI посоветуешь.
> ..
> И нечего на меня наезжать... Если бы я знал что-такое WinAPI,
> то я бы и задал вопрос в другом форуме, а не в этом!
"В сад. Все в сад" (С)
> PS. Надеюсь никого не обидел. И очень надеюсь, что получу
> подсказку.
См. выше.
Ingwar (2006-10-30 13:58:00) [4]ТО Ketmar: Может литературу или автора по WinAPI посоветуешь...
И нечего на меня наезжать... Если бы я знал что-такое WinAPI, то я бы и задал вопрос в другом форуме, а не в этом!
PS. Надеюсь никого не обидел. И очень надеюсь, что получу подсказку.
(2006-10-28 22:45:00) [5]Удалено модератором
(2006-10-28 22:43:00) [6]Удалено модератором
Ketmar (2006-10-28 22:41:00) [7]>[10] Ingwar(c) 28-Oct-2006, 22:18
а кто тебе наврал, что это функции Delphi? это WinAPI.
Ingwar (2006-10-28 22:39:00) [8]Ура!!!! Яндекс вывел ссылку на сайт Мастера Дельфи по названию функции... Урррраааа!
Орион (2006-10-28 22:31:00) [9]> [10] Ingwar © (28.10.06 22:18)
не ту справку запускаешь.
Zeqfreed (2006-10-28 22:18:00) [10]
> В справке на мою Дельфю этого нету!!! Может мне поставить
> себе что-нить другое вместо D7...
Тетрис?
Ingwar (2006-10-28 22:18:00) [11]А у меня нету!!!! У меня при наборе в справке FindFirstС... - все глухо =( Аналогично и при наборе ReadDirectoryChangesW. Так что если к этим функциям есть example киньте в меня плиз. Потому что я даже не знаю какие у них есть параметры и т.д.
Ketmar (2006-10-28 22:03:00) [12]>[8] Ingwar(c) 28-Oct-2006, 22:00
>В справке на мою Дельфю этого нету!!!
а я вот как раз оттуда цитировал... загадка?
Ingwar (2006-10-28 22:00:00) [13]В справке на мою Дельфю этого нету!!! Может мне поставить себе что-нить другое вместо D7...
Ketmar (2006-10-28 21:41:00) [14]
The FindFirstChangeNotification function creates a change notification handle and sets up initial change notification filter conditions. A wait on a notification handle succeeds when a change matching the filter conditions occurs in the specified directory or subtree.
ключевые слова --A wait on a notification handle.
итого: поток. CreateEvent()/PulseEvent(). PostMessage(). да что угодно, в принципе.
Ingwar (2006-10-28 21:36:00) [15]У меня код рабочий, но меня он не устраивает.... Я хочу оптимизировать =)
Я хочу чтобы моя программа реагировала сразу по изменению файла... Мне хотелось бы как-нить event на это дело повесить =)
Anatoly Podgoretsky (2006-10-28 21:31:00) [16]Не рискнул бы работать с подобным, легко потерять все данные. А определить окончание работы не представляется возможным, работа может быть бесконечной.
Максимум, что можно сделать, чтобы обезопасить себя, так это открывать в монопольном режиме, но в этом случае другая программа может пострадать.
Ketmar (2006-10-28 21:23:00) [17]ты сначала напиши нерабочий код, потом приходи с ним сюда: будем больно бить и учить уму-разуму. %-)
Ketmar (2006-10-28 21:23:00) [18]справку читал? там всё английским по winhelp разжёвано. что не разжёвано -- то есть на http://msdn.com/
%-)
Ingwar (2006-10-28 21:17:00) [19]ТО TUser: Эти функции будут срабатывать как события?
TUser (2006-10-28 21:03:00) [20]Можно. Надо использовать АПИ-функции
FindFirstChangesNotification, ect
ReadDirectoryChangesW