Форум профессиональных мебельщиков PROMEBELclub
 
PROMEBELclub - Форум для мебельщиков: конструкторов, дизайнеров, мастеров, технологов и всех, кто имеет отношение к производству и изготовлению мебели. Программы для конструирования и дизайна мебели. Мебельная литература и обучающие пособия.
 
 

Вернуться   Форум профессиональных мебельщиков PROMEBELclub > Программы для мебельщиков > Программы для конструирования и дизайна мебели > Система БАЗИС > Базис-мебельщик. Скрипты

Меню

Маркет


Ответ
 
Опции темы Опции просмотра
Старый 02.10.2021, 17:36  
Базис + AutoHotkey
 
Аватар для Bystry
Bystry
Новичок
Регистрация: 02.11.2018
Сообщений: 16

Сказал(а) спасибо: 5
Поблагодарили 22 раз(а) в 3 сообщениях
Версия для печати Отправить по электронной почте
Bystry Bystry вне форума 02.10.2021, 17:36
Рейтинг: ()

Добрый день.
Предлагаю тут развивать тему скриптов AutoHotkey для базиса

Я ужа давно работаю в мебельщике с помощью PieMeny написанное на AutoHotkey. Ну и пару своих скриптов... Снял пару роликов на эту тему на ютьюбе. Кому интересно оставлю тут ссылочки

и

Интересно может кто-то еще использует AutoHotkey в работе? Хотелось бы посмотреть примеры использования.

Официальный сайт | Русскоязычная документация

Я попробовал выложить на гугл диск актуальную версию из второго видео, но гугл диск почему-то считает этот архив зло пакостным поэтому если кому надо пишите в телеграмме(@BNikitaG) поделюсь

Последний раз редактировалось Uncle; 05.10.2021 в 16:45.. Причина: ссылка на актуальную версию
Просмотров: 61465
Ответить с цитированием Вверх
20 пользователя(ей) сказали cпасибо:
Старый 02.06.2022, 23:12   #111
skromvit
Местный
 
Аватар для skromvit
 
Регистрация: 22.12.2008
Сообщений: 263
Сказал(а) спасибо: 55
Поблагодарили 236 раз(а) в 169 сообщениях
Вес репутации: 261
skromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от sergio1982 Посмотреть сообщение
В 2022 скорее всего не отрабатывает FindTree.
Попробуйте так. FindTree был сделан, так как TVirtualStringTree2 не всегда существует.
В 21, и наверное в 22 - окно свойств это TVirtualStringTree4, а цвет не меняется по тому, что это не 12, а 13 строка
PHP код:
SetBox(13winctrl2"TVTColorBox1") ; в 13 строке выбрать 6 цвет 
А так действительно шустро работает.

Первый вариант с FindTree тоже рабочий в 21, но при
PHP код:
Static EditName := "TSpTBXEdit1" 
skromvit на форуме   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
PravCom (03.06.2022)
Старый 02.06.2022, 23:51   #112
skromvit
Местный
 
Аватар для skromvit
 
Регистрация: 22.12.2008
Сообщений: 263
Сказал(а) спасибо: 55
Поблагодарили 236 раз(а) в 169 сообщениях
Вес репутации: 261
skromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личность
По умолчанию

Так как без оплаченной ТП скрипты перестали работать, то пришлось искать альтернативу некоторым часто используемым скриптам. Поиск по номеру детали, Скрыть фасады, Скрыть размеры.
К сожалению не удалось реализовать восстановление видимости, например только фасадов, которые были бы выделены и скрыты при поиске по маске, т.к. непонятно (по крайней мере пока) как этого добиться. А так, пока восстановить видимость у всего сразу.
1. Поиск по номеру детали - вводим в поле окна вместо № любое число. Если нужно выделить несколько деталей - то повторяем Ctrl+F несколько раз.
2. Скрыть фасады - вводим в поле окна вместо № букву "ф".
3. Скрыть размеры - вводим в поле окна вместо № букву "р".
4. Любой введенный текст вместо № - будет вставлен без изменений.

