SetCurrentDirectory(absolu|relatif)

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

SetCurrentDirectory(absolu|relatif)

Message par Dr. Dri »

suite à ce topic:
http://purebasic.hmt-forum.com/viewtopic.php?t=3229

je viens de me rendre compte que PB ne dispose pas de commande pour changer de répertoire courant. en cherchant dans l'historique j'ai trouvé ca:
25 Octobre 2004 : Version 3.92

- Modifié: Le répertoire courant de l'application n'est jamais changé par les commande PureBasic.
Auparavant, le répertoire contenant l'executable était considéré comme le répertoire courant.
J'ai pas trop compris parce qu'en fait c'est toujours le cas. Le répertoire courant est celui de l'exe.

Donc deux suggestions:
SetCurrentDirectory(absolu|relatif)
ResetCurrentDirectory() ;pour revenir au dossier de l'exe

Dri
KarLKoX
Messages : 1191
Inscription : jeu. 26/févr./2004 15:36
Localisation : France
Contact :

Message par KarLKoX »

Pas forcément, j'ai justement eu à faire à un problème : j'ai fait une appli qui se lancait au boot qui lisait un ini que je lisait à la racine où se trouvais l'appli.
Etant donné que mon programme était lancé par explorer, le répertoire courant est celui du processus qui le lance, à savoir celui d'explorer.
Il faut donc toujours faire un SetCurrentDirectory() via GetModuleFilename() (à striper), tu auras la garantis d'avoir le bon répertoire courant.
"Qui baise trop bouffe un poil." P. Desproges
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

Ceci explique donc le "Auparavant, le répertoire contenant l'executable était considéré comme le répertoire courant."

Dans ce cas on peut bien imaginer des flags pour la fonction ResetCurrentDirectory()

Code : Tout sélectionner

#PB_CurrentDirectory_Default
#PB_CurrentDirectory_Executable
Quoi qu'il en soit il serait bien d'avoir une fonction native PB pour le SetCurrentDirectory()

Dri
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Moi je trouve ça bien que le répertoir de l'exécutable ne soit plus pris par défaut, comme ça on reste dans les normes Windows et c'est pour ça je pense que cela a été fait. Il est vrai aussi que SetCurrentDirectory() pourait le faire et que ça serait bien.
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

gansta93 a écrit :Moi je trouve ça bien que le répertoir de l'exécutable ne soit plus pris par défaut, comme ça on reste dans les normes Windows et c'est pour ça je pense que cela a été fait. Il est vrai aussi que SetCurrentDirectory() pourait le faire et que ça serait bien.
avant que Karlkox ne me le dise je ne le savais pas du tout. C'est pour ca ke je ne comprenais pas ce que disais l'aide. Par contre je trouve dommage de ne pas pouvoir changer de répertoire avec une commande PB et tant qu'à faire revenir au choix au répertoire de base du lancement ou alors au répertoire de l'exécutable. Ce sont des choses que je peux très bien coder (5minutes chrono, toutes les api nécessaires ont été citées!) mais j'aimerais que ce soit natif de PB ^^

En fait j'ai jamais eu besoin de ces fonctions jusqu'à ce que je vois le post d'olivier, et je me suis rendu compte qu'on ne les a pas en PB. (allez quoi, même le Dark dispose de cette fonction :P)

Dri
Répondre