1

Тема: AHK: ControlGet - CurrentCol не различает UTF

Оператор ControlGet с параметром CurrentCol должен возращать позицию курсора в контроле Edit.

ControlGet, CCol, CurrentCol,,Scintilla1, A ; Notepad++ или Scite
MsgBox % CCol

Однако в случае, если открыт файл в UTF,
неанглийские буквы считаются за 2 символа.

Как это побороть? Взять весь текст строки и парсить?

2

Re: AHK: ControlGet - CurrentCol не различает UTF

А просто поделить результат на два?

3 (изменено: stealzy, 2015-02-20 10:28:30)

Re: AHK: ControlGet - CurrentCol не различает UTF

Если бы.
Только неанглийские идут за 2 символа, остальные за один.
Это особенность UTF - разные символы занимают разное место.
Стандартные - 1 байт, нестандартные(кириллица и т.д.) - 2 и более, может быть.

4

Re: AHK: ControlGet - CurrentCol не различает UTF

Как вариант - плясать от переменной A_CaretX, если все символы шрифта одинаковой ширины. Но разбирать каждую строку надёжнее.

5

Re: AHK: ControlGet - CurrentCol не различает UTF

У Notepad++ информация о текущей позиции имеется в статус-баре, насчет scite не подскажу.

StatusBarGetText, Text, 3, A
MsgBox % Text

6

Re: AHK: ControlGet - CurrentCol не различает UTF

http://ahkscript.org/boards/viewtopic.p … amp;t=4826

7 (изменено: serzh82saratov, 2015-02-20 22:33:37)

Re: AHK: ControlGet - CurrentCol не различает UTF

должен возращать позицию курсора в контроле Edit.

Всё правильно, только где тут Edit? Сообщения Scintilla в инете есть. Возможно что это -http://www.scintilla.org/ScintillaDoc.h … _GETCOLUMN.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui