IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Enregistrer les Paths mais où et comment?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2017
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 37
    Par défaut Enregistrer les Paths mais où et comment?
    Bonjour,

    Dans mon application que je développe, j'ai recours à des fichiers externes! (image fichier texte etc..). Mais j'ai un problème avec le PATH de ces fichiers. Qui sera forcement pas le même quand une autre personne utilisera l'application d'un autre PC.
    Alors comment dans mon code et par la suite faire en sorte que la personne ait le bon PATH?
    Je veux par exemple ne plus avoir dans mon code "C:/......." mais par quoi le remplacer? Faut-il mettre les fichiers dans un endroit spécifique sinon comment faire le récupérer d'une clé USB par exemple.

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Salut,

    les paths devraient tous être relatif à l'exécutable, et tu t'arranges pour que l'appli soit déployée correctement à l'installation (installer, zip correct, ...)
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2017
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 37
    Par défaut
    Bonjour,

    Merci pour ta réponse. Pourrais-tu être plus précis sur ce que tu viens de proposer?
    Comment on fait pour qu'il soit relatif à l'exécutable? Sachant que j'aurais une BD qui sera au même endroit là ou je teste et où je vais l'installer. (path de la BD qui sera à définir comment dans mon code?)
    Déployée correctement cad? Le path de la BD et du fichier de configuration ne seront pas avec l'application.. Faudra donc les définir à l'application mais comment? C'est justement ma question.

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 494
    Par défaut
    Comment on fait pour qu'il soit relatif à l'exécutable?
    C'est pas vraiment le plus simple.
    Une astuce, c'est de faire en sorte que le répertoire de travail soit celui où est l'exécutable.
    Ainsi, tous les chemins relatifs auront cette "propriété".
    Pour le changement de répertoire de travail, un simple bat de 2 lignes fera l'affaire.

    Comme je l'ai déjà indiqué dans votre précédent sujet, je ne suis pas sûr que mettre la configuration du programme dans une base de données soit très pertinent.

    Déployée correctement cad?
    Déploiement via un MSI qui fait toutes les actions nécessaire pour que l'installation fonctionne sans accrocs.

    Le path de la BD et du fichier de configuration ne seront pas avec l'application.. Faudra donc les définir à l'application mais comment?
    On revient à mes remarques sur le fait que l'utilisation d'une base de données pour cela n'est pas forcement judicieuse.

  5. #5
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2017
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 37
    Par défaut
    Citation Envoyé par bacelar Voir le message
    C'est pas vraiment le plus simple.
    Une astuce, c'est de faire en sorte que le répertoire de travail soit celui où est l'exécutable.
    Ainsi, tous les chemins relatifs auront cette "propriété".
    Pour le changement de répertoire de travail, un simple bat de 2 lignes fera l'affaire.
    Pour faire en sorte que le répertoire de travail soit celui où est l'exécutable, j'installe le logiciel puis je rajoute les fichiers dans le répertoire?
    Dans le code je mets "/maphoto.png" ou "/textez.txt"?


    Citation Envoyé par bacelar Voir le message
    Comme je l'ai déjà indiqué dans votre précédent sujet, je ne suis pas sûr que mettre la configuration du programme dans une base de données soit très pertinent.


    Déploiement via un MSI qui fait toutes les actions nécessaire pour que l'installation fonctionne sans accrocs.


    On revient à mes remarques sur le fait que l'utilisation d'une base de données pour cela n'est pas forcement judicieuse.
    J'ai vu que tu m'as dit qu'il ne fallait pas mettre la configuration de la BD dans la BD, mais en fait j'ai une configuration d'une caméra, je vais y mettre la configuration dans la BD. C'est le seul moyen que j'ai trouvé de protéger (ne pas permettre de le modifier) notre fichier de configuration.

    Sinon j'ai vite fait vu sur Google que le MSI permettait d'installer un logiciel dans un ordianteur distant (si je dis pas de bêtises) en quoi ça va permettre que l'installation fonctionne sans accro? Je fais justement un outil qui devrait permettre de configurer la caméra, la BD, les Paths, l'heure, etc. Si il y a outil qui le fait déjà ça serait super.

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 494
    Par défaut
    Pour faire en sorte que le répertoire de travail soit celui où est l'exécutable, j'installe le logiciel puis je rajoute les fichiers dans le répertoire?
    Je pense que vous vous posez de faux problème car vous manquez de connaissance sur la manière "standard" d'installer une application.
    On installe une application avec un MSI, qui se chargera de copier et de modifier les fichiers en accord avec les choix d'installation faits par l'utilisateur ou l'administrateur.
    Il est courant que les raccourcis sur le bureau et autres items de menu "démarrer" soit directement créé par le MSI.
    Il est donc assez facile de faire en sorte que ces raccourcis lancent un "launcher" qui ne fera que changer le working directory à une valeur qui qui soit adapter à votre exécutable.
    L'utilisation de la command batch "cd ~dp0" suffit dans la plupart des cas.
    https://stackoverflow.com/questions/...w-does-it-work

    Mais, généralement, le code ne devrait pas être dépendant du working directory mais plutôt utiliser des répertoires bien définis pour l'usage qui est en est fait des fichiers qu'ils contiennent :
    https://msdn.microsoft.com/fr-fr/lib...(v=vs.85).aspx

    Dans le code je mets "/maphoto.png" ou "/textez.txt"?
    Ici, c'est des chemins absolus, pas super pratique.
    L'endroit où est un fichier devrait être fonction de son rôle (fichier de paramétrage générale, paramétrage par utilisateur, zone "sécurisée" ou pas, etc...), donc pour répondre à votre question, c'est fonction de son rôle, au fichier.

    C'est le seul moyen que j'ai trouvé de protéger (ne pas permettre de le modifier) notre fichier de configuration.
    C'est toujours la pire des justifications, l’ignorance.
    Quand c'est de la configuration qui est fonction de la machine hôte et qui n'a pas à être modifié par l'utilisateur, sous Windows, la registry (base de registre) est l'endroit le plus "naturel".

    Ne jouez pas à cache-cache, sur une machine "cliente finale", l'utilisateur à toujours tous les pouvoirs. S'il cherche, il trouve, point barre.

    Sinon j'ai vite fait vu sur Google que le MSI permettait d'installer un logiciel dans un ordianteur distant
    Distant ou local, c'est pareil.

    en quoi ça va permettre que l'installation fonctionne sans accro?
    Parce que tout ce qui est copié est à l'endroit prévu (à la racine d'installation près qui est à la discrétion de l'utilisateur).
    Parce que toutes les tâches de configurations automatisées d'adaptation à la machine cible sont éditable dans un MSI,
    etc...

    Je fais justement un outil qui devrait permettre de configurer la caméra, la BD, les Paths, l'heure, etc. Si il y a outil qui le fait déjà ça serait super.
    Qu'avez-vous contre la base de registre ou même un simple fichier texte ???

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment enregistrer les images d'une page web ?
    Par Chris33 dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 11/07/2006, 22h09
  2. Comment enregistrer les messages d'Outlook ?
    Par ATTIA dans le forum API, COM et SDKs
    Réponses: 16
    Dernier message: 30/03/2006, 15h46
  3. Comment enregistrer les tutoriaux ?
    Par Mousk dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 09/03/2006, 20h59
  4. Réponses: 1
    Dernier message: 27/10/2005, 09h22
  5. [DOM] comment enregistrer les modifs?
    Par noobiewan kenobi dans le forum Format d'échange (XML, JSON...)
    Réponses: 26
    Dernier message: 30/07/2004, 10h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo