Для чего используется буфер обмена windows. Буфер обмена, его использование. Основные сочетания клавиш для быстрого доступа

Каждый пользователь компьютера сталкивался с ситуацией, когда необходимо перенести текст различного размера - копировать из одного источника и переместить в другой. Большинство людей, которые пользуются этой функцией каждый день, даже не задумываются, как это происходит. Они не знают, на компьютере и благодаря чему, не теряя много времени на перепечатывание текста, можно сделать это за очень короткий промежуток времени. Работа на компьютере стала бы достаточно сложной и неудобной, если бы не эта функция. Поэтому каждый должен знать, где находится буфер обмена и как им пользоваться.

Зачем нужен буфер?

Для тех, кто не знает, где находится буфер обмена на компьютере и в чем суть его работы, расскажем, что - это участок памяти вашего компьютера, который используется в качестве временного хранилища информации, предназначенного для помещения информации с источника в память и переноса её в другое приложение. Возможные действия: копировать, вставить, вырезать. Для того чтобы копировать интересующую вас информацию, необходимо выделить весь текст и, нажав Ctrl+C, скопировать информацию в буфер обмена.

После того как в хранилище уже имеется сохранённая информация, клавиши Ctrl+V выведут текст или файл из вашего хранилища в указанное вами место. При помощи функции "вырезать" вы сможете выполнить то же действие копирования и вставки, но после вырезания из оттуда будет удалена. Это можно сделать благодаря клавишам Ctrl+X. Также можно обойтись без горячих клавиш, выбирая действия "копировать", "вставить", "вырезать" в панели, которая появляется после нажатия правой кнопки мышки.

Что такое буфер обмена и где он находится

Одним словом, буфер обмена можно назвать временным хранилищем. То есть это участок памяти, который компьютер отделяет от общей памяти специально для хранения временной информации. Временное хранилище легко может очищаться или же выводить информацию несколько раз. На более старых операционных системах, таких как «Виндовс 2000» и «Виндовс XP», текст или файл, скопированный в хранилище, можно найти и просмотреть, зайдя в «Папку обмена».

Найти её можно следующими действиями: "Пуск"-"Выполнить"-clipbrd.exe. Выполнив эти действия, вы сможете просмотреть информацию в вашем хранилище, очистить или изменить её. В более новых операционных системах, таких как "Виндовс 7", эта утилита, к сожалению, отсутствует.

Где находится буфер обмена в компьютере?

Точного ответа на этот вопрос нет. Можно сказать, что хранилище находится в памяти компьютера, соответственно, в винчестере, так как оно использует именно его память для временного хранения различной информации. Поэтому на вопрос о том, где находится буфер обмена на компьютере, можно сказать: в винчестере.

Мобильный буфер

Так же как и в персональном компьютере, буфер обмена есть в смартфонах и мобильных телефонах. Точно так же, как в компьютере, используется участок памяти для временного хранения информации. Отличие лишь в том, что информацию на мобильном телефоне или смартфоне вы не сможете выделить с помощью горячих клавиш.

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

Как очистить буфер обмена?

Конечно же, если буфер обмена - которая используется для хранения нужной нам информации, то его можно очистить. Где находится буфер обмена и как очистить его? Возможно сделать это, заменив информацию в нём на другую. Соответственно, после того как вы скопировали текст, следующее копирование заменит информацию в буфере обмена на другую, что иногда является достаточно неудобным. Например, в ситуации когда требуется сохранить несколько разных текстов в буфер обмена, приходится выполнять несколько копирований и вставок. Гораздо удобней было бы предусмотреть возможность для буфера обмена сохранять несколько потоков информации. Это бы сделало его немного удобнее в работе.

Также буфер обмена самостоятельно очищается после перезагрузки вашего компьютера. То есть каждый раз, когда вы выключили и включили компьютер или же перезагрузили его, ваш буфер обмена будет чист, как белый лист. Тем, кто желает очищать свой буфер обмена быстро и вручную, можно сделать это, если выполнить несколько действий. Для начала нужно создать на своём рабочем столе ярлык со следующим расположением: cmd /c «echo off | clip». Эти символы нужно ввести в строке расположения. Далее необходимо указать название вашего ярлыка для очистки буфера обмена. После этого нажимаете на ваш ярлык правой кнопкой мыши, затем - "Сменить значок". В поле "Искать значки" в следующем файле вводите символы %SystemRoot%\system32\imageres.dll. Сделав эти действия, выбираете значок, который понравится вам. После этого достаточно просто запустить этот ярлык, ваш буфер обмена будет очищен в одну секунду. Вам не придется искать, где находится буфер обмена на компьютере.

