this slowpoke moves

Get File Attributes

type  TFileAttributes = set of
      (ReadOnly,
      Hidden,
      SysFile,
      VolumeId,
      Directory,
      Archive,
      AnyFile);
      
 //
 
function GetFileAttributes(const FileName: String): TFileAttributes;var srec:
  TSearchRec;
begin  result:=[];
  if FindFirst(FileName, faAnyFile, srec) = 0 then
  begin
  try
  if (srec.Attr and faReadOnly)>0 then
  result:=result+[ReadOnly]; //Schreibgesch. Datei
  if (srec.Attr and faHidden)>0 then
  result:=result+[Hidden]; //Verborgene Datei
  if (srec.Attr and faSysFile)>0 then
  result:=result+[SysFile]; //Systemdatei
  if (srec.Attr and faVolumeId)>0 then
  result:=result+[VolumeId]; //Laufwerks-ID
  if (srec.Attr and faDirectory)>0 then
  result:=result+[Directory]; //Verzeichnis
  if (srec.Attr and faArchive)>0 then
  result:=result+[Archive]; //Archivdatei
  if (srec.Attr and faAnyFile)>0 then
  result:=result+[AnyFile]; //Beliebige Datei
  finally
  FindClose(srec);
  end;
  end;
end; 
Beispiel :
procedure TForm1.Button1Click(Sender: TObject);
var fa: TFileAttributes;
begin
	fa := GetFileAttributes('C:\any file');
	if readonly in fa then

	ShowMessage('Datei ist schreibgeschützt')
	else
	ShowMessage('Datei ist NICHT schreibgeschützt');
end;

Keine Kommentare:

Kommentar veröffentlichen

Beliebte Posts

Translate