vb6, quand Pour Chaque boucle COMMENT puis-je attribuer des variables
Le problème que j'ai c'est que je suis en demandant une requête WMI dans visual basic 6 pour les Noms de Modem & Ports
J'ai un POUR CHAQUE BOUCLE, et il n'y a plus de valeur 1 pour chaque (2 Ports spectacle, donc j'ai 2 valeurs pour chaque). Comment puis-je attribuer une variable afin que je puisse l'attribuer à une Étiquette ou d'une zone de texte?
Je voudrais un VB 6 du code de l'échantillon de façon à affecter une variable à travers la boucle et comment appeler la variable?
C'est mon code (quand j'utilise MsgBox je peux le voir, il saute juste deux fois séparément, mais je veux variables afin que je puisse les affecter)
For Each objItem In colItems
MsgBox ("Test -" & objItem.Name)
Next
J'ai essayé, et j'ai un certain nombre, mais je ne sais pas comment le référencer
For Each objItem In colItems
Dim myCount
myCount = myCount + 1
Debug.Print objItem.Name & myCount '** i just tested with Debug.Print
Next
Form1.TextBox1.Text = myCount(1) '** THIS DOES NOT WORK
Form1.TextBox2.Text = myCount(2)
Comment puis-je attribuer objItem.Name
(il ramène de 2 objets différents)? C'est ce que j'obtiens:
1SAMSUNG Mobile Modem #2
2SAMSUNG Mobile Modem Diagnostic Serial Port (WDM) (COM1)
(1 & 2 sont de myCount)
Sans l'aide de myCount, je veux juste d'attribuer à chaque valeur de sa variable.
- Avez-vous considéré l'utilisation de zone de liste à la place de zones de texte? Considérez ceci: Que voulez-vous arriver si colItems contient autre chose que de 2 éléments (0, 1, 3, 4, ...)?
- Je tiens À les AFFECTER À des VARIABLES... donc je peux RÉ-UTILISER, alors comment pourrais-je re-appeler ? je sais comment les affecter à des zones de texte, mais pas de tableau de valeurs, je ne sais pas
- Donc, vous ne savez pas à l'avance combien de modems y sera, et vous ne savez pas combien de ports de chaque modem. Vous devrez créer les Étiquettes/zones de texte dynamiquement ensuite. Faire un peu de lecture à propos des tableaux de Contrôle en VB6. Vous pouvez également utiliser une zone de liste ou TreeView. Il n'est pas si dur à trouver par vous-même comment résoudre ce problème et vous apprendrez beaucoup en le faisant. Bonne chance!
- pour: Dabblernl, Thx, j'ai obtenu des exemples de tableaux de Contrôle, et oui c'est ce que j'avais besoin.. et je comprends maintenant.. 🙂 thx
- S'IL VOUS PLAÎT ARRÊTER DE CRIER. Si vous voulez signifier le code, utilisez backticks (`)
Vous devez vous connecter pour publier un commentaire.
En supposant que vous avez 100 ou moins d'objets, chaque objet ayant 2 valeurs, ici est une façon de stocker une paire de valeurs en 2 dimensions tableau:
À partir de votre description, je suppose que l' .Nom de la propriété contient plusieurs champs que vous souhaitez stocker séparément?
Je ne sais pas comment les champs .Nom sont séparés, dans l'exemple ci-dessous je viens de les considérer l'espace délimité:
D'abord, il crée un tableau pour contenir 32 modems, et à la fin redims le tableau à la taille réelle
La strField tableau dans chaque udtModem aura différentes longueurs, en fonction du nombre de champs .Nom
Vous aurez probablement besoin d'une autre routine de diviser les domaines de l' .Nom correctement, utilisez cette routine au lieu de
Split(strName, " ")
En fait, vous avez déjà vos données dans une variable. Cette variable est nommée colItems.
colItems est une variable de type Collection. Vous pouvez en savoir plus sur les collections sur le site MSDN.
Si vous savez que votre collection contient 2 articles et votre collection est 1, vous pouvez utiliser votre collection comme ceci:
ou, si vous souhaitez affecter à des variables:
La partie la plus difficile est qu'il est rare de savoir combien de points votre collection contiendra. Généralement, le développeur de l'API que vous utilisez est de vous donner une collection, car il n'y a aucun moyen de savoir combien d'éléments de la fonction sera de retour. Dans de tels cas, une Collection est un bon ajustement.
Lors d'une collection d'une valeur de retour d'une fonction, l'affichage dans un couple de zones de texte est rarement suffisante moyen de manipulation des données. Une zone de liste d'un certain type est généralement un meilleur ajustement. Si il y a une bonne raison pour utiliser une zone de texte, puis d'un tableau de contrôle des zones de texte est une solution possible.