Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Тут на форуме не раз возникали замечания на тему, что в NeoBook не хватает тех или иных мелких, но иногда полезных функций. Мне думается, что следует попытаться исправить эту ситуацию с помощью плагина, т.к. VB или Java знают далеко не все необукеры, к тому же, на мой взгляд, плагин намного более эффективное средство нежели чем, например, тот же VBS. С учетом последнего вопроса об анимации внешних необушных окон, решил реанимировать свой самый первый плагин, который давно-давно делал.
В архиве (см.прикрепление) находятся две версии плагина (Design и Runtime), подобие справки, и демка.
27.02.2011
Мышь и клавиатура
zmShowMousePointer - Показать/Скрыть указатель мыши. zmSetMouseMonitor - Установить монитор мыши. zmConfigMouseMonitor - Конфигурирование монитора мыши. zmDelMouseMonitor - Удалить монитор мыши. zmKBChangeLayout - Изменить раскладку клавиатуры для текущего активного окна. zmKBGetLayout - Определить раскладку клавиатуры для текущего активного окна.
zmColorBox - Отобразить диалог выбора цвета. zmFontBox - Отобразить диалог выбора шрифта. zmTrayIcon - Создать в системном лотке значок приложения. zmTrayBalloon - Отобразить сообщение в системном лотке. zmDeleteTrayIcon - Удалить значок из системного лотка. zmExitWindows - Завершение работы: выключение компьютера / перезагрузка /завершение сессии.
Окна
zmFindWindow - Найти окно по заголовку и имени класса. zmGetWindowHandle - Получить дескриптор (HWND) окна по заголовку. zmGetWindowTitle - Получить имя класса и/или текст заголовка окна. zmSetWindowTitle - Установить новый текст заголовка окна. zmShowWindow - Скрыть/Показать/Свернуть/Развернуть/Закрыть окно. zmSetWindowPos - Установить положение окна. zmSetWindowTransparent - Установить уровень прозрачности окна (Windows 2000 и выше). zmCancelWindowTransparency - Отменить свойство прозрачности окна и сделать его непрозрачным (W2k и выше). zmIsWindow - Определить состояние окна (видимость, свернуто, развернуто, и т.п.). zmEnableWindow - Сделать активным неактивное окно. zmDisableWindow - Сделать неактивным окно. zmGetWindowRectangle - Получить положение и размер окна. zmGetForegroundWindow - Получить дескриптор (HWND) верхнего окна в системе. zmSetForegroundWindow - Сделать верхним в системе и активизировать указанное (по дескриптору) окно. zmGetExeNameByHandle - Получить имя файла приложения по дескриптору окна. zmGetDesktopRectangle - Получить координаты области рабочего стола, не скрытой панелью задач.
Окна NeoBook
zmSetCustomWindowPos - Установить положение и размеры внешнего окна (CustomWindow) NeoBook . zmShowCustomWindow - Скрыть/Показать/Свернуть/Развернуть/Закрыть внешнее окно NeoBook. zmIsCustomWindow - Определить состояние внешнего окна NeoBook (видимость, свернуто, развернуто, и т.п.). zmEnableCustomWindow - Сделать активным неактивное внешнее окно NeoBook. zmDisableCustomWindow - Сделать неактивным внешнее окно NeoBook. zmSetCustomWindowTransparent - Установить уровень прозрачности внешнего окна NeoBook (W2k и выше). zmCancelCustomWindowTransparency - Отменить свойство прозрачности внешнего окна NeoBook и сделать его непрозрачным (W2k и выше). zmAnimateCustomWindow - Скрыть/Показать с анимационным эффектом внешнее окно (CustomWindow) NeoBook. zmSetCustomWindowMask - Наложить маску на внешнее окно (CustomWindow) NeoBook. zmShowInRectangle - Отобразить внешнее окно (Custom Window) в объекте прямоугольник
Главное окно
zmSetOnMoveSize - Назначить подпрограмму для события перемещения и/или изменения размера главного окна.
Файлы и папки
zmFolderSize - Определить размер в байтах указанного каталога (папки). zmDeleteFolder - Удалить папку (в т.ч. и непустую). zmOpenWithDefault - Открыть файл в программе "по умолчанию". zmCreateLink - Создать ярлык. zmFileGetAtrribute - Получить указанный атрибут файла или папки. zmFileSetAtrribute - Установить/Снять указанный атрибут файлу или папке. zmClearIECache - Очистить временную папку Internet Explorer.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Дата: Вс, 27 Февраля 2011, 03:22 | Сообщение # 811
Друг клуба ММВ
Проверенные
Сообщений: 2713
Offline
Peter, опять вы занимаетесь х-ней, ну не иди ты на поводу леньтяев от програмирования, в крайнем случае сделай хвункцию али две, для добычи пути и имени файла из полного адреса(путь с именем), пусть пользуют что нужно. Ну ты понял, держиш массив полных имен, и рисуеш пару функций по доступу к нему, которые и возвращают нужный вид, то ли сам массив, то ли только папки то ли только имена файлов, ну там с расширениями или без, что еще можно добавить, доступ к массиву по индексу, скажем вывел сначала только имена файлов, нужен к нему доступ выбрал в листе и по индесу получил полный путь. Вот и будет, для помотреть и для запустить.
Дата: Вс, 27 Февраля 2011, 04:24 | Сообщение # 812
Админ NeoBook
Администраторы
Сообщений: 7425
Offline
Quote (Alex3A)
вы занимаетесь х-ней, ну не иди ты на поводу
Alex3A, вот тут (впрочем, как и во многом другом) ты прав на все 100! Мудрость, она действительно приходит с годами, и мыслим мы с тобой почти одинаково, но только у меня многое от настроения (или от энтузиазма) зависит.
Quote (Alex3A)
ну там с расширениями или без, что еще можно добавить, доступ к массиву по индексу, скажем вывел сначала только имена файлов, нужен к нему доступ выбрал в листе и по индесу получил полный путь. Вот и будет, для помотреть и для запустить
Так об энтом-то и речь - сделать два массива (с путями и с именами), а обращаться к ним по индексам. Для "визуализации" удобнее всего делать это через два ListBox-а.
Конечно, можно получить имена из массива с путями и средствами самой NB, но скорость в сравнение с плагином...
Технически все это исполнить в плагине - раз плюнуть. И только поэтому есть повод подумать, но не нравится мне эта затея сама по себе в принципе.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Дата: Вс, 27 Февраля 2011, 12:02 | Сообщение # 813
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
это вовсе не хня, процесс обработки результатов поиска уже начиная от 500-1000 файлов в нб-цикле это жесть, вот я и хотел может в плагине сразу быстрее будет. Не, если ктото может сделать этот код быстрее, то пожалуйста, я против чтоли?
При результатах поиска 2500 - более 2мин... (не дождался конца) 150 файлов - 1,2сек 400 файлов - 7сек
нормально все разложить получается если файлов менее 150-100... сам поиск плагом достаточно быстр (10000 за пару сек), поэтому его не учитываем, да и меряем только скорость разбора нб-кодом. Все тормоза возникают на этапе нарастания массива InListBox и складывания в список, чем дальше, тем медленнее...
Дата: Вс, 27 Февраля 2011, 13:13 | Сообщение # 815
Ветеран форума
Проверенные
Сообщений: 553
Offline
Отличная идея с поиском и командой zmShowInRectangle За 30 сек вывело 57523 файла в список (по таймеру,не считая загрузки списка), то есть это 1917,43 файлов в секунду. Win7 Pro SP1 x64; NBv5.5.4rus,v5.6.2rus, v5.7.0en, Opera
Дата: Вс, 27 Февраля 2011, 13:54 | Сообщение # 818
Генератор идей
Модераторы
Сообщений: 3173
Offline
Если я в папке C:\Program Files\NeoBook 5\PlugIns\zmFunctions заменил файлы на новые (NB закрыта), означает ли это, что плагин нужно заново устанавливать или NB просто будет использовать новый плагин сама?
Дата: Вс, 27 Февраля 2011, 14:05 | Сообщение # 820
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
так он считал просто поиск плагом, а я считал совсем другое - отрезание пути и склад в список нб-кодом. Поиск плагом я писал что
Quote
сам поиск плагом достаточно быстр (10000 за пару сек)
поискал в c:\windows, маска *.*: 76852шт за 37,8сек = 2077шт/сек, 10053шт за 1,3сек = 7730шт/сек, почти мгновенно. правда заметил небольшую деталь, поиск не производится в скрытых папках. Как задавать вопросы
Дата: Вс, 27 Февраля 2011, 14:06 | Сообщение # 821
Необукер
Проверенные
Сообщений: 4238
Offline
Вадим, при запуске НБ видишь список загружаемых плагов, вот в этот момент и загружаются плагины, если же замена при открытом НБ, то после замены необходимо просто перезапустить НБ Повтороная установка плага не нужна
Сообщение отредактировано Сергей - Вс, 27 Февраля 2011, 14:09
Дата: Вс, 27 Февраля 2011, 17:56 | Сообщение # 825
Админ NeoBook
Администраторы
Сообщений: 7425
Offline
Quote (DEMBEL)
ладно, я уже передумал так делать
Значит, опция отменяется... Что ж, вполне разумно.
Quote (DEMBEL)
поиск не производится в скрытых папках.
А штатная команда ищет в скрытых папках?
Думаю, что можно наладить поиск и скрытых файлов.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Дата: Вс, 27 Февраля 2011, 22:09 | Сообщение # 826
Ветеран форума
Проверенные
Сообщений: 553
Offline
Quote (Alex3A)
Дык проводник то наверное работает еще быстрее.
Да,быстро...ускорял систему
Quote (Сергей)
это как так? Gorezcaid у тебя 32-кластерный суперкомп?
может быть
Quote (DEMBEL)
поискал в c:\windows, маска *.*: 76852шт за 37,8сек = 2077шт/сек, 10053шт за 1,3сек = 7730шт/сек, почти мгновенно. правда заметил небольшую деталь, поиск не производится в скрытых папках.
я на D:\ с такой-же маской.
Quote (Peter)
А штатная команда ищет в скрытых папках? Думаю, что можно наладить поиск и скрытых файлов.
Не производит поиск срытых или системных(скрытых) ? Win7 Pro SP1 x64; NBv5.5.4rus,v5.6.2rus, v5.7.0en, Opera
Сообщение отредактировано Gorezcaid - Вс, 27 Февраля 2011, 22:19
Дата: Вс, 27 Февраля 2011, 23:51 | Сообщение # 828
Админ NeoBook
Администраторы
Сообщений: 7425
Offline
Quote (Gorezcaid)
Не производит поиск срытых или системных(скрытых) ?
Quote (DEMBEL)
я так понял что в любых скрытых
Честно говоря, я ничего не понял!
Тупой я, наверное...
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Дата: Пн, 28 Февраля 2011, 01:01 | Сообщение # 829
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
Quote (Peter)
Честно говоря, я ничего не понял!
имеются в виду варианты атрибутов Hidden и System+Hidden. Когда ставится атрибут System, элемент может вести себя странно. Например, твой поиск может видеть скрытые файлы, но доступ к скрытым элементам с System может ограничиваться системой, и поиск их пропустит. Это не только для поиска, но и для других действий (листинг директорий с dir), такой выпендреж был в досе, приходилось сталкиваться... случайно сменил атрибут файла на System+Hidden и не достучаться до него потом из комстроки... Как задавать вопросы
Дата: Пн, 28 Февраля 2011, 01:13 | Сообщение # 830
Админ NeoBook
Администраторы
Сообщений: 7425
Offline
Quote (DEMBEL)
имеются в виду варианты атрибутов Hidden и System+Hidden. Когда ставится атрибут System, элемент может вести себя странно. Например, твой поиск может видеть скрытые файлы, но доступ к скрытым элементам с System может ограничиваться системой, и поиск их пропустит
Вроде начинаю врубаться в тему. Надо будет "провентиллировать" вопрос...
Добавлено (28 Февраль 2011, 01:13) --------------------------------------------- DEMBEL, у меня есть вопрос: где можно (и лучше) почитать "ликбез" по интернет-радио? А то я плохо врубаюсь в эту тему.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Команда zmTrayIcon в разделе "Текст подсказки" отображает только глобальные переменные.
Ну да, естесственно! Локальные переменный живут только в "теле" скрипта, т.е. (если можно так сказать) в "пределах события", а потом "самоуничтожаются".
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
В отладчике они ж видны. Значит они есть, не уничтожились
Значит они у тебя не локальные, а глобальные. Локальные переменные объявляются специально командой DefineVar, и живут только в пределах того "куска" кода программы, т.е. - скрипта, в котором они объявлены. По завершении работы этого скрипта локальные переменные уничтожаются автоматически.
Мне трудно понять, что там у тебя отображается, а что не работает (или работает не так), пока не увижу исходник.
Добавлено (14 Март 2011, 02:48) --------------------------------------------- И потом.... Что значит "видны"? Видны имена переменных в логе команд, или видны их значения на вкладке "переменные"?
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Я переменные конкретно не объявляю. К примеру какая нибудь команда, и сохранить в переменную. Пишу свою переменную (любую, от фоноря пусть будет [Rzyltat]) В эту переменную сохраняю текст, любой. В отладчике она есть, текст есть, но если вставить эту переменную в zmTrayIcon в раздел "Текст подсказки" , то текст не отобразится. А любая глобальная переменная отображается. Не хочешь читать хелп?
Завтра разбираться будем.... - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Плагин и не должен отображать автоматом изменившийся текст переменой, если она назначена ему как текст подсказки. Текст подсказки задается явно, т.е один раз, и при смене содержимого переменной меняться автоматом не будет, т.е его нужно снова "задать".
В общем, я пока не очень понял и уже туго соображаю, покажи лучше исходник. ОК?
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
В общем, я пока не очень понял и уже туго соображаю, покажи лучше исходник. ОК?
Ладно, давай до завтра. Я еще покумекаю , мож что придумаю.
Quote (Peter)
Текст подсказки задается явно, т.е один раз, и при смене содержимого переменной меняться автоматом не будет, т.е его нужно снова "задать".
Все, вопрос решен. При смене переменной нужно занова запускать эту команду. Тогда все отображается. Правда не понятно почему она там не меняется.
Добавлено (14 Март 2011, 18:16) --------------------------------------------- Что то у меня с командой zmTrayIcon не ладится. В подпрограмме для правой кнопки задаю отобразить всплывающее меню, а оно только моргает, но не отображается. Месаги открываются, а всплывающие меню ни как.
Потому-что в плагине, в отличие от самой NB, не реализован механизм отслеживания изменения содержимого переменных проекта. Между прочим, и в самом Delphi подсказки (и все остальные свойства объектов) объявляются всегда явно,и "автоматом" не меняются! Для "автоматической смены" нужно дополнительно наделять эти объекты соответствующими свойствами (событиями), что каждый программер делает по "желанию", когда это, конечно, необходимо.
Quote (mishem)
а оно только моргает, но не отображается.
Это - давно известный баг "баллона" в плагине. Пока его "происхождение" (и пути исправления) мною не найдены. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться