Cita:
Empezado por GerTorresM
Hola a tod@s
Muchas a Ecfisa que me dio el código para poder plantear la solución; la parte final del problema radicada en el un código ascii incorrecto, y para el caso revise la tabla ascii y me di cuenta que estaba confundiendo el código que corresponde al tab del #9 con # 10, al corregir esto se ha solucionado el problema, dejo el código que quedo ya probado, por si alguien desea utilizarlo.
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 + #9; end; s_local:= s_local + #10#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;
gertorresm
Colombia
|
Que buen codigo.. me apunto para tenerlo de referencia...
Salu2