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

Windows Forms Discussion :

[vb.net][ressources] ajouter des fichiers ressources


Sujet :

Windows Forms

  1. #1
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut [vb.net][ressources] ajouter des fichiers ressources
    Bonjour,
    J'aimerais ajouter des fichiers html a mon application windows de maniere a ce qu'elles soient compilées avec l'executable. De ce fait je n'aurais plus besoin de les fournir avec l'executable.
    Est-ce possible, si oui comment? faut il les convertir en ressources, et comment?

    Merci

  2. #2
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    Comme je n'ai pas essayé ce cas de figure je ne suis pas sûr de l'efficience de ma réponse, mais il me semble que le minimum pour être un fichier .resx il faudrait du xml valide plutôt. Donc à part lors du deploiement integrer ces fichiers HTML dans le msi, je ne vois pas trop

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2003
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Salut,

    Dans un premier temps, il faut ajouter le fichier en question dans le projet :
    Dans "explorateur de solution" faire un clic droit sur ton projet puis choisir "Ajouter un élément existant.." => Ajoute le fichier que tu veux.
    En suite, dans "explorateur de solution", tu sélectionne le fichier que tu a ajouté et dans ces propriétés tu donne à "Action de génération" la valeur "Ressource incorporée"

    Pour le "ressortir", lors de l'exécution, utilise ce code (qui extrait "MonFichier.html" dans C:\) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim MonAssenbly As [Assembly] = [Assembly].GetExecutingAssembly()
    Dim Tunel = New FileStream("C:\MonFichier.html", FileMode.Create, FileAccess.Write, FileShare.None)
    Dim EcrireBin = New BinaryWriter(Tunel)
    Dim Tunelbak As Stream = MonAssenbly.GetManifestResourceStream(MonAssenbly.GetName().Name & ".MonFichier.html")
    Dim LireBinBak = New BinaryReader(Tunelbak)
    EcrireBin.Write(LireBinBak.ReadBytes(Tunelbak.Length))
    EcrireBin.Close()
    LireBinBak.Close()
    Attention à ne pas oublier le "." devant le nom du fichier
    Il faut aussi ajoute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Imports System.IO
    Imports System.Reflection
    Ceci fonctionne pour n'importe quel type de fichier.

    J'espère avoir répondu à ta question.

    A+

  4. #4
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    tu as bien fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Imports System.Reflection

  5. #5
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    Super ! Ca marche impec'


    ps: Neguib, c'était bien ca, mais j'ai supprimé mon message avant que tu ne répondes car je m'en suis rendu compte tout de suite

  6. #6
    Membre actif Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Points : 296
    Points
    296
    Par défaut
    Salut,
    je remonte ce post pour quelques petites questions....
    Tout fonctionne bien sauf... pour les images, en effet ma page html a besoin de son répertoire d'image pour s'afficher correctement (ce qui est le cas sous VS) mais dès que je lance l'appli aucun de mes images ne s'affiche car leur répertoire n'est pas écrit sur c: comme le fichier html.
    Y a-t'il une solution ou dois-je écrire chaque fichier image lié (ainsi que le xml) sur le disque dur de façon à afficher la page html correctement ?
    Merci d'avance.

  7. #7
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    Je l'avais oublié ce post, il est vieux... souvenirs

    Bon plus sérieusement, je n'ai pas testé avec des images. Cependant j'ai une feuille de style .css liée a mes fichiers .html, donc le principe est le meme. Je l'ai ajouté au projet en fichier ressource. Et comme les fichiers html, je désassemble le tout lorsque j'en ai besoin, tout dans le meme répertoire caché (Isolated Storage). Ca marche impec'.

    Maintenant je ne sais pas si c'est une bonne idée d'importer toutes tes images dans ton projet, surtout si tu en as beaucoup.

    Attendons l'avis d'autres personnes.

  8. #8
    Membre actif Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Points : 296
    Points
    296
    Par défaut
    Citation Envoyé par graphicsxp
    Maintenant je ne sais pas si c'est une bonne idée d'importer toutes tes images dans ton projet, surtout si tu en as beaucoup.
    Je pense également que ce n'est pas très pratique, je vais donc, je pense, continuer à installer les fichiers html & images dans le répertoire de l'application.
    Pour le moment je récupère ce path avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim MonAssenbly As [Assembly] = [Assembly].GetExecutingAssembly()
    Dim sFhtml As String = MonAssenbly.Location.Replace(nomExe, pathEtNomHtml)
    Existe-t'il quelque chose de plus simple et plus propre ?

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/09/2012, 19h25
  2. A propos des fichiers ressources sous delphi
    Par ramanov dans le forum Débuter
    Réponses: 6
    Dernier message: 31/08/2007, 19h21
  3. [NASM] Utiliser des fichiers ressources
    Par trax44 dans le forum Assembleur
    Réponses: 8
    Dernier message: 26/09/2004, 18h42

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