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

Comment remplacer un chiffre par une image [Débutant]


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mai 2015
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Comment remplacer un chiffre par une image
    Bonjours a vous
    je viens de mettre les doigts dans Visual Basique (très addictif ce truc)
    bon voila je viens de réaliser un générateur de lancer de dés six face jusque la pas de problème ça marche
    mais le résultat est un chiffre de 1 a 6 et je voudrais a la place de ce chiffre apparaisse une images d'un dé représentant la la somme du chiffre
    si vous pouvez me donner la marche a suivre
    merci a vous
    a+

  2. #2
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2015
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Février 2015
    Messages : 169
    Points : 60
    Points
    60
    Par défaut
    Salut à toi !

    Si c'est juste pour afficher une image d'un dé qui affiche les numéros de 1 à 6 il te faut déjà les 6 images.
    Ensuite simplement tu les appelles en fonction du résultat de ta variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if num_var = 1 then
     affiche img_1.jpg
    elseif num_var = 2 then
    etc etc

  3. #3
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    tu peux utiliser un contrôle ImageList. Si tu ajoutes tes images dans l'ordre (tu peux le faire depuis le mode design) alors tu pourras facilement accéder à la bonne image via monImageList.Images[valeurDuDe -1].
    Plus je connais de langages, plus j'aime le C.

  4. #4
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par Jeano81 Voir le message
    Salut à toi !

    Si c'est juste pour afficher une image d'un dé qui affiche les numéros de 1 à 6 il te faut déjà les 6 images.
    Ensuite simplement tu les appelles en fonction du résultat de ta variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if num_var = 1 then
     affiche img_1.jpg
    elseif num_var = 2 then
    etc etc
    Bonjour,

    Ça manque un peu de biscuit ton histoire..... pas certains qu'OP ni quiconque n'arrive à quoique ce soit avec cette explication !
    Il n'est pas utile de charger des images dans un contrôle lmageList car le dé possède 6 faces, il s'agit d'un nombre fixé non dynamique !

    1- Sur ton formulaire principal tu ajoutes le contrôle "PictureBox" depuis la boite à outils de l'EDI (volet de gauche de Visual Studio en mode concepteur de vues)
    2- Tu définies la propriété "Size" de ta pictureBox ---> par exemple : 32*32 pixels
    3- Tu choisis 6 images (du format que tu souhaites : .jpg, .png...etc...) : dimensions 32*32 pix
    4- Tu sauvegardes tes images dans un répertoire sur ton bureau
    5- Dans ton EDI tu ajoutes ces 6 images en tant que "resource" de ton projet et pour ce faire :
    - Tu accèdes aux propriétés de ton projet (clique-droit sur le nom de ton projet dans le volet de droite "Explorateur de solutions" puis sélection de l'item "Propriétés")
    - Tu cliques sur l'onglet "Ressources" dans le tabcontrol des propriétés de l'EDI
    - Dans le menu de la partie centrale du tabcontrol tu sélectionnes non pas fichiers mais "Images" en faisant dérouler la liste, tu sélectionnes ensuite non pas "Ajouter une ressource" mais "Ajouter un fichier existant" depuis la liste déroulante.
    - Tu sélectionnes les 6 images préalablement sauvegardées dans le répertoire de ton bureau
    6- Tu supprimes le dossier avec les images sur ton bureau, elles ne sont plus utiles car désormais elles seront intégrées dans ton binaire compilé (.exe) que tu livreras plus tard.

    NB : Voici comment accéder à une image depuis les ressources de ton projet et l'affecter à une PictureBox :
    PictureBox.image = My.Resources.<LE_NOM_DE_TA_RESOURCE>

    Enfin pour générer un nombre aléatoire compris entre 1 et 6 il faut utiliser la classe "Random" :

    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
    Public Class Form1
     
        Private rnd as New Random
     
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            dim num = rnd.next(1,6)
            select case num
                Case 1
                    PictureBox1.image = My.Resources.img1
                    exit Select
                case 2
                    PictureBox1.image = My.Resources.img2
                    exit Select
                Case 3
                    PictureBox1.image = My.Resources.img3
                    exit Select
                case 4
                    PictureBox1.image = My.Resources.img4
                    exit Select
                Case 5
                    PictureBox1.image = My.Resources.img5
                    exit Select
                Case 6
                    PictureBox1.image = My.Resources.img6
                    exit Select
        End Sub
     
    End Class


    A+

  5. #5
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    3 x 6 clics + une ligne de code, je pense que la solution de l'ImageList reste recevable (pratique et en adéquation avec l'esprit RAD).
    J'ai du mal à faire mon barbu quand ça cause VB, perso.
    Plus je connais de langages, plus j'aime le C.

  6. #6
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mai 2015
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    tout d'abord un grand merci pour vos réponses si rapide ...
    mais bon mon niveaux est vraiment bas
    et je n'ai pas assez développer ma demande mille pardon
    donc j'en suis la
    j'ai créer un bouton et un label
    dans le bouton je place
    Nom : 2015-05-07_19-24-34.jpg
Affichages : 269
Taille : 34,4 Ko
    et dans label un des numéros apparaît
    c'est ce numéro que je veux remplacer
    merci pour m'avoir appris comment géré les ressources
    mais même apres avoir entré mes images dans ressource
    j'ai pas réussit a avoir mes images
    je dois entre dans bouton ? dans from1 ou dans PictureBox1
    je my perd un peut

  7. #7
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par jopopmk Voir le message
    3 x 6 clics + une ligne de code, je pense que la solution de l'ImageList reste recevable (pratique et en adéquation avec l'esprit RAD).
    J'ai du mal à faire mon barbu quand ça cause VB, perso.
    Non, non effectivement le contrôle ImageList est un très bon compromis. ;

    J'ai tendance à proposer des solutions qui permettent d'arpenter d'autres concepts (ici les resources d'un projet)


    J'ai du mal à faire mon barbu quand ça cause VB, perso.
    Le langage n'a absolument rien à voir dans la consistance d'un programme, c'est le raisonnement qui compte !!


    @Jackdos :

    il te faut poser un contrôle "PictureBox" (depuis la boite à outils) pour pouvoir afficher une image sur ton formulaire à un emplacement définit !

    Tu en profites pour glisser un contrôle "imagelist" que tu paramètres depuis la grille de propriétés :
    ColorDepth = Depth32Bit
    ImageSize = 40;40
    ...ensuite tu ajoutes tes images dans l'éditeur de collection d'images accessible dans la propriété "Images--> (Collection)"



    Dans le code de ton bouton tu génères ton nombre aléatoire comme tu l'as si bien fais et ensuite tu affectes l'image à la propriété Image de ta "PictureBox1" selon le nombre retourné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
      Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim num = rnd.Next(1, 6)
            PictureBox1.Image = ImageList1.Images(num - 1)
        End Sub
    A+

  8. #8
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    bonjour

    Tu peux aussi conserver ton label:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim num as Integer= rnd.Next(1, 6)
            Label.BackgroundImage = ImageList1.Images(num - 1)
        End Sub
    bon code...

  9. #9
    Candidat au Club
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Mai 2015
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    C'est bon ca marche un grand merci a vous tous
    j'ai du prendre un peut de chaque mais ca marche
    voila le résultat

    Nom : 2015-05-08_04-00-02-4b20a4a.jpg
Affichages : 269
Taille : 105,8 Ko

    il me reste a trouver comment mettre du son quand on appui sur le bouton
    je vous remercie encore fin des trois jours de galère!!! mais j'aime pas perdre

  10. #10
    Membre régulier
    Homme Profil pro
    Scientist
    Inscrit en
    Mai 2013
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Scientist
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2013
    Messages : 110
    Points : 87
    Points
    87
    Par défaut
    Bonjour,

    "Exit Select" dans un Select Case en VBnet.
    Est-ce vraiment utile? (Cela me fais penser au BRK pour un Switch en JavaScript).

    Ou suis-je completement a cote de la plaque, si vous me permettez l'expression?

    JLuc01

  11. #11
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par JLuc01 Voir le message
    Bonjour,

    "Exit Select" dans un Select Case en VBnet.
    Est-ce vraiment utile? (Cela me fais penser au BRK pour un Switch en JavaScript).

    Ou suis-je completement a cote de la plaque, si vous me permettez l'expression?

    JLuc01
    Je ne code pas qu'en VbNet donc c'est une habitude que j'ai pris dans les autres langages synthaxe "C" (C#, Java,..) dans ces langages on n'oublie surtout pas de mettre le break sinon tu peux être certains que les autres cas sont évalués alors que oui effectivement le "Exit Select" en vbnet n'a pas de caractère obligatoire car lorsque le cas est traité l'instruction suivante est exécuté en dehors du "Select Case"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Remplacer le curseur par une image
    Par CyberTwister dans le forum Windows
    Réponses: 2
    Dernier message: 10/05/2007, 20h31
  2. Réponses: 10
    Dernier message: 20/09/2006, 12h53
  3. Remplacer du texte par une image en css
    Par Seth77 dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 03/04/2006, 11h57
  4. Remplacer un caractère par une image
    Par mr.t dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 27/10/2005, 09h18
  5. Réponses: 2
    Dernier message: 26/07/2005, 21h44

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