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

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Marc56
Messages : 2198
Inscription : sam. 08/févr./2014 15:19

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

Message 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)
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

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

Message 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
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Marc56
Messages : 2198
Inscription : sam. 08/févr./2014 15:19

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

Message 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:
Marc56
Messages : 2198
Inscription : sam. 08/févr./2014 15:19

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

Message 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:
Répondre