Альтернатива стандартному буферу обмена

Как уже было упомянуто выше в статье, буфер обмена имеет один недостаток. Это невозможность копировать несколько Поэтому существуют программы, которые имеют эту функцию и ещё несколько дополнительных. Один из альтернативных вариантов - это программа Save.me. Она включает в себя функцию запоминаний нескольких фрагментов, поэтому достаточно часто используется пользователями компьютеров. Также существует большое количество подобных этой программ, вы всегда сможете найти то, что вас заинтересует.

Буфер обмена - это часть памяти компьютера, куда временно сохраняется то, что мы копируем. Информация, которая в нем находится, пользователю не видна.

Например, я выделил и скопировал кусок текста. Он невидим и хранится в буфере обмена. И будет там находиться до тех пор, пока я его не вставлю. Или пока не скопирую что-то другое.

Что такое буфер обмена

Допустим, у меня на Рабочем столе есть папка, которую нужно переписать на флешку. Значит, щелкаю по ней правой кнопкой мыши и выбираю пункт «Копировать».

Вроде как ничего не изменилось, всё осталось по-прежнему. Но эта папка сохранилась в невидимой памяти компьютера - в буфере обмена. И сейчас компьютер держит ее в «уме».

Теперь я открываю свою флешку и вставляю в нее скопированную папку: щелкаю правой кнопкой мыши по пустому месту и выбираю «Вставить».

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

Вот так это и работает. Мы копируем какую-то информацию и тем самым добавляем ее в буфер обмена, а потом вставляем (вытаскиваем оттуда).

Как долго там хранится информация

Хранится она там до тех пор, пока не будет заменена новой. Или до выключения (перезагрузки) компьютера. Объясню на примере.

Допустим, я где-то в Интернете прочел интересную заметку. Она мне так сильно понравилась, что я захотел ее сохранить у себя на компьютере. Дело это нехитрое: нужно выделить текст, скопировать, вставить в файл на компьютере и сохранить.

Кстати, об этом у меня на сайте есть отдельный урок .

Значит, я выделяю нужный мне кусочек текста и копирую его.

Как вы уже знаете, он сразу же попадает в буфер обмена и будет там находиться до тех пор, пока я его куда-то не вставлю. Но, допустим, я отвлёкся на другую статью. И в ней нахожу что-то, что тоже хотел бы сохранить на свой компьютер. Так вот если я выделю и скопирую эту новую часть, то тот текст, которой был скопирован до этого, сотрется. Он заменится новым фрагментом. И при вставке добавится только новый текст.

Кроме того, буфер обмена полностью очищается при выключении и повторном включении компьютера. То есть если я, например, решу прогуляться и перед этим выключу компьютер, то скопированная в него информация удалится.

Буфер обмена - временное и очень ненадежное хранилище. Если уж вы скопировали какую-то информацию, то не забудьте ее сразу же вставить.

Не зря под понятием «копирование» подразумевают и вставку тоже. То есть имеют в виду не одно, а сразу два действия. Ведь при копировании данные попадают в буфер - промежуточное место - откуда должны быть непременно вставлены. Иначе они не сохранятся.

Где находится буфер обмена

У него есть вполне реальное место в компьютере: Локальный диск C - Windows - system32 - файл clip.exe

Но в системе Windows 7, 8 и 10 этот файл не открывается. То есть посмотреть, что там находится, невозможно. А вот в Windows XP он называется clipbrd.exe и открыть его таки можно. И если предварительно скопировать какой-нибудь текст, то он будет внутри этого файла.

Это системный файл. Его нельзя удалить, переместить или переименовать.

Как очистить буфер обмена

Если вы копируете текстовые фрагменты или небольшие файлы, тогда особого смысла в его очистке нет. Однако при копировании больших файлов (например, фильмов) компьютер может начать притормаживать. Ведь вся информация попадает во временное хранилище, которое находится на системном Локальном диске. И даже после вставки она по-прежнему будет «сидеть» в памяти.

Но это легко поправить: нужно просто скопировать какой-нибудь небольшой файл (например, фотографию или документ). Тогда все, что до этого было в буфере, сотрется и вместо него добавится этот новый файл.

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

Существует несколько приложений для управления этим временным хранилищем. Нужны они в том случае, если человек часто работает с текстом. Ведь такие программы позволяют доставать текстовые фрагменты, которые были скопированы ранее. К папкам и файлам это не относится.

Подобных программ существует несколько, но лично я для этой цели использую бесплатную Punto Switcher от Яндекса. Ее основная задача - автоматически менять раскладку клавиатуру, когда пользователь об этом забыл.

Например, я печатаю какой-то текст и вдруг замечаю, что забыл поменять язык на русский - всё набирается английскими буквами. Вот Punto Switcher не допускает таких ситуаций. Программа сама автоматически меняет раскладку и «переводит» текст.

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

Установка Punto Switcher

Для начала, проверьте, может, она уже есть на компьютере. Для этого посмотрите на панель задач - в нижнюю правую часть экрана. Если вместе со значком алфавита (или вместо него) есть вот такая иконка, значит, программа у вас уже установлена.

Иконка есть? Отлично! Тогда щелкните по ней правой кнопкой мышки, чтобы точно убедиться, что это именно Punto Switcher.

Если такую программу вы у себя не находите, загрузите ее с официального сайта . Процесс установки очень простой: запускаете скачанный файл, со всем соглашаетесь и нажимаете «Далее». Единственное, программа предложит добавить на компьютер разные Яндексовские штучки. Если вам это не надо, просто снимите все галочки.

После установки на панели задач (справа) появится вот такая иконка:

Или такая, если выбран английский алфавит:

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

Работа с буфером обмена в Punto Switcher

Программа может сохранять до 30 текстовых фрагментов, к которым у вас всегда будет доступ через историю. Также Punto Switcher позволяет транслитерировать фрагменты в буфере обмена и сохранять его даже после перезагрузки системы. Но для всего этого необходимо сделать кое-какие настройки.

1 . Открываем окно программы двойным щелчком левой кнопкой мыши по значку в трее. Во вкладке «Общие» выбираем пункт «Дополнительные».

2 . Ставим галочку там, где «Следить за буфером обмена», и еще на «Сохранять историю буфера обмена после перезагрузки Windows» (если это, конечно, вам нужно). После чего нажимаем «ОК».

Теперь текстовые фрагменты, которые вы копируете, будут сохраняться в программе. И любой из них можно будет оттуда достать. Для этого нужно нажать правую кнопку мыши по значку Punto Switcher, после чего выбрать пункт «Буфер обмена» и «Посмотреть историю».

Щелкаем по тому кусочку, который нужен, и он копируется. После чего его останется только вставить.

P.S.

Копирование и вставку можно делать не только через правую кнопку мыши, но и при помощи сочетания клавиш клавиатуры Ctrl+С и Ctrl+V. Это быстро и удобно - нужно просто привыкнуть.

Принцип следующий: выделяем то, что нужно скопировать, зажимаем клавишу Ctrl и затем нажимаем на клавишу С. Переходим туда, куда эту информацию нужно вставить, зажимаем Ctrl и V (русскую М).

В операционных системах Windows, Mac OS или Андроид пользователям компьютера и Интернета была предоставлена возможность работать одновременно в нескольких окнах с несколькими программами.

У пользователей сразу же возник соблазн передачи данных из одних программ (из одних окон) в другие программы (в другие окна).

Действительно, имеешь, например, подходящий текст в формате Блокнота (скажем, с расширением.txt), и это текст вполне пригоден, чтобы его вставить в подготавливаемую презентацию (скажем, в формате PowerPoint). Не перепечатывать же его заново?! Текст уже есть, но в другом формате и в другом окне, в другой программе. Так и хочется его каким-то образом автоматически перенести в другое окно, в другую программу.

Или, например, пользователь ПК сделал фотографию и сохранил ее в формате (например, с расширением.jpeg). И теперь надо эту фотку вставить в виде рисунка, например, в текст Word, чтобы «украсить» текст, сделать «книжку с картинками». Подобных примеров, когда есть желание перенести данные из одной программы (из одного окна) в другую программу (в другое окно) можно привести множество. А если есть желания, то должны быть и соответствующие возможности.

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

Что такое Буфер обмена

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

Достаточно в одной программе выделить данные, подлежащие переносу в другую программу, и скопировать их в некую специальную область. Затем в другой программе, куда должны быть перенесены данные, нужно установить курсор в то место, куда данные должны быть помещены, и после этого выполнить процедуру вставки данных из этой специальной области, которые ранее были туда скопированы.

Кстати, процедура копи-паст работает также в пределах одного окна, одной программы, если данные нужно копировать из одного места и вставить в другое место текста, презентации и т.п.

Благодаря внешней простоте подобной процедуры переноса данных из одного окна в другое, эта процедура получила жаргонное наименование «копи-паст». Слово «копипаст» произошло от двух английских слов «copy-paste», что в переводе означает «копировать-вставить».

Специальная область, в которую данные сначала копируются, а потом оттуда восстанавливаются (вставляются), получила название «буфер обмена» (по-английски «clipboard», переводится так же – «буфер обмена»).

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

Операции «Копировать» или «Вырезать», а потом «Вставить» и связанный с этими операциями буфер обмена являются стандартными функциями операционных систем Windows, Mac OS или Андроид.

Схема работы буфера обмена в Windows, Mac, Android

Как правило, в буфер обмена информация попадает, когда пользователь использует одну из двух операций:

  1. «Копировать» ( Ctrl+C) или
  2. «Вырезать» (Ctrl+X).

А из буфера обмена пользователь извлекает информацию с помощью операции «Вставить» (Ctrl+V).

Таким образом, буфер обмена является промежуточным хранилищем информации, которое занимает некоторую часть оперативной памяти компьютера. предназначена для временного хранения информации.

Стандартный буфер обмена как часть оперативной памяти способен сам себя очищать, например, при выключении компьютера или при помещении туда новой информации.

Если в Windows его делать с помощью кнопки PrtScr (сокращение от Print Screen), то он также попадает в буфер обмена. И извлечь скриншот из буфера обмена можно с помощью операции “Вставить”.

Операции буфера обмена «Копировать» и «Вставить»

Многие программы имеют в своем арсенале возможностей пункты меню и кнопки «Копировать» («Copy»), а также пункты меню и кнопки «Вставить» («Paste»).

Как правило, из-за частого применения этих пунктов, данные пункты меню находятся чаще всего в самом главном меню программ, а кнопки «Копировать» («Copy») и «Вставить» («Paste») могут иметь довольно большой размер и могут быть хорошо заметными (рис. 1).

Рис. 1. Кнопки «Вставить» и «Копировать» в программе Microsoft Word

1 на рис. 1 – кнопка «Копировать» в программе Word, которая будет активна только в том случае, когда выделен текст (или картинка), и, следовательно, есть объект для копирования и помещения его в буфер обмена,
2 на рис. 1 – кнопка «Вставить».

Многие контекстные меню, которые появляются при щелчке правой кнопкой мыши (ПКМ) по выделенному фрагменту документа (текст, рисунок и т.п.) имеют опции «Копировать» и «Вставить», поскольку это часто применяемые действия пользователей ПК при работе с программами (рис. 2).

Рис. 2. Пункты контекстного меню «Копировать» и «Параметры вставки» в программе Microsoft Word

Заменой кнопок «Копировать» и «Вставить» (1 и 2 на рис. 1) являются пункты контекстного меню точно с такими же названиями (1 и 2 на рис. 2).

Все ли так просто?

Чаще всего пользователь применяет копирование и вставку для переноса данных из одного места программы в другое место или из одной программы в другую, даже не задумываясь, как это делается. И почти в 100% случаев получается адекватный результат: данные из одной программы переносятся без искажений в другую программу или из одного места они переходят в другое в пределах одной программы.

Но могут быть и исключения. И тогда применение буфера обмена может привести к искажению данных, если неправильно пользоваться предоставленными возможностями. Это случается редко, но все-таки может случиться. Разберем примеры «искажения» данных, а точнее, примеры неправильной работы с буфером обмена.

Буфер обмена или буфер обмана на примере Excel

Пользователи электронных таблиц Excel знают, что в ячейках программы Excel могут храниться не только цифры, но и формулы для их вычисления. А в самих ячейках высвечиваются данные, полученные в результате вычислений по этим формулам. Теперь представьте себе, что мы ставим курсор в такую ячейку с формулой, жмем «Копировать» и данные помещаем в буфер обмена.

