Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
Студент   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.008 c
3-62341
Cheg
2002-12-24 12:13
2003.01.20
TStoredProc.Params.CreateParam странно выполняеться...


1-62524
Андрусь
2003-01-10 18:50
2003.01.20
оптимировать буфер для чтения данных


14-62756
ZiLot
2003-01-03 14:09
2003.01.20
BDE Administrator


6-62697
max_28
2002-11-21 02:25
2003.01.20
определение имени компьютера по его IP адресу


7-62864
KDS
2002-11-04 17:27
2003.01.20
DDR SDRAM





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский