Meilleur auteur de réponses
Comment je pourais associe une variable de chaine a mon fichier Resouces

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
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
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. -
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 -
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- Proposé comme réponse EhJoe mardi 21 décembre 2010 08:52
- Non proposé comme réponse Gilles TOURREAUModerator mardi 21 décembre 2010 10:45
- Proposé comme réponse Gilles TOURREAUModerator mardi 21 décembre 2010 10:45
-
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