Заметки из Зазеркалья

22.11.2022

Программная работа с буфером обмена

Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.

Планируется в версии 8.3.24

По многочисленным просьбам в версии 8.3.24 будет реализована работа с буфером обмена из встроенного языка.

В частности, можно будет помещать в буфер обмена и получать из буфера обмена текст, картинку и документ HTML, а также получать из буфера обмена файл в виде двоичных данных. Из-за особенностей работы API браузеров и ОС получение файлов из буфера обмена отличается от других форматов (работает только через события).

В объект ФормаКлиентскогоПриложения и в клиентское приложение будут добавлены события ПриВставкеИзБуфераОбмена(). Эти события будут вызываться при вставке картинки или файла (файлов) из буфера обмена. В частности, в обработчике события ПриВставкеИзБуфераОбмена() у формы можно будет, например, разобрать содержимое файла, содержащегося в буфере и, если файл содержит документ в нужном нам формате, поместить данные из файла в соответствующие поля формы.

Приведем несколько примеров использования новой функциональности.

Получение строки из буфера обмена:

­

   Стр = Ждать СредстваБуфераОбмена.ПолучитьДанныеАсинх(СтандартныйФорматДанныхБуфераОбмена.Текст);

Получение из буфера обмена данных в формате MathML или XML:

­

   ДД = Ждать СредстваБуфераОбмена.ПолучитьДанныеАсинх("application/mathml+xml"); Если ДД = Неопределено Тогда        Возврат; КонецЕсли;

  

    Стр = ПолучитьСтрокуИзДвоичныхДанных(ДД);

  

Помещение в буфер обмена строки:

­

  

    Стр = "Текст";

  

­

    Сообщить(Ждать СредстваБуфераОбмена.ПоместитьДанныеАсинх(             Новый ЭлементБуфераОбмена(СтандартныйФорматДанныхБуфераОбмена.Текст, Стр)));

  

Программная работа с буфером обмена позволит реализовать большое количество новых сценариев и сделать работу пользователей более эффективной.


Теги: 8.3.24  разработка