Ver Mensaje Individual
  #7  
Antiguo 20-08-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Creo que la idea que te dió Casimiro es la correcta. Como la cantidad de registros visualizados en el DBGrid corresponde exáctamente a los que el usuario seleccionó mediante la búsqueda, basta con que recorras el DataSet asociado desde la primer fila a la última para obtener lo que deseas.

Te pongo un ejemplo en que los campos del DBGrid se concatenan separados por ";" y son muestrados en un ListBox :
Código Delphi [-]
...
var
  i: Integer;
  s: string;
begin
  DBGrid1.DataSource.DataSet.DisableControls;
  try
    DBGrid1.DataSource.DataSet.First;
    while not DBGrid1.DataSource.DataSet.Eof do
    begin

      s := '';
      for i := 0 to DBGrid1.FieldCount-1 do
        s := s + DBGrid1.Fields[i].AsString + ';';
      SetLength(s, Length(s)-1);
      ListBox1.Items.Add(s);

      DBGrid1.DataSource.DataSet.Next;
    end;
  finally
    DBGrid1.DataSource.DataSet.EnableControls;
  end;
end;
Cambia la acción de concatenar/mostrar en modo texto por la necesaria para guardar esos datos en tu archivo binario.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita