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