1 (изменено: ypppu, 2020-08-03 10:04:53)

Тема: AHK: Работа с выделенным текстом

Приветствую. 

Для работы не обходим ahk для решения задачи -
" выделяем текст, нажимаем клавишу, автокей должен урезать пробелы до выделенного текста и после, внести в буфер обмена. Потом открыть интерфейс, где сообщает указанный текст, и выбор что можно с ним сделать, к примеру 3 варианта вставить текст и  другие слова (+ пример 1 + пример 2 + пример 3).

Возможно ли такое организовать в автокее? Если да не затруднит вас набросать рабочий шаблон данной задачи.

Не зависимо от ответов, спасибо за потраченное время.

2

Re: AHK: Работа с выделенным текстом

ustarta, для заказов добро пожаловать в Коммерческий раздел.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Работа с выделенным текстом

ustarta, Welcome to the commercial section.

4

Re: AHK: Работа с выделенным текстом

Спасибо конечно, но скрипт уже готов на половину,  и по сути пытаюсь разобраться с указанной проблемой.

5

Re: AHK: Работа с выделенным текстом

Здесь форум по программированию, вот и задавайте вопросы по программированию, а не пишите ТЗ. Причём желательно так, чтобы в одной теме был один конкретный вопрос, а не «напишите мне скрипт, который будет делать это, это, и ещё вот это».

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6

Re: AHK: Работа с выделенным текстом

ustarta пишет:

но скрипт уже готов на половину

Тогда почему не показали пример "готового наполовину скрипта". Может в вашем примере есть что-нибудь полезное для других участников. Ведь другие участники
форума тоже учатся.

7

Re: AHK: Работа с выделенным текстом

Нет, это как раз не обязательно. «Готовый наполовину скрипт» может оказаться простынёй на 10000 строк вида

Send, a
Sleep 20
Send b
Sleep 30
...

Сопровождающий вопрос код желателен, но он должен чётко демонстрировать суть вопроса.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8 (изменено: svoboden, 2020-08-02 21:10:03)

Re: AHK: Работа с выделенным текстом

должен чётко демонстрировать суть вопроса

"Открыть графический интерфейс", который был в вопросе, это уже не простой скрипт, по-моему. Там может быть целый проект, который пользователь продает, но не хочет вкладывать вложения в его развитие. А спрашивает, чтобы кто взялся за бесплатно, а программу он будет сам продавать.

9

Re: AHK: Работа с выделенным текстом

svoboden пишет:

программу он будет сам продавать

Ну, в этом ничего страшного нет. Любые знания можно использовать в коммерческих целях. Несмотря на это, здесь можно получить бесплатную помощь, если вопрос задан внятно, и он кому-то покажется интересным.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

10 (изменено: ypppu, 2020-08-03 10:05:29)

Re: AHK: Работа с выделенным текстом

teadrinker
Прошу прощения. Вероятно я не правильно выразился и ввел в заблуждение. я не давно на этом форуме и даже не знал о существовании тут коммерческого отдела. Не судите строго.

Код не большой, но собран из нескольких шаблонов. Так как я не программист, так самоучка с небольшим опытом.
Такие шаблоны я собирал по всему форуму, немножко изучил  принцип работа ahk.

Поэтому нового,  что либо я не внесу, больше толку будет накидать ссылки на те шаблоны которые я нашел.

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

11 (изменено: ustarta, 2020-08-03 04:48:19)

Re: AHK: Работа с выделенным текстом

Кстати вот мой вопрос с небольшим куском кода, как и говорил ничего не обычного и трудного.

http://forum.script-coding.com/viewtopi … 24#p140724

12

Re: AHK: Работа с выделенным текстом

ustarta, прочитайте внимательно мои предыдущие посты, постарайтесь задать вопрос правильно. Если это вам не удастся, шанс получить ответ сильно понизится.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

13

Re: AHK: Работа с выделенным текстом

ustarta, отредактируйте свои сообщения и приведите их в соответствие с правилами форума. Предложения начинаются с заглавной буквы и заканчиваются точкой. Ссылки следует оформлять тегом "URL".

14

Re: AHK: Работа с выделенным текстом

ustarta
В качестве решения я предлагаю для начала выделять весь текст, нажимать клавишу, высвечивать GUI с единственным контроллом Edit, потом в этом контролле выделять нужный текст, а затем через RegExMatch сделать нужную работу. Всё просто на самом деле, единственное, что боюсь текст нужно будет копировать, чтобы взаимодействовать с Clipboard, но если форумчане знают встроенную переменную выделяемого текста, то задача немного упростится.

15

Re: AHK: Работа с выделенным текстом

Такая переменная есть:

ControlGet, asd, Selected,, Edit1, ahk_class Notepad

, но вроде только английский текст копирует. Но вот тема, тут объяснено все: http://forum.script-coding.com/viewtopi … 66#p112066.

16

Re: AHK: Работа с выделенным текстом

svoboden
Отлично, благодарю.
Осталось понять что именно имеет в виду автор поста под "убрать пробелы до и после выделяемого текста".

17

Re: AHK: Работа с выделенным текстом

SuBrex
Вообщем то это и имею ввиду. Что бы при выделении слова в полотне текста, не думать о том, захватил ли лишние пробелы до или после этого слова.
Т.е при вызове графич. интерфейса над выделенным словом, перед тем как проводить какие либо манипуляции или копирование в буфер обмена слово очищалось от пробелов если они есть.

18 (изменено: ypppu, 2020-08-03 10:06:54)

Re: AHK: Работа с выделенным текстом

Ниже код. Я к сожалению так и не понял как добавить в него код

ControlGet, asd, Selected,, Edit1, ahk_class Notepad

написанный выше.

Я распишу как вижу все я взглядом который знает мало возможностей ahk.
В коде есть параметр %copytext%. вот этот параметр должен содержать мной выделенный текст (это как правило 1 слово) с убранными пробелами перед и после него.



GUI, Add, Text, %copytext%
GUI, Add, Button, g1, Добавить метку 1
GUI, Add, Button, g2, Добавить метку 2
GUI, Add, Button, g3, Добавить метку 3
Return

!2:: GUI, Show


1:
Gui Cancel
SendInput, %copytext% Метка 1
Return
2:
Gui Cancel
SendInput, %copytext% Метка 2
Return
3:
Gui Cancel
SendInput, %copytext% Метка 3
Return

19

Re: AHK: Работа с выделенным текстом

ustarta
Так получается вам по факту нужно очищать буфер обмена от пробелов?

20

Re: AHK: Работа с выделенным текстом

SuBrex Да, все верно

21

Re: AHK: Работа с выделенным текстом

ustarta


F1::
RegExMatch (Clipboard, " (.*) ", БуферОбмена)
Clipboard := БуферОбмена1

22 (изменено: __Михаил__, 2020-08-03 20:27:05)

Re: AHK: Работа с выделенным текстом

По идее шаблон должен быть таким: "\s?(.*)\s?".
Но у меня скрипт отказывается работать, даже с примером от SuBrex.

Проверял на этом сайте.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101

23 (изменено: stealzy, 2020-08-03 21:17:06)

Re: AHK: Работа с выделенным текстом

^\s*(\S.*?)\s*$

24

Re: AHK: Работа с выделенным текстом

text := "   test test   "
newText = %text%
MsgBox, % "|" newText "|"
newText := Trim(text)
MsgBox, % "|" newText "|"
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

25

Re: AHK: Работа с выделенным текстом

teadrinker
А Вы не перестаёте удивлять! Не знал о функции Trim, спасибо в очередной раз за просвещение!

26 (изменено: ustarta, 2020-08-06 18:41:26)

Re: AHK: Работа с выделенным текстом

SuBrex


F1::
RegExMatch (Clipboard, " (.*) ", bufer1)
Clipboard := %bufer1%

GUI, Show
GuiControl, +default, Cancel
GUI, Add, Text, %bufer1%

return

Что делаю не так?
В моем понимание должно работать так - выделяем текст, при нажатии F1 должно появится окошко с текстом данного текста.

27 (изменено: SuBrex, 2020-08-06 19:45:43)

Re: AHK: Работа с выделенным текстом

ustarta


Gui, New, -Caption +ToolWindow +AlwaysOnTop +HwndИнтерфейсБуфераОбмена
Gui, Add, xLeft yTop w100 h200 vБуферОбмена, %Clipboard%
Gui, Show, xCener yCenter w100 h200
Gui, % ИнтерфейсБуфераОбмена ":Show", Hide
Return

F1::
Clipboard = Trim(Clipboard)
GuiControl, Text, БуферОбмена, %Clipboard%
Gui, % ИнтерфейсБуфераОбмена ":Show"
Return

28

Re: AHK: Работа с выделенным текстом

ustarta, откуда там ф1? У Вас такая что ли?

29

Re: AHK: Работа с выделенным текстом

ypppu

Исправил. Спасибо

30

Re: AHK: Работа с выделенным текстом

ypppu

На первой же строке возникла ошибка, попытался разобраться в чем дело, но по инструкциям вроде все верно.

31

Re: AHK: Работа с выделенным текстом

ypppu
Фу, противно от состояния данной клавиатуры!