Ну и кому нужно, могут добавить свои "Маски". И да, хоткей на скрыть выделенное - в скрипте F7, если у вас другие клавиши, то заменить {sc41} на свои.

Скрытый текст


PHP код:
;Поиск по номеру деталинайти и скрыть фасады или размеры чрез стандартный Поиск по маске Ctrl+F
^sc21:: ;Ctrl+F
Sleep 10
SetCapsLockState
Off ;отключаем CapsLock для корректной работы Моих масок
Send 
^{sc21} ;запуск хоткея Ctrl+F
winwait
ahk_class TForm
Sleep 100
InputBox NumDet
Поиск по маскеМои маски:`n№ -номер детали`nф -найти и скрыть фасады`nр -найти и скрыть размеры`n,, 250200,,,,,
Sleep 20
If (NumDet "ф") ;ищем фасады и скрываем
{
Fasad = *фасад*
ControlEditPaste, %Fasad%, Edit1
Sleep 20
Control
Check,, Edit1
Sleep 100 
;Подобрать паузу
Send 
{Enter}
;
winwaitahk_class TFormMain
Sleep 200
Send 
{sc41}{sc41} ;F7 Скрыть выделенное 2 разас 1-го почему-то не всегда срабатывает
Return
}
else if (
NumDet "р") ;ищем размеры и скрываем
{
Razmer = *размер*
ControlEditPaste, %Razmer%, Edit1
Sleep 20
Control
Check,, Edit1
Sleep 100 
;Подобрать паузу
Send 
{Enter}
;
winwaitahk_class TFormMain
Sleep 200
Send 
{sc41}{sc41} ;F7 Скрыть выделенное 2 разас 1-го почему-то не всегда срабатывает
Return
}
else if 
NumDet is integer ;выделить по номеруесли это числото вставится в [] скобках
{
ControlEditPaste, [%NumDet%], Edit1
Sleep 20
Control
Check,, Edit1
Sleep 100
Send 
{Enter}
Return
}
else ;
ставится просто введенный текст 
{
Txt = %NumDet%
ControlEditPaste, %Txt%, Edit1
Sleep 20
Control
Check,, Edit1
Sleep 100
Send 
{Enter}
Return
}
Return 
[свернуть]

skromvit на форуме   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
PravCom (03.06.2022)
Старый 03.06.2022, 09:53   #113
PravCom
Местный
 
Регистрация: 15.10.2019
Адрес: Кишинёв
Сообщений: 198
Сказал(а) спасибо: 492
Поблагодарили 72 раз(а) в 31 сообщениях
Вес репутации: 89
PravCom скоро придёт к известности
По умолчанию

Цитата:
Сообщение от skromvit Посмотреть сообщение
а цвет не меняется по тому, что это не 12, а 13 строка
Спасибо. Заработало.
но у меня и заменив на 13 строку, цвет не меняется.
Не совсем понимаю, что значит выбрать цвет? Куда-то вписать код цвета надо или активируется строка в свойствах для выбора цвета?
PravCom вне форума   Ответить с цитированием Вверх
Старый 03.06.2022, 10:32   #114
skromvit
Местный
 
Аватар для skromvit
 
Регистрация: 22.12.2008
Сообщений: 263
Сказал(а) спасибо: 55
Поблагодарили 236 раз(а) в 169 сообщениях
Вес репутации: 261
skromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от PravCom Посмотреть сообщение
Спасибо. Заработало.
но у меня и заменив на 13 строку, цвет не меняется.
Не совсем понимаю, что значит выбрать цвет? Куда-то вписать код цвета надо или активируется строка в свойствах для выбора цвета?
SetBox(13, win, ctrl, 2, "TVTColorBox1") - 2 номер строки в ячейке выбора цвета. Цвет изначально будет предустановлен. То есть стандартный цвет текста черный, после изменения высоты текста сменится и его цвет. Если выделить ещё и размеры, то цвет изменится и у размеров - НО высота текста не изменится, только цвет.
В общем рабочий вариант у меня вот такой на 21:

Скрытый текст



