|
Как у поля текстового документа получить текст редактирования? | ☑ | ||
---|---|---|---|---|
0
Fragster
гуру
26.06.15
✎
18:19
|
т.е. тот, который в поле формы но до события изменения? Для обычного поля ввода это ТекстРедактирования, а для поля текстового документа?
|
|||
1
Mirnin
26.06.15
✎
20:39
|
Текст = ПолеТекстовогоДокумента.ПолучитьТекст();
Только вот у поля текстового документа нет событий. По-крайней мере я не вижу возможности их установить в свойствах поля. Разве что самому реализовать вызов такой процедуры.. |
|||
2
Fragster
гуру
26.06.15
✎
20:45
|
(1) Так получается значение, которое было до того, как ты поменял текст. Задача состоит в том, чтобы находясь внутри поля текстового документа получить текст, который там находится в данный момент.
|
|||
3
RomanYS
26.06.15
✎
20:49
|
(2) нет там никаких событий, только обработкой ожидания проверять
|
|||
4
RomanYS
26.06.15
✎
20:50
|
а зачем поле текстового документа, почему не просто поле ввода?
|
|||
5
Fragster
гуру
26.06.15
✎
20:52
|
(4) там работает переход к строке, отступы по табуляции, поиск/замена и прочие плюшки
|
|||
6
Fragster
гуру
26.06.15
✎
20:52
|
(3) в обработке ожидания и ловлю. только мне надо анализировать отображаемый текст, а не тот, который в переменной хранится
|
|||
7
Fragster
гуру
26.06.15
✎
20:52
|
(6)+ они не равны, пока не выйдешь из поля
|
|||
8
RomanYS
26.06.15
✎
20:58
|
(7) хз, у меня (1) выдает текущий текст из поля
|
|||
9
RomanYS
26.06.15
✎
20:59
|
*(8) даже в процессе редактирования
|
|||
10
Fragster
гуру
26.06.15
✎
21:02
|
(9) УФ?
т.е. тупо в обработке ожиания что-то типа ПолеТекстовогоДокумента2.УстановитьТекст(ПолеТекстовогоДокумента1.ПолучитьТекст); и они квазисинхронно меняются при редактировании текста1? |
|||
11
RomanYS
26.06.15
✎
21:02
|
(10)ОФ
|
|||
12
Fragster
гуру
26.06.15
✎
21:06
|
(11) у меня УФ
|
|||
13
RomanYS
26.06.15
✎
21:14
|
(12) попробовал, действительно фигня(
|
|||
14
RomanYS
26.06.15
✎
21:29
|
(13) поигрался
Элементы.Реквизит1.УстановитьГраницыВыделения(1,10); Реквизит2.УстановитьТекст(Элементы.Реквизит1.ВыделенныйТекст); Элементы.Реквизит1.УстановитьГраницыВыделения(1,1); тоже ничего хорошего не вышло, но ВыделенныйТекст работает онлайн |
|||
15
RomanYS
26.06.15
✎
22:13
|
*(14) работающий костыль:)
//запомнили положение курсора й=0;ц=0;у=0;к=0; Элементы.Реквизит1.ПолучитьГраницыВыделения(й,ц,у,к); //поиск конца текста))) Мин = 1; Макс = 100000000; Пока Макс > Мин Цикл Попытка //выделяем весь текст Элементы.Реквизит1.УстановитьГраницыВыделения(1,Макс); Мин = Макс; Макс = Цел(1.5*Макс) Исключение Макс = Цел((Мин+Макс)/2) КонецПопытки; КонецЦикла; Реквизит2.УстановитьТекст(Элементы.Реквизит1.ВыделенныйТекст); //вернули положение кусрора/выделения Элементы.Реквизит1.УстановитьГраницыВыделения(й,ц,у,к); |
|||
16
RomanYS
26.06.15
✎
22:19
|
*(15) с поиском конца немного накосячил, но идея понятна.
Макс = Цел(1.5*Макс) заменить на Макс = 2*Макс |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |