Автор Тема: ASC - Каталогизатор AutoIt скриптов  (Прочитано 33601 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7809
  • Репутация: 2281
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Представляю вашему вниманию, специально для Русского сообщества AutoIt...

Каталогизатор AutoIt скриптов

Нажмите для отображения изображения в оригинальном размере.

Нажмите для отображения изображения в оригинальном размере. Нажмите для отображения изображения в оригинальном размере.
Скачать: Au3, Exe

Данный инструмент позволит вам каталогизировать ваши скрипты и проекты.

Возможности программы:
  • Авто обновление программы
  • Мультиязычность
  • Поддержка скинов
  • Встроенный плагин редактора скриптов
  • Работа из системного трея
  • Поддержка Drag & Drop в список скриптов, а также в список категории (в последнем случае можно перетаскивать папки)
  • Поддержка горячих клавиш (список см. ниже).
  • Хранение скриптов в локальной базе данных
  • Сортировка списка
  • Фильтрация и быстрый поиск по списку, включая поиск по содержимому скриптов
  • Копирование информации о выделенных скриптах
  • Копирование скриптов в другие категории
  • И многое другое

Список поддерживаемых горячих клавиш:
(нажмите для показа/скрытия)

Примечание:
Код программы разрабатывался под AutoIt 3.3.6.1, но позже полностью был адаптирован под 3.3.8.1.



Мини FAQ...

Где можно скачать дополнительные скины и как их добавить?
(нажмите для показа/скрытия)

Как перевести программу на другой язык?
(нажмите для показа/скрытия)

Как обновить файлы перевода под новую версию?
(нажмите для показа/скрытия)

* Для перевода плагинов, нужно брать как шаблон секцию [Plugins Translation] из файла English.lng.



Предложения по улучшению и замечания очень приветствуются.
« Последнее редактирование: Июнь 29, 2012, 23:56:29 от CreatoR, Причина: Обновление материала »


Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.


«Не оказываю тех. поддержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

Русское сообщество AutoIt

ASC - Каталогизатор AutoIt скриптов
« Отправлен: Июнь 12, 2012, 15:35:58 »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379
  • Репутация: 2694
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: ASC - Каталогизатор AutoIt скриптов
« Ответ #1, Отправлен: Июнь 12, 2012, 16:31:03 »
А почему скриншот без скина? Со скином намного красивее выглядит.


Думай, прежде чем говорить.

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7809

  • Автор темы
  • Репутация: 2281
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: ASC - Каталогизатор AutoIt скриптов
« Ответ #2, Отправлен: Июнь 12, 2012, 16:44:31 »
Yashied  [?]
Цитировать
А почему скриншот без скина?
Да да, забыл :). Обновил скрин.

Цитировать
Со скином намного красивее выглядит
Кстати, со скином медленнее обработка списка, не в курсе почему?


P.S.
А как сама утилита, по функционалу в смысле, нужна она вообще?

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379
  • Репутация: 2694
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: ASC - Каталогизатор AutoIt скриптов
« Ответ #3, Отправлен: Июнь 12, 2012, 20:07:38 »
А как сама утилита, по функционалу в смысле, нужна она вообще?

Сейчас буду играться...

Русское сообщество AutoIt

Re: ASC - Каталогизатор AutoIt скриптов
« Ответ #3 Отправлен: Июнь 12, 2012, 20:07:38 »

Оффлайн Kaster [?]

  • Бритва, Бритва Оккама
  • Глобальный модератор
  • *
  • Сообщений: 4020
  • Репутация: 622
  • Пол: Мужской
  • Мой Аватар, он лучший самый
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: ASC - Каталогизатор AutoIt скриптов
« Ответ #4, Отправлен: Июнь 12, 2012, 20:37:18 »
мне кажется, картинки на кнопках лучше использовать непрозрачные. а то полоски фона просвечивают, некрасиво
Конференция посвященная AutoIt на jabber.ru - [email protected]
Как попасть на конференцию читаем тут


Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7809

  • Автор темы
  • Репутация: 2281
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: ASC - Каталогизатор AutoIt скриптов
« Ответ #5, Отправлен: Июнь 13, 2012, 00:00:18 »
Kaster  [?]
Цитировать
картинки на кнопках лучше использовать непрозрачные
Тогда если не использовать скин будет выглядеть не очень. Нужно как то проверять...

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7809

  • Автор темы
  • Репутация: 2281
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: ASC - Каталогизатор AutoIt скриптов
« Ответ #6, Отправлен: Июнь 14, 2012, 07:01:57 »
Обновление...

Цитировать
[1.1]
* Косметические поправки в коде.
* Переработка дизайна:
        * Кнопки управления категориями заменены контекстным меню (в списке категории).
        * Кнопки с иконками теперь отображаются корректно при включённом скине.
* Изменены горячие клавиши. Теперь все г. клавиши можно легко изменить задав нужные значения у констант в начале скрипта (в секции инициализации).
+ Добавлены г. клавиши для управления категориями.
+ Добавлена возможность восстановления настроек по умолчанию.
+ Добавлена командная строка для поддержки генерации языкового файла.
        Если программа запущена с параметром "/GenerateLangFile:LangName", то языковый файл генерируется как LangName.lng.
        В случае если LangName не указан, то существующие файлы дополняются отсутствующими строчками для перевода.
        Полезно при создании нового файлового языка, а также при обновлении программы, чтобы иметь возможность иметь свои переведённые строчки
        (только новые, недостающие строчки будут добавлены в указанный языковый файл).
- Убрана опция добавления подкатегории (по причине некоторых сложностей при перемещении элементов списка).

Утилита теперь доступна отдельно в скомпилированном виде.
« Последнее редактирование: Июнь 14, 2012, 22:50:21 от CreatoR »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379
  • Репутация: 2694
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: ASC - Каталогизатор AutoIt скриптов
« Ответ #7, Отправлен: Июнь 14, 2012, 11:56:28 »
А что мешает использовать WinAPIEx UDF? Отсюда и все недочеты. Например, в WM_DROPFILES нужно вызывать DragFinish(). Что бы в Vista+ с UAC работал WM_DROPFILES нужно добавить исключение (см. ChangeWindowMessageFilterEx()).


Добавлено: Июнь 14, 2012, 11:59:43
Опять же, что бы интерфейс не зависил от используемого в системе шрифта, лучше задать шрифт однозначно - "Microsoft Sans Serif" (я об этом писал здесь).


Добавлено: Июнь 14, 2012, 12:09:31
OnAutoItExitRegister() стоит до объявления всех переменных, но в самой функции выхода они используются. В принципе ничего страшного, но порядка ради...


Добавлено: Июнь 14, 2012, 12:12:10
Не совсем понял смысл следующей записи:

Код: AutoIt [Выделить]
If Not IsDeclared('WM_DROPFILES') Then Assign('WM_DROPFILES', 0x233, 2)


Мне кажется это лишнее.


Добавлено: Июнь 14, 2012, 12:19:51
Это неправильный вызов функции.

Код: AutoIt [Выделить]
Func _WinAPI_GetWindowFromPoint($XPoint, $YPoint)
    Local $aResult = DllCall("User32.dll", "hwnd", "WindowFromPoint", "int", $XPoint, "int", $YPoint)
    Return $aResult[0]
EndFunc



Добавлено: Июнь 14, 2012, 12:22:22
Код: AutoIt [Выделить]
If Not Execute(GUICtrlRead($Filter_Input) == $sOld_Filter_Text) Then


Зачем здесь использовать Execute()?


Добавлено: Июнь 14, 2012, 12:23:13
Код: AutoIt [Выделить]
ControlEnable($hSetting_GUI, "", $iSettings_OK_Button)


И ControlEnable()?


Добавлено: Июнь 14, 2012, 12:34:04
Код: AutoIt [Выделить]
DllCall("user32.dll", "ptr", "SendMessage", "hwnd", $hWnd, "int", $WM_INPUTLANGCHANGEREQUEST, "int", 1, "int", $aRet[0])


Нужно так (последние два параметра):

Код: AutoIt [Выделить]
DllCall("user32.dll", "lresult", "SendMessage", "hwnd", $hWnd, "uint", $WM_INPUTLANGCHANGEREQUEST, "uint_ptr", 1, "uint_ptr", $aRet[0])



Добавлено: Июнь 14, 2012, 13:01:46
Когда я нажимаю левую кнопку мыши в пустом месте списка, то такие пункты меню, как "Run Script", "Edit Script" и т.д., доступны...

:)


Добавлено: Июнь 14, 2012, 13:04:35
Почему ты не сделал защиту от повторного запуска?
« Последнее редактирование: Июнь 14, 2012, 13:04:35 от Yashied, Причина: Объединение сообщений »

Русское сообщество AutoIt

Re: ASC - Каталогизатор AutoIt скриптов
« Ответ #7 Отправлен: Июнь 14, 2012, 11:56:28 »

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7809

  • Автор темы
  • Репутация: 2281
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: ASC - Каталогизатор AutoIt скриптов
« Ответ #8, Отправлен: Июнь 14, 2012, 18:10:11 »
Yashied  [?]
Цитировать
что мешает использовать WinAPIEx UDF?
Привязанность к старым методам?

Цитировать
Например, в WM_DROPFILES нужно вызывать DragFinish(). Что бы в Vista+ с UAC работал WM_DROPFILES нужно добавить исключение (см. ChangeWindowMessageFilterEx()).
Подробнее можно, желательно с примерами.

Цитировать
OnAutoItExitRegister() стоит до объявления всех переменных, но в самой функции выхода они используются. В принципе ничего страшного, но порядка ради...
Поправлю, спасибо.

Цитировать
Мне кажется это лишнее.
Вся строка? Без неё ругается в 3.3.6.1 (там нет этой константы).

Цитировать
Зачем здесь использовать Execute()?
Не помню :stars:. Ты не поверишь, но скрипт начал писать пару лет назад.

Цитировать
И ControlEnable()?
А вот это нужно, чтобы активировать кнопку «OK» в диалоге настроек при обновлении полей ввода.
Заметь, она активна только после первого ввода пользователя.

Цитировать
Когда я нажимаю левую кнопку мыши в пустом месте списка, то такие пункты меню, как "Run Script", "Edit Script" и т.д., доступны...
Ты наверно имел в виду правую? :)
Ну я это ещё не реализовал, хотя в задумках есть.
Но в любом случае, эти пункты не реагируют если нет выделения.

Цитировать
Почему ты не сделал защиту от повторного запуска?
Слишком много ToDo'шек :laugh:
Сделаю, спасибо за напоминание.

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379
  • Репутация: 2694
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: ASC - Каталогизатор AutoIt скриптов
« Ответ #9, Отправлен: Июнь 14, 2012, 18:57:17 »
Подробнее можно, желательно с примерами.

WinAPIEx UDF => _WinAPI_DragQueryFileEx.au3

Вся строка? Без неё ругается в 3.3.6.1 (там нет этой константы).

Ну ведь ты пишешь не UDF, а готовую программу и под 3.3.6.1. Просто объяви ее в самом скрипте. Зачем городить огород и усложнять код ради ненужной совместимости?

Не помню. Ты не поверишь, но скрипт начал писать пару лет назад.

Здесь Execute() не нужен. Да и вообще, в очень редких случаях может понадобиться.

А вот это нужно, чтобы активировать кнопку «OK» в диалоге настроек при обновлении полей ввода.

GUICtrlSetState()?

