Einzelnen Beitrag anzeigen

marabu

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

Re: Listview speichern in mehrere Dateien

  Alt 29. Nov 2007, 13:01
Hallo Vito,

ich bin mir nicht sicher, ob du mit deinem Ansatz so glücklich wirst, aber dein technisches Problem kannst du etwa so lösen:

Delphi-Quellcode:
const
  MAX_PER_FILE = 10;

function BuildFileName(const fn: TFileName; n: Integer): TFileName;
var
  base, ext: string;
begin
  base := ChangeFileExt(fn, '');
  ext := ExtractFileExt(fn);
  Result := Format('%s.%d%s', [base, n, ext]);
end;

procedure TMain.Button13Click(Sender: TObject);
var
  LCount1, LCount2, n: Integer;
  LListe: TStringlist;
  LStr: String;
  fn: TFileName;
begin
  if SaveDialog1.Execute then
  begin
    n := 0;
    LListe := TStringlist.Create;
    for LCount1 := 0 to ListView1.Items.Count - 1 do
    begin
      LStr := ' ';
      for LCount2 := 0 to ListView1.Items.Item[LCount1].SubItems.Count - 1 do
      begin
        if LCount2 = 0
          then LStr := LStr + '<ansicht>
                            + Listview1.Items.Item[LCount1].SubItems.Strings[LCount2]
                            + '</ansicht>
'
          else LStr := LStr + Listview1.Items.Item[LCount1].SubItems.Strings[LCount2]
                            + '
';
        LListe.Add(LStr);
      end;
      if (LListe.Count = MAX_PER_FILE) or (LCount1 = Pred(ListView1.Items.Count)) then
      begin
        LListe.SaveToFile(BuildFileName(SaveDialog1.FileName, n));
        Inc(n);
        LListe.Clear; // EDIT
      end;
    end;
    LListe.Free;
  end;
end;
Getippt und nicht getestet.

Grüße vom marabu
  Mit Zitat antworten Zitat