Затем ставим курсор в другую свободную ячейку и жмем «Вставить». Что должно попасть в эту свободную ячейку? Формула, которая стояла в прежней ячейке, из которой мы копировали данные в буфер обмена? Или число, которое стояло в прежней ячейке? Если формула, то результат вставки будет один (вставленная формула сработает, и в ячейке появится число, являющееся результатом вычисления по этой формуле). Если же вставится число, то результат вставки – это число, полностью равное тому, которое стояло в ячейке, из которой производилось копирование.

Понятно, что в итоге в новой ячейке мы можем увидеть либо одно число (если вставилась формула), либо другое (если вставилось число). Значит, мы можем получить как «правильный», так и «неправильный» результат. То есть мы или получим точный ответ из буфера обмена, или получим неточный ответ уже из «буфера обмана»!

Как не ошибиться? Надо знать, ЧТО по умолчанию вставляется из буфера обмена в той или иной программе. Именно знать. Для этого надо про это где-то прочитать (в справке к программе, например), или поэкспериментировать самостоятельно. Если не знать, то можно получить неверные данные, опираясь на возможности уже не буфера обмена, а «буфера обмана»!

В приведенном примере с программой Excel опытные пользователи этой программы знают, что по умолчанию в ячейку вставляется формула, а не значение. Если же нужно из буфера обмена вставить все-таки значение, а не формулу, то надо пользоваться дополнительным меню вставки, и выбирать из него «Вставить значение» (цифра 1 на рис. 3) или воспользоваться «Специальной вставкой» (цифра 2 на рис. 3 и рис. 4):

Рис. 3. Вставка значения в новую ячейку (вместо формулы) (цифра 1) или использование «Специальной вставки» (цифра 2)

Если кликнуть по опции “Специальная вставка” (2 на рис. 3), то в открывшемся окне с таким же названием получим много вариантов вставки:

Рис. 4. Окно «Специальная вставка» программы Excel для выбора вариантов вставки скопированных данных из буфера обмена в новую ячейку.

Как видим на рис. 4 в новую ячейку можно вставить не только значения или формулы, но и форматы данных, формулы и значения вместе с форматами и пр., а также примечания к ячейкам, условия на значения, и в том числе добавить дополнительные операции для обработки данных.

Вот так можно с одной стороны окончательно запутаться с вроде бы простым буфером обмена, с которым обычные пользователи чаще всего делают две операции «Копировать» и «Вставить». С другой стороны, можно получить множество дополнительных возможностей, если эти возможности предусмотрены в программе, пользующейся буфером обмена.

О буфере обмена Microsoft Office, в том числе, 2010, 2013, 2016

Развернутые, расширенные функции по управлению буфером обмена предлагаются в пакете Microsoft (сокращенно MS) Office. Это позволяет делать программа «Буфер обмена», встроенная в пакет MS Office. (В этот пакет входит набор программ: текстовый редактор Word, электронные таблицы Excel, презентации PowerPoint, базы данных Access и другие).

С помощью буфера обмена в MS Office можно осуществлять копирование и вставку не один раз и не раз за разом, а многократно.

В буфере обмена может храниться до 24 копий текстовых и графических элементов, которые в свою очередь затем можно вставлять все сразу, либо по одному, либо иным способом.

Обращение к возможностям буфера обмена, которое осуществляется из любой программы пакета MS Office, показано ниже на рис. 5 на примере Excel.

Из одного буфера обмена можно вставлять данные в разные программы офиса: Word, Excel, PowerPoint и др. Проще говоря, можно картинку скопировать один раз, после чего она будет помещена в программу «Буфер обмена» MS Office. Затем эту картинку можно поместить из буфера обмена и в редактор Word, и в таблицу Excel, и в презентацию PowerPoint.

Рис. 5. Буфер обмена в Excel

Подробнее про буфер обмена для офиса 2010, в частности, про его включение и отключение, про настройку его видимости, информация с официального сайта на русском языке:

Официальный сайт Microsoft на русском языке о буфере обмена для Office 2013 и 2016:

Программа «Буфер обмена» в MS Office иначе еще называют менеджером буфера обмена. Есть и другие специальные программы для операционных систем, называемые менеджерами буфера обмена, которые предназначены для расширения возможностей стандартного буфера обмена.