PHP код:
#singleInstance force
#IfWinActive БАЗИС-Мебельщик
#NoEnv  

RowSize := 22

#If WinActive("ahk_class TFormMain") 

f1::
    
win := WinExist("A")

    
ctrl := FindTree(win)
    
InputBoxsizeкакую высоту текста задатьввод цифры нужной высоты текста
    
if ErrorLevel
        
Return 
    
    
SetProp(size7winctrl) ; седьмая строка 
    
;ControlCheck,, TSpTBXEdit1
    SetBox
(13winctrl7"TVTColorBox1") ; в 13 строке выбрать 7 цвет
    Send 
{Esc 3}
    Return
    
#If

SetProp(txtrowwinctrl) {
    Static 
EditName := "TSpTBXEdit1"  ;     TEdit1
    SelProp
(rowwinctrl)  
    
Sleep 50
    ControlSetText
, %EditName%, %txt%
    
Sleep 50
    ControlSend
, %EditName%, {Enter
    
Sleep 20
    ControlSend
, %EditName%, {Esc
}

SetBox(rowwinctrlitemboxname) {
    
SelProp(rowwinctrl)
    
SetKeyDelay500
    ControlSend
, %boxname%, {LCtrl Down}{Home}{LCtrl Up}, % "ahk_id" ctrl
    Loop 
item 1
        ControlSend
, %boxname%, {LCtrl Down}{Down}{LCtrl Up}, % "ahk_id" ctrl
}

SelProp(rowwinctrl) {
    Global 
RowSize 
    
ControlGetPosCtrlXCtrlY, , , , ahk_id %ctrl
    
ControlClick, % "x" " y" (row RowSize) + 6ahk_id %ctrl%, , , , Pos 
}

FindTree(hwnd 0) {
    
Win := hwnd "ahk_id" hwnd "A"
    
WinExist(Win
    
ControlGetctrlHWND, , TFrameProperty1
    ControlGet
ctrlHWND, , TVirtualStringTree1, % "ahk_id" ctrl
    
Return ctrl


[свернуть]

Последний раз редактировалось skromvit; 03.06.2022 в 11:12.
skromvit на форуме   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
PravCom (03.06.2022)
Старый 03.06.2022, 11:22   #115
PravCom
Местный
 
Регистрация: 15.10.2019
Адрес: Кишинёв
Сообщений: 198
Сказал(а) спасибо: 492
Поблагодарили 72 раз(а) в 31 сообщениях
Вес репутации: 89
PravCom скоро придёт к известности
По умолчанию

Странно, после Вашей подсказки попробовал запустить снова скрипт, не запускался, стал разбираться, что не так, оказалось, что поменялся TVirtualStringTree4 на TVirtualStringTree5
https://i.ibb.co/9V7v1qb/image.jpg
PravCom вне форума   Ответить с цитированием Вверх
Старый 03.06.2022, 11:33   #116
skromvit
Местный
 
Аватар для skromvit
 
Регистрация: 22.12.2008
Сообщений: 263
Сказал(а) спасибо: 55
Поблагодарили 236 раз(а) в 169 сообщениях
Вес репутации: 261
skromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от PravCom Посмотреть сообщение
Странно, после Вашей подсказки попробовал запустить снова скрипт, не запускался, стал разбираться, что не так, оказалось, что поменялся TVirtualStringTree4 на TVirtualStringTree5
https://i.ibb.co/9V7v1qb/image.jpg
Да похоже включая или отключая другие меню - TVirtualStringTree меняется. Попробовал открыть библиотеку и сменилось на 3, открепил окно свойств и получил 1.

Выше код в #114, который срабатывает при любом значении TVirtualStringTree. Во всяком случае при разных комбинациях включенных окон у меня срабатывает
skromvit на форуме   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
PravCom (03.06.2022)
Старый 03.06.2022, 11:44   #117
PravCom
Местный
 
Регистрация: 15.10.2019
Адрес: Кишинёв
Сообщений: 198
Сказал(а) спасибо: 492
Поблагодарили 72 раз(а) в 31 сообщениях
Вес репутации: 89
PravCom скоро придёт к известности
По умолчанию

Цитата:
Сообщение от skromvit Посмотреть сообщение
Во всяком случае при разных комбинациях включенных окон у меня срабатывает
у меня не срабатывает)) одно радует, способ по поиску картинки работает без сбоев, но чуть медленнее.
PravCom вне форума   Ответить с цитированием Вверх
Старый 03.06.2022, 12:08   #118
skromvit
Местный
 
Аватар для skromvit
 
Регистрация: 22.12.2008
Сообщений: 263
Сказал(а) спасибо: 55
Поблагодарили 236 раз(а) в 169 сообщениях
Вес репутации: 261
skromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от PravCom Посмотреть сообщение
у меня не срабатывает)) одно радует, способ по поиску картинки работает без сбоев, но чуть медленнее.
У меня в примере поиск картинки был по всему экрану, если сузить область поиска, например только левая чать экрана, то будет чуть побыстрее. Но, как мне кажется, это будет мало заметно. Скорость передвижения курсора по экрану не мгновенная
skromvit на форуме   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
PravCom (03.06.2022)
Старый 03.06.2022, 18:51   #119
sergio1982
Местный
 
