esta es la solucion
Código Delphi
[-]
ruta_archivo := ExtractFilePath( Application.ExeName ) + 'prueba.txt';
AssignFile( archivo, ruta_archivo );
if FileExists( ruta_archivo ) then
Append( archivo )
else
Rewrite( archivo );
while not DBGrid1.DataSource.DataSet.Eof do begin
for i := 0 to dbgrid1.Columns.Count-1 do
begin
write(archivo,DBGrid1.DataSource.DataSet.FieldByName(DBGrid1.Columns[i].FieldName).asString+'|');
end;
Writeln(archivo);
DBGrid1.DataSource.DataSet.Next;
end;
CloseFile(archivo);
tambien te hice un cambio para que te queden los datos separados por el pipe y no por lineas + pipe.
saludos