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 */;
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
function | public | System.SysUtils.pas System.SysUtils.hpp |
System.SysUtils | System.SysUtils |
Description
Crée un nouveau fichier.
FileCreate crée un nouveau fichier avec le nom spécifié. Si la valeur de retour n'est pas INVALID_HANDLE_VALUE, cela signifie que la fonction s'est exécutée correctement et que sa valeur est le handle de fichier du nouveau fichier. Si la valeur de retour est INVALID_HANDLE_VALUE, cela signifie qu'une erreur s'est produite.
Type de retour pour FileCreate. Depuis Delphi 2010, elle ne renvoie plus un type Entier mais THandle.
var
MyFile: THandle;
begin
MyFile := FileCreate('C:\temp\bla.txt');
if MyFile = INVALID_HANDLE_VALUE then
raise Exception.Create('File already exists');
end;
Pour émuler l'ancien comportement, vous pouvez transtyper la valeur de retour de FileCreate en NativeInt. Une valeur de retour de -1 indique une erreur. Voici un snippet de code illustrant comment procéder.
var
MyFile: Integer; // for 32bit platform.
begin
MyFile := NativeInt(FileCreate('C:\temp\bla.txt'));
if MyFile = -1 then
raise Exception.Create('File already exists');
end;
Remarque: Le paramètre Rights est utilisé sur les plates-formes non Windows lorsque Mode inclut
fmCreate
. Pour plus de détails, consultez la description de l'appel système “open”
propre à la plate-forme. Par exemple, vous pouvez consulter cette page du manuel Linux.