System.SysUtils.FileCreate
Delphi
function FileCreate(const FileName: string): THandle;
function FileCreate(const FileName: string; Rights: Integer): THandle;
function FileCreate(const FileName: string; Mode: LongWord; Rights: Integer): THandle;
C++
extern DELPHI_PACKAGE Winapi::Windows::THandle __fastcall FileCreate(const System::UnicodeString FileName)/* overload */;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.SysUtils.pas System.SysUtils.hpp |
System.SysUtils | System.SysUtils |
説明
新しいファイルを作成します。
FileCreate は、指定された名前で新しいファイルを作成します。 戻り値が INVALID_HANDLE_VALUE ではなかった場合、関数は成功したことになり、値は新しいファイルのファイル ハンドルとなります。 戻り値が INVALID_HANDLE_VALUE だった場合、それはエラーが発生したことを意味します。
Delphi 2010 以降、FileCreate に対する戻り値は、整数型から THandle に変更されました。
var
MyFile: THandle;
begin
MyFile := FileCreate('C:\temp\bla.txt');
if MyFile = INVALID_HANDLE_VALUE then
raise Exception.Create('File already exists');
end;
以前の動作を維持するには、FileCreate 戻り値を NativeInt へキャストし、それから戻り値 -1 をエラーとして処理します。 次のコード スニペットでは、そのやり方の例を示しています:
var
MyFile: Integer; // 32 ビット プラットフォームの場合。
begin
MyFile := NativeInt(FileCreate('C:\temp\bla.txt'));
if MyFile = -1 then
raise Exception.Create('File already exists');
end;
メモ: Windows では、
FileAccessRights
変数およびRights
パラメータは無視されます。