Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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";
 // &#224; &#242;&#243;&#242; &#226;&#251;&#227;&#240;&#229;&#225;&#224;&#229;&#236; &#241;&#238;&#228;&#229;&#240;&#230;&#232;&#236;&#238;&#229; &#226;&#251;&#228;&#229;&#235;&#229;&#237;&#237;&#251;&#245; &#240;&#255;&#228;&#238;&#226;
 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());
 // &#209;&#238;&#245;&#240;&#224;&#237;&#255;&#229;&#236; &#242;&#229;&#234;&#243;&#249;&#243;&#254; &#240;&#224;&#241;&#234;&#235;&#224;&#228;&#234;&#243; &#234;&#235;&#224;&#226;&#232;&#224;&#242;&#243;&#240;&#251;
 GetKeyboardLayoutName(c.c_str());
 // &#243;&#241;&#242;&#224;&#237;&#224;&#226;&#235;&#232;&#226;&#224;&#229;&#236; &#240;&#224;&#241;&#234;&#235;&#224;&#228;&#234;&#243; &#240;&#243;&#241;&#241;&#234;&#238;&#227;&#238; &#255;&#231;&#251;&#234;&#224;
 LoadKeyboardLayout("00000419", KLF_ACTIVATE);
 // &#241;&#239;&#232;&#241;&#251;&#226;&#224;&#229;&#236; &#241;&#238;&#228;&#229;&#240;&#230;&#232;&#236;&#238;&#229; &#226; &#225;&#243;&#244;&#229;&#240; &#238;&#225;&#236;&#229;&#237;&#224;
 Clipboard()->AsText = s;
 // &#226;&#238;&#231;&#226;&#240;&#224;&#249;&#224;&#229;&#236; &#232;&#241;&#245;&#238;&#228;&#237;&#243;&#254; &#240;&#224;&#241;&#234;&#235;&#224;&#228;&#234;&#243;
 LoadKeyboardLayout(c.c_str(), KLF_ACTIVATE);


 
Андрей Сенченко ©   (2004-08-05 14:23) [12]

красиво ... минут 10 любовался ... OemToAnsi правда не нашел при этом



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

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

Наверх




Память: 0.49 MB
Время: 0.061 c
3-1091274506
Wolfram
2004-07-31 15:48
2004.08.22
Вопрос про ORDER BY


3-1091415001
r00t
2004-08-02 06:50
2004.08.22
Data Type в XML Table


3-1091037724
Wolfram
2004-07-28 22:02
2004.08.22
Ошибка конструкции JOIN


3-1090926478
TAN_K
2004-07-27 15:07
2004.08.22
Поле типа Date = 0


1-1091804033
ceval
2004-08-06 18:53
2004.08.22
проблемы с logoform