![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() Kann man in VB ein Array mit Strings, statt den Indizes ansprechen? Also zB. so: array("eins"), array("zwei"), usw...
Wenn ja, wie deklarier ich so ein array? Wenn nicht, könnte ich dynmisch während mein Programm läuft aus Usereingaben Variablen/arrays deklarieren? Oder geht des auch nicht? Dank euch schon mal... ![]() |
![]() |
![]() |
![]() |
#2 |
Master
![]() |
![]() Hi!
Also meines wissens gibt es keine Möglichkeit direkt ein array so zu deklarieren das man es mit einem Key ansprechen kann. Du kannst entweder eine Collection mit einer Klasse verwenden. Ich finde das aber etwas umständlich. (und weiss die syntax auch nichtmehr ![]() Oder du machst es so wie ich es immer mache. Du machst einen neuen Typ der einen Key und ein oder mehrere Werte hat. Machst mit diesem Typ ein array. Und eine Globlae Variable die deine Items mitzählt.Dann brauchst du zum setzen und lesen mit dem Key nurnoch 2 kleine Funktionen. Beispiel: Code:
Private Type MyArrayType Value As String key As String End Type Dim MyArray() As MyArrayType Dim MyArrayCount As Long Public Function SetMyArray(key As String, Value As String) MyArrayCount = MyArrayCount + 1 'Die anzahl der einträge um eins erhöhen ReDim Preserve MyArray(MyArrayCount - 1) 'Das array um eins vergrößern -1 deswegen damit in myarraycount immer die richtiger anzahl steht 'Key und value zuweisen MyArray(MyArrayCount - 1).key = key MyArray(MyArrayCount - 1).Value = Value End Function Public Function GetMyArray(key As String) As String Dim i As Long 'Gehe alle einträge durch For i = 0 To MyArrayCount - 1 If MyArray(i).key = key Then 'Wenn ein entsprechender Eintrag gefunden wurde dann gib ihn zurück GetMyArray = MyArray(i).Value Exit Function End If Next i 'Wenn das Programm hierher kommt wurde kein Eintrag mit ensprechendem key gefunden End Function Ich hoffe das hilft dir weiter! lg
____________________________________
__________________ |»»»»»SONIC««««««| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ |
![]() |
![]() |
![]() |
#3 |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() Super danke!
Bin mir ziemlich sicher, dass ich mit deinem beispiel als Anhang was anfangen kann. Nur noch eine Frage dazu: wie zählt MyArrayCount weiter?? Hab nirgends gefunden, dass der um 1 weiter zählt, wenn ein neuer key hinzu kommt. Oder ist das so eine Art Konstante, wo immer die Zahl drin steht wie viele Werte der Array enthält? |
![]() |
![]() |
![]() |
#4 |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() passt scho, habs schon im Code gefunden. Hab ich nämlich nicht so ganz verstanden, wie des gehen soll, dass der auf einmal weiß, auf welcher Stelle der is.
|
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|