1

Тема: AHK: Определение символа перед курсором в поле Edit

Здравствуйте!
Можно ли с помощью AutoHotkey определить символы в поле Edit, например в блокноте, перед курсором и также в других местах?

Нужно вот для чего, например при использовании программы ABBYY Screenshot Reader, при снятии текста с изображения в буфер обмена, и вставке его в блокнот выходит примерно вот такое:

Исчезли такие злаки, как пшено (вместо него так
стали называть просо), пшеничка, полба (сейчас так
называюг сорт пшеницы), сорю, амарант и множе-
ство других одичавших злаков, которые были более
близки по питательной ценности человеческому
организму - а сегодня они вырваны из нашей куль-
туры. Зато появились твёрдые сорта пшеницы, риса,
ржи, овса, пришедшие на смену мягким сортам, ко-
торые теперь уже можно есть только варёными.

А мне нужно сделать вот так:

Исчезли такие злаки, как пшено (вместо него так стали называть просо), пшеничка, полба (сейчас так называюг сорт пшеницы), сорю, амарант и множество других одичавших злаков, которые были более близки по питательной ценности человеческому организму - а сегодня они вырваны из нашей культуры. Зато появились твёрдые сорта пшеницы, риса, ржи, овса, пришедшие на смену мягким сортам, которые теперь уже можно есть только варёными.

Конечно можно использовать клавиши Home -> Backspace -> Space и клацать вручную, но хотелось бы както автоматизировать этот процесс.
Может можно это сделать средствами AutoHotkey, или если кто то знает другое решение или программу, буду очень благодарен.

2

Re: AHK: Определение символа перед курсором в поле Edit

avens пишет:

Можно ли с помощью AutoHotkey определить символы в поле Edit, например в блокноте, перед курсором и также в других местах?

Не проще ли заменить знаки переноса строки пробелами или просто удалить их вместе со знаком переноса слова?

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

3

Re: AHK: Определение символа перед курсором в поле Edit

teadrinker пишет:

Не проще ли заменить знаки переноса строки пробелами или просто удалить их вместе со знаком переноса слова?

Если мне не изменяет память, проблема там часто была в том, что обычный разрыв строки ничем не отличался от конца абзаца. То есть при замене в больших текстах по шаблону типа "удалить разрыв строки без последующего TAB и пробелов" велик риск где-то получить большие массивы текста вообще без абзацев.

BIG BROTHER IS WATCHING YOU.

4

Re: AHK: Определение символа перед курсором в поле Edit

Хотел еще написать, что в 99% случаев текст удается найти уже обработанным в интернете, да подумал, может у автора как раз тот самый 1%.
Ан нет. Цитата из первого поста привела гугл просто в экстаз .

BIG BROTHER IS WATCHING YOU.

5

Re: AHK: Определение символа перед курсором в поле Edit

teadrinker написал:

Не проще ли заменить знаки переноса строки пробелами или просто удалить их вместе со знаком переноса слова?

Так с абзацами не прокатит, если бы определить, что там перед и после корсором тогда можно было сделать как надо.

Korobkof написал:

Хотел еще написать, что в 99% случаев текст удается найти уже обработанным в интернете, да подумал, может у автора как раз тот самый 1%.
Ан нет. Цитата из первого поста привела гугл просто в экстаз .

Может а автора нет постоянного подключения к интернету, а может иногда тот самый 1% текста встретится.
Цитата всего лишь для примера.

6

Re: AHK: Определение символа перед курсором в поле Edit

А чем отличается начало нового абзаца от простого разрыва строки? Там Tab есть? Или пустая строка?

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

7

Re: AHK: Определение символа перед курсором в поле Edit

teadrinker пишет:

А чем отличается начало нового абзаца от простого разрыва строки? Там Tab есть? Или пустая строка?

Может быть Tab, а может и пробел. Отличается еще тем, что начинается в большенстве случаев из большой буквы.

8

Re: AHK: Определение символа перед курсором в поле Edit

Большая буква в начале строки не гарантирует начало нового абзаца, возможно, что это был просто разрыв строки после точки. Можно ориентироваться на Tab или пробел. То-есть, нужно удалить все знаки переноса строки, если после них нет пробела или таба. Вполне можно реализовать через RegEx.

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

9

Re: AHK: Определение символа перед курсором в поле Edit

Вообще-то да, значит сделаю что то с помощью RegEx. Спасибо всем .