![]() |
Объединение нескольких GUI в один файл au3
Вложений: 1
Привет, ребята. Прошу вашей помощи.
Раньше делал скрипты только на cmd/bat. Решил попробовать AutoIt. Получилось за неделю кое-что накалякать. То, что получилось собрать на коленке прикрепил. Основной файл - Dispatcher.au3 - работает в фоне (трее) и ждет особых файлов на съемных носителях, потом выполняет определенные действия. Есть еще 2 файла, отвечающие каждый за определенные действия, не связанные с основным файлом. Вот, что не получается - как это все объединить в один файл? Надеюсь на вашу отзывчивость. |
sLiDeR-X, Вроде так...
|
-TRM-, спасибо за попытку, но это я пробовал в самый первый раз - не работает это. Я так понял происходит прерывание работы основного процесса. В общем, не катит.
|
sLiDeR-X,
ИМХО, будет лучше, если Вы напишите что Вы в итоге хотите получить (чем подробнее, тем лучше). |
Хочу, чтоб исполняемый файл был один (Dispatcher.au3).
Программа (Dispatcher.au3) висит в трее и мониторит файлы *.dat на USB до тех пор, пока ее принудительно не закроют. При обнаружении таких файлов копирует их себе в папку и затем отправляет на фтп. Управление программой происходит из меню в трее. Там же есть пункт "Запись табельного номера". По клику на этот пункт должно появиться GUI окно с функцией создания файла табельного номера, введенного вручную. Смог реализовать это только запуском отдельного au3 файла (TabNumber.au3) по меню в трее. То есть это как отдельный процесс. Вопрос в том, как скрипт из TabNumber.au3 включить в состав Dispatcher.au3 и чтоб это все работало только из Dispatcher.au3. Т.е. программа работает в штатном режиме, пользователь выбрал в меню "Запись табельного", программа приостановилась, открыла GUI на ввод табельного, пользователь ввел, закрыл GUI, и программа продолжила свою работу дальше. Аналогично и с файлом Registration.au3. Сейчас все работает, но работают 3 скрипта вместо одного желаемого. Думаю понятно объяснил. По сути, я не могу понять как можно в одном скрипте работать с совершенно разными по функционалу GUI окнами. Архив в шапке перезалил. |
Цитата:
У Вас ищутся все файлы, в имени или расширении которых есть цифра. Какие возможны варианты этих файлов? |
madmasles, цифра в имени всегда есть. А еще может быть файл mash.dat, в котором записан табельный номер, но он не должен участвовать в процессе копирования. Использовать программу будут на специальных местах, где подключение иных съемных носителей, маловероятна. Поэтому сделал поиск именно таким способом.
WM_DEVICECHANGE не учитывает смену карты памяти. А специфика использования данной программы подразумевает обработку в основном именно карт памяти типа ММС/SD. Поэтому поставил таймаут 3 секунды на опрос. |
Цитата:
|
-TRM-, а я ответил. Запусти и посмотри на ошибки.
|
Вложений: 1
Цитата:
|
-TRM-, твой скомпилированный работает.
Выложи au3 свой, пожалуйста. |
Вложений: 1
sLiDeR-X,
Цитата:
|
Вложений: 1
-TRM-, ты сделал на первых выложенных файлах. В шапке сейчас другие уже. Там GUI окна работают по ключу Opt("GUIOnEventMode", 1).
Сделал по аналогии, как сделал ты - у меня ошибки появляются, программа работает не корректно. Я так понял загвоздка именно из-за GUIOnEventMode=1. Вот как сделал я: |
Если отбросить работу самой программы, то как сделать вот это (хочу понять сам принцип):
Поправьте код Код:
#include <WindowsConstants.au3> ;Стиль окон GUI |
sLiDeR-X,
ИМХО, нет смысла дублировать темы на разных форумах. Я начинаю путаться, где Вам отвечать. :) |
madmasles, благодарю за помощь!
Хотя я уже сделал немного по другому - обошелся без GUIOnEventMode=1 и сделал через While и GUIGetMsg Вот ответ на мой вопрос: Код:
#NoTrayIcon |
Время: 11:18. |
Время: 11:18.
© OSzone.net 2001-