Возвращаясь к стандартным возможностям обычного буфера обмена, который есть в Windows, Mac OS или Андроид, отметим, что в нем сохраняются последние данные, которые туда были скопированы.

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

Таким образом, при необходимости многократного использования стандартного буфера обмена нужно после каждой операции «Копировать» сразу же использовать операцию «Вставить». Многократно подряд скопировать, и потом многократно подряд вставить (даже если это кажется более удобным вариантом работы), пользуясь стандартными возможностями буфера обмена, нельзя.

Буфер обмена в Word

Специальные вставки есть не только в довольно сложной и многофункциональной программе Excel, но и в том же Ворде (рис. 6), а также во многих других программах. И об этом надо помнить, если активно пользоваться буфером обмена, чтобы он не превратился в итоге в «буфер обмана».

Рис. 6.1. Меню “Вставить” в Word

Если в Ворде открыть меню “Вставить” (1 на рис. 6.1), а затем кликнуть по опции “Специальная вставка” (2 на рис. 6.1), то можно увидеть предлагаемые возможности вставки из буфера обмена:

Рис. 6.2. Специальная вставка из буфера обмена в программе Microsoft Word

Вставить данные можно напрямую, без буфера обмена

И еще хотелось бы отметить следующее. Вставлять данные в программы можно не только из буфера обмена. Картинки можно вставлять из файлов, тексты можно тоже вставлять из файлов, в таблицы можно вставлять графики и диаграммы и многое-многое другое. Здесь уже буфер обмена не при чем! И меню «Вставка» в том же Ворде (рис. 7) тоже не имеет не малейшего отношения к вставке данных из буфера обмена, хоть это меню записывается одинаково с наименованием кнопки «Вставить», предназначенной для вставки из буфера обмена.

Рис. 7. Меню «Вставка» программы Microsoft Word, НЕ имеющее отношения к вставке из буфера обмена

На рис. 7 видно, что в Word в меню «Вставка», которое НЕ связано с буфером обмена, входят:

  • страницы,
  • таблицы,
  • рисунок,
  • клип,
  • диаграммы,
  • колонтитулы,
  • надписи,
  • символы
  • и т.д.

Таким образом, пользуясь буфером обмена, пользователь ПК может вставлять данные, ранее скопированные туда из другого места той же программы или из другой программы. И это никак не связано с другими возможностями вставки других данных, которых, как видим, тоже немало.

Что значит «Буфер обмена содержит большой фрагмент»?

После завершения работы с программами в буфере обмена остаются последние скопированные данные. Даже после , из которой данные были скопированы, эти данные останутся в буфере обмена, и их можно использовать для вставки в другие программы (в другие окна).

Если эти данные в буфере обмена занимают много места (например, скопирован большой текст, объемная картинка и др.), то при выходе из программы может быть выдано предупреждение о том, что в буфере обмена остался большой объем информации (рис. 8).

Рис. 8. Предупреждение, что в буфере обмена остался большой объем информации.

В этом случае пользователь должен принять решение, оставлять ли эти данные или буфер обмена нужно «почистить» одновременно с закрытием программы, из которой эти данные были скопированы.

1 на рис. 8 – если нажать «Да», тогда данные останутся в буфере обмена, программа Word будет закрыта.
2 на рис. 8 – клик по «Нет», данные будут удалены из буфера обмена, Word будет закрыт.
3 на рис. 8 – если щелкнуть «Отмена», тогда ничего не изменится, ибо пользователь передумал очищать буфер обмена и закрывать Word.

Решение, какую из трех кнопок выбрать, остается за пользователем.

Если данные из буфера обмена удалить, то их уже нельзя будет вставить в другие программы. А если оставить, то вставить их будет возможно, но при этом на хранение большого объема данных в буфере обмена потребуется много ресурсов ПК. Тут уж пользователь должен определиться, что он хочет: сохранить данные в буфере обмена или сохранить ресурсы оперативной памяти на своем устройстве для дальнейшей работы.

Не забывайте! Копировать тексты, картинки и прочую информацию из Интернета без указания ссылки на источник можно только для личного использования. Если же скопированная информация повторно выкладывается в Интернет БЕЗ указания ссылки на источник информации, то это является нарушением авторских прав и может повлечь неприятные последствия.


Определение Буфер обмена (clipboard) – специальная область оперативной памяти, обслуживаемая операционной системой Windows. Она оказывается одинаково хорошо доступной всем приложениям и используется для передачи данных между ними. Буфер обмена – особое средство Windows для временного хранения текста и рисунков


