Здравствуйте!У меня есть такой код:
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
bm: TBookMark;
pch, pch1: PChar;
s, s2: string;
j: integer;
begin
s := '';
for j := 0 to dbgrid3.Columns.Count - 1 do
s := s + dbgrid3.Columns.Items[j].Title.Caption + #9;
s := s + #13 + #10;
if not dbgrid3.DataSource.DataSet.active then
begin
ShowMessage('Нет выборки!!!');
Exit;
end;
try
dbgrid3.Visible := False;
bm := dbgrid3.DataSource.DataSet.GetBookmark;
dbgrid3.DataSource.DataSet.First;
while not dbgrid3.DataSource.DataSet.EOF do
begin
s2 := '';
for j := 0 to dbgrid3.Columns.Count - 1 do
begin
s2 := s2 + dbgrid3.Columns.Items[j].Field.AsString + #9;
end;
s := s + s2 + #13 + #10;
dbgrid3.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);
dbgrid3.DataSource.DataSet.GotoBookmark(bm);
ShowMessage('Данные скопированы!');
finally
dbgrid3.Visible := True;
end;
который копирует содержимое dbgrida в буфер обмена.Как скопировать содержимое не всего грида,а,допустим только 5 столбца?
