Меню сайта
Категории раздела
PHP [0]
Видео уроки [0]
DELPHI [45]
BASIC [0]
HTML [0]
JAVA [0]
C++ / C# [0]
Радио
ЧАТ
200
Облако тегов
Облако фото
Форум
  • композитная арматура (0)
  • Справедливо ли это???? (1)
  • Недвижимость в Тюмени (1)
  • Качество услуг и обслуживания (2)
  • строительный эксперт (0)
  • гид по Греции (0)
  • винные туры по Италии (0)
  • деревянные лестницы (0)
  • гид по Италии (0)
  • Разные поздравления (1)
  • Главная » Статьи » Программисту » DELPHI

    Копировать в буффер обмена
    Кнопки Вставить и Вырезать есть практически во все приложения под Windows, вы наверное тоже хотите реализовать что-то подобное в своей программе, тогда эта тема для вас :)
    Буфер обмена и стандартные компоненты Delphi
    Многие компоненты Delphi уже готовы к работе с буфером обмена, это касается компонентов, которые содержат какие-нибудь данные, которые пользователь может поместить в буфер обмена (например TMemo, TRichEdit и т.п.). Эти компоненты имеют методы :
    ExpandedWrap disabled
      CutToClipboard //Вырезать в буфер обмена
      CopyToClipboard //Копировать в буфер обмена
      PasteFromClipboard //Вставить из буфера обмена

    Ф-ция Clipboard
    Для работы с буфером обмена в Delphi есть ф-ция Clipboard, возвращающая экземпляр класса Clipboard, для работы с ней надо в uses прописать модуль Clipbrd и ф-ция становится доступной. А теперь о работе с Clipboard :

    Метод SetTextBuf()
    Этот метод копирует текст, преданный в качестве параметра, в буфер обмена. Надо помнить, что текст передаваемый в качестве параметра должен иметь тип PChar, так что не забывайте переводить строки.
    Пример :
    ExpandedWrap disabled
      Clipboard.SetTextBuf(PChar(memo1.SelText));

    В примере мы копируем в буфер обмена текст, выделеные в Memo.
    Для того, чтобы осуществить работу кнопки Вырезать напишем тот же код, но после копирования в буфер, удалим этот текст в Memo.
    Пример :
    ExpandedWrap disabled
      Clipboard.SetTextBuf(PChar(Memo1.SelText));
      Memo1.SelText := '';


    Свойство AsText
    Это свойство возвращает содержимое буфера обмена в виде строки.
    С помощью этого свойства можно осуществить работу кнопки Вставить.
    Пример :
    ExpandedWrap disabled
      Memo1.SelText := Clipboard.AsText;

    В примере мы в Memo копируем содержимое буфера обмена.

    Метод Assign
    C помощью метода Assign можно скопировать в буффер обмена объекты типа TPicture и TGraphic. Соответственно с помощью метода Assign объектов TPicture, TBitmap и TMetafile можно копировать в эти объекты содержимое буффера. Например так можно скопировать картинку через буффер:

    ExpandedWrap disabled
        Clipboard.Assign(Image1.Picture);
        Image2.Picture.Assign(Clipboard);


    Метод Clear
    Очищает содержимое буфера обмена.

    Метод HasFormat()
    Проверить какого формата данные находятся в буфере обмена.
    Возможные типы :
    CF_TEXT - буфер содержит текст
    CF_BITMAP - буфер содержит изображение
    CF_METAFILEPICT - буфер содержит векторное изображение
    CF_PICTURE - буфер содержит обьект типа TPicture
    CF_COMPONENT - буфер содержит компонент
    Пример :
    ExpandedWrap disabled
      procedure TForm1.Button1Click(Sender: TObject);
      begin
        if Clipboard.HasFormat(CF_TEXT) then
          ShowMessage('буфер содержит текст');
        if Clipboard.HasFormat(CF_BITMAP) then
          ShowMessage('буфер содержит изображение');
        if Clipboard.HasFormat(CF_METAFILEPICT) then
          ShowMessage('буфер содержит векторное изображение');
        if Clipboard.HasFormat(CF_PICTURE) then
          ShowMessage('буфер содержит обьект типа TPicture');
        if Clipboard.HasFormat(CF_COMPONENT) then
          ShowMessage('буфер содержит компонент');
      end;

    В примере при нажатии кнопки выводится сообщение о том, что содержится в буфере обмена.
    Категория: DELPHI | Добавил: SeM (30.04.2011)
    Просмотров: 2292 | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Поиск по сайту
    Новый Год
    Опрос
    Откуда вы узнали о сайте?


    Всего ответов: 14
    Всего голосовало: 14
    Обсудить на форуме
    Друзья сайта
    измерьте скорость интернета Яндекс.Метрика
    Проверить тИЦ и PR
    Статистика
    Погода
    Яндекс.Погода
    Коменнтарии

    Извиняюсь, заработал. Спасибо за урок biggrin

    Компонент не работает

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

    у меня все работает!

    Нифига не робит...
    Кто знает как сделать чтобы на жесткий жертвы сохранял..
    ISQ 606017777

    FSDGHDFJHRG


    Отзывы Фото
    6 микр. Красивое место....

    Ершов ))))

    Старый музей но щас его перенесли...

    Фотография под горы smile

    Красивое фото!!! smile

    Copyright MyCorp © 2024