Thema: Delphi gefundenes file löschen

Einzelnen Beitrag anzeigen

tHeRiAn

Registriert seit: 16. Okt 2003
Ort: Neunkirchen, Siegerland
51 Beiträge
 
Delphi 5 Enterprise
 
#1

gefundenes file löschen

  Alt 25. Mär 2004, 14:55
Hi....

bin grad ein prog am coden und hab dabei ein prob.
Es soll aus einem Memo eine Dateiendung ausgelesen werden, dann ein verzeichnis nach dieser Endung durchsucht werden und alle ergebnisse gelöscht und in einer listbox ausgeben werden.
hier erstma die procedure in ders irgendwo an irgendwas mangelt

Delphi-Quellcode:
procedure TfrmAufraeumen.getall(mask: string);
var
  search: TSearchRec;

  verz,
  such,
  ext: string;

  i: integer;
begin
  myList := TStringList.create;
  verz:=ExtractFilePath( mask );
  such:=ExtractFileName( mask );

  if verz[ Length(verz) ]<>'\then verz := verz + '\';
  i:=0;
  while i < memEndungen.Lines.Count -1 do begin
     ext:= '*' + memEndungen.Lines.Strings[1];

  {Alle Dateien suche}
  if findfirst( verz +'+'+ ext ,$3F,search ) = 0 then
  repeat
    myList.Add(verz + search.Name ); //gefundenes file auflisten
   SysUtils.DeleteFile(verz + search.Name); //gefundenes file löschen
  until
    FindNext( search ) <> 0;
  inc(i);
  FindClose( search );
end;//
end;

und hier noch ma der ganze code, falls andere fragen auftreten.


Delphi-Quellcode:
var
  frmAufraeumen: TfrmAufraeumen;
  myList: TStringList;
implementation
uses
  uRundesFenster;
{$R *.DFM}

procedure TfrmAufraeumen.btnPfadAuswahlClick(Sender: TObject);

begin
  if OpenDialog.Execute then begin

    edPfad.Text := ExtractFilePath(OpenDialog.FileName);
  end else begin
    edPfad.Text := '';
  end;//if...
end;

procedure TfrmAufraeumen.btn_searchClick(Sender: TObject);

begin
  getall(edPfad.Text);
  if edPfad.text[ Length(edPfad.text) ]<>'\then edPfad.text := edPfad.text + '\';
  ListBox1.Items.Assign(myList);
  myList.Free;
end;

procedure TfrmAufraeumen.getall(mask: string);
var
  search: TSearchRec;

  verz,
  such,
  ext: string;

  i: integer;
begin
  myList := TStringList.create;
  verz:=ExtractFilePath( mask );
  such:=ExtractFileName( mask );

  if verz[ Length(verz) ]<>'\then verz := verz + '\';
  i:=0;
  while i < memEndungen.Lines.Count -1 do begin
     ext:= '*' + memEndungen.Lines.Strings[1];

  {Alle Dateien suche}
  if findfirst( verz +'+'+ ext ,$3F,search ) = 0 then
  repeat
    myList.Add(verz + search.Name ); //gefundenes file auflisten
   SysUtils.DeleteFile(verz + search.Name); //gefundenes file löschen
  until
    FindNext( search ) <> 0;
  inc(i);
  FindClose( search );
end;//
end;
procedure TfrmAufraeumen.Button1Click(Sender: TObject);
begin
ListBox1.Clear;
end;
                 

end.
sorry aber ich komm einfach net weiter.....vielleicht habt ihr ja lust und zeit zu helfen......
erstmal vielen dank im vorraus..

mfg sven
  Mit Zitat antworten Zitat