Использование Буфер обмена используется при выполнении операций копирования и перемещения информации. Алгоритм копирования (перемещения): 1. Выделить объект (файл, текст, рисунок) для копирования (перемещения). 2. Применить команду Копировать (Вырезать) из меню Правка (контекстного меню, инструмент на панели инструментов), использовать клавиши Ctrl+C 3. Показать куда нужно копировать (выбрать папку, указать место) 4. Применить команду Вставить из меню Правка (контекстного меню, инструмент на панели инструментов), использовать клавиши Ctrl+V






Использование 1. Выделить объект для копирования 2. Применить команду Копировать 1.Меню Правка (команда Копировать) 2. Контекстное меню (команда Копировать) 3.Инструмент на панели инструментов 4.Клавиши Ctrl+C 3. Указать место, куда копировать 4. Применить команду Вставить 1.Меню Правка (команда Вставить) 2. Контекстное меню (команда Вставить) 3.Инструмент на панели инструментов 4.Клавиши Ctrl+V

Буфер обмена представляет собой область оперативной памяти, которая используется операционной системой для временного хранения данных. Он выступает в роли общего хранилища данных для всех приложений системы, фактически любая программа может записывать данные в буфер обмена и считывать их оттуда. Он способен хранить данные различных типов и, кроме данных, содержит сведения о типе хранимой информации. Буфер обмена является неотъемлемым компонентом операционной системы типа Windows.

Буфер обеспечивает простейший обмен данными между приложениями. Одно приложение помещает туда данные, другое - считывает данные из буфера. Как правило, эти действия (чтение и запись) выполняются при непосредственном участии пользователя. В использовании буфера может участвовать и одно приложение, в этом случае проходит обмен данными внутри его.

Для выполнения операции обмена данными через буфер в Delphi предназначен специальный класс TClipboard . В Delphi также имеется глобальный объект Clipboard , который является экземпляром класса TClipboard и представляет буфер обмена Windows.

При помощи свойств и методов объекта Clipboard возможно осуществление различных операций обмена или анализа хранимых данных. Для доступа к объекту буфера в разделе uses модуля, в котором выполняются операции с объектом буфера обмена, указывается модуль Clipbrd .

Общее количество форматов, поддерживаемых буфером обмена, содержится в свойстве FormatCount типа Integer . Для отображения количества форматов, которые распознает буфер, можно использовать следующий листинг:

//В разделе uses указываем модуль Clipbrd Label1.Caption:= IntToStr(Clipboard.FormatCount);

Буфер обмена поддерживает самые разнообразные типы данных. Приведем список поименованных констант некоторых форматов.

  • CF_TEXT - обычный текст (коды ANSI). Символ окончания строки - #10 и #13, окончание текста - #0.
  • CF_BITMAP - рисунок ВМР-формата.
  • CF_MetaFilePic - рисунок WMF-формата.
  • CF_TIFF - рисунок TIFF-формата.
  • CF_OEMTEXT - текст.
  • CF_DIB - рисунок DIB-формата.
  • CF_Wave - звук.
  • CF_UniCodeText - текст (коды Unicode).
  • CF_Picture - объект типа TPicture.
  • CF_COMPONENT - объект типа Persistent.

При необходимости можно создать и зарегистрировать свои форматы данных в дополнение к имеющимся базовым.

При использовании нестандартных форматов данных, помещаемых в буфер обмена и извлекаемых оттуда, программы должны соблюдать устанавливаемые разработчиками соглашения об обмене такими данными.

В листинге 1 приводится обработчик нажатия кнопки, загружающий в список ListBox1 о значения констант, идентифицирующих каждый формат данных буфера обмена.

Листинг 1. Отображение форматов буфера обмена

Var i: Integer; begin for i:= 0 to Clipboard.FormatCount - 1 do ListBox1.Items.Append(IntToStr(Clipboard.Formats[i])); end;

Приложение может помещать информацию в буфер обмена и извлекать ее только в тех форматах, которые будет поддерживать буфер. Список поддерживаемых форматов создается при инициализации приложения.