Регистрация: 01.09.2019
Сообщений: 424
Сказал(а) спасибо: 52
Поблагодарили 480 раз(а) в 147 сообщениях
Вес репутации: 196
sergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царстве
По умолчанию

Цитата:
Сообщение от skromvit Посмотреть сообщение
В 21, и наверное в 22 - окно свойств это TVirtualStringTree4,
Цитата:
Сообщение от skromvit Посмотреть сообщение
Да похоже включая или отключая другие меню - TVirtualStringTree меняется.
Для того и написана FindTree.

Цитата:
Сообщение от skromvit Посмотреть сообщение
У меня в примере поиск картинки был по всему экрану, если сузить область поиска, например только левая чать экрана
Нет, надо найти координаты TVirtualStringTree, и искать только в них, и у вас изначальная ошибка в повторном поиске картинки когда это не требуется. Если найдена первая, зачем то ищется вторая и третья.

Цитата:
Сообщение от skromvit Посмотреть сообщение
Например только левая чать экрана, то будет чуть побыстрее.
А если правая, то поиск увеличится по длительности в три раза, относительно левого расположения. Это при условии если также остаётся задан весь экран.

Цитата:
Сообщение от skromvit Посмотреть сообщение
Скорость передвижения курсора по экрану не мгновенная
Есть команды с мгновенной.
sergio1982 вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
PravCom (03.06.2022)
Старый 03.06.2022, 19:45   #120
skromvit
Местный
 
Аватар для skromvit
 
Регистрация: 22.12.2008
Сообщений: 263
Сказал(а) спасибо: 55
Поблагодарили 236 раз(а) в 169 сообщениях
Вес репутации: 261
skromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от sergio1982 Посмотреть сообщение
Нет, надо найти координаты TVirtualStringTree, и искать только в них, и у вас изначальная ошибка в повторном поиске картинки когда это не требуется. Если найдена первая, зачем то ищется вторая и третья.
Да, картинки не самый удачный пример. Но мне так проще. У себя конечно я задаю область не всего экрана монитора. И потом, разве третья картинка у меня ищется? Там по ситуации, либо активная строка, либо нет. В любом случае пока работает.

Цитата:
Сообщение от sergio1982 Посмотреть сообщение
Есть команды с мгновенной.
Это как в примере с FindTree?
skromvit на форуме   Ответить с цитированием Вверх
Ответ

Нижняя навигация
Вернуться   Форум профессиональных мебельщиков PROMEBELclub > Программы для мебельщиков > Программы для конструирования и дизайна мебели > Система БАЗИС > Базис-мебельщик. Скрипты


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Базис-7,"Народный Базис"и Windows-8 sergeyzak18 "НАРОДНЫЙ" базис 23 16.01.2014 00:37


Текущее время: 17:44. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© 2007-2023 PROMEBEL

џндекс.Њетрика