Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2011, 17:56   #1
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию Копирование выделенной области StringGrid

Поиск ничего не дал, поэтому пишу. Знает ли кто-нибудь как реализовать возможность копирования в буфер выделенного диапазона StringGrid? Мне бы хотелось реализовать возможность копирования по CTRL+C с последующей вставкой (к примеру в Excel).
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 08.02.2011, 18:16   #2
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Clipboard.asText:='ВАШ_ТЕКСТ';
или
Clipboard.SetTextBuf(PChar('ВАШ_ТЕК СТ'));
поможет?
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 08.02.2011, 18:23   #3
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Цитата:
Сообщение от ArtGrek Посмотреть сообщение
Clipboard.asText:='ВАШ_ТЕКСТ';
или
Clipboard.SetTextBuf(PChar('ВАШ_ТЕК СТ'));
поможет?
Совершенно не поможет, т.к. скопировать надо выделенный диапазон StringGrid.
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 08.02.2011, 18:37   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Совершенно не поможет
поможет, если воспользоваться поиском и зайти, например, в эту тему - Выбрать ВСЕ выделенные ячейки в StringGrid
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.02.2011, 18:47   #5
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
поможет, если воспользоваться поиском и зайти, например, в эту тему - Выбрать ВСЕ выделенные ячейки в StringGrid
Может я не точно выразился, мне надо не значение диапазона скопировать, а значения ячеек находящихся в выделенном диапазоне (а-ля эксель).
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 08.02.2011, 19:24   #6
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

Цитата:
Сообщение от DIgorevich Посмотреть сообщение
Может я не точно выразился, мне надо не значение диапазона скопировать, а значения ячеек находящихся в выделенном диапазоне (а-ля эксель).
Ну, тогда в качестве примера использования свойства Selection получите еще такой пример:
Код:
procedure TForm1.BitBtn2Click(Sender: TObject);
var i,j: integer;
    myRect: TGridRect;
begin
myrect:=StringGrid1.Selection;
for i:=myrect.Left to myrect.Right do
for j:=myrect.Top to myrect.Bottom do
Memo1.Lines.Add(StringGrid1.Cells[i,j]);
end;
В сущности, это то же самое, что и в уже данном вам примере.
Но... может быть, так понятнее будет ?
Или у вас трудность в том, чтобы собрать в одну строку значения всех выделенных ячеек и вставить между ними разделители ?
Или еще в чем-то... неведомом...?
asmodey1 вне форума Ответить с цитированием
Старый 08.02.2011, 19:30   #7
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

asmodey1, спасибо!
И всем остальным тоже. Я надеялся, что есть более простой способ, нежели с разделителями.
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 08.02.2011, 19:39   #8
asmodey1
Подтвердите свой е-майл
 
Регистрация: 19.12.2010
Сообщений: 808
По умолчанию

Удобно будет собирать их построчно (по Row).
Эксель так и делает, а в качестве разделителя использует символ табуляции (сейчас специально попробовал и посмотрел, что у него за разделитель).
asmodey1 вне форума Ответить с цитированием
Старый 08.02.2011, 19:46   #9
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Цитата:
Сообщение от asmodey1 Посмотреть сообщение
Удобно будет собирать их построчно (по Row).
Эксель так и делает, а в качестве разделителя использует символ табуляции (сейчас специально попробовал и посмотрел, что у него за разделитель).
А вот это - идея !!! Спасибо!
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скриншот выделенной области EinKRieGeR Помощь студентам 1 25.07.2011 12:58
отражение относительно горизонтальной оси симметрии выделенной области Demich Помощь студентам 1 08.10.2010 12:49
Сохранение/копирование выделенной строки у ListBox в файл... Человек_Борща Общие вопросы Delphi 1 11.06.2010 13:50
Автоматическое копирование выделенной строки Enigmatic Microsoft Office Excel 2 25.12.2009 13:08
Как определить, что в выделенной области есть глаза Бзик Помощь студентам 2 09.04.2009 21:46