1

Тема: AHK: Определение положения каретки для ввода текста

Как определить, что текущее положение каретки находится после точки или в начале строки? Спасибо!

2

Re: AHK: Определение положения каретки для ввода текста

stealzy, спасибо! Но не понял, как скрипт работает и что он определяет. Вне зависимости от того, где находится каретка - она возварщается на прежнее место без уведомлений.

3

Re: AHK: Определение положения каретки для ввода текста

Правильней так:

F1::
tmp := ClipboardAll, Clipboard := ""
Send +{Left}^{vk43}
If (Clipboard != "")
   Send {Right}
If ((Clipboard = "`n") Or (Clipboard = "`r") Or (Clipboard = "`r`n") Or (Clipboard = ".") Or (Clipboard = ""))
	MsgBox
Clipboard := tmp
Return

4

Re: AHK: Определение положения каретки для ввода текста

У меня в предыдущем коде ошибка:

ClipboardAll is not supported inside comma-separated expressions; that is, it should be assigned on a line by itself such as ClipSaved := ClipboardAll.

Правильно так:

F1::
tmp := ClipboardAll
Clipboard := ""
Send +{Left}^{vk43}
If (Clipboard != "")
   Send {Right}
If ((Clipboard = "`n") Or (Clipboard = "`r") Or (Clipboard = "`r`n") Or (Clipboard = ".") Or (Clipboard = ""))
	MsgBox
Clipboard := tmp
Return

5

Re: AHK: Определение положения каретки для ввода текста

Malcev, как из этого скрипта верно сделать условие? Т.е. если каретка в начале строки или после точки, то..

6 (изменено: Malcev, 2018-09-06 01:45:24)

Re: AHK: Определение положения каретки для ввода текста

Так вот же условие:

If ((Clipboard = "`n") Or (Clipboard = "`r") Or (Clipboard = "`r`n") Or (Clipboard = ".") Or (Clipboard = ""))
	MsgBox

(Clipboard = ".") - после точки.
(Clipboard = "") - в начале строки.
(Clipboard = "`n") Or (Clipboard = "`r") Or (Clipboard = "`r`n") - после переноса строки.