Главная страница
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.046 c
15-1162105239
Pazitron_Brain
2006-10-29 10:00
2006.11.19
Сколько тратит IP телефония трафика?


3-1158649774
без ника
2006-09-19 11:09
2006.11.19
FibPlus - есть ли аналог UpdateBatch ?


15-1161882072
Real
2006-10-26 21:01
2006.11.19
cd boot error 0x073 - И винда не сетапится!


1-1160308687
brother
2006-10-08 15:58
2006.11.19
Старт сервиса сразу


6-1149692838
RainKM
2006-06-07 19:07
2006.11.19
Сканер сети