Текущий архив: 2004.08.22;
Скачать: CL | DM;
Вниз
Как скопировать в буфер всю строку из Grid? Найти похожие ветки
← →
serg128 (2004-08-05 10:40) [0]Т.е. стоя на одной (или нескольких) строках в DBGrid, и при нажатии Ctrl+C как их скопировать в буфер? Чтобы потом можно было их вставить по Ctrl+V в Excel (или куда-то ещё)? Спасибо.
← →
Ega23 © (2004-08-05 10:43) [1]Разделителями её, родимую, разделителями...
← →
Андрей Сенченко © (2004-08-05 10:46) [2]Ega23 © (05.08.04 10:43) [1]
ИМХО так с этими разделителями в Эхель и вставится ... я так понял, что нужно сохранение собственно табличной структуры при копировании в буфер
← →
serg128 (2004-08-05 10:54) [3]Да, нужно именно с сохранением табличной структуры
← →
REA © (2004-08-05 10:59) [4]Tab = #9. Перевод строки #13#10
Вставляет посильнее Ctrl+v
← →
KSergey © (2004-08-05 11:00) [5]Все там путево вставится
Разделяем табуляциями - и все
Можете при помощи блокнота проверить
← →
Андрей Сенченко © (2004-08-05 11:05) [6]Хозяйке на заметку :)
← →
serg128 (2004-08-05 12:35) [7]Работает, но в Excel вставляет в DOS-кодировке вставляет! Не подвкажете, как это побороть?
← →
Андрей Сенченко © (2004-08-05 12:55) [8]Перед тем как копировать в буфер - перекодиуй Oem в Ansi
← →
serg128 (2004-08-05 13:04) [9]Не работает: OemToChar и OemToAnsi
← →
Андрей Сенченко © (2004-08-05 13:15) [10]работает. Код покажи
← →
serg128 (2004-08-05 14:07) [11]Так работает:
AnsiString s;
AnsiString c = DBG->DataSource->DataSet->Bookmark;
// Ñîáèðàåì çàãîëîâêè
for(int j = 0; j < DBG->Columns->Count; j++)
s += DBG->Columns->Items[j]->Title->Caption + "\t";
s += "\r\n \r\n";
// à òóò âûãðåáàåì ñîäåðæèìîå âûäåëåííûõ ðÿäîâ
for(int i=0; i<DBG->SelectedRows->Count; i++)
{
DBG->DataSource->DataSet->GotoBookmark((void *)DBG->SelectedRows->Items[i].c_str());
for(int j = 0; j < DBG->Columns->Count; j++)
s += DBG->DataSource->DataSet->Fields->FieldByName(DBG->Columns->Items[j]->FieldName)->Text + " \t ";
s += " \r\n";
}
DBG->DataSource->DataSet->GotoBookmark((void*)c.c_str());
// Ñîõðàíÿåì òåêóùóþ ðàñêëàäêó êëàâèàòóðû
GetKeyboardLayoutName(c.c_str());
// óñòàíàâëèâàåì ðàñêëàäêó ðóññêîãî ÿçûêà
LoadKeyboardLayout("00000419", KLF_ACTIVATE);
// ñïèñûâàåì ñîäåðæèìîå â áóôåð îáìåíà
Clipboard()->AsText = s;
// âîçâðàùàåì èñõîäíóþ ðàñêëàäêó
LoadKeyboardLayout(c.c_str(), KLF_ACTIVATE);
← →
Андрей Сенченко © (2004-08-05 14:23) [12]красиво ... минут 10 любовался ... OemToAnsi правда не нашел при этом
Страницы: 1 вся ветка
Текущий архив: 2004.08.22;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.029 c