Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Schreibschutz für Ordner setzen und aufheben

  Alt 8. Sep 2011, 13:28
Nur schnell heruntergetippt, enthält noch Verbesserungspotential:
Delphi-Quellcode:
procedure SetFileReadOnlyFlag(Directory: string; const mask: string = '*.*';
  Recursive: Boolean = false);
const
  faNewAnyFileEx = $00017FFF;
var
  Rec: TSearchRec;
begin
  Directory := IncludeTrailingPathDelimiter(Directory);
  if FindFirst(Directory + mask, faNewAnyFileEx, Rec) = 0 then
    try
      repeat
        if (Rec.Name <> '.') and (Rec.Name <> '..') then
          begin
            if (Rec.Attr and faDirectory) = faDirectory then
              begin
                if Recursive then
                  SetFileReadOnlyFlag(Directory + Rec.Name, mask, Recursive);
              end
            else
              FileSetAttr(Directory + Rec.Name, Rec.Attr or faReadOnly);
          end;
      until FindNext(Rec) <> 0;
    finally
      SysUtils.FindClose(Rec);
    end;
end;
Allerdings lässt sich der Schreibschutz im Normalfall mit 2 Mausklicks wieder entfernen, eine wirklich sichere Sache ist das also nicht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat