====== Les répertoires Windows ====== ===== Répertoires ===== ==== GetAppConfigDir ==== ''GetAppConfigDir'' récupère le répertoire de configuration de l'application en cours. GetAppConfigDir( Global: Boolean ):string; Exemples : FPngDir:=GetAppConfigDir(false)+'png'+DirectorySeparator; Retourne : 'C:\Users\NomUtilisateur\AppData\Local\MonProgramme\png\' FPngDir:=GetAppConfigDir(true)+'png'+DirectorySeparator; Retourne : 'C:\ProgramData\MonProgramme\png\' Dans ces exemple ''MonProgramme'' est retourné via la fonction ''ApplicationName'' Si ''VendorName'' est defini il sera ajouté au repertoire...\\ [[#vendorname|voir ci dessous pour définir VendorName]] 'C:\ProgramData\MyCustomVendor\MonProgramme\png\' ou 'C:\Users\NomUtilisateur\AppData\Local\MyCustomVendor\MonProgramme\png\' ==== GetAppConfigFile ==== ''GetAppConfigFile'' retourne le nom du fichier de configuration de l'application. Function GetAppConfigFile(Global : Boolean) : String; Function GetAppConfigFile(Global : Boolean; SubDir : Boolean) : String; === Resultats === GetAppConfigFile(false) = 'C:\Users\thierry\AppData\Local\Vendor\AppName\AppName.cfg' GetAppConfigFile(false,true) = 'C:\Users\thierry\AppData\Local\Vendor\AppName\Config\AppName.cfg' GetAppConfigFile(false,false) = 'C:\Users\thierry\AppData\Local\Vendor\AppName\AppName.cfg' GetAppConfigFile(true) = 'C:\ProgramData\Vendor\AppName\AppName.cfg' GetAppConfigFile(true,true) = 'C:\ProgramData\Vendor\AppName\Config\AppName.cfg' GetAppConfigFile(true,false) = 'C:\ProgramData\Vendor\AppName\Config\AppName.cfg' === Modification de l'extension du fichier Config === ConfigExtension:='.ini'; // Variable globale GetAppConfigFile(true) = 'C:\ProgramData\Vendor\AppName\AppName.ini' ==== SysConfigDir ==== SysConfigDir = C:\WINDOWS ==== GetTempDir ==== Function GetTempDir(Global : Boolean) : String; Function GetTempDir : String; TGetTempDirEvent = Function (Global : Boolean) : String; Resultats : GetTempDir(true) = C:\Users\NomUtilisateur\AppData\Local\Temp\ GetTempDir(false) = C:\Users\NomUtilisateur\AppData\Local\Temp\ GetTempDir = C:\Users\NomUtilisateur\AppData\Local\Temp\ ==== GetTempFileName ==== Function GetTempFileName(Const Dir,Prefix : String) : String; Function GetTempFileName : String; function GetTempFileName(Dir,Prefix: PChar; uUnique: DWORD; TempFileName: PChar):DWORD; TGetTempFileEvent = Function (Const Dir,Prefix : String) : String; ==== GetUserDir ==== Function GetUserDir : String; ==== Application.Location ==== Application.Location = 'J:\Users\NomUtilisateur\Backuped\Lazarus\MesProjets\PrgTest\Test1\' ==== Application.ExeName ==== Application.ExeName = 'J:\Users\NomUtilisateur\Backuped\Lazarus\MesProjets\PrgTest\Test1\MonAppli.exe' ===== Fonctions utiles ===== ==== ApplicationName ==== La fonction globale ''AppicationName'' retourne le nom de l'application. Function ApplicationName : String; === Detournement de ApplicationName avec OnGetApplicationName === implementation Function CustomAppName: String; begin result:='MyCustomName'; end; procedure TMainForm.FormCreate(Sender: TObject); begin OnGetApplicationName:=@CustomAppName; // Maintenant la function ApplicationName retournera 'MyCustmName' end; ====VendorName ==== La fonction globale ''VendorName'' retourne le nom du fournisseur de l'application.\\ Function ApplicationName : String; Par defaut ''VendorName'' retourne une chaine vide il faut definir la fonction ''OnGetVendorName'' pour retourner le nom du fournisseur === Definition de VendorName avec OnGetVendorName=== implementation Function CustomVendorName: String; begin result:='MyCustomVendorName'; end; procedure TMainForm.FormCreate(Sender: TObject); begin OnGetVendorName:=@CustomVendorName; // Maintenant la function VendorName retournera 'MyCustomVendorName' end; ===== Constantes utiles ===== ==== DirectorySeparator = '\' ==== aussi nommé ''PathDelim'' ==== DriveSeparator = ':' ==== Aussi nommé ''DriveDelim'' ==== ExtensionSeparator = '.' ==== ==== PathSeparator = ';' ==== Aussi nommé : ''PathSep'' ==== MaxPathLen = 260 ==== Aussi nommé : ''MAX_PATH'' ==== AllFilesMask = '*' ====