|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Копирование строки из DBGrid-а в Clipboard
Уважаемые форумчане, помогите разобраться в коде.
Задача , выделенные строки просто скопировать из DBGrid в Clipboard. Вот рабочий код для всего копипаста Код:
procedure CopyGRDToClb(dbg: TDBGrid); var bm: TBookMark; pch, pch1: PChar; s, s2: string; i, j: integer; begin s := ''; for j := 0 to dbg.Columns.Count - 1 do s := s + dbg.Columns.Items[j].Title.Caption + #9; s := s + #13 + #10; if not dbg.DataSource.DataSet.active then begin ShowMessage('Нет выборки!!!'); Exit; end; try dbg.Visible := False; bm := dbg.DataSource.DataSet.GetBookmark; dbg.DataSource.DataSet.First; while not dbg.DataSource.DataSet.EOF do begin s2 := ''; for j := 0 to dbg.Columns.Count - 1 do begin s2 := s2 + dbg.Columns.Items[j].Field.AsString + #9; end; s := s + s2 + #13 + #10; dbg.DataSource.DataSet.Next; end; GetMem(pch, 100); GetMem(pch1, 100); GetKeyboardLayoutName(pch); StrCopy(pch1, pch); while pch <> '00000419' do begin ActivateKeyboardLayout(HKL_NEXT, 0); GetKeyboardLayoutName(pch); if strComp(pch, pch1) = 0 then StrCopy(pch, '00000419'); end; clipboard.AsText := s; while strComp(pch, pch1) <> 0 do begin ActivateKeyboardLayout(HKL_NEXT, 0); GetKeyboardLayoutName(pch); end; FreeMem(pch); FreeMem(pch1); dbg.DataSource.DataSet.GotoBookmark(bm); finally dbg.Visible := True; end; end; Последний раз редактировалось starcon, 28.10.2016 в 17:51. |
#2
|
||||
|
||||
Цитата:
Код:
... while not dbg.DataSource.DataSet.EOF do if dbg.SelectedRows.CurrentRowSelected then begin s2 := ''; for j := 0 to dbg.Columns.Count - 1 do begin s2 := s2 + dbg.Columns.Items[j].Field.AsString + #9; end; s := s + s2 + #13 + #10; dbg.DataSource.DataSet.Next; end else dbg.DataSource.DataSet.Next; ... Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
||||
|
||||
В cxGrid уже сделано.
Пишу программы за еду. __________________ |