Connaitre le chemin de l'executable

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Philippe_GEORGES
Messages : 140
Inscription : mer. 28/janv./2009 13:28

Connaitre le chemin de l'executable

Message par Philippe_GEORGES »

Bonjour à tous !

j'utilise une base Sqlite qui doit se trouver dans le chemin de l'executable.
Je veux en effet être sur qu'au démarrage le fichier soit ouvert sur le chemin de l'executable.
Comment connaitre la chemin de l'executable ? Y a t il une variable ou une constante, ou encore une fonction pour ça ?
Je veux en effet afficher cette information en bas dans une statusbar

merci d'avance !!

Phil
Philippe GEORGES
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
Avatar de l’utilisateur
Noos88
Messages : 59
Inscription : lun. 14/juin/2010 19:16
Localisation : Belrupt (Vosges)

Re: Connaitre le chemin de l'executable

Message par Noos88 »

Peut etre "GetCurrentDirectory()"

tu as ca dans l'aide de purebasic

a bientot
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Connaitre le chemin de l'executable

Message par Le Soldat Inconnu »

comme cela, tu forces en dossier de travail le dossier contenant l'exe

Code : Tout sélectionner

SetCurrentDirectory(GetPathPart(ProgramFilename()))
Par contre, quand tu compiles, n'oublie pas de cocher dans les options de compilation "Executable dans le répertoire du code source" (ou un truc du genre)
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)]
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Connaitre le chemin de l'executable

Message par falsam »

Effectivement GetCurrentDirectory() renvoie le chemin du répertoire courant de l'application.

Code : Tout sélectionner

;Exemple 
If OpenDatabase(#Database, GetCurrentDirectory()+"/contact.db3", "", "", #PB_Database_SQLite)
    ....
    .... 
EndIf
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%
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Connaitre le chemin de l'executable

Message par Le Soldat Inconnu »

GetcurrentDirectory() renvoie le dossier de travail. Ce n'est pas forcément le dossier du programme. On peut changer le dossier de travail dans un raccourci.

GetPathPart(ProgramFilename()) te donne à coup sur le dossier de l'exécutable, même si le dossier de travail est modifié.

Pour information, pour ouvrir un fichier a coté de l'exe, il suffit de faire Openfile(0, "Fichier a coté de l'exe") par exemple. Pas besoin d'indiquer le chemin complet.

Exemple : Si j'ai
C:\Programme\Mon prog.exe
C:\Programme\Bidule.txt
C:\Programme\Dossier\Truc.txt

Pour ouvrir Bidule.txt, c'est Openfile(0, "Bidule.txt")
Pour ouvrir Truc.txt, c'est Openfile(0, "Dossier\Truc.txt")

et donc je renvoie vers mon message précédent qui t'indique comment forcer le dossier de travail à la valeur du dossier du programme.

++
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)]
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Connaitre le chemin de l'executable

Message par Backup »

sujet déplacé !
il n'avait rien a faire dans le forum d'information et Tuto !!

lorsqu'on a une question sur le langage , il est coutume d'utiliser le forum "Débutants"
il n'y a rien de péjoratif la dedans ...

Merci
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Connaitre le chemin de l'executable

Message par falsam »

Le Soldat Inconnu a écrit :GetcurrentDirectory() renvoie le dossier de travail. Ce n'est pas forcément le dossier du programme. On peut changer le dossier de travail dans un raccourci.
je suis d'accord avec toi mais dans ce cas précis, Phil souhaitait que la base sqlite soit ouvert dans le même dossier (path ou chemin comme vous voulez) que l’exécutable.
Philippe_GEORGES a écrit :j'utilise une base Sqlite qui doit se trouver dans le chemin de l'executable.
Je veux en effet être sur qu'au démarrage le fichier soit ouvert sur le chemin de l'executable.
L'aide spécifie que GetCurrentDirectory() Renvoie le chemin du répertoire courant de l'application. Tous les accès aux fichiers sont relatifs à ce répertoire quand un chemin absolu n'est pas spécifié. J'ai donc pensé que ma réponse était adaptée à la question posée.
Coluche a écrit :Technocrates, c'est les mecs que, quand tu leur poses une question, une fois qu'ils ont fini de répondre, tu comprends plus la question que t'as posée.
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%
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Connaitre le chemin de l'executable

Message par Ar-S »

Dans ce cas pas de soucis falsam, Le Soldat Inconnu donnait juste une info supplémentaire ;)
Dans les 2 cas ça fonctionnera.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Connaitre le chemin de l'executable

Message par Backup »

@Philippe_GEORGES

tu es de la meme famille que le serial killer ? :mrgreen:

(je suis deja dehors ....)
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Connaitre le chemin de l'executable

Message par Ar-S »

Dobro a écrit :@Philippe_GEORGES

tu es de la meme famille que le serial killer ? :mrgreen:

(je suis deja dehors ....)
ouarf ouarf, c'est gras mais tu m'as fait marrer :mrgreen:
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Répondre