Einzelnen Beitrag anzeigen

The Lord

Registriert seit: 19. Sep 2005
Ort: Dortmund
125 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: bestimmte Datein in Ordner löschen

  Alt 20. Sep 2006, 12:32
Habe zu Testzwecken mal etwas geschrieben, aber warum funktioniert es nicht?

Delphi-Quellcode:

procedure TForm1.FormCreate(Sender: TObject);
var i, j, al, aj : integer;
    liste, ja_liste, del_liste, ok_liste : TStringList;
begin

  liste:=TStringList.Create;
  ja_liste:=TStringList.Create;
  del_liste:=TStringList.Create;
  ok_liste:=TStringList.Create;

  liste.Add('');
  liste.Add('a');
  liste.Add('b');
  liste.Add('d');
  liste.Add('r');
  liste.Add('x');
  liste.Add('a');
  liste.Add('c');
  liste.Add('b');
  liste.Add('c');

  ja_liste.Add('');
 // ja_liste.Add('a'); // Falls mehr als ein Objekt hier steht, funktionert das Ganze nicht mehr
  ja_liste.Add('x');

  al:=liste.count;
  aj:=ja_liste.count;

  ShowMessage (IntToStr(al)+';'+IntToStr(aj)); // Zur Überprüfung, wie lang die Listen sind

  for i := 1 to al-1 do
      for j := 1 to aj-1 do
          if liste[i] = ja_liste[j]
             then ok_liste.Add(liste[i])
             else del_liste.Add(liste[i]);

  Memo1.Lines:=ok_liste;
  Memo2.Lines:=del_liste;

end;
Es passiert folgendes:

Ich habe die zwei Listen. Einmal eine Liste von Strings die vorkommen (liste) und eine in der die erlaubten Strings stehen (ja_liste).
In Memo1 wird mir am Ende die Liste der erlaubten Strings angezeigt, in Memo2 sollen eigentlich die Strings angezeigt werden, die herausgenommen werden. Wenn die Liste ja_liste aus nur nur z.B. 'a' besteht funktioniert das ganze wunderbar. Nur sobald mehr vorkommen, gibt es einen Fehler mit der Zähschleife. Dann wir viel zu viel und falsches Ausgegeben.
Alexander
Dunkel die andere Seite ist...
Klappe Yoda und iss deinen Toast!
  Mit Zitat antworten Zitat