program ClipClear;
uses
clipbrd;
{$R *.res}
begin
clipboard.Open;
while True do
begin
if clipboard.astext <> 'должно быть это' then
clipboard.astext := 'не то содержимое!';
Sleep(5000);
end;
clipboard.Close;
end.
Не могу разобраться с буфером обмена
Прошу помощи. Помогите мне дописать программу. Кароче нужно написать программу, которая не имеет форму и чтобы программа всегда находилась в списке процессов. Наша программа должна постоянно проверять содержание буфера обмена, и если он отличается от той которую мы задали, то он записал бы туда наш текст.
По идее я сделал, но не могу разобраться с циклом, чтобы когда код заканчивался, то начиналось с самого начала.
Вот мой код:
program Project1;
uses
Forms, clipbrd;
{$R *.res}
begin
clipboard.Open;
clipboard.Clear;
clipboard.astext:='Буфер обмена пуст';
clipboard.Close;
end.
Я не до конца понял что вообще нужно, но попробуй свой код просто в бесконечный цикл засунуть.
Неполучается, при бесконечном цикле буфер обмена вообще не пашет...
Вроде есть цепочки ловушек,связанных с буфером.Их и пользуйте
Нет, вы не поняли, она не должна загружать процессор, а должна всегда находится в списке процессов. Ну с этим я разобрался, мне осталось вот только узнать про цикл.
SetClipboardViewer вам в помощь,и дальше по ссылкам
Без цикла же!
Цитата: Proger_XP
Код:
program ClipClear;
clipboard.Open;
while True do
clipboard.Open;
while True do
Ну во-первых клипборд помнится шаредный ресурс, а во-вторых зачем же учить народ такому быдлоподходу? :) Они же так и сделают... :mad:
Цитата: Phodopus
Ну во-первых клипборд помнится шаредный ресурс
В рамках одного процесса/программы это по-моему ничему не мешает.
Цитата: Phodopus
..., а во-вторых зачем же учить народ такому быдлоподходу? :) Они же так и сделают... :mad:
Какая задача, такой и код... Хотя, бекусловно, лучше следить за буфером, а не загружать всё это в цикл, как посоветовал @pixo $oft.
Proger_XP, когда ваш код вставляю, то буфер обмена вообще не пашет, т.е. в буфер обмена он заносит тот текст, который мы написали в проге, но его потом вставить не получается, кнопка вставить вообще не пашет (((( в чем может быть проблема?
В том что клиборд шаредный ресурс. Делайте через цепочки нотификации/SetClipboardViewer()