fmOpenRead = $0000; fmOpenWrite = $0001; fmOpenReadWrite = $0002; fmExclusive = $0004; // when used with FileCreate, atomically creates the file only if it doesn't exist, fails otherwise fmShareCompat = $0000 platform; // DOS compatibility mode is not portable fmShareExclusive = $0010; fmShareDenyWrite = $0020; fmShareDenyRead = $0030 platform; // write-only not supported on all platforms fmShareDenyNone = $0040;
constructor Create(const AFileName: string; Mode: Word); overload;
Call Create to instantiate a file stream for reading from or writing to the named file. Specify the name of the file and the way the file should be opened as parameters.
function FileOpen(const FileName: string; Mode: LongWord): Integer;
Use FileOpen to open a file and obtain a file handle. The access mode value is constructed by or-ing one of the fmOpen constants with one of the fmShare constants defined in File open mode constants. If the return value is 0 or greater, the function was successful and the value is the file handle of the opened file. A return value of -1 indicates that an error occurred.
The Mode parameter indicates how the file is to be opened. The Mode parameter consists of an open mode and (possibly) a share mode or'ed together. The open mode must be one of the following values:
Value | Meaning |
fmCreate | Create a file with the given name. If a file with the given name exists, open the file in write mode. |
fmOpenRead | Open the file for reading only. |
fmOpenWrite | Open the file for writing only. Writing to the file completely replaces the current contents. |
fmOpenReadWrite | Open the file to modify the current contents rather than replace them. |
The share mode must be one of the following values:
Value | Meaning |
fmShareCompat | Sharing is compatible with the way FCBs are opened. |
fmShareExclusive | Other applications can not open the file for any reason. |
fmShareDenyWrite | Other applications can open the file for reading but not for writing. |
fmShareDenyRead | Other applications can open the file for writing but not for reading. |
fmShareDenyNone | No attempt is made to prevent other applications from reading from or writing to the file. |
If the file can not be opened, Create raises an exception.