Aparentemente desta forma funcionaria muito bem.
Qual o problema de utilizar esta mesma função?

Em 05/12/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> escreveu:
>
>   Oi ..
>
> Utilizo Delphi 7 com IB Objects 4.2.i
> Gostaria de copiar todo o conteudo de um IB_GRID para a memoria
> (clipboard) e depois salvar no Word.
>
> Sei como fazer utilizando DBGRID, mas com o IB Objects nao encontrei a
> solucao e ja vi na
> lista IBOjects do Yahoo...
>
> Ai esta a rotina para usar no DBGRID
>
> (obrigado)
>
> procedure DBGridToClipBoard(DBGrid: TDBGrid; PastHeader: Boolean);
> var
> StrToCopy: string;
> Idx, IdxCol: Integer;
> BookMark, SavedBookMark: TBookMark;
> begin
>
> DBGrid.SelectedRows.Clear;
>
> DBGrid.DataSource.DataSet.DisableControls;
> try
> DBGrid.DataSource.DataSet.First;
> while not DBGrid.DataSource.DataSet.EOF do
> begin
> DBGrid.SelectedRows.CurrentRowSelected := True;
> DBGrid.DataSource.DataSet.Next;
> end;
> finally
> DBGrid.DataSource.DataSet.EnableControls;
> end;
>
> if DBGrid.SelectedRows.Count = 0 then
> Exit;
>
> StrToCopy := '';
>
> if PastHeader then
> begin
> StrToCopy := DBGrid.Columns[0].Title.Caption;
> for IdxCol := 1 to DBGrid.Columns.Count - 1 do
> StrToCopy := format('%s'#9'%s', [StrToCopy,
> DBGrid.Columns[IdxCol].Title.Caption]);
> StrToCopy := StrToCopy + #13#10;
> end;
>
> with DBGrid.DataSource.DataSet do
> begin
> //salva a posição atual no DBGrid
> SavedBookMark := GetBookmark;
> //evita movimentação no DBGrid
> DisableControls;
> for Idx := 0 to DBGrid.SelectedRows.Count - 1 do
> begin
> //posiciona na linha selecionada
> GotoBookMark(Pointer(DBGrid.SelectedRows[Idx]));
> StrToCopy := StrToCopy + DBGrid.Columns[0].Field.AsString;
> for IdxCol := 1 to DBGrid.Columns.Count - 1 do
> StrToCopy := Format('%s'#9'%s', [StrToCopy,
> DBGrid.Columns[IdxCol].Field.AsString]);
> StrToCopy := StrToCopy + #13#10;
> end;
> ClipBoard.Clear;
> ClipBoard.SetTextBuf(PAnsiChar(StrToCopy));
> //Restauramos o posicionamento inicial do DBGrid
> GotoBookMark(SavedBookMark);
> FreeBookMark(SavedBookMark);
> //reabilitamos movimentação no DBGrid
> EnableControls;
> end;
> end;
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]

Responder a