Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.19;
Скачать: CL | DM;

Вниз

Как лучше сделать!   Найти похожие ветки 

 
Ingwar ©   (2006-10-28 20:51) [0]

Проблема такого плана: Есть чужая программа которая создает и изменяет файлы. Моя задача прочесть эти файлы, после их создания или очередного изменения.
Сейчас я сделал через таймер, т.е. переодически опрашиваю каталог на появление нового файла, или на обновление уже имеющихся.
Вопрос: Можно ли это сделать более оптимально?


 
TUser ©   (2006-10-28 21:03) [1]

Можно. Надо использовать АПИ-функции

FindFirstChangesNotification, ect
ReadDirectoryChangesW


 
Ingwar ©   (2006-10-28 21:17) [2]

ТО TUser: Эти функции будут срабатывать как события?


 
Ketmar ©   (2006-10-28 21:23) [3]

справку читал? там всё английским по winhelp разжёвано. что не разжёвано -- то есть на http://msdn.com/
%-)


 
Ketmar ©   (2006-10-28 21:23) [4]

ты сначала напиши нерабочий код, потом приходи с ним сюда: будем больно бить и учить уму-разуму. %-)


 
Anatoly Podgoretsky ©   (2006-10-28 21:31) [5]

Не рискнул бы работать с подобным, легко потерять все данные. А определить окончание работы не представляется возможным, работа может быть бесконечной.
Максимум, что можно сделать, чтобы обезопасить себя, так это открывать в монопольном режиме, но в этом случае другая программа может пострадать.


 
Ingwar ©   (2006-10-28 21:36) [6]

У меня код рабочий, но меня он не устраивает.... Я хочу оптимизировать =)
Я хочу чтобы моя программа реагировала сразу по изменению файла... Мне хотелось бы как-нить event на это дело повесить =)


 
Ketmar ©   (2006-10-28 21:41) [7]

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 22:00) [8]

В справке на мою Дельфю этого нету!!! Может мне поставить себе что-нить другое вместо D7...


 
Ketmar ©   (2006-10-28 22:03) [9]

>[8] Ingwar(c) 28-Oct-2006, 22:00
>В справке на мою Дельфю этого нету!!!
а я вот как раз оттуда цитировал... загадка?


 
Ingwar ©   (2006-10-28 22:18) [10]

А у меня нету!!!! У меня при наборе в справке FindFirstС...  - все глухо =( Аналогично и при наборе ReadDirectoryChangesW. Так что если к этим функциям есть example киньте в меня плиз. Потому что я даже не знаю какие у них есть параметры и т.д.


 
Zeqfreed ©   (2006-10-28 22:18) [11]


> В справке на мою Дельфю этого нету!!! Может мне поставить
> себе что-нить другое вместо D7...

Тетрис?


 
Орион ©   (2006-10-28 22:31) [12]

> [10] Ingwar ©   (28.10.06 22:18)

не ту справку запускаешь.


 
Ingwar ©   (2006-10-28 22:39) [13]

Ура!!!! Яндекс вывел ссылку на сайт Мастера Дельфи по названию функции... Урррраааа!


 
Ketmar ©   (2006-10-28 22:41) [14]

>[10] Ingwar(c) 28-Oct-2006, 22:18
а кто тебе наврал, что это функции Delphi? это WinAPI.


 
имя   (2006-10-28 22:43) [15]

Удалено модератором


 
имя   (2006-10-28 22:45) [16]

Удалено модератором


 
Ingwar ©   (2006-10-30 13:58) [17]

ТО Ketmar: Может литературу или автора по WinAPI посоветуешь...
И нечего на меня наезжать... Если бы я знал что-такое WinAPI, то я бы и задал вопрос в другом форуме, а не в этом!

PS. Надеюсь никого не обидел. И очень надеюсь, что получу подсказку.


 
MikePetrichenko ©   (2006-10-30 14:01) [18]


> ТО Ketmar: Может литературу или автора по WinAPI посоветуешь.
> ..
> И нечего на меня наезжать... Если бы я знал что-такое WinAPI,
>  то я бы и задал вопрос в другом форуме, а не в этом!

"В сад. Все в сад" (С)


> PS. Надеюсь никого не обидел. И очень надеюсь, что получу
> подсказку.

См. выше.


 
MikePetrichenko ©   (2006-10-30 14:02) [19]


> Ketmar ©   (28.10.06 21:23) [4]

И гиде тема где я штуку баксов прое...?


 
Ketmar ©   (2006-10-30 15:49) [20]

>[17] Ingwar(c) 30-Oct-2006, 13:58
а я тебя считал адекватным. и с мозгами... скажи, что ты пошутил так неудачно.
хинт: всю необходимую информацию я дал. или записать и тебя в "надмозги"?

>[19] MikePetrichenko(c) 30-Oct-2006, 14:02
>И гиде тема
у меня в базе. %-)



Страницы: 1 вся ветка

Текущий архив: 2006.11.19;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.035 c
6-1151406325
alex_pv1
2006-06-27 15:05
2006.11.19
Установить IP


1-1159882134
mazur_r
2006-10-03 17:28
2006.11.19
Работа с полями в Word.


15-1162213360
Synset
2006-10-30 16:02
2006.11.19
CVS


2-1162200542
TrainerOfDolphins
2006-10-30 12:29
2006.11.19
Установка frx-компонентов...


2-1161869074
Cyrax
2006-10-26 17:24
2006.11.19
Получить реальный порт UDP-сервера