Jouer avec les noms de fichiers (Pascal/Delphi/Lazarus)

Application.ExeName donne le nom de fichier du programme qui s’exécute. (ex:C:\truc\machin.exe)

Tests

Tester si le fichier existe avec FileExists (FileExists)

Extension

Changer l'extension d'un fichier avec ChangeFileExt

Le code ci-dessous récupére le nom du fichier du programme qui s'execute et change son extension avec .ini. Ne pas oublier le point dans les paramètres

vFN:=Application.ExeName;
vFN:=ChangeFileExt(vFN,'.ini');

ChangeFileExt

Répértoire

ExtractFileDir et ExtractFilePath

ExtractFilePath contient le \ final, contrairement a ExtractFileDir.

// le fichier MarkerList.json sera dans le méme repertoire que l'application
   vFilename := ExtractFilePath(Application.ExeName) + 'MarkerList.json';
   vSL       := TStringList.Create;
   try
      vSL.Text := GetAsJSON;
      vSL.SaveToFile(vFilename);
   finally
      vSL.Free;
   end;

Exemple

Uses sysutils;
 
Procedure Testit(F : String);
 
begin
 Writeln ('FileName      : ',F);
 Writeln ('Has Name      : ',ExtractFileName(F));
 Writeln ('Has Path      : ',ExtractFilePath(F));
 Writeln ('Has Extension : ',ExtractFileExt(F));
 Writeln ('Has Directory : ',ExtractFileDir(F));
 Writeln ('Has Drive     : ',ExtractFileDrive(F));
end;
 
Begin
  Testit (Paramstr(0));
  Testit ('/usr/local/bin/mysqld');
  Testit ('c:\pp\bin\win32\ppc386.exe');
  Testit ('/pp/bin/win32/ppc386.exe');
End.

Chercher

Chercher un executable

Sources et Ressources

Vous pourriez laisser un commentaire si vous étiez connecté.