Вопрос № 33543: Здравствуйте, уважаемые эксперты! У меня есть вопрос: как можно управлять буфером обмена (копировать в буфер и доставать оттуда что-либо) в паскале или в дельфи? Заранее спасибо!...
Вопрос № 33.543
Здравствуйте, уважаемые эксперты! У меня есть вопрос: как можно управлять буфером обмена (копировать в буфер и доставать оттуда что-либо) в паскале или в дельфи? Заранее спасибо!
Отвечает: Ерёмин Андрей
Здравствуйте, Томша Павел!
В Pascal'е проблематично. В Delphi всё просто:
uses Clipbrd; ... var C: TClipboard; ... C:=TClipboard.Create; C.Open; Form1.Caption:=C.AsText; //чтение данных C.AsText:=`My
text`; //запись C.Close; C.Free;
--------- Работа - не волк, а произведение силы на расстояние!
Ответ отправил: Ерёмин Андрей (статус: Профессионал)
Отправлен: 18.01.2006, 20:04 Оценка за ответ: 5
Отвечает: sir henry
Здравствуйте, Томша Павел!
Чтобы разговаривать про Паскаль, сначала уточните, какой Паскаль. Если Паскаль для Windows, то будет точно так-же, как и в Дельфи, у Паскаля для ДОС буфера обмена никакого нет, т.к. буфер обмена это свойство ОС.
Дельфи. Если копируется не текст, то можно воспользоваться методом Assign:
Clipboard.Assign(Bitmap1); {В буфере очутится картинка Bitmap1}
Для текста. Выделить его сначала, а потом копировать:
Clipboard.SetTextBuf(PChar(Какая-нибудь текстовая строка));
Вставить из буфера:
Clipboard.GetTextBuf(Переменная типа PChar);
Чтобы узнать, какой тип находится в буфере нужно воспользоваться функцией:
Clipboard.HasFormat(Format);
Где Format это:
CF_TEXT - Обычный текст.
CF_BITMAP- картинка типа Bitmap.
CF_METAFILEPICT - виндовозный метафайл.
CF_PICTURE - картинка типа TPicture.
CF_COMPONENT - какой-то объест типа TPersistant.
Ответ отправил: sir henry (статус: Академик)
Отправлен: 19.01.2006, 07:28 Оценка за ответ: 5