none
Comment je pourais associe une variable de chaine a mon fichier Resouces RRS feed

  • Question

  • J aie plusieur photo dans mon fichier  resources

    je doit les sortir aleatoirement

    au lieu de l ecrire 50 fois si j aie 50 photo

    exemple

    Dim t As Integer

    Dim carte(20) As Image

    For Each Image In My.Resources

    carte(t) = Image

    t = t + 1

    Next

    Mais ceci ne fonctionne pas

     


    Francois Masse

    dimanche 19 décembre 2010 22:13

Réponses

  • Merci a tous d avoir fais des recherches pour moi

    apres plusieur heure de recherche de ma par et sans resulta alors j aie pris la decision de creer une varible tableau et de entrer le code un a la foi

    Mais Ehjoe je garde en note ton code pour futur
    Francois Masse
    • Marqué comme réponse Alex Petrescu mardi 28 décembre 2010 12:47
    mardi 21 décembre 2010 13:43

Toutes les réponses

  • Bonjour,

    S'il vous plait, pourriez-vous nous indiquer où sont stockées vos photos et si cet ensemble de photos peut changer lors de l'éxecution de votre programe ?

    Je vous conseillerai de regarder la classe ResourceManager plutôt que d'utiliser My.Resources ( dont la documentation est plus que légère )

    http://msdn.microsoft.com/fr-fr/library/2xsy4hac(v=VS.90).aspx

    Inconvénient de cette méthode : si vous voulez ajouter ou supprimer des photos, vous serez peut-etre obligé de régénérer votre application dans le cas où vous utiliseriez une assembly satellite.

    Lien vers My.Resources :

    http://msdn.microsoft.com/fr-fr/library/6wkcc526(v=VS.90).aspx     ( lien en Anglais pour Visual Studio 2008 !!! )

    pour Visual Studio 2010 , le lien en français existe:

    http://msdn.microsoft.com/fr-fr/library/6wkcc526(v=VS.100).aspx

    Bonne journée

    PS : vous devriez relire la réponse de Gilles

    http://social.msdn.microsoft.com/Forums/fr-FR/vbasicfr/thread/c20faa7b-d907-41a3-a679-aab04ea5dc57

    ainsi que :

    http://msdn.microsoft.com/fr-fr/library/ytt371w5(v=VS.100).aspx

    vous pourrez lire :

    "L'objet My.Resources expose chaque ressource en tant que propriété en lecture seule. Le nom de la propriété est le même que le nom de la ressource, et le type de propriété est déterminé par la classification de la ressource. Pour plus d'informations, consultez My.Resources, objet."

    Au fait, vous dites que votre code ne fonctionne pas.Est-ce une erreur de compilation ou d'exécution.Je suis loin d'être un spécialiste en VB , mais je doute que votre code se compile ( My.Resources est un objet et non une collection d'objets )


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.
    lundi 20 décembre 2010 10:29
  • Bonjour François,

    J'ai un bout de code pour lire les ressources, mais je ne sais pas comment utiliser cette liste des ressouces ?

    Option Explicit On
    Imports System.Resources
    Imports System.Globalization
    Public Class Form
     Sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      My.Application.DoEvents() ' Méthode pour parcourir toutes les ressources
      Dim rs As ResourceSet
      rs = My.Resources.ResourceManager.GetResourceSet(CultureInfo.InvariantCulture, True, False)
      Dim dicos As IDictionaryEnumerator = rs.GetEnumerator()
      While dicos.MoveNext
       ListBox1.Items.Add(dicos.Key.ToString())
      End While
      ' PictureBox1.Image = My.Resources. ???
     End Sub
    End Class
    
    

    Cordialement.


    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    lundi 20 décembre 2010 21:23
  • François,

    A défaut d'autre chose ? Je viens d'avoir une idée (ça m'arrive parfois), qui ferait que tu pourrais écrire ta procédure d'appel de tes ressources automatiquement rien qu'en les énumérant, c'est de la programmation "limite" mais chat marche, voici le principe :

    Option Explicit On
    Imports System.Resources
    Imports System.Globalization
    Public Class Form
     Sub Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      TextBox1.Text = "sub choixImage()" & vbCrLf & "select case limage" & vbCrLf
      Dim i As Long = 0
      My.Application.DoEvents() ' Méthode pour parcourir toutes les ressources
      Dim rs As ResourceSet
      rs = My.Resources.ResourceManager.GetResourceSet(CultureInfo.InvariantCulture, True, False)
      Dim dicos As IDictionaryEnumerator = rs.GetEnumerator()
      While dicos.MoveNext
       TextBox1.Text = TextBox1.Text & "case " & i & ": PictureBox1.Image = My.Resources."
       TextBox1.Text = TextBox1.Text & dicos.Key.ToString() & vbCrLf
       i = i + 1
      End While
      TextBox1.Text = TextBox1.Text & "end select" & vbCrLf & "end sub"
      '
      ' copier textbox1 et coller dans le code
      ' supprimer les ressources non image du select case
      ' Déclarer "dim limage as integer" en globale
      ' passer une valeur à "limage" et appeler la procedure "choixImage"
     End Sub
    
    
     Sub choixImage() ' ET LE RESULTAT DU COLLER DU TEXTBOX
      Select Case limage
       Case 0 : PictureBox1.Image = My.Resources.J
       Case 1 : PictureBox1.Image = My.Resources.c02
       Case 2 : PictureBox1.Image = My.Resources.cuisine1
       Case 3 : PictureBox1.Image = My.Resources.rond
      End Select
     End Sub
    End Class
    

    Cordialement.


    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire
    mardi 21 décembre 2010 08:51
  • Merci a tous d avoir fais des recherches pour moi

    apres plusieur heure de recherche de ma par et sans resulta alors j aie pris la decision de creer une varible tableau et de entrer le code un a la foi

    Mais Ehjoe je garde en note ton code pour futur
    Francois Masse
    • Marqué comme réponse Alex Petrescu mardi 28 décembre 2010 12:47
    mardi 21 décembre 2010 13:43