ich möchte einen Array verwenden von dem ich nicht weiß wieviele Variablen ich brauch. Wenn man die Anzahl weiß muss man ja soetwas in der Art schreiben:
Dim MyArray(39) as String
Aber wie sieht das ganze aus wenn man eine unbekannte Anzahl hat? Ich habs so probiert:
Visual Basic: [code]Dim MyArray() As String Dim i As Integer
For i = 1 To 10 MyArray(i) = "Zahl: " & i Next i[/code]
Jetzt bekomm ich jedoch immer einen Fehler "Index außerhalb des gültigen Bereichs"
RedShark Poster
Anmeldedatum: 01.07.2008 Beiträge: 145
Verfasst am: 10.08.2008, 13:08
soweit ich weiss muss man das Array redimensionalisieren^^
Visual Basic: [code]Dim MyArray() As String
Dim i As Integer
ReDim MyArray(10) '10 weil for x = 1 to 10
For i = 1 To 10
MyArray(i) = "Zahl: " & i
Next i[/code]
sollniss Überflieger
Anmeldedatum: 01.05.2008 Beiträge: 699
Verfasst am: 10.08.2008, 14:18
ReDim wtf? Das is das Lahmste was es gibt. ^^
Visual Basic: [code]Dim MyArray() As String Dim i As Integer
For i = 0 To UBound(MyArray) MyArray(i) = "Zahl: " & i Next i[/code]
ZiG Überflieger
Anmeldedatum: 16.04.2008 Beiträge: 421
Verfasst am: 10.08.2008, 14:26
Ubound sollte in einer eigenen Funktion genutzt werden mit einer Fehlerbehandlung. Wenn das Array aus welchem Grund auch immer nicht dimensioniert ist, verursacht Ubound einen Fehler.
Eine Function gibt es übrigens in der Tipps und Tricks Section.
Außerdem ist es ratsam die größe des Arrays vorher zu ermitteln und in eine Variable zu schreiben. Bei einer Schleife muß er sonst jedesmal den Wert über Ubound ermitteln und das kostet natürlich Zeit.
Außerdem: Visual Basic: [code] Dim MyArray() As String Dim i As Integer
For i = 1 To 10 MyArray(i) = "Zahl: " & i Next i [/code]
Hier wurde das Array noch nicht dimensioniert. Du kannst also garnichts einfügen. Also per Redim erstmal dimensionieren ist schon richtig.
RedShark Poster
Anmeldedatum: 01.07.2008 Beiträge: 145
Verfasst am: 10.08.2008, 14:32
Das wa mal ne schlagkräftige Aussage...
@sollniss: Alter Besserwisser.. war wohl nix ^^
sollniss Überflieger
Anmeldedatum: 01.05.2008 Beiträge: 699
Verfasst am: 10.08.2008, 14:45
Ich bin natürlich davon ausgegangen, dass in MyArray schon Werte drin sind. Dass du das Array erst in der Schleife "befüllst" hab ich übersehen. :p