[VB.NET] d'une chaine vers une instruction

Résolu/Fermé
Panda jack Messages postés 54 Date d'inscription dimanche 13 mars 2011 Statut Membre Dernière intervention 18 avril 2012 - 17 janv. 2012 à 15:12
Panda jack Messages postés 54 Date d'inscription dimanche 13 mars 2011 Statut Membre Dernière intervention 18 avril 2012 - 18 janv. 2012 à 13:40
Bonjour,

mon problème est en soit relativement simple, j'ai bien peur pourtant qu'il soit insoluble. En effet je veut récupérer la valeur d'une chaine de caractère et m'en servir pour exécuter une ligne de code. Voila le code idéal (qui ne fonctionne absolument pas mais clarifie sans nuls doutes ma pensée.

Public Sub setLabel(ByVal name As String, ByVal value As String)
        Me."" & name & "".text = value
    End Sub

dans ce code, name serait remplacer par "LB_GPD" et la ligne exécuter serait donc :

Me.LB_gpd.text = value

ma question est donc simple, existe il un quelconque moyen de faire cela ?

Merci d'avance de vos réponses;

A voir également:

5 réponses

Utilisateur anonyme
17 janv. 2012 à 17:30
Bonjour,

Procéder en deux étapes :

Étape 1 :
Dim Boucle As Int32 = 0
Dim NomCtrl As String = String.Empty

For Boucle = 1 To 3
	NomCtrl = String.Format("{0}{1}", "tbx_Item", Boucle)
	ChangeValeurTextBox(NomCtrl, (Boucle * 10).ToString)
Next


Étape 2 :
Private Sub ChangeValeurTextBox(ByVal pNom As String, ByVal pValeur As String)

	Dim Ctrl As System.Windows.Forms.Control

	For Each Ctrl In Me.Controls
		If Ctrl.GetType Is GetType(TextBox) Then
			If (Ctrl.Name = pNom) Then
				Ctrl.Text = pValeur
			End If
		End If
	Next

End Sub


Cdt

Lupin
2
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 18/01/2012 à 10:18
Bonjour,
Une autre approche ?
    Public Sub setLabel(ByVal name As String, ByVal value As String)  
        Dim Lb As Control  
        For Each Lb In Me.Controls  
            If Lb.Name = name Then Lb.Text = value : Exit Sub  
        Next  
    End Sub

Il y a une solution encore plus facile mais qui nécessite quelque lignes de code au load de la form. (voir Collection)
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
NOTE : Je ne répond pas aux MP pour les questions techniques.
2
Xineroks Messages postés 158 Date d'inscription lundi 9 janvier 2012 Statut Membre Dernière intervention 25 janvier 2014 3
17 janv. 2012 à 15:42
J'ai quasiment le même soucis, j'ai posté ce matin, toujours pas de réponse :/

https://forums.commentcamarche.net/forum/affich-24208824-nom-de-textbox-dynamique-vb-net

En fait tu es comme moi, tu cherches à utiliser une variable comme propriété "name"
0
Panda jack Messages postés 54 Date d'inscription dimanche 13 mars 2011 Statut Membre Dernière intervention 18 avril 2012 7
17 janv. 2012 à 16:20
l'idée ce serait de la même manière que l'ont fait une requète préparer pour du SQL (en VB je sait pas mais dans les autres languages ça ce fait) il faudrait faire une "instruction préparer" puis l'exécuter, je ne pensse pas que cela soit faisable.
0

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

Posez votre question
Panda jack Messages postés 54 Date d'inscription dimanche 13 mars 2011 Statut Membre Dernière intervention 18 avril 2012 7
18 janv. 2012 à 13:40
Merci beaucoup de vos réponse, j'ai put faire ce que je cherchait a faire. Bonne journée a vous (ou soirée).
0