Перед доступом к данным, содержащимся объектом Clipboard , может потребоваться анализ формата данных, для этого служит метод НаsFomat . Процедура HasFormat(Format: Word) : Boolean используется для запроса к буферу обмена и позволяет узнать, можно ли извлечь хранимые в нем данные в заданном формате, указанном параметром Format . При положительном ответе возвращаемое значение равно True , в противном случае - False .

Clipboard имеет специальное свойство AsText типа String AsText

Листинг 2. Пример на использование HasFormat, AsText.

Procedure TForm1.Button1Click(Sender: TObject); begin if Clipboard.HasFormat(CF_TEXT) then Edit1.Text:= Clipboard.AsText else MessageDlg("There is no text on the Clipboard", mtInformation, ,0); end;

Также копировать текст в буфер обмена можно при помощи метода SetTextBuf. Единственое, что необходимо здесь учесть, это то, что обязательно параметр передаваемый в SetTextBuf привести к типу PChar.

Clipboard.SetTextBuf(PChar(Edit1.Text));

Как правило, различные приложения используют буфер обмена. Но в случае, когда необходимо получить монопольный доступ к буферу, приложение должно открыть его для себя в специальном режиме. Для этого вызывается метод Open , позволяющий программе получить полный (исключительный) доступ к общей области обмена. После вызова метода Open содержимое буфера не может быть изменено другими приложениями, поэтому после окончания монопольного использования приложение должно вызвать метод Close объекта Clipboard . Если открытый буфер не был закрыт с помощью метода Close , то он будет автоматически закрыт системой после завершения программы, открывшей буфер обмена.

Листинг 3. Пример на использование Open, Close, GetAsHandle.

Uses clipbrd; procedure TForm1.Button1Click(Sender: TObject); var MyHandle: THandle; TextPtr: PChar; begin ClipBoard.Open; try {$IFNDEF UNICODE} MyHandle:= Clipboard.GetAsHandle(CF_TEXT); {$ELSE} MyHandle:= Clipboard.GetAsHandle(CF_UNICODETEXT); {$ENDIF} TextPtr:= GlobalLock(MyHandle); ListBox1.Items.Add(StrPas(TextPtr)); GlobalUnlock(MyHandle); finally Clipboard.Close; end; end;

Для очистки содержимого буфера обмена используется метод Clear . Он вызывается автоматически при изменении содержимого в буфере. Перед записью новых данных, помещаемых в буфер, старая информация удаляется.

Класс TClipboard используется многими другими классами и компонентами, которые поддерживают обмен данными через буфер обмена. К примеру, компоненты Memo и Edit имеют специальные методы для обмена текстовой информацией посредством буфера. Методы CopyToClipBoard и CutToClipBoard помещают текстовые данные в буфер обмена, копируя и вырезая их из источника (компонента) соответственно, а метод PasteFromClipBoard вставляет текстовый фрагмент из буфера в текстовое поле.

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

Листинг 4. Копирование текста из поля редактора Memo1 в буфер обмена

Procedure TForm1.Button1Click(Sender: TObject); begin //Выделяем весь текст в поле редактора Memo1.SelectAll; //Копируем текст Memo1.CopyToClipboard; end;

Буфер обмена часто используется для хранения текста, поэтому объект Clipboard имеет специальное свойство AsText типа String , предназначенное для обработки содержимого буфера как данных текстового формата. Свойство AsText предназначено как для чтения, так и для записи. При чтении свойства данные извлекаются из буфера, а при записи - заносятся в буфер обмена (листинг 2).

При работе с графическими компонентами для операций, связанных с обменом информацией через общую область, удобно использовать метод Assign . Процедура Assign (Source: TPersistent) присваивает буферу обмена объект, указанный параметром Source . Если объект является изображением и принадлежит таким графическим классам, как TBitmap ,TPicture или TMetafile , то в буфер обмена копируется изображение установленного формата. Для извлечения изображения также может использоваться метод Assign .

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

Листинг 5. Обмен изображением через буфер обмена.

Procedure TForm1.Button1Click(Sender: TObject); begin //Открываем монопольный доступ Clipboard.Open; //Заносим изображение в буфер Clipboard.Assign(Image1.Picture); //Проверяем формат находящихся в буфере данных if Clipboard.HasFormat(CF_PICTURE) then Image2.Picture.Assign(Clipboard); //Закрываем монопольный доступ к буферу Clipboard.Close; end;

Используемая литература: Программирование в Delphi. Трюки и эффекты. Александр Чиртик