Что нового

Вставить в буфер текст с параметрами.

saraconor

Новичок
Сообщения
404
Репутация
3

как можно в буфер обмена вставить подобный текст? так чтобы в одних местах шрифт был толстым, в других нормальным?
 

snoitaleR

AutoIT Гуру
Сообщения
855
Репутация
223
saraconor
Я вот так сделал:

Код:
#include <Clipboard.au3>
$RTF="{\rtf1\ansi\ansicpg1251\deff0\deflang1049{\fonttbl{\f0\fswiss\fcharset204{\*\fname Arial;}Arial CYR;}}{\*\generator Msftedit 5.41.15.1515;}\viewkind4\uc1\pard\f0\fs20\'ea\'ee\b\fs24\'f0\'ee\b0\fs20\'e2\'e0\par}"
_ClipBoard_SetData($RTF,49323)
 
Автор
S

saraconor

Новичок
Сообщения
404
Репутация
3
Не работает ваш пример совсем. Ничего в буфер обмена не вставляется.
 

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Нужно опираться еще и на то что некоторые элементы могут и не принимать подобного рода текст, заменяя его на стандартный(свой дефолтный)
 
Автор
S

saraconor

Новичок
Сообщения
404
Репутация
3
пробывали вставить в ворде, блокноте, аське, итп. нигде этот скрипт не работает, буфер пуст.
 

atlake

Новичок
Сообщения
40
Репутация
0
Записал всё это в буфер обмена: (WORDPAD)


Вставил в MS Word:

Всё ок.

Написал код которые отображает содержимое буфера в диалоге:


Что выдаёт?:


Видимо программки Microsoft'а как то общаются между собой ))
В буфере никакого форматирования не видно)
 
Автор
S

saraconor

Новичок
Сообщения
404
Репутация
3

после скрипта ничего в буфере не остается.
 

snoitaleR

AutoIT Гуру
Сообщения
855
Репутация
223
saraconor
В моём скрипте MsgBox() не было... И это не случайно... MsgBox() не поддерживает форматированный текст... Вставлять из буфера обмена нужно в WordPad или в Word, в любой редактор, поддерживающий формат RTF...
 

vovsla

Осваивающий
Сообщения
607
Репутация
36
saraconor
Какая версия автоита? У двоих 3.3.8.1 и у них работает...
 
Автор
S

saraconor

Новичок
Сообщения
404
Репутация
3
версия новая. все равно не работает.
 

mrajck

Новичок
Сообщения
1
Репутация
0
Re: Вставить в буфер текст с параметрами

попробуйте так

Код:
#include <MsgBoxConstants.au3>
#include <ClipBoard.au3>

Copy()     ;вызов функции

Func Copy()     ; вот этой функции
Local $sFile = "сюда"     ; вставить путь к файлу, например так: C:\Users\Vasya\Desktop\1.txt(пример пути к файлу на рабочем столе)
local $sCopy = _FileRead($sFile)
_ClipBoard_SetData($sCopy)     ;текст копируется в буфер обмена 
endfunc


Далее можно дописать, что копировалось с файла

Код:
Msgbox(1, "",""& _ClipBoard_GetData(1) &"")

Сорян за черновые записи, Ctrl +V можно ткнуть в текстовом редакторе :smile:
 
Верх