Para agregar otra idea, si usaras TStrings, podrías aprovechar el procedimiento SaveToFile simplificando el guardado de los registros.
Algo como:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
BM: TBookMarkStr;
ts: TStrings;
begin
try
DataSet.DisableControls;
ts:= TStringList.Create;
BM:= DBGrid1.DataSource.DataSet.Bookmark;
for i:= 0 to DBGRid1.SelectedRows.Count-1 do
begin
DataSet.Bookmark:= DBGrid1.SelectedRows.Items[i];
ts.Add(DBGrid1.SelectedField.AsString); end;
ts.SaveToFile('C:\PRUEBA.TXT'); DBGrid1.DataSource.DataSet.Bookmark:= BM;
finally
DataSet.EnableControls;
ts.Free;
end;
end;
Saludos.