Récupérer le répertoire d'un executable SearchPath_

Partagez votre expérience de PureBasic avec les autres utilisateurs.
olivier
Messages : 305
Inscription : mer. 05/janv./2005 12:58
Localisation : http://www.tib-net.com/meca/index.htm

Récupérer le répertoire d'un executable SearchPath_

Message par olivier »

J'avais besoins de ça et je ne l'ai pas trouvé sur le forum alors je le post....
Aide qui aura le besoins 8O

Code : Tout sélectionner

;exemples de 3 fonctions intéressantes :
;      GetCurrentDirectory_
;      SearchPath_
;      SetCurrentDirectory_


Procedure.s path(fichier$) ;petite procedure pour récuperer le chemin d'un nom de fichier
    i=Len(fichier$)
    Repeat
        i=i-1
    Until Mid(fichier$,i,1)="\"
    Path$=Left(fichier$,i)
    ProcedureReturn Path$
EndProcedure


;Quelque fonction bien utile pour récupérer les noms de répertoires 
rep.s=Space(256) ; bien définir la variable sinon ça plante....

;Tout d'abord le répertoire courant
GetCurrentDirectory_(256,rep)
MessageRequester("rep_courant : ",rep,0)

;Le répertoire qui contient notre executable
;tres interessant dans des cas tel celui ci :
;    - pour un  logiciel type lecteur : film, photo, musique, texte....
;      lorsque l'on utilise un fichier ini pour garder les parametre utilisateur
;      et que l'on veux pouvoir appeler le logiciel en cliquant sur un fichier dans l'explorateur
;      on a besoin de connaitre le repertoire où est le logiciel
SearchPath_(NULL,"repertoire.exe",NULL, 256, rep,NULL );
MessageRequester("rep logiciel : ",path(rep),0)

;On peut directement changer le répertoire courant pour que le logiciel marche comme lorsque l'on clique dessus
SetCurrentDirectory_(path(rep))

;Vérification du répertroire courant
GetCurrentDirectory_(256,rep)
MessageRequester("rep_courant apres changement : ",rep,0)
Pour bien voir ce qu'il fait
Compiler le code avec le nom repertoire.exe
Créer un raccourci dans un autre répertoire
Changer le répertoire " Démarrer dans :" dans les options du raccourci
et :)
Vive le temps libre !
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

Regarde l'aide:
GetPathPart(), GetFilePart() et GetExtensionPart()

Fais une recherche sur le forum (francais) pour connaître le nom de l'exécutable. Y'a des méthodes plus efficaces ;)
http://purebasic.hmt-forum.com/viewtopi ... highlight=

Dri ^^
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

J'avais besoins de ça et je ne l'ai pas trouvé sur le forum alors je le post....
tu l'a pas demandé non plus !! :lol:

enfin c'est sympath de ta part de partager .... :D
olivier
Messages : 305
Inscription : mer. 05/janv./2005 12:58
Localisation : http://www.tib-net.com/meca/index.htm

Message par olivier »

La fonction importante est : SearchPath_
Le reste c'est de la broutille, ne vous égarez pas avec le découpage d'un nom de fichier.....

Et si je fais une recherche avec SearchPath sur le forum on ne trouve rien du tout !
Vive le temps libre !
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Et si je fais une recherche avec SearchPath sur le forum on ne trouve rien du tout !
SearchPath_ est une api ! donc il te faut recuperer "win32.HLP"
pour avoir une bonne partie des apis

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

Message par gansta93 »

D'ailleur en parlant de path etc... y a certaines api bien utiles qui remplacent plain de fonctions que l'on fait en trois lignes, je pense notamant à PathAddBackSlash_()
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

PathAddBackSlash_()

Ah oui, tiens, très bonne indication, je ne connaissais pas :D
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Répondre