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 Discussion :

Ressource texte ?


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de kidpaddle2
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Par défaut Ressource texte ?
    Bonjour,

    Ma question est toute simple : comment insérer un fichier texte en ressource (d'une dll), et le lire par la suite durant l'exécution ? Peut-on le modifier ?

    Merci d'avance.

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    Salut,

    Pour un logiciel sans éditeur de ressources, je suis un peu out, et je ne saurais pas trop te dire les détails.

    Sache toutefois que tu dois utiliser un type de ressources personnalisé (en effet, tu peux mettre n'importe quoi en ressources), et le charger avec FindResource(), LoadResource() et LockResource().

    Par contre, il me semble qu'il n'y a aucun moyen de dé-charger un fichier ainsi chargé durant l'exécution du programme: Il reste en mémoire jusqu'à ce que l'exe ou la DLL qui le contient soit déchargé(e) (et encore, si ça se trouve, ça ne suffit pas et ça reste carrément jusqu'à la fin du process).

    PS: Pour ton autre projet (le player), il faudrait qu'on puisse un minimum en discuter sur messagerie instantanée. Tu as MSN ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre éclairé Avatar de kidpaddle2
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Par défaut
    Merci. Oui, j'ai msn. J'ai vu que tu m'avais rentré comme contact, donc on en discutera bientôt.

    Fin du hors sujet

    Pour les ressources, je compte juste utiliser le fichier texte en ressource de la dll pour récupérer des infos... bref, au début du programme et puis c'est tout.

    En tout cas, je vais jeter un coup d'oeil du côté de ces fonctions.

    Je suppose que le sujet est donc clôs => Sujet résolu. (on verra en pratique)

  4. #4
    Membre éclairé Avatar de kidpaddle2
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Par défaut
    Si je comprends bien, afin d'ouvrir le fichier texte à partir de la ressource de la dll, il faut que je fasse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FILE *textFile = fopen(LockResource(LoadResource(LoadLibrary("Draw.dll"), FindResource(LoadLibrary("Draw.dll"), "textFile", RT_RCDATA))), "r");
    Avec la déclaration ressource suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    textFile RCDATA "textFile.txt"
    C'est ça ?

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 398
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 398
    Par défaut
    Houlà...

    Déjà, tout sur une ligne, ça fait mal aux yeux.

    Ensuite, si tout ce que tu cherches à mémoriser est une chaîne de rien du tout, ce n'est pas une ressource personalisée que tu dois utiliser: C'est une String Table...


    Moi, je croyais que c'était le contenu du fichier texte que tu voulais stocker en ressource, par exemple pour le générer s'il n'est pas là...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre éclairé Avatar de kidpaddle2
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Par défaut
    En fait, j'aimerais accéder, d'une manière ou d'une autre, à des informations entrées à la compilation de la dll. Normalement, ce sont des couples de nombres, mais une string fera l'affaire (avec sscanf bien utilisé, ça devrait aller).

    Je vais me renseigner, merci.

    Edit: Mon code ci-dessus n'aurait pas marché : fopen attend le chemin d'accès au fichier, et non une espèce de handle (c'est vrai ça, en faisant ça, quel est le type obtenu dans le LPVOID ?)

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/06/2012, 13h09
  2. Lecture d'une ressource texte
    Par Kikouyou1080 dans le forum VB.NET
    Réponses: 4
    Dernier message: 19/09/2010, 03h50
  3. [Lazarus] Lire une ressource texte
    Par koolkris dans le forum Lazarus
    Réponses: 4
    Dernier message: 21/10/2007, 12h52
  4. Réponses: 5
    Dernier message: 16/07/2005, 00h01
  5. [DLL] Gestions des ressources textes (StringTable)
    Par Clorish dans le forum Langage
    Réponses: 1
    Dernier message: 26/05/2005, 16h50

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