Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Ordner löschen, auch wenn darauf zugegriffen wird

  Alt 21. Aug 2009, 11:10
nee, mehrere Masken kann man leider nicht angeben, also dann isses schon OK so

ich hab das jetzt bei meinem SearchSameFiles praktisch in etwa so gelöst:
Delphi-Quellcode:
uses MatchTextUnit;

procedure TForm1.ReadFiles(const Path, Mask: String; List: TStrings);
var
  FileInfo: TSearchRec;
begin
  List.BeginUpdate;
  try
    List.Clear;
    if FindFirst(Path + '*.*', faAnyFile and not faDirectory, FileInfo) = 0 then begin
      repeat
        if MatchText(Mask, FileInfo.Name) then
          List.Items.Add(FileInfo.Name);
      until FindNext(FileInfo) <> 0;
      FindClose(FileInfo);
    end;
  finally
    List.EndUpdate;
  end;
end;
> MatchText

Delphi-Quellcode:
ReadFiles('C:\', '*.txt', LBFile);
ReadFiles('C:\Path\', '*.txt|*.doc', LBFile);
PS: es macht sich immer gut, wenn du GUI und Logik etwas trennst
z.B. spätere Umbauten sind dann einfacher und man kann den Code auch mal wiederverwenden


Bezüglich deiner ShellTreeView gibt es das Problem, daß sie immer wohl angezeigt wird.
Bei mir war es damals so, daß ich den OpenDirectoryDialog statisch aufgerufen hatte, vorher mir ansehn konnte, welche Handles vorhanden sind und nachher im Vergleich prüfen konnte, welche Handles neu waren.
Und da ich wußte, daß an anderen Stellen sich keine Handle währenddessen ändern konnten und ich wußte daß nix schlimmes passiert, wenn ich diese Handles nun selber bereinige, konnte ich die Unterschiede dann einfach selber beheben.
$2B or not $2B
  Mit Zitat antworten Zitat