|
|
|
Выполнить дествия при каком нибудь события???
|
|||
|---|---|---|---|
|
#18+
Мне надо выполнить какие нибудь дествия как только появится файл в каталоге, можно ли это реализовать каким нибудь способом, кроме компонента TIMER? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2008, 13:23 |
|
||
|
Выполнить дествия при каком нибудь события???
|
|||
|---|---|---|---|
|
#18+
You can detect when files or directories are added пример в солюшинах Binding to Windows Message Events \ File/Folder Shell Events + сайт производителя - ссылку забыл удачи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2008, 14:21 |
|
||
|
Выполнить дествия при каком нибудь события???
|
|||
|---|---|---|---|
|
#18+
You can detect when files or directories are added, updated or deleted to your system using Windows messages. Sample: to run the sample, click on the Enable Event button. Once the event is active, open up Windows Explorer and try adding, removing or renaming a file or folder. You can also change a file’s attributes such as making it read-only. Details: This sample uses the following binding to handle file detection: BINDEVENT(_VFP.hWnd, WM_USER_SHNOTIFY, THIS, "handlewinmsg") Note: WM_USER_SHNOTIFY is based on the WM_USER message In addition, this sample uses a number of Shell functions to detect changes to files and directories. You can find additional information about shell events in MSDN: WM_USER Message Shell Programmer’s Guide SHChangeNotifyRegister function Click on the Constants button to view values for the #DEFINES. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2008, 14:26 |
|
||
|
Выполнить дествия при каком нибудь события???
|
|||
|---|---|---|---|
|
#18+
http://msdn2.microsoft.com/en-us/library/ms947678.aspx блин, еле нашел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2008, 14:31 |
|
||
|
Выполнить дествия при каком нибудь события???
|
|||
|---|---|---|---|
|
#18+
сапсибо щас я почитаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2008, 14:39 |
|
||
|
Выполнить дествия при каком нибудь события???
|
|||
|---|---|---|---|
|
#18+
Здравствуй,разобрался? Меня тоже интересует эта тема - только ничего не понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2008, 00:06 |
|
||
|
Выполнить дествия при каком нибудь события???
|
|||
|---|---|---|---|
|
#18+
Да что то я не могу разобраться, может ктонибудь примерчик с обяснениями бросит если не трудно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2008, 16:38 |
|
||
|
Выполнить дествия при каком нибудь события???
|
|||
|---|---|---|---|
|
#18+
Ну, где находится пример, уже указали. Вместе с FoxPro поставляется проект примеров Solution.pjx. Открыть этот проект можно дав в командном окне такую команду Код: plaintext Далее на закладке CODE находите файл main. Встаете на него и нажимаете кнопку "Run". В открывшемся окне находите в списке строку "New in Visual FoxPro 9.0", а в нем строку "Binding to Window Message events". Жмете кнопку Run Sample, чтобы запустить пример. В открывшейся форме в раскрывающемся списке (в левой части формы) выбираете элемент "File/Folder Shell Events" и жмете кнопку "Enable Events", чтобы запустить процесс отслеживания файловых событий. При нажатии кнопки возникнет вопрос, по каким директориям будем производить отслеживание? "Да" - только по директории FoxPro, "Нет" - по всем директориям без исключений. Выбираете "Нет", затем открываете проводник и начинаете создавать/удалять файлы и директории. Потом возвращаетесь в FoxPro и видите журнал того, что Вы делали с файлами и директориями. На той же форме примера кнопка "View Source" откроет класс в режиме модификации, в котором и происходит обработка. Суть обработки проста. Функция BindEvents() связывает системные события, направленные в окно с указанным hWnd с неким методом. Другими словами, как только в окне с указанным hWnd происходит определенное событие, автоматически выполняется указанное событие FoxPro. Чтобы события по созданию/изменению файлов и директорий перенаправлялись в FoxPro используют API-функцию SHChangeNotifyRegister(). А чтобы после обработки события FoxPro все-таки выполнилось "штатное" событие Windows в самом конце кода обработки FoxPro дается еще одна API-функция CallWindowProc(). Ну, как некий аналог DoDefault() в FoxPro. Ну, а "детали" всей этой "кухни" смотрите в классах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2008, 19:56 |
|
||
|
Выполнить дествия при каком нибудь события???
|
|||
|---|---|---|---|
|
#18+
Народ я начитался про свщйство BINDEVENT и я не понял каким образом можно решить мою задачу, мне надо запустить процедуру как только в каталоге появляется определенный файл без компонента TIMER. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2008, 14:54 |
|
||
|
Выполнить дествия при каком нибудь события???
|
|||
|---|---|---|---|
|
#18+
BindEvent() назначет тот метод, который будет выполнен при наступлении определенного события. В частности, в VFP9 можно назначить метод, который будет выполнен при создании файла. Поскольку BindEvent() не может назначить процедуру, то код нужной процедуры надо либо "обернуть" в метод собственного класса на базе Custom (вызвать процедуру из метода), либо просто перенести код процедуры в методы собственного класса. Никакого отношения к таймеру BindEvent() не имеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2008, 18:27 |
|
||
|
Выполнить дествия при каком нибудь события???
|
|||
|---|---|---|---|
|
#18+
Это можно только в VFP9.0 (наверное). В VFP8 BindEvent() воспринимает только события экрана (объекта _screen) или других фоксовских объектов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2008, 23:13 |
|
||
|
Выполнить дествия при каком нибудь события???
|
|||
|---|---|---|---|
|
#18+
Это можно только в VFP9.0 (наверное). В VFP8 BindEvent() воспринимает только события экрана (объекта _screen) или других фоксовских объектов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2008, 00:25 |
|
||
|
Выполнить дествия при каком нибудь события???
|
|||
|---|---|---|---|
|
#18+
ВладимирМНу, где находится пример, уже указали. Вместе с FoxPro поставляется проект примеров Solution.pjx. Открыть этот проект можно дав в командном окне такую команду Код: plaintext Далее на закладке CODE находите файл main. Встаете на него и нажимаете кнопку "Run". В открывшемся окне находите в списке строку "New in Visual FoxPro 9.0", а в нем строку "Binding to Window Message events". Жмете кнопку Run Sample, чтобы запустить пример. В открывшейся форме в раскрывающемся списке (в левой части формы) выбираете элемент "File/Folder Shell Events" и жмете кнопку "Enable Events", чтобы запустить процесс отслеживания файловых событий. При нажатии кнопки возникнет вопрос, по каким директориям будем производить отслеживание? "Да" - только по директории FoxPro, "Нет" - по всем директориям без исключений. Выбираете "Нет", затем открываете проводник и начинаете создавать/удалять файлы и директории. Потом возвращаетесь в FoxPro и видите журнал того, что Вы делали с файлами и директориями. На той же форме примера кнопка "View Source" откроет класс в режиме модификации, в котором и происходит обработка. Суть обработки проста. Функция BindEvents() связывает системные события, направленные в окно с указанным hWnd с неким методом. Другими словами, как только в окне с указанным hWnd происходит определенное событие, автоматически выполняется указанное событие FoxPro. Чтобы события по созданию/изменению файлов и директорий перенаправлялись в FoxPro используют API-функцию SHChangeNotifyRegister(). А чтобы после обработки события FoxPro все-таки выполнилось "штатное" событие Windows в самом конце кода обработки FoxPro дается еще одна API-функция CallWindowProc(). Ну, как некий аналог DoDefault() в FoxPro. Ну, а "детали" всей этой "кухни" смотрите в классах. Я мзвеняюсю за повторный вопрос, просто страничку не обнавил и не видел Ваш ответ, именно такой пример я и хотел увидеть, теперь сижу и пошагово разбираюсь что к чему, большое спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2008, 09:14 |
|
||
|
|

start [/forum/topic.php?fid=41&tid=1588104]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 378ms |

| 0 / 0 |
