Stocker les ressources dans le .exe à la place du dossier.

Résolu
KcHeY Messages postés 261 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 22 septembre 2012 - 15 déc. 2011 à 17:46
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 17 déc. 2011 à 00:40
Bonjour,

Je créer un programme avec Design perso.
J'ai donc recréé les boutons du haut de fenêtre, mais pour que cela fonctionne je suis obliger de mettre les images des boutons dans le même dossier.
Je souhaiterai stocker les images dans le exe.
Est-ce possible ?

Merci d'avance.

61 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
15 déc. 2011 à 21:00
Bonjour,

Alors, est-ce générer aléatoirement une couleur ?
MaCouleur=Color.Fromargb(Rnd.Next(255),Rnd.Next(255),Rnd.Next(255))
Ou sélectionner dans un tableau ?
MaCouleur=Montab(rnd.Next(Montab.GetUpperBound(0)))

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
3
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
15 déc. 2011 à 21:44
Bonjour,

As-tu essayé le second alors ?
Il te faudra un tableau listant les couleurs possibles.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
3
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
15 déc. 2011 à 22:03
Bonjour,

Mets Option Explicit et Option Strict à On.
Dim MonTab as Color()=New Color(){Vert, Rouge, ...}

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
3
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
15 déc. 2011 à 22:29
Bonjour,

Peut être une petite correction alors :
Montab(rnd.Next(Montab.GetUpperBound(0)+1))

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
16 déc. 2011 à 14:06
Bonjour,

Il ne faut plus utiliser :
Image.FromFile("diminuer.jpg")
Mais :
My.Resources.DiminuerOff

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
16 déc. 2011 à 16:45
Bonjour,
Pour faire ce que tu veux, il te faudra utiliser la fonction RegisterHotKey de la librairie User32 de l'Api de Windows.
Car à ma connaissance, la touche PrintScreen n'est pas interceptable depuis VB.


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
16 déc. 2011 à 21:03
Bonjour,

Ce que je veux dire :
1) dans Timer2_Tick, tu masque les variables d'objet contenant les images.
En haut tu as :
Dim vert As Image = My.Resources.BouleVerte
Et dans Timer2_Tick :
Dim vert As Image = My.Resources.BouleVerte

2) Mon conseil sur le nommage des variable avec un préfixe décrivant leur portée permet d'éviter ces cas non volontaires.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
3
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
16 déc. 2011 à 21:24
Bonjour,

Justement ma remarque concernant les variables d'objet, c'est pour éviter ça :
Dim VV As Image = My.Resources.BouleVerte
Dim VI As Image = My.Resources.BouleViolette
Dim RO As Image = My.Resources.BouleRouge
Dim ORA As Image = My.Resources.BouleOrange
Dim BL As Image = My.Resources.BouleBleu
Dim Montab As Image() = New Image() {VV, VI, RO, ORA, BL}
Fais plutot :
Dim Montab As Image() = New Image() {Vert, Violet, ROuge, ORAnge, BLeu}

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
3
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
15 déc. 2011 à 19:30
Bonjour,

Regardes dans l'onglet "Ressources" des propriétés du projet et l'espace de nom My.Resources.*

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
KcHeY Messages postés 261 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 22 septembre 2012
15 déc. 2011 à 20:48
Salut NHenry^^

Décidément c'est toujours toi qui m'oriente.
C'est bien par là que je l'ai est rajouté pourtant.
Moi par contre c'est en Français, c'est écris "Ressources"
Sinon j'ai une autre question.

J'ai trouvé de quoi faire un random sur des chiffres, mais j'arrive pas à le faire sur des couleurs.

:

 Dim rnd As System.Random = New System.Random
        Dim vert As System.Drawing.Color = Color.Green
        Dim rouge As System.Drawing.Color = Color.Red
        Dim orange As System.Drawing.Color = Color.Orange
        Dim jaune As System.Drawing.Color = Color.Yellow

        Button2.BackColor = rnd.Next(vert, rouge, orange, jaune)




Dim rnd As System.Random = New System.Random
Dim vert As System.Drawing.Color = Color.Green
Dim rouge As System.Drawing.Color = Color.Red
Dim orange As System.Drawing.Color = Color.Orange
Dim jaune As System.Drawing.Color = Color.Yellow

