CopyToClipboard въпросче
4 отговора
115 прегледа
CopyToClipboard въпросче
Как да копирам определена клетка от DBGrid в Clipboard-a? Някаква API-function...
Re: CopyToClipboard въпросче
TClipBoard, ако си с Делфи 7, за назад не знам дали го има.
Май ще се наложи да си регистрираш ClipBoard формата ти.
Май ще се наложи да си регистрираш ClipBoard формата ти.
Re: CopyToClipboard въпросче
Всички версии на Делфи имат TClipboard. Клипборда на windows поддържа различни формати на данните в него. В твоя случай предполагам, че искаш да копираш текст в него. Това става най-просто с ClipBoard.AsText := 'някакъв текст'; (uses ClipBrd;). Текстът, който искаш да копираш ще е най-добре да го вземеш от dataset-а, който визуализираш. Текущият запис в него е редът, който ти е избран в грида. Избраният фийлд (колона) можеш да разбереш от SelectedField пропъртито на грида. Т.е. правиш следното:
Трябва да си правиш проверката за избрания фийлд, защото това пропърти в някой случаи може да ти върне nil. Например ако от опциите си включил да се избират целите редове. Но тогава ти нямаш избрана клетка и не ми е ясно какво би искал да копираш в клипборда.
if Assigned(DBGrid1.SelectedField) then
Clipboard.AsText := DBGrid1.SelectedField.Text;
Трябва да си правиш проверката за избрания фийлд, защото това пропърти в някой случаи може да ти върне nil. Например ако от опциите си включил да се избират целите редове. Но тогава ти нямаш избрана клетка и не ми е ясно какво би искал да копираш в клипборда.
Re: CopyToClipboard въпросче
po-dobre ne Text, che ako e TMemoField texta shte e '(MEMO)'
AsString
-------------
Special killer double trouble triple extra nicotine monster!
AsString
-------------
Special killer double trouble triple extra nicotine monster!