{
This copies the contents of a TstringGrid/TDrawGrid (only Text!!) into a string.
Tabs are inserted between the columns, CR+LF between rows.
}
use
Grids;
{...}
{ we need this Cracker Class because the Col/RowCount property
is not public in TCustomGrid } type TGridHack = class(TCustomGrid);
function GetstringGridText(_Grid: TCustomGrid): string; var Grid: TGridHack;
Row, Col: Integer;
s: string; begin // Cast the paramter to a TGridHack, so we can access protected properties Grid := TGridHack(_Grid);
Result := ''; // for all rows, then for all columns for Row := 0 to Grid.RowCount - 1 do
begin
for Col := 0 to Grid.ColCount - 1 do
begin // the first column does not need the tab if Col > 0 then Result := Result + #9;
Result := Result + Grid.GetEditText(Col, Row); end;
Result := Result + #13#10; end; end;