Ver Mensaje Individual
  #3  
Antiguo 28-12-2010
Avatar de GerTorresM
GerTorresM GerTorresM is offline
Miembro
 
Registrado: nov 2005
Ubicación: Tunja - Boyacá
Posts: 210
Reputación: 19
GerTorresM Va por buen camino
Cool aún no me funciona

Hola ecfisa:

Te agradezco el tiempo de tu respuesta, tome tu ejemplo y le hice algunas modificaciones con las cuales el código quedo de la siguiente forma

Código Delphi [-]
procedure CopiarDBGridPortaPales (pBDGrid : TDBGrid);
var
  i_local,j_local: Integer;
  BookMark_local: TBookmarkStr;
  s_local: string;
begin
  pBDGrid.DataSource.DataSet.DisableControls;  // evita parpadeo en la grilla
  try
    BookMark_local:= pBDGrid.DataSource.DataSet.Bookmark;  // guardar posición
    pBDGrid.DataSource.DataSet.first; // ir a 1era fila
    s_local:= '';
    for i_local:= 1 to pBDGrid.Datasource.dataset.RecordCount - 1 do  // nro filas mostradas
    begin
      for j_local:= 0 to pBDGrid.FieldCount - 1 do   // campos
      begin
        s_local:= s_local + pBDGrid.Fields[j_local].AsString;
        if i_local < pBDGrid.datasource.dataset.recordCount then s_local:= s_local + #10;
      end;
      s_local:= s_local + #13;                  //CRLF
      pBDGrid.DataSource.DataSet.Next;   // siguiente fila
    end;
    ClipBoard.SetTextBuf(PChar(s_local));  // a portapapeles
    pBDGrid.DataSource.DataSet.Bookmark:= BookMark_local; // restaurar posición
  finally
    pBDGrid.DataSource.DataSet.EnableControls;
  end;
end;

bien en orden de ideas ya esta copiando los datos del DBGrid en el Portapales, el formato en el que lo esta haciendo no es correcto, ya que lo que necesito es que al pegar los datos del portapapeles los pegue con forma de columnas (que al pegarlo en excel se vea como en la grilla) lo cual no he logrado; en mis pruebas cambie el separador que en tu ejemplo estaba con '-' por un tab #10, pero lo que obtengo al pegar los datos son los de una una misma fila uno debajo del otro.

Agradezco de antemano cualquier aporte que me ayude a encontrar la solución que deseo.


atentamente



gertorresm
Colombia.
Responder Con Cita