Button2.BackColor = rnd.Next(vert, rouge)
/code
0
KcHeY Messages postés 261 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 22 septembre 2012
15 déc. 2011 à 20:49
Oups désolé pour la rature du dessus
0
KcHeY Messages postés 261 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 22 septembre 2012
15 déc. 2011 à 21:14
En fait je voudrai faire 10 boutons, qui apparaisse avec un couleur aléatoire entre un nombre de couleurs défini.
Un genre de mastermind.
0
KcHeY Messages postés 261 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 22 septembre 2012
15 déc. 2011 à 21:20
Le premier code que tu m'as indiqué fonctionne bien mais je souhaiterai définir les couleurs précisément.
genre color.green / color.red
C'est un jeux de memoire, les boutons apparaitrons 5 secondes avec des couleurs aléatoire mais prédéfini, et disparaitrons.
Ensuite j'aurai une colonne de bouton gris avec autant de bouton que la colonne qui vient de disparaitre.
En dessous de chaque bouton, j'aurai 5 boutons avec les 5 couleurs.
Pour coloré le 1er bouton gris, je cliquerai sur le bouton qui à la couleurs que je pense sous chaque bouton.
Et à la fin, les boutons réaparaisse et les couleurs se compare, et les points se marque.
Désolé j'imagine que ça dois etre un charabia pas possible.
0
KcHeY Messages postés 261 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 22 septembre 2012
15 déc. 2011 à 21:45
Je suis en train de tester le deuxième.
Le fait de déclaré les couleurs comme je l'ai fait constitue un tableau ?
Qu'entend tu par tableau ?
0
KcHeY Messages postés 261 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 22 septembre 2012
15 déc. 2011 à 21:52
        Dim rnd As System.Random = New System.Random
        Dim vert As System.Drawing.Color = Color.Green
        Dim rouge As System.Drawing.Color = Color.Red
        Dim orange As System.Drawing.Color = Color.Orange
        Dim jaune As System.Drawing.Color = Color.Yellow
        Dim Montab
        Montab = (vert, rouge, orange, jaune)
        Button2.BackColor = Montab(rnd.Next(Montab.GetUpperBound(0)))


Il me manque de quoi mettre devant les parenthèse.
J'ai testé plusieurs trucs, je continu.
0
KcHeY Messages postés 261 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 22 septembre 2012
15 déc. 2011 à 22:08
Voila j'ai mis Option Explicit et Option Strict à On.
Et ton code est ce pile poil ce qu'il me fallait.
J'ai encore beaucoup à apprendre, tu m'as fait découvrir l'existence d'un tableau :p

Merci encore je passe en résolu ! thankkkkkkssssssss !!!
0
KcHeY Messages postés 261 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 22 septembre 2012
15 déc. 2011 à 22:09
Par contre pour les images des boutons c'est pas grave je verrai plus tard.
0
KcHeY Messages postés 261 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 22 septembre 2012
15 déc. 2011 à 22:15
Au dessus de 3 couleurs ça ne fonctionne pas, seule les trois premières couleurs sont prise en compte.
Embêtant tout ça.
0
KcHeY Messages postés 261 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 22 septembre 2012
15 déc. 2011 à 22:20
J'en est mis une 5eme et du coup ça en prend 4 lol.
0
KcHeY Messages postés 261 Date d'inscription dimanche 23 mai 2004 Statut Membre Dernière intervention 22 septembre 2012
15 déc. 2011 à 22:23
La derniere coueur que je cite dans le tableau ne s'affiche pas.
Je peux très bien tricher en mettant une couleur qui me servira pas mais je suis pas sûr que sois bien de partir sur de mauvaise base.
Je vois pas de différence quand les options explicite et strict sont activé.


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim rnd As System.Random = New System.Random
        Dim vert As System.Drawing.Color = Color.Green
        Dim gris As System.Drawing.Color = Color.Gray
        Dim violet As System.Drawing.Color = Color.Purple
        Dim rouge As System.Drawing.Color = Color.Red
        Dim orange As System.Drawing.Color = Color.Orange
        Dim bleu As System.Drawing.Color = Color.Blue
        Dim Montab As Color() = New Color() {vert, violet, bleu, rouge, orange, gris}
        Color1.BackColor = Montab(rnd.Next(Montab.GetUpperBound(0)))
        Color2.BackColor = Montab(rnd.Next(Montab.GetUpperBound(0)))
        Color3.BackColor = Montab(rnd.Next(Montab.GetUpperBound(0)))
        Color4.BackColor = Montab(rnd.Next(Montab.GetUpperBound(0)))
        Color5.BackColor = Montab(rnd.Next(Montab.GetUpperBound(0)))
        Color6.BackColor = Montab(rnd.Next(Montab.GetUpperBound(0)))
        Color7.BackColor = Montab(rnd.Next(Montab.GetUpperBound(0)))
        Color8.BackColor = Montab(rnd.Next(Montab.GetUpperBound(0)))
    End Sub
0
Rejoignez-nous