Home  |  Delphi .net Home  |  System.IO.File  |  GetAttributes Method
GetAttributes  
Method  
Get the attributes of the specified file
File Class
System.IO NameSpace
NotCF1.  Function GetAttributes ( PathString : String; ) : FileAttributes; Static;
CF : Methods with this mark are Compact Framework Compatible
Description
The attributes of the specified PathString file are returned.
 
The attributes may be a combination of the following :
 
ReadOnly The file is read-only.
Hidden The file is hidden, and thus is not included in an ordinary directory listing.
System The file is a system file. The file is part of the operating system or is used exclusively by the operating system.
Directory The file is a directory.
Archive The files archive status. Applications use this attribute to mark files for backup or removal.
Device Reserved for future use.
Normal The file is normal and has no other attributes set. This attribute is valid only if used alone.
Temporary The file is temporary. File systems attempt to keep all of the data in memory for quicker access rather than flushing the data back to mass storage. A temporary file should be deleted by the application as soon as it is no longer needed.
SparseFile The file is a sparse file. Sparse files are typically large files whose data are mostly zeros.
ReparsePoint The file contains a reparse point, which is a block of user-defined data associated with a file or a directory.
Compressed The file is compressed.
Offline The file is offline. The data of the file is not immediately available.
NotContentIndexed The file will not be indexed by the operating systems content indexing service.
Encrypted The file or directory is encrypted. For a file, this means that all data in the file is encrypted. For a directory, this means that encryption is the default for newly created files and directories.
Notes
Static methods are not methods of an object - they are simply class functions or procedures available at any time.
References
FileAttributes
Microsoft MSDN Links
System.IO
System.IO.File
 
 
A simple example
// Full Unit code.
// -------------------------------------------------------------
// Create a new WinForm application, double click the form to
// create an OnLoad event, and then replace the WinForm unit
// with this text.
 
unit WinForm;
 
interface
 
uses
  System.Drawing, System.Collections, System.ComponentModel,
System.Windows.Forms, System.Data;
 
type
  TWinForm = class(System.Windows.Forms.Form)
  \{REGION 'Designer Managed Code'\} // Note that REGION and ENREGION should be prefixed by a dollar sign
  strict private
    ///
    /// Required designer variable.
    ///

    Components: System.ComponentModel.Container;
    ///
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    ///

    procedure InitializeComponent;
    procedure TWinForm_Load(sender: System.Object; e: System.EventArgs);
  {ENDREGION}
  strict protected
    ///
    /// Clean up any resources being used.
    ///

    procedure Dispose(Disposing: Boolean); override;
  private
    { Private Declarations }
  public
    constructor Create;
  end;
 
  [assembly: RuntimeRequiredAttribute(TypeOf(TWinForm))]
 
implementation
 
\{REGION 'Windows Form Designer generated code'\}
///
/// Required method for Designer support -- do not modify
/// the contents of this method with the code editor.
///

 
 
procedure TWinForm.InitializeComponent;
begin
  //
  // TWinForm
  //
  Self.AutoScaleBaseSize := System.Drawing.Size.Create(5, 13);
  Self.ClientSize := System.Drawing.Size.Create(292, 266);
  Self.Name := 'TWinForm';
  Self.Text := 'WinForm';
  Include(Self.Load, Self.TWinForm_Load);
end;
{ENDREGION}
 
procedure TWinForm.Dispose(Disposing: Boolean);
begin
  if Disposing then
  begin
    if Components <> nil then
      Components.Dispose();
  end;
  inherited Dispose(Disposing);
end;
 
constructor TWinForm.Create;
begin
  inherited Create;
  //
  // Required for Windows Form Designer support
  //
  InitializeComponent;
  //
  // TODO: Add any constructor code after InitializeComponent call
  //
end;
 
procedure TWinForm.TWinForm_Load(sender: System.Object; e: System.EventArgs);
program Project1;
{$APPTYPE CONSOLE}

uses
  System.IO;

var
  Path   : String;
  Writer : StreamWriter;

begin
  // Create a text file
  Path := 'C:\DelphiBasics.txt';
  Writer := System.IO.File.CreateText(Path);

  // Close the file
  Writer.Close;

  // Set the file attributes
  System.IO.File.SetAttributes(Path,
                               System.IO.FileAttributes.ReadOnly or
                               System.IO.FileAttributes.Archive);

  // Show the file attributes
  Console.WriteLine(System.IO.File.GetAttributes(Path));

  // Set the file attributes to allow delete
  System.IO.File.SetAttributes(Path,
                               System.IO.FileAttributes.Normal);

  // Now delete this file
  System.IO.File.Delete(Path);

  Console.Readline;
end.
 
end.
Hide full unit code
  ReadOnly, Archive
 
 
Delphi Programming © Neil Moffatt All rights reserved.  |  Contact the author