Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Для новичков > Значение Буфер обмена.


Автор: hedge_hog 31.5.2007, 17:16
Здравствуйте. Помогите решить такой вопрос. Как из буфер обмена вытащить значение и задать его переменной. Может есть какой-нибуть ClipboardValue. Искал в поисковике все задают вопросы как скопировать в буфер, а мне надо получить содержимое из него.

 Этот код вставляет из Буфера в указанное поле
SendMessage (ActiveControl.Handle,WM_Paste, 0, 0); 

Мне же надо, повторюсь, получить из него текст, чтобы затем присвоить переменной.

Спасибо.
 

Автор: Insert 31.5.2007, 17:22
TClipboard in unit Clipbrd

T: TClipboard;
...
T := TClipboard.Create;
T.AsText - содержимое буфера

Автор: former 31.5.2007, 17:24
Пользуйся поиском: http://forum.vingrad.ru/forum/topic-114885/unread-1.html#

Автор: pseud 31.5.2007, 17:34
Цитата(Insert @  31.5.2007,  17:22 Найти цитируемый пост)
T: TClipboard;
...
T := TClipboard.Create;
T.AsText - содержимое буфера


можно не заниматься ручным создание Клипбоарда, достаточно обратиться к Clipboard и если он еще не создан, то сам создастся. 
Вот код из Clipbrd
Код

function Clipboard: TClipboard;
begin
  if FClipboard = nil then
    FClipboard := TClipboard.Create;
  Result := FClipboard;
end;


поэтому hedge_hog
Код

  строковая_переменная :=  Clipboard.AsText;


это если по простому. Если нужно сложнее (объект через буфер передавать) - кода будет побольше.

Автор: hedge_hog 31.5.2007, 17:40
Insert, Ты Бог. Огромное спасибо. Классный аватар. Только не  unit Clipbrd , а uses Clipbrd .

Добавлено через 2 минуты и 51 секунду
pseud, Всё ОК так и надо. Текст который закладывается в буфер строчка не превышающая 50 символов.
СпасиБо pseud .

Автор: former 31.5.2007, 17:47
hedge_hog, если вопрос решён, не забывай помечать его, как прочитанный.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)