| 
    
        
     
     | 
    
    
  | 
Как у поля текстового документа получить текст редактирования? | ☑ | ||
|---|---|---|---|---|
| 
    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*Макс  | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |