"Feldnamen" aus arrays ansprechen

Morph

Erfahrenes Mitglied
Hiho,

Alsooo ... ist im Prinzip nen ganz simples Problem, nur leider kenn ich den korrekten VB syntax dazu ned.

Was möcht ich überhaupt ? Ich möcht z.b. ne 3x3 "Felder" große Matrix über nen array ansprechen, womit ich die werte später nach meinen wünschen verändern kann.
Nun hab ich ein Problem, und zwar sprech ich das jeweilige feld mit lbl_3_2 z.b. an (spalte, zeile). nun weiß ich aber ned ganz, wie ich das in folgenden code richtig (also vb konform) reinbauen soll:
Code:
Dim testArray(1 To 3, 1 To 3) As Integer

For spalte = 1 To 3 Step 1
    For zeile = 1 To 3 Step 1
        testArray(spalte, zeile) = 1
        lbl_spalte_zeile.Caption = testArray(spalte, zeile)   ' hierum gehts :-)
    Next zeile
Next spalte
End Sub

Das Programm ist in dieser form zwar noch recht sinnfrei, aber nagut - soll halt nur mein "Problem" demonstrieren.

Was ich auch noch gerne wissen würde, ist, wie ich, dynamisch, in so einer schleifenkonstruktion, prüfen kann, ob ein "Label-Feld" schon existiert und das dann ggf. anlegen kann, und zwar an einer von mir bestimmten position :)

Puh ... ist nun recht viel geworden, hoffe mal ihr blickt durch mein geschriebsel durch, wenn ned --> einfach dumm vonner seite anlabern ;)

Grüße, Morph
 
Also wenn ich dich da halbwegs verstanden habe, dann willst du denn Inhalt eines 2 dimensionalen Arrays (heißt übrigens nicht Matrix sondern eher Tabelle, Matrizen sind 3 dimensionale Arrays) in Label-Felder schreiben.
Also wenn es nur um die Darstellung geht, kannst du auch ein List-Control verwenden, das sieht so ähnlich aus wie die Zellen bei Excel.
Oder du erstellst die die Label Felder Dynamisch und kannst sie auch in einem Array ansprechen.
Bei gelegenheit werd ich mal ein Code Beispiel reinposten.

Gruss Homer
 
thx :)

War mir bei den Begrifflichkeiten ned ganz sicher, aber da du das ja halbwegs verstanden hast kanns ja ned sooo schlimm gewesen sein :D
Oder du erstellst die die Label Felder Dynamisch und kannst sie auch in einem Array ansprechen.
Bei gelegenheit werd ich mal ein Code Beispiel reinposten.
Das wollt ich gern - eben die Label Felder in ner Schleife like der obrigen ansprechen.

Grüße, Morph
 
Vielleicht hast du das so gemeint. Ich habe das mit dem dynamischen erstellen von LabelFelder allerdings net hinbekommen, ist schon lange her, daß ich was mit VB gemacht habe.
Ich versteh nur nicht, warum du das kein Listcontrol nimmst, ist viel besser zum handhaben.

Hier mal mit 9 Labelfeldern:
Code:
Dim testArray(1 To 3, 1 To 3) As Integer
    Dim lblCount, spalte, zeile As Integer
    lblCount = 0
    
    For spalte = 1 To 3 Step 1
        For zeile = 1 To 3 Step 1
            testArray(spalte, zeile) = 1
            'lblLabel sind mehrere Labelfelder mit gleichem Namen aber mit Index von 0-8
            lblLabel(lblCount) = testArray(spalte, zeile)   ' hierum gehts
            lblCount = lblCount + 1
        Next zeile
    Next spalte

Gruss Homer
 
Zurück