Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Datensätze in TStringlist einfügen

  Alt 10. Jan 2008, 13:31
Wenn der CheckBox ein Datenfeld unterlegt ist, dann ist der Zugriff auf die Feldwerte der ausgewählten Datensätze einfach: Entweder du iterierst über den DataSet, ignorierst alle nicht relevanten Datensätze und überträgst die Feldwerte der gewünschten Datensätze in die StringList:

Delphi-Quellcode:
procedure ExportFields(fields: TFields; recs: TStrings);
var
  i: Integer;
begin
  with TStringList.Create do
  try
    for i := 0 to Pred(fields.Count) do
      Add(fields[i].AsString);
  finally
    Free;
  end;
  recs.Add(CommaText);
end;



with DBGrid.DataSource.DataSet do
var
  bm: TBookMark;
begin
  bm := GetBookmark;
  DisableControls;
  First;
  while not Eof do
  begin
    if FieldByName('CHECKED').AsBoolean then
      ExportFields(Fields);
    Next;
  end;
  GotoBookmark(bm);
  FreeBookmark(bm);
  EnableControls;
end;
Die Vorgehensweise zur Erstellung einer (über recs voll gepufferten) CSV-Datei ist hier nur angedeutet.

Oder du liest dich mal in die Komponente TBatchMove ein. Damit kannst du die CSV-Datei fast ohne eigenen Code erstellen.

Freundliche Grüße
  Mit Zitat antworten Zitat