Форум профессиональных мебельщиков 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.. Причина: ссылка на актуальную версию
Просмотров: 64084
Ответить с цитированием Вверх
20 пользователя(ей) сказали cпасибо:
Старый 27.05.2022, 21:00   #101
skromvit
Местный
 
Аватар для skromvit
 
Регистрация: 22.12.2008
Сообщений: 274
Сказал(а) спасибо: 55
Поблагодарили 245 раз(а) в 178 сообщениях
Вес репутации: 265
skromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от PravCom Посмотреть сообщение
не сработал..

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


PHP код:
#singleInstance Force
#IfWinActive, БАЗИС-Мебельщик ;Название окна программы


y:: ;Вызываем параметры размеров y
Send 
^+!= ; Ctrl-Shift-Alt-= хоткеи Параметры размеров
winwait
ahk_class TFormParRazm
qS 
;Задаем размер стрелок
Sleep 200
Control
Uncheck,, TCheckBox2 ;Снимаем чек с курсива
Sleep 20 
;Подобрать паузу
Control
Check,, TCheckBox3 ;Ставим чек для замены всем размерам
Sleep 20 
;Подобрать паузу
Control
Check,, Edit1
Sleep 20 
;Подобрать паузу
Control
EditPaste, %qS%, Edit1 ;Меняем размер стрелок
Send 
{Enter}
Sleep 10 ;Подобрать паузу
Control
Check,, Edit2
Sleep 20 
;Подобрать паузу
    WinExist
("A")
    
SetKeyDelay2010  
    InputBox
sizeкакую высоту размерной надписи задать?
 if 
ErrorLevel
        
Return  
    
WinActivate 
Control
EditPaste, %size%, Edit2 ;Меняем высоту надписи
Sleep 10 
;Подобрать паузу
Send 
{Tab 3}{Enter}
Sleep 100 ;Подобрать паузу
Send
,^+{F10}  ;клавиши для выделения всего текста
Sleep 100

ImgFound 
:= false ;ищем картинку
While(ImgFound false)
{
ImageSearchxy0019201080, *0 text_off.png ;картинку ДО выделения вырезать через принтскринт.кнастройки темы могут быть другие
If(<> "")
{
Click, %x%, %y% ;кликаем если нашли невыделенную строку в свойствах
ImgFound 
:= true
}
ImageSearchxy0019201080, *0 text_on.png ;картинку ПОСЛЕ выделения вырезать через принтскринт.кнастройки темы могут быть другие
If(<> "")
{
Click, %x%, %y% ;кликаем если нашли выделенную строку в свойствах
ImgFound 
:= true
}
}
;----------
способ №2 передать значение в ячейку----------
InputBoxsizeкакую высоту размерной надписи задать?
#IfWinActive, ahk_class TFormMain
ControlEditPaste, %size%, TSpTBXEdit1
Sleep 20
Control
Check,, TSpTBXEdit1
Sleep 20
;------------------------------------------------------------------
    
Send, {Enter}{Escape 2}  
    Return 
[свернуть]


Продолжаем попытки

P.S. Иногда помогает просто перезагрузка БМ или скрипта
skromvit вне форума   Ответить с цитированием Вверх
Старый 27.05.2022, 21:07   #102
PravCom
Местный
 
Регистрация: 15.10.2019
Адрес: Кишинёв
Сообщений: 198
Сказал(а) спасибо: 492
Поблагодарили 72 раз(а) в 31 сообщениях
Вес репутации: 90
PravCom скоро придёт к известности
По умолчанию

Цитата:
Сообщение от skromvit Посмотреть сообщение
P.S. Иногда помогает просто перезагрузка БМ или скрипта
перезагрузка всего с последней версией тоже не помогла... ))

извиняюсь, специально его закрыл, само не открывается
окно свойства элементов активируется только по клику мышки, а текст ждёт этой активации, не принимает значения
PravCom вне форума   Ответить с цитированием Вверх
Старый 27.05.2022, 21:11   #103
skromvit
Местный
 
Аватар для skromvit
 
Регистрация: 22.12.2008
Сообщений: 274
Сказал(а) спасибо: 55
Поблагодарили 245 раз(а) в 178 сообщениях
Вес репутации: 265
skromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от PravCom Посмотреть сообщение
перезагрузка всего с последней версией тоже не помогла... ))

но! окно свойства элементов активируется, но текст не принимает значения
Может все-таки попробовать разные имена переменных size1 и size2? Вдруг засада именно с одинаковым именем?

Цитата:
Сообщение от PravCom Посмотреть сообщение
специально его закрыл, само не открывается
Активацию можно через хоткеи сделать, но вот откроется оно в развернутом виде или нет, тут неизвестно.
skromvit вне форума   Ответить с цитированием Вверх
Старый 27.05.2022, 21:14   #104
PravCom
Местный
 
Регистрация: 15.10.2019
Адрес: Кишинёв
Сообщений: 198
Сказал(а) спасибо: 492
Поблагодарили 72 раз(а) в 31 сообщениях
Вес репутации: 90
PravCom скоро придёт к известности
По умолчанию

поиграюсь. Благодарю Вас за помощь. Если получится, выставлю конечный вариант. По задумке там ещё один параметр хочу добавить... а то и два (выбор цветов)
PravCom вне форума   Ответить с цитированием Вверх
Старый 30.05.2022, 15:47   #105
PravCom
Местный
 
Регистрация: 15.10.2019
Адрес: Кишинёв
Сообщений: 198
Сказал(а) спасибо: 492
Поблагодарили 72 раз(а) в 31 сообщениях
Вес репутации: 90
PravCom скоро придёт к известности
По умолчанию

Этим вариантом пользуюсь уже пару дней, вроде всё работает нормально..
Это если работать им в автономном режиме, если кидать в функцию этот код для RadialMenu,
координаты для ввода текста сбиваются. Не напрягает, даже наоборот получается для текста можно выбрать
не только размер из свойств элементов, но и задать цвет текста.

Высота размеров и выносок
PHP код:
#singleInstance Force
#IfWinActive, БАЗИС-Мебельщик ;Название окна программы

F11:: ;Вызываем параметры размеров F11
Send 
^+!= ; Ctrl-Shift-Alt-= хоткеи Параметры размеров
winwait
ahk_class TFormParRazm
qS 
;Задаем размер стрелок
Sleep 200
Control
Uncheck,, TCheckBox2 ;Снимаем чек с курсива
Sleep 20 
;Подобрать паузу
Control
Check,, TCheckBox3 ;Ставим чек для замены всем размерам
Sleep 20 
;Подобрать паузу
Control
Check,, Edit1
Sleep 20 
;Подобрать паузу
Control
EditPaste, %qS%, Edit1 ;Меняем размер стрелок
Send 
{Enter}
Sleep 10 ;Подобрать паузу
Control
Check,, Edit2
Sleep 20 
;Подобрать паузу
    WinExist
("A")
    
SetKeyDelay2010  
    InputBox
size1какую высоту размерной надписи задать?
 if 
ErrorLevel
        
Return  
        
WinActivate 
    Control
EditPaste, %size1%, Edit2 ;Меняем высоту надписи
Sleep 10 
;Подобрать паузу
Send 
{Tab 3}{Enter}
Sleep 100 ;Подобрать паузу
Send
,^+{F10}  ;клавиши для выделения всего текста
    Sleep 250
    WinExist
("A")
 
WinMaximize 
    
SetKeyDelay2010  
    InputBox
size2какую высоту текста задать?
      if 
ErrorLevel
        
Return         
    
WinActivate 
    Send
,^+{F10}  ;клавиши для выделения всего текста
Sleep 100
ImgFound 
:= false ;ищем картинку
While(ImgFound false)
{
ImageSearchxy0019201080, *0 text_off.png ;картинку ДО выделения вырезать через принтскринт.кнастройки темы могут быть другие
If(<> "")
{
Click, %x%, %y% ;кликаем если нашли невыделенную строку в свойствах
ImgFound 
:= true
}
ImageSearchxy0019201080, *0 text_on.png ;картинку ПОСЛЕ выделения вырезать через принтскринт.кнастройки темы могут быть другие
If(<> "")
{
Click, %x%, %y% ;кликаем если нашли выделенную строку в свойствах
ImgFound 
:= true
}
ImageSearchxy0019201080, *0 text_on hold.png ;картинку ПОСЛЕ выделения вырезать через принтскринт.кнастройки темы могут быть другие
If(<> "")
{
Click, %x%, %y% ;кликаем если нашли выделенную строку в свойствах
ImgFound 
:= true
}
}
sleep300
 Send
, %size2%{Enter}{Escape 2}  
    Return 
ссылка на картинки для навигации курсора
https://disk.yandex.ru/d/k23pebKY155ibQ
PravCom вне форума   Ответить с цитированием Вверх
Старый 30.05.2022, 17:38   #106
sergio1982
Местный
 
Регистрация: 01.09.2019
Сообщений: 424
Сказал(а) спасибо: 52
Поблагодарили 481 раз(а) в 147 сообщениях
Вес репутации: 197
sergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царстве
По умолчанию

Вот ещё другой подход, на 8ом почти моментально отрабатывает свойства. Также может выбирать цвет.

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

PHP код:
#SingleInstance Force 
#NoEnv  

RowSize := 22

