wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 4

Valid XHTML 1.0 Transitional

Valid CSS2

Menu Projets (navigation):
Pages: 1    Accueil » Projets » Applications complètes
» Bin2Code : Intégrer tout type de ressource à un éxécutable
Détails du projet : Bin2Code : Intégrer tout type de ressource à un éxécutable
Informations sur l'auteur de ce projet :


Hors ligne
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Capture d'écran

Capture

Introduction / Description :
Bonjour à tous.

Ce petit logiciel, comme le titre l'indique, vous permettra d'intégrer tout type de ressource à votre exécutable.

Le principe est simple :
- On sélectionne le ou les fichiers que l'on veut intégrer
- On lance le traitement (qui peut être assez long, dans le cas de gros fichiers)
- On obtient au final, pour chaque "ressource", un fichier ".h" et un fichier ".cpp" à compiler en même temps que l'exécutable.

Le fichier ".cpp" contient en fait un tableau de unsigned char dont les valeurs sont les octets forment le fichier à intégrer.
Le fichier ".h" contient quand à lui la déclaration de ce tableau, ainsi que sa taille.
Pour les fichiers images, le logiciel ajoute également une fonction permettant de récupérer directement un wxBitmap.

Il y a une option permettant de ne créer qu'un seul fichier ".cpp" et ".h" contenant toutes les ressources.
Fichier zip du projet :

  Taille du fichier : 716.25 Ko
Téléchargé : 2199 fois.

Télécharger le fichier pour l'enregister
Explications finales :
L'archive zip contient les sources, les fichiers projets Code::Blocks pour Windows et Linux, ainsi qu'un exécutable Windows compilé en statique avec wxWidgets-2.8.12.

Pour activer la traduction en français, il suffit de renommer le fichier "french.mo" en "language.mo".

Si vous souhaitez tester une version compilée avec wxWidgets-2.9.2, voici les liens :
- Bin2Code-32bits.7z
- Bin2Code-64bits.7z

Commentaires et suggestions sont les bienvenus.

@+
Xav'

Update du 09/10/2010 (v1.2) :
- Mise à jour du fichier projet Windows (utilisation de la variable système WXWIN)
- Implémentation de la fonction "Enlever"
- Bug-Fix : le point-virgule n'était pas mis à la fin de la ligne de déclaration des données
- Ajout du support "Glisser/Déposer" depuis le gestionnaire de fichiers
- Utilisation d'un header commun Windows/Linux pour les informations de version
- Tous les noms de fichiers passés en minuscule
- Ajout d'un Makefile pour la compilation (Linux uniquement)

Update du 18/08/2011 (v1.3) :
  - Re-codage de l'application en anglais
  - Ajout de la prise en charge de l'i18n
    Utilisation d'un éventuel fichier "language.mo" présent aux côtés de l'application
  - Passage à wxWidgets-2.9.2 (32 et 64 bits)
Commentaires
cubbiste (Membre)
Inscrit le : 14-07-2010
Messages: 11
Snippets: 0
Tutoriels: 0
Hors ligne
bonjour,

C'est exactement ce qu'il me fallait ! merci.
Mais deux petites remarques sur le code généré (j'ai utilisé l'option de génération d'un seul fichier pour pouvoir décider le nom du fichier généré, bien que je n'avais qu'un seul fichier à inclure, je ne sais pas si ça joue) :
1. pourquoi le fichier .h n'est-il pas inclus dans le fichier .cpp ?
2. il manque un ; à la fin de la ligne extern unsigned char ... dans le fichier .h, ce qui me conduisait à une erreur de compilation, la variable ainsi définie étant déclarée (par wxDevCpp) comme non définie.
Rien de très grave puisqu'on a la main sur le code généré pour le corriger, mais un peu perturbant au premier abord
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut, et merci pour le commentaire.

cubbiste:
pourquoi le fichier .h n'est-il pas inclus dans le fichier .cpp ?
Je n'en vois pas l'utilité, mais je peux éventuellement ajouter une case à cocher pour que ça puisse être fait.

cubbiste:
il manque un ; à la fin de la ligne extern unsigned char ... dans le fichier .h
J'avais remarqué ça, mais je n'ai jamais pris le temps de modifier la version présente sur le site.

De plus, je viens de m’apercevoir que le bouton "Enlever" ne fait rien (la méthode événementielle qui lui est associée est vide :/ ).

Si tu as d'autres points et/ou features requests, pendant que j'y suis, n'hésites pas.
Je vais en profiter pour ajouter le support "drag'n'drop" depuis le gestionnaire de fichiers, ainsi qu'éventuellement la possibilité de compiler par makefile sous linux.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
cubbiste (Membre)
Inscrit le : 14-07-2010
Messages: 11
Snippets: 0
Tutoriels: 0
Hors ligne
En parlant de nouvelles fonctionnalités, il me vient une idée : ce pourrait être intéressant d'avoir un mode "ligne de commande" pour pouvoir automatiser (typiquement dans un makefile) la génération des fichiers .cpp / .h à partir d'un ensemble de fichiers binaires.
Et dans ce cas, la cerise sur le gâteau est d'avoir dans l'IHM un bouton qui produit la ligne de commande équivalente à ce qui est paramétré graphiquement (comme le propose par exemple  cppDoc), avec possibilité de copier dans le presse-papier.
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Hello

C'est une bonne idée le coup de la ligne de commande.
Avec en plus une option pour le lancer en mode "invisible" (sans afficher la GUI).
Voir même un possibilité de compilation "sans GUI".

En tout cas, j'ai déjà corrigé ce qui devait l'être, + ajouté quelques petits trucs.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
Menu Projets (navigation):
Pages: 1    Accueil » Projets » Applications complètes
» Bin2Code : Intégrer tout type de ressource à un éxécutable