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

EDI Delphi Discussion :

Modification d'un fichier *.res


Sujet :

EDI Delphi

  1. #1
    Membre éclairé

    Inscrit en
    Novembre 2002
    Messages
    825
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 825
    Par défaut Modification d'un fichier *.res
    Bonjour à tous.

    Comme mentionné dans le titre, je souhaite modifier la rubrique "VERSIONINFO" du fichier "*.res" avant la compilation des projets. J'ai réussi en utilisant une application : qui charge, permet de modifier , de recompiler et de sauver le fichiers *.res, donc de stocker les nouvelles informations de version dans l'exe ou la DLL après compilations. Mais nous voulons automatiser cela pour tous les projets donc le faire en ligne et sans interventions d'opérateurs.

    Pour infos:
    Un numéro de version au format texte se trouve en entête de fichiers sources (*.DPR, *PAS), actuellement cette version est extraite pour générer un simple fichier texte représentant les versions des fichiers du projets. Nous comptons utiliser ce fichier texte pour assigner les numéros de version aux fichiers "*.res" de chaque projet, puis compiler en ligne les projets avec le fichier *.res modifié. Et ainsi associer les informations de version aux exe et dll

    J'ai essayé de passer par un fichier *.RC en mode texte avec le formaliste dédié et les informations que l'ont souhaitent insérer. le fichier *.rc se compile bien avec le compilateur (BRCC32.exe), ne génère pas d'erreur, et il semble que la compilation soit donc correcte.
    Mais la compilation en ligne (DCC32.exe) du projet échoue. Remarque: cette compilation réussit tant que je ne modifie pas le fichier *res.

    j'ai essayé de modifier directement le fichier *.res sans passer par le compilation du *.RC, le logiciel que j'ai utilisé me désassemble bien le fichier *.res et fait bien le boulot, mais n'accepte pas de fichier "texte" ou de modification sans les faires dans son éditeur, donc grillé pour une utilisation en ligne et pour une automatisation.

    Donc si quelqu'un à déjà joué avec cela (*rc, *res ... outils tierces en ligne..) je suis preneur de toutes vos idées.

    bonne soirée tous.
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  2. #2
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 277
    Par défaut
    J'ai cela dans un coin avec la compilation en ligne de commande dans un Bat et PS.
    Aide via F1 - Utilisez l'I.A. - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité ! Sachez-le : l'IA remplace la très grande majorité des développeurs, pas seulement les ignares ...

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 277
    Par défaut
    En 64 bits cela ressemble à ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    brcc32.exe "C:\Dossier\Project\TheProgram.rc" -fo"C:\Dossier\Project\TheProgram.res"
     
    dcc64.exe -K00400000 -$M16384,2097152 -$D0 -$L- -$Y- -H -W -B -TX.exe -NSWinapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap -NU"C:\Dossier\Project\TheProgram\dcu" -O"C:\Dossier\Project\TheProgram\dcu" -E"C:\Dossier\Project\TheProgram\Relase" -I..\..\include -U..\..\include  "C:\Dossier\Project\TheProgram"
    Alors, j'ai remonté la ligne de commande, en vrai, c'est 10 variables, il y n'a rien en dur mais c'est pour donner une idée

    Code RC : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    ///////////////////////////////////////////////////////////////////////
    //
    // Version
    //
    #define TheProgramVERSION 20xx,x,xxx,0
    #define STRTheProgramVERSION "20xx.x.xxx.0\0"
    1 ICON "TheProgram_app.ico"
    VS_VERSION_INFO VERSIONINFO
     FILEVERSION TheProgramVERSION
     PRODUCTVERSION TheProgramVERSION
     FILEFLAGSMASK 0x3fL
    #ifdef _DEBUG
     FILEFLAGS 0x1L
    #else
     FILEFLAGS 0x0L
    #endif
     FILEOS 0x4L
     FILETYPE 0x1L
     FILESUBTYPE 0x0L
    BEGIN
        BLOCK "StringFileInfo"
        BEGIN
            BLOCK "040904b0"
            BEGIN
                VALUE "Comments", "TheProgram xxxx.x\0"
                VALUE "CompanyName", "TheCompany\0"
                VALUE "FileDescription", "TheProgram 64bits\0"
                VALUE "FileVersion", STRTheProgramVERSION
                VALUE "InternalName", "TheProgram\0"
                VALUE "LegalCopyright", "Copyright (C) xxxx-xxxx\0"
                VALUE "OriginalFilename", "TheProgram.exe\0"
                VALUE "ProductName", "TheCompany\0"
                VALUE "ProductVersion", STRTheProgramVERSION
            END
        END
        BLOCK "VarFileInfo"
        BEGIN
            VALUE "Translation", 0x409, 1200
        END
    END




    Enfin, en outil tiers, FinalBuilder7 gèrait très bien cela, je l'ai surtout utilisé entre 2004 et 2011, deux employeurs différent, tous les versions de D3 à D7.
    Aide via F1 - Utilisez l'I.A. - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité ! Sachez-le : l'IA remplace la très grande majorité des développeurs, pas seulement les ignares ...

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Membre éclairé

    Inscrit en
    Novembre 2002
    Messages
    825
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 825
    Par défaut
    Slt

    Je vais me repencher sur le fichier RC ,le tiens semble plus complet

    merci
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

Discussions similaires

  1. Ajouter bitmap à un fichier .res
    Par Alex Laforest dans le forum EDI
    Réponses: 5
    Dernier message: 20/05/2005, 20h37
  2. Réponses: 20
    Dernier message: 17/03/2005, 15h26
  3. Recherche outils de création de fichiers .RES
    Par Alcatîz dans le forum Outils
    Réponses: 4
    Dernier message: 07/02/2005, 07h07
  4. Est-il possible de détecter la modification d'un fichier ?
    Par Kokito dans le forum API, COM et SDKs
    Réponses: 13
    Dernier message: 25/06/2004, 10h42
  5. [langage] Date de modification d'un fichier
    Par Cyspak dans le forum Langage
    Réponses: 2
    Dernier message: 24/06/2003, 15h49

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