Некорректный переход методом ПерейтиВПозицию

tormozit Закрыто

Установить в модуле приложенный текст. В приложенном скрипте выполнить команду Тест().
Она выполнит код
ТурбоКонф.ПерейтиВПозицию(1, 3321);
При этом сначала выделяется нужная строка модуля, но сразу после этого каретка прыгает на другую строку.
Ссылка скрыта

Ссылка скрыта
RDT.os

Комментарии

bolsun
#1, 23 сентября 2024 11:51

У меня на 8.3.26.1318 не воспроизводится. Позиция при переходе верная.

Прошу сделать ролик.


tormozit
#2, 23 сентября 2024 11:56

Тогда пробуй в оригинальном модуле ИР Обработка.ирКонсольКода.Форма.Форма.КоманднаяПанельПараметрыВыполнитьВарианты
1agqrM8U30.mp4


bolsun
#3, ред. 23 сентября 2024 12:11

(2) tormozit, что-то не так с форматированием текста, после копирования/вставки этого же текста в Notepad++ проблема исчезает. Это может возникать из-за некорректных переносов строк.


tormozit
#4, 23 сентября 2024 13:03

(3) bolsun, CTRL+G работает корректно. Именно твое позиционирование на номере колонке дает сбой. Хотя я же передаю колонку №1. По идее ты вообще не должен в этом случае что то дополнительно делать.


bolsun
#5, 23 сентября 2024 13:50

(4) tormozit, у тебя в некоторых строках нет символа возврата каретки \r, а только \n
В этом случае выделение текста через SelectText работает некорректно (платформа перебрасывает на предыдущую строку).


bolsun
#6, 23 сентября 2024 13:52

Да, в данном случае можно не применять выделение текста, но если поставить номер колонки 2, но также будет переход к предыдущему символу.


bolsun
#7, 23 сентября 2024 13:53

Все методы API TurboConf предназначены для формата переноса строк Windows \r\n, иначе могут работать некорректно.


tormozit
#8, ред. 24 сентября 2024 08:54

(6) bolsun, прошу этот частный случай избавить от использования ВыделитьТекст(), т.к. я только так и использую ПерейтиВПозицию. Это нужно для сохранения положения каретки в штатной истории переходов конфигуратора и центрирования видимой области модуля на нужной строке. А точную установку каретки внутри строки я уже делаю сам через собственный расчет позиции и явный вызов ВыделитьТекст().


bolsun
#9, ред. 25 сентября 2024 22:26

(8) tormozit, https://disk.yandex.ru/d/ay0Wg6IBTsxSxg
При номере колонки 1, переход через SelectText() не выполняется.


tormozit
#10, 25 сентября 2024 22:31

Проверил. Работает.
tormozit изменил статус на Закрыто


tormozit
#11, 26 сентября 2024 08:10

@bolsun Турбопоиск в этом модуле тоже некорректно работает. Ближе к концу модуля становится фактически бесполезен из-за большого смещения.

В начале модуля еще терпимо.


Для вставки изображения или файла, перетащите его в поле редактора или вставьте файл из буфера