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

VB 6 et antérieur Discussion :

[VB6] Compiler une image dans un exe


Sujet :

VB 6 et antérieur

  1. #1
    Membre averti Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Points : 366
    Points
    366
    Par défaut [VB6] Compiler une image dans un exe
    Bonjour,

    Je cherche à compiler une image dans mon .exe de sorte que mon application n'ai pas besoin d'être distribuée avec le fichier .jpg.

    Merci d'avance de votre aide !

  2. #2
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Et... où as-tu rencontré un obstacle pour ce faire ?

  3. #3
    Membre averti Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Points : 366
    Points
    366
    Par défaut
    Citation Envoyé par jmfmarques
    Et... où as-tu rencontré un obstacle pour ce faire ?
    Ben mon image n'est pas utilisée dans un composant "image", je compte ensuite l'extraire de l'exe pour recréer le fichier .jpg d'origine...

    Heu elle est si bête que ça ma question ???

  4. #4
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Une fois ton image dans l'exe, tu ne peux l'"extraire" autrement que depuis ton appli elle-même (sauvegarde de l'image dans un autre fichier).
    Mais... : est-ce un contrôle image ou un contrôle PictureBox ? (Distringuo important !) ?

  5. #5
    Membre averti Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Points : 366
    Points
    366
    Par défaut
    Citation Envoyé par jmfmarques
    Une fois ton image dans l'exe, tu ne peux l'"extraire"
    C'est sûr ???

    Quand je dis une image, je me pose la question pour n'importe quel fichier que je voudrais inclure dans mon exe pour ensuite "l'extraire" par programmation...

  6. #6
    Membre averti Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Points : 366
    Points
    366
    Par défaut
    Citation Envoyé par jmfmarques
    Une fois ton image dans l'exe, tu ne peux l'"extraire" autrement que depuis ton appli elle-même (sauvegarde de l'image dans un autre fichier).
    Mais... : est-ce un contrôle image ou un contrôle PictureBox ? (Distringuo important !) ?
    J'avais pas vu que tu avais édité ton post...

    Je ne compte pas utiliser de contrôle dans mon appli pour utiliser l'image.

    Mon objectif (que je réduit au + simple) c'est par exemple je lance mon exe, et il crée automatiquement mon image...

  7. #7
    Membre averti Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Points : 366
    Points
    366
    Par défaut
    Citation Envoyé par Vesta
    je ne sais pas très bien comment tu compte faire ca...
    Ben moi non plus c'est pour ça que je demande...

    Sinon c'est possible d'extraire l'image si je l'utilise dans un composant image ?

  8. #8
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    Dans un PictureBox l'image est sauvegardée lors de la compilation, il ne faut plus de fichier image source, si?

    Dans ce cas tu n'as pas besoin de fichier extérieur, seulement je pense qu'il y a moyen de recréer ce fichier à partir de l'image qui se situe dans le picturebox
    N'oubliez pas de mettre le

  9. #9
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Il y a une solution pour créer n'importe quel fichier a partir de ton appli:
    Tu récupère l'ensemble des codes Hexadecimaux de ton fichier (avec un editeur hexa), simplifions pour l'exemple, ton fichier fait 5 octets et les codes hexadecimaux sont : &h10, &h14, &hF3, &hA6, &h65 (cela ne correspond a rien, c'est juste un exemple )
    Disons aussi qu'il sagit d'un fichier Bitmap (toujour pareil, ce n'est pas une image mais c'est juste pour expliquer)
    Voila alors un bout de programme, a inserer dans une procedure, qui sera en mesure de créer le fichier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Dim Contenu As String
    Dim AdresseFile As String
     
    Contenu = Chr(&h10) & Chr(&h14) & Chr(&hF3) & Chr(&hA6) & Chr(&h65)
     
    On error resume next 'continu s'il y a une erreur
     
    Adresse = "C:\MonFichier.bmp"    'definit l'adresse et le nom de fichier
     
    Kill Adresse 'detruit si un fichier existe déjà
     
    Open Adresse For Binary As #1
    Put #1,1,Contenu
    Close #1
    C'est assez long mais ca marche pour n'importe quel fichier
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  10. #10
    Membre averti Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Points : 366
    Points
    366
    Par défaut
    ça me semble un peu laborieux mais c'est déjà un début...

    Merci avigeilpro pour cette idée !

  11. #11
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    J'ai une solution pour faciliter la création de la variable contenu
    télécharge Winhex sur internet, il existe en version d'evaluation et ca sufit largement.
    Tu ouvre ton fichier avec Winhex, tu appuis sur Ctrl+Shift+C (ou Edit,Copy All,Hex Values) tu ouvre un nouveau fichier text dans lequel tu colle ce qui a été copié.
    Tu met le code suivant dans une procedure, et du indique dans la variable Adresse l'adresse du fichier texte que tu a créé. Enfin tu lance.
    Lorsque la procedure est terminée, le fichier texte que tu a créé a été modifié et tu te retrouve avec les "Chr(&h..) & Chr(&h..) ...". Tu n'a plus qu'a copier et coller sous VB

    Code : 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
    Dim Contenu As String
    Dim Contenu2 As String
    Dim Adresse As String
    Dim Boucle As Single
    Dim TailleFichier As Single
    Dim Caractères() As String
     
    Adresse = "c:\image.txt"
    TailleFichier = FileLen(Adresse)
    Contenu = Space(TailleFichier)
     
    Open Adresse For Binary As #1
    Get #1, , Contenu
    Close #1
     
    Contenu2 = ""
    ReDim Caractères(TailleFichier / 2) As String
     
    For Boucle = 1 To TailleFichier / 2
     
    If Boucle <> 1 Then Contenu2 = Contenu2 & " & "
     
    Contenu2 = Contenu2 & "Chr(&h" & Mid(Contenu, 2 * Boucle - 1, 2) & ")"
     
    Next
     
    Kill Adresse
     
    Open Adresse For Binary As #1
    Put #1, , Contenu2
    Close #1
    PS: le code met un certain temps pour les fichier long, mais il serat toujours plus rapide que toi
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  12. #12
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    Mais avigeilpro, avec ton script, tu peux faire mumuse qu'avec 1 image...

    Sauf si il existe une fonction vb 9 (ou un module, ou qu'importe) qui chope les Hexa d'une image...

    nan?
    n'oubliez pas la balise

  13. #13
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    riesseg a dit:
    Mais avigeilpro, avec ton script, tu peux faire mumuse qu'avec 1 image...
    Que ve tu dire par la? De quel script parles-tu, le premier ou le deuxième?

    On peut toujours récupéré les code Hexa d'un fichier, quel qu'il soit
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  14. #14
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    c'est pas avec ca
    Tu ouvre ton fichier avec Winhex
    que tu recuperais l'hexa ?
    n'oubliez pas la balise

  15. #15
    Membre averti Avatar de Vince
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    369
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 369
    Points : 366
    Points
    366
    Par défaut
    Merci pour votre aide, j'ai trouvé un début de solution en utilisant un fichier de ressource dans lequel j'intègre mon image. Ainsi quand je crée mon exe l'image est compilée dans le programme, j'arrive à rafficher l'image dans une picturebox dans mon programme, mais je n'arrive pas à l'extraire c'est à dire à recréer mon fichier .bmp sur le disque dur...

    Help... Ou si vous avez d'autres idées elles sont les bienvenues !

  16. #16
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Si, en effet.Et alors? c'est la solution la plus rapide que j'avais sous la main. Maintenant tu peut le faire avec un code, mais je n'avais pas le temps. Il suffirait d'ouvrir le fichier image de la meme facon que tu ouvre le fichier texte, ensuite tu parcoure l'ensemble des caractères et tu utilise Asc pour obtenir la valeur Hexa, mais ton code sera 100 fois plus lent que de telecharger Winhex et de l'utiliser pour les récupérer. Le but ici était de construire un code le plus rapidement possible, pas de faire ce qui est déja fait ailleur .
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  17. #17
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    ok avigilpro.
    C'etait pour etre sur ^^

    Sinon pour ton probleme Vince,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     SavePicture MaFrame.pictureBox.Picture, App.Path & "\NouvelleImage.jpg"
    Ca marche pas apres une compilation ?
    n'oubliez pas la balise

  18. #18
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    SavePicture MaFrame.pictureBox.Picture, App.Path & "\NouvelleImage.jpg"
    ceci ne marchera pas ainsi car :
    1) la sauvegarde se fera en .bmp même si le fichier était .jpg
    2) il faut d'abord "figer" dans la pictureBox, ce qui ne me semble pas avoir été fait !

Discussions similaires

  1. inserer une image dans l'exe
    Par DI_2007 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 26/04/2007, 16h02
  2. [VB6] Afficher une image dans outlook
    Par fearless dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 09/06/2006, 17h29
  3. [VB6] Insérer une image dans Excel
    Par ShortcutZ dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/04/2006, 15h39
  4. [VB.NET] incorporer une image dans un exe
    Par joefou dans le forum VB.NET
    Réponses: 6
    Dernier message: 09/12/2005, 10h36
  5. [VB] COmment compiler une dll dans un exe (zlib.dll)
    Par Khrysby dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 01/11/2005, 12h10

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