Оффлайн Zaramot [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1160
  • Репутация: 655
  • Пол: Мужской
  • I ♥ AutoIt
    • Награды
  • Версия AutoIt: 3.3.8.1
Re: ASC - Каталогизатор AutoIt скриптов
« Ответ #10, Отправлен: Июнь 14, 2012, 20:02:45 »
Исправь ошибку со шрифтом:
Нажмите для отображения изображения в оригинальном размере.

При смене языка на русский...

PS. Windows XP SP3

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7809

  • Автор темы
  • Репутация: 2281
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: ASC - Каталогизатор AutoIt скриптов
« Ответ #11, Отправлен: Июнь 14, 2012, 22:03:39 »
Yashied  [?]
Цитировать
Ну ведь ты пишешь не UDF, а готовую программу и под 3.3.6.1. Просто объяви ее в самом скрипте. Зачем городить огород и усложнять код ради ненужной совместимости?
Ну я писал под 3.3.6.1, но хочу чтобы ей могли пользоваться и под 3.3.8.1, что в этом плохо?
Может сделать поддержку только последней версии?

Цитировать
GUICtrlSetState()?
А какая разница?
Просто в начале я не хотел объявлять переменную для кнопки и использовал её ClassNN, но потом решил что надёжнее будет использовать именно ID (в случае изменении), а функцию так и не сменил.

Zaramot  [?]
Цитировать
Исправь ошибку со шрифтом:
А без скина?

Оффлайн CreatoR [?]

  • Администратор
  • *
  • Сообщений: 7809

  • Автор темы
  • Репутация: 2281
  • Пол: Мужской
  • AutoIt is simple, subtle, elegant
    • CreatoR's Lab
    • Награды
  • Версия AutoIt: 3.3.10.2
Re: ASC - Каталогизатор AutoIt скриптов
« Ответ #12, Отправлен: Июнь 14, 2012, 22:51:36 »
Архивы перезалил, с некоторыми косметическими поправками в коде. Версия не изменилась.

Оффлайн Zaramot [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 1160
  • Репутация: 655
  • Пол: Мужской
  • I ♥ AutoIt
    • Награды
  • Версия AutoIt: 3.3.8.1
Re: ASC - Каталогизатор AutoIt скриптов
« Ответ #13, Отправлен: Июнь 14, 2012, 23:20:45 »
Цитировать
А без скина?
Тоже.

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5379
  • Репутация: 2694
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Re: ASC - Каталогизатор AutoIt скриптов
« Ответ #14, Отправлен: Июнь 15, 2012, 13:17:31 »
А какая разница?

Как между небом и землей. Все Control... функции сначала ищут родительское окно, затем перечисляют все его элементы для определения необходимого ID, и только затем посылают соответствующее сообщение. В случае работы с текстом, например ControlGetText(), все еще намного сложнее, т.к. необходимо перенаправить поток ввода из чужого процесса в свой... GUICtrl... функции работают напрямую и только в своем процессе, что намного проще и быстрее.

Control... функции нужно использовать только для окон, созданных не AutoIt средствами.

Русское сообщество AutoIt

Re: ASC - Каталогизатор AutoIt скриптов
« Ответ #14 Отправлен: Июнь 15, 2012, 13:17:31 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
2 Ответов
5663 Просмотров
Последний ответ Декабрь 31, 2009, 17:28:32
от Medic84
9 Ответов
6169 Просмотров
Последний ответ Октябрь 09, 2010, 11:32:22
от Kaster
5 Ответов
4959 Просмотров
Последний ответ Май 07, 2011, 02:33:42
от Kaster
0 Ответов
2409 Просмотров
Последний ответ Май 07, 2011, 02:33:54
от Kaster
6 Ответов
8819 Просмотров
Последний ответ Май 07, 2013, 20:34:05
от person888
9 Ответов
8377 Просмотров
Последний ответ Июль 20, 2011, 08:57:56
от Viktor1703
2 Ответов
3044 Просмотров
Последний ответ Декабрь 22, 2011, 13:30:21
от axlwor
1 Ответов
5326 Просмотров
Последний ответ Январь 17, 2014, 00:33:21
от Skif_off
13 Ответов
6665 Просмотров
Последний ответ Январь 28, 2014, 16:52:59
от Astel064
6 Ответов
4587 Просмотров
Последний ответ Февраль 17, 2015, 23:06:56
от firex