AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

gefundenes file löschen

Ein Thema von tHeRiAn · begonnen am 25. Mär 2004 · letzter Beitrag vom 30. Mär 2004
Antwort Antwort
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
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#2

Re: gefundenes file löschen

  Alt 25. Mär 2004, 19:44
1. du übergibst ja der Prozedur ein Verzeichnis - wieso entfenst du dann von diesem das letzte Unterverzeichnis?
Delphi-Quellcode:
  verz:=ExtractFilePath( mask );
  such:=ExtractFileName( mask );
2. beginnen alle Dateien, die du suchen und löschen willst ein Plus am Dateianfang?
Code:
findfirst( verz +[color=red]'+'[/color]+ ext ...
3. das würde ja schon ausreichen:
Delphi-Quellcode:
  while i < memEndungen.Lines.Count -1 do begin
  {Alle Dateien suche} 
  if findfirst( verz + '*' + memEndungen.Lines.Strings[1] ,$3F,search ) = 0 then
ich mach erstmal hier Schluß, wenn das soweit stimmt, dann können wir ja weitermachen ^^ (muß jetzt mal weg)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
tHeRiAn

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

Re: gefundenes file löschen

  Alt 30. Mär 2004, 13:38
@ himitsu: die sache mit dem '+' hab ich total übersehen...--- ....funzt nu alles.....vielen dank

jetzt muss ich das ganze nur noch rekursiv durchführen lassen......falls


mfg
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz