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 :

[C#][Vs2005] utilisation des fichiers resx


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 21
    Points : 9
    Points
    9
    Par défaut [C#][Vs2005] utilisation des fichiers resx
    Bonjour à tous,

    j'aimerais savoir comment modifier un fichier resx une fois que l'application est générée?
    Mon but est de mettre dans les fichires resx les différents champs de mes forms, et j'aimerais donc pouvoir changer les noms une fois l'executable générée sans pour autant avoir besoin de recompiler la solution.

    Merci d'avance

  2. #2
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 273
    Points : 1 280
    Points
    1 280
    Par défaut
    ah ouai mais si tu change ton code il faut recompiler !

    C'est bizarre ce que tu demande, il faut t'y prendre autrement là.

    Attends d'autre avis, mais ce que tu demande là n'est pas possible d'après moi. Modifier le code source sans recompiler ... connais pas !
    j'suis vert !

  3. #3
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Salut .

    Avant de dire si c'est possible ou pas, il faudrait savoir ce que tu appels nom du composant . C'est la propriété Name ou c'est ce qui est affiché sur le composant (comme par exemple le texte d'un textbox ) ?

    Par contre si tu ne veux aucune recompilation c'est impossible, il faut au moins regénéré les ressources (les dll dans le cas de l'internationnalisation par exemple ).
    - MVP C#
    -Tout problème a une solution, le vrai problème est de trouver la solution .....
    - Linux & mono : l'avenir

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    je me trompe peut etre de manière de faire

    ce que je veux c'est mettre dans un fichier les textes de mes boutons, de mes labels, etc... Ainsi si l'utilisateur de mon appli me demande de changer un libellé, je change le fichier, je lui envoie et puis le tour est joué sans avoir à recompiler.

    Je pensais que les fichiers resx servaient à çà, je me trompe peut etre !!!

    donc si quelqu'un pouvait éclairer ma lanterne, çà serait gentil !!!!

  5. #5
    Membre éprouvé
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 273
    Points : 1 280
    Points
    1 280
    Par défaut
    en effet tu as mal posé ton probleme, dev01 avait raison.

    ce qu'il faut faire c'est conserver le texte de tes boutons et de tes labels dans des variables que tu enregistre sur le disque pour que tu puisse les lire et les reaffecter à tes boutons et tes labels. Tu peux réaliser cela grâce à la sérialisation, c'est expliqué ici :

    http://plasserre.developpez.com/v5-8.htm
    j'suis vert !

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    je m'explique peut etre mal mais cette solution me convient pas non +!!!
    là je vais sauver mes objets, mais je ne pourrais pas les modifiers sans aller dans le code.
    Moi ce que je veux c que mon code aille chercher dans un fichier les valeurs qu'il doit afficher pour mes composants graphiques.
    Par exemple si j'ai un bouton et que je veux que ce soit "valider" d'afficher je ne veux pas mettre le mot "valider " dans le code mais dans un fichier externe que je pourrais modifier au cas où il y ait une demande d'un utilisateur.
    L'interet de passer par un fichier est que l'on peut changer le texte d'un bouton sans aller dans le code et donc sans recompiler.

    Donc je pensais qu'un tel fichier était un fichier resx étant donné qu'en + vs2005 a modifié pas mal la gestion des fichiers resx, dc je pensais vraiment que l'on pouvait d'en servir pour çà.
    mais alors comment faire? quel type de fichier utiliser?

    merci encore pour les réponses que j'ai eu, et j'espere avoir été plus clair en espérant donc de nouvelles remarques.

  7. #7
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Salut .

    tu peux faire ça dans les fichiers de ressources et simplement redistribuer le fichier de ressources modifié.

    sinon ben c'est pas difficile d'écrire une petite classe qui va s'occuper de charger le données à partir de ton fichier pour les appliquer sur tes compos.

    Avec une bonne organisation ça prend pas plus de d'une 30 ene de ligne de code.
    - MVP C#
    -Tout problème a une solution, le vrai problème est de trouver la solution .....
    - Linux & mono : l'avenir

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    tu dis que je peux en effet utiliser des fichiers de ressources donc resx.
    Mais comment faire?

    car dans la solution tu as les fichiers resx mais une fois que tu compiles, que ut vas ds le repertoire debug par ex, les fichiers n'apparaissent pas dans ce repertoire. Donc comment faire pour faire apparaitre ces fichiers et les une fois que l'application est compilé?

  9. #9
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Citation Envoyé par camilero
    tu dis que je peux en effet utiliser des fichiers de ressources donc resx.
    Mais comment faire?

    car dans la solution tu as les fichiers resx mais une fois que tu compiles, que ut vas ds le repertoire debug par ex, les fichiers n'apparaissent pas dans ce repertoire. Donc comment faire pour faire apparaitre ces fichiers et les une fois que l'application est compilé?
    Les fichiers d'internationalisation apparaissent dans les répertoires portant les nom "fr", "en", etc . Ce sont des dll car les ressources sont compiler.

    Ton fichier de ressources perso sera aussi compiler sauf que plutot que de l'intégrer à l'exécutable tu le laisses dans une dll.

    tu trouveras tout d'expliqué dans la doc du framework -> resources et Satellite Assemblies
    - MVP C#
    -Tout problème a une solution, le vrai problème est de trouver la solution .....
    - Linux & mono : l'avenir

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    qd tu mets :
    "Ton fichier de ressources perso sera aussi compiler sauf que plutot que de l'intégrer à l'exécutable tu le laisses dans une dll. "

    dans cette solution tu fais comment pour changer un libellé par exemple qd tu as la dll correspondant à la ressource?
    je sais c peut etre une question bete mais là je suis un peu paumé

  11. #11
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Citation Envoyé par camilero
    dans cette solution tu fais comment pour changer un libellé par exemple qd tu as la dll correspondant à la ressource?
    je sais c peut etre une question bete mais là je suis un peu paumé
    tu lit la doc et le tuto de Morpheus sur l'internationalisation.

    En gros tu fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ResourceManager manager = new ResourceManager("MonProjet.Ressources.Text", System.Reflection.Assembly.GetExecutingAssembly());
    et tu pourras accèder à tes libellés.

    La doc est ton amie ne l'oublie pas
    - MVP C#
    -Tout problème a une solution, le vrai problème est de trouver la solution .....
    - Linux & mono : l'avenir

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 21
    Points : 9
    Points
    9
    Par défaut
    ok je vais essayer de regarder tout çà, je vous remercie bcp de vos réponses en tout cas

  13. #13
    Futur Membre du Club
    Inscrit en
    Mai 2005
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 5
    Points : 7
    Points
    7
    Par défaut ClickOnce
    Pour garder de la réactivité sur l'application que j'ai déployé , je recois des mails en cas d'erreur , exception .. l'application ecrit des logs en local chez les utilisateurs , en cas d'erreur j'envoi par mail le fichier de log , je stocke les libellés et message dans un fichier de ressource ou plusieurs si appli multilingue et je publie une nouvelle version de l'appli . ainsi elle est mise à jour automatiquement par les utilisateurs dès qu'ils relancent l'appli.

Discussions similaires

  1. [C# 2.0][VS2005] Utilisation des boutons radio
    Par keisuke dans le forum Windows Forms
    Réponses: 13
    Dernier message: 29/04/2006, 17h47
  2. Est-il possible d'utiliser des fichiers xsl en cascade ?
    Par Faekk dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 22/08/2005, 12h34
  3. Copie de 2 bases SQLserver en utilisant des fichiers
    Par dimdidi dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 17/08/2005, 09h26
  4. [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