Produit est une classe regroupant les différentes informations du produit (récupérées depuis la base) notamment ce qui nous intéresse ici le getTechnique() renvoyant une chaine de caractères de ce style: \\Technique\\Independants\\Sauteuse SBX\\nomProduit.pdf
Je me suis ainsi inspiré des différents topics que j'ai pu trouver sur le net afin de faire un chemin relatif car mon application doit être portable (je récupère le chemin de l'exécutable auquel je concatène le chemin relatif de mon fichier (information enregistrée dans ma BDD).
ça marche parfaitement.
Mais il y à un truc qui me chagrine un peu
Je suis obligé de mettre un partie du chemin dans ma BDD, à la base je ne comptais ne mettre que le nom du PDF mais je ne sais pas comment m'y prendre.
C'est pourquoi je viens demander est-ce que quelqu'un saurait comment optimiser ma solution (dans un but de portabilité) ?
Merci d'avance pour le temps que vous m'accorderez.
Whismeril
Messages postés19028Date d'inscriptionmardi 11 mars 2003StatutNon membreDernière intervention24 avril 2024656 7 mai 2013 à 13:18
Bonjour,
tout d'abord une astuce pour ne pas s'embeter avec les \\ dans les adresses est de mettre @ devant.
Par défaut un chemin est en relatif par rapport à l'adresse de l'excutable donc Application.StartupPath+ est normalement inutile. Ceci devrait marcher
getTechnique = @"Technique\Independants\Sauteuse SBX\nomProduit.pdf";// pas de \ au début
Pour ne pas avoir à stocker un chemin aussi long, je ne vois que 2 solutions:
soit mettre tous les pdf dans le mêmme dossier et avoir l'adresse en dur dans le code (ça risque d'être un peu le bazard si tu cherches un pdf à la main....)
soit faire une recherche sur le nom de fichier (temps d'exécution augmenté...), exemple dans cette discussion Dans les 2 cas tes pdf doivent avoir un nom unique.
ça plante. Mais ça n'est pas grave, vu que ma solution marche (même si l'appel d'une méthode alourdit forcément le code).
Pour tes solutions apportées je te remercie encore une fois.
Pour la première non je désire avoir des dossiers bien spécifiques par produit.
Pour la recherche pour le nom je vais étudier ça très attentivement Merci.