Page 1 sur 1

Constante pour le nom de l'EXE généré ?

Publié : dim. 24/juil./2016 7:38
par Marc56
Dans la liste des constantes, il y a par exemple #PB_Compiler_File qui donne le nom du fichier source (*.pb) en cours de compilation.

Ai-je mal cherché ? mais je ne trouve pas s'il y a moyen de connaitre le nom de l'EXE généré :?:

(Si le fichier n'est pas nommé, alors il sera PureBasic_Compilation0.exe et si existe, alors PureBasic_Compilation1.exe etc)

Re: Constante pour le nom de l'EXE généré ?

Publié : dim. 24/juil./2016 10:57
par falsam
Je ne crois pas avoir vu une fonction ou une constante permettant de connaitre le nom de l’exécutable en cours de génération.

Ricardo (forum anglophone) propose cette solution

Code : Tout sélectionner

FileName.s = Space(1024)
GetModuleFileName_(GetModuleHandle_(0), @FileName, 1025)
CurrentPath.s = GetPathPart(FileName)
ExeName.s = GetFilePart(FileName)

Debug FileName
Debug CurrentPath
Debug ExeName

Re: Constante pour le nom de l'EXE généré ?

Publié : lun. 25/juil./2016 12:40
par Marc56
falsam a écrit :Ricardo (forum anglophone) propose cette solution ...
Ooops, j'ai oublié de dire Merci :)

Ça marche, mais c'est dommage de devoir passer par une API alors que les constantes PB contiennent pas mal de choses parfois moins utiles.

:wink:

Re: Constante pour le nom de l'EXE généré ?

Publié : dim. 31/juil./2016 8:02
par Marc56
:P Trouvé par hasard en regardant un code d'un autre topic: (2006) ProgramFilename()

J'ai compris pourquoi c'est une fonction et non pas une constante, c'est pour pourvoir être utilisé à l’exécution et non pas seulement à la compilation.
Indispensable pour redémarrer un programme même si l'utilisateur l'a renommé :!:

Code : Tout sélectionner

Debug GetFilePart(ProgramFilename())

Code : Tout sélectionner

PureBasic_Compilation0.exe
:wink: