Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.20;
Скачать: CL | DM;

Вниз

Мастера у меня вопрос связанный с буфером обмена?   Найти похожие ветки 

 
Студент   (2003-01-09 02:25) [0]

Можно ли скопировать данные в буфер обмена без потери уже находящихся данных в буфере обмена(текста или графики)?
Т.е. можно ли создать что называется свой отдельный временный буфер обмена.
Прошу мастеров привести пример по подробнее.


 
ЮЮ ©   (2003-01-09 04:03) [1]

Использовать не системную Clipboard, а свою MyClipboard := TClipboard.Create;


 
Студент   (2003-01-09 06:22) [2]

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


 
Студент   (2003-01-09 09:37) [3]

Я сделал так: из одного Memo1 копирую данные в MyClipboard
потом из MyClipboard вставляю в Memo2 однако при данной операции данные в системном буфере уничтожаются и заменяются данными которые я копирую в MyClipboard. Но нужно данные в системном буфере оставить без изменения в чем ошибка? Вот пример кода:
//копирую в мой буфер
procedure TForm1.Button1Click(Sender: TObject);
var
MyClipboard: TClipboard;
begin
MyClipboard := TClipboard.Create;
MyClipboard.AsText := Memo1.Text;

MyClipboard.Free;
end;

//вставляю из моего буфера
procedure TForm1.Button2Click(Sender: TObject);
var
MyClipboard: TClipboard;
begin
MyClipboard := TClipboard.Create;

Memo2.Text :=MyClipboard.AsText;


MyClipboard.Free;

end;



 
Студент   (2003-01-09 09:53) [4]

Неужели никто не знает!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


 
Digitman ©   (2003-01-09 10:04) [5]

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

Т.е. если ты перед MyClipboard.AsText := Memo1.Text самостоятельно не примешь меры по временному сохранению данных формата CF_TEXT, то после MyClipboard.AsText := Memo1.Text старые данные будут безвозвратно утеряны


 
vlad40   (2003-01-09 10:09) [6]

А почему перед записью текста из Memo2 не прочитать ClipBoard и записать потом в него уже результат объединения того, что было в буфере и Memo2.Text ?


 
Anatoly Podgoretsky ©   (2003-01-09 10:14) [7]

Зачем вообще тебе здесь клипбоард, почему бы не сразу из Memo1 в Memo2?


 
Студент   (2003-01-09 10:23) [8]

Объясняю: первоначально я копировал данные из системного буфера в RXRichEdit1 затем из другого Рича2 копировал данные в системный буфер(эти данные я вставлял в MS Excel-собственно для этого все я и делал из-за скорости-данных много)ну а затем из первого Рича1 вставлял назад в системный буфер(Весь этот гемор- для корректности операции вдруг пользователь в данный момент держит в буфере нужную информацию!). Но столкнулся с той проблемой что в системном буфере может быть ни текст а графика, а тут уже сложнее для меня так как я новичок.


 
Anatoly Podgoretsky ©   (2003-01-09 10:30) [9]

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


 
Digitman ©   (2003-01-09 10:37) [10]


> в системном буфере может быть ни текст а графика


Не трогай данные иных форматов нежели CF_TEXT - и ничего с ними не случится, никуда не исчезнут



 
Студент   (2003-01-09 10:46) [11]

Anatoly Podgoretsky © я с Вами согласен, но где выход?
Digitman © можно по подробнее.


 
Digitman ©   (2003-01-09 10:51) [12]

"по подробнее" - см. хэлп Win32 API Programmer"s reference, topic "Clipboard Functions"


 
Студент   (2003-01-09 10:55) [13]

OK.



Страницы: 1 вся ветка

Текущий архив: 2003.01.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
14-62741
adolf_99
2003-01-04 16:47
2003.01.20
Надо срочно горю


7-62874
BJValentine
2002-11-06 17:06
2003.01.20
Реестр


4-62898
Jungleb
2002-12-03 02:28
2003.01.20
Выгрузка Shell-а и обратно


1-62565
maxim2
2003-01-11 13:04
2003.01.20
Как не дать запуститься своей проге?


1-62635
123000
2003-01-09 15:27
2003.01.20
Нарезка файла