#If WinActive("ahk_class TFormMain") 

f1::
    
win := WinExist("A")
    
ctrl := FindTree(win)
    
InputBoxsizeкакую высоту текста задатьввод цифры нужной высоты текста
    
if ErrorLevel
        
Return 
    
    
SetProp(size7winctrl) ; седьмая строка 
    
    SetBox
(12winctrl6"TVTColorBox1") ; в 12 строке выбрать 6 цвет
    
Return
    
#If

SetProp(txtrowwinctrl) {
    Static 
EditName := "TEdit1"  ;     TSpTBXEdit1
    SelProp
(rowwinctrl)  
    
Sleep 50
    ControlSetText
, %EditName%, %txt%
    
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

[свернуть]

Последний раз редактировалось sergio1982; 30.05.2022 в 18:41.
sergio1982 вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
skromvit (02.06.2022)
Старый 30.05.2022, 18:52   #107
PravCom
Местный
 
Регистрация: 15.10.2019
Адрес: Кишинёв
Сообщений: 198
Сказал(а) спасибо: 492
Поблагодарили 72 раз(а) в 31 сообщениях
Вес репутации: 90
PravCom скоро придёт к известности
По умолчанию

Цитата:
Сообщение от sergio1982 Посмотреть сообщение
Вот ещё другой подход
Поизучаю Ваш вариант, спасибо! Для базиса 2022 ему чего-то не хватает, после запуска выходит окно с просьбой, указать высоту текста, после ввода больше ничего не происходит.

гор. клавиши не нужно прописывать, кроме F1?
PravCom вне форума   Ответить с цитированием Вверх
Старый 30.05.2022, 19:02   #108
sergio1982
Местный
 
Регистрация: 01.09.2019
Сообщений: 424
Сказал(а) спасибо: 52
Поблагодарили 481 раз(а) в 147 сообщениях
Вес репутации: 197
sergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царстве
По умолчанию

Цитата:
Сообщение от PravCom Посмотреть сообщение
гор. клавиши не нужно прописывать, кроме F1?
Нет.

В 2022 скорее всего не отрабатывает FindTree.
Попробуйте так. FindTree был сделан, так как TVirtualStringTree2 не всегда существует.

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

PHP код:
#SingleInstance Force 
#NoEnv 


#If WinActive("ahk_class TFormMain") 

f1::
    
win := WinExist("A"
    
ControlGetctrlHWND, , TVirtualStringTree2, % "ahk_id" win 
    InputBox
sizeкакую высоту текста задатьввод цифры нужной высоты текста
    
if ErrorLevel
        
Return 
    
    
SetProp(size7winctrl) ; седьмая строка
    
    SetBox
(12winctrl6"TVTColorBox1") ; в 12 строке выбрать 6 цвет
    
Return 
    
#If

SetProp(txtrowwinctrl) {
    Static 
EditName := "TSpTBXEdit1"  ;   TEdit1  
    SelProp
(rowwinctrl)  
    
Sleep 50
    ControlSetText
, %EditName%, %txt%
    
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) {
    Static 
RowSize := 22
    
ControlGetPosCtrlXCtrlY, , , , ahk_id %ctrl
    
ControlClick, % "x" " y" (row RowSize) + 6ahk_id %ctrl%, , , , Pos 

[свернуть]
sergio1982 вне форума   Ответить с цитированием Вверх
Старый 30.05.2022, 19:07   #109
PravCom
Местный
 
Регистрация: 15.10.2019
Адрес: Кишинёв
Сообщений: 198
Сказал(а) спасибо: 492
Поблагодарили 72 раз(а) в 31 сообщениях
Вес репутации: 90
PravCom скоро придёт к известности
По умолчанию

Цитата:
Сообщение от sergio1982 Посмотреть сообщение
В 2022 скорее всего не отрабатывает FindTree.
Попробуйте так. FindTree был сделан, так как TVirtualStringTree2 не всегда существует.

https://disk.yandex.ru/i/IkWXftbvd7ncVA

тоже самое, пока не реагирует

в переменной CTRL я так понимаю - TVirtualStringTree4, в основном окне и по цветам - TVTColorBox1, пробовал подставить, не помогло

Последний раз редактировалось PravCom; 30.05.2022 в 19:47.
PravCom вне форума   Ответить с цитированием Вверх
Старый 30.05.2022, 19:13   #110
sergio1982
Местный
 
Регистрация: 01.09.2019
Сообщений: 424
Сказал(а) спасибо: 52
Поблагодарили 481 раз(а) в 147 сообщениях
Вес репутации: 197
sergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царстве
По умолчанию

А что в переменной ctrl?
sergio1982 вне форума   Ответить с цитированием Вверх
Ответ

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


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

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

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

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


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


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

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