Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
nicok
Poster
Poster

Anmeldedatum: 15.05.2008
Beiträge: 161

Array Unbekannte Anzahl
Verfasst am: 10.08.2008, 13:01

Hi,


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
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
Ü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
Ü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
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
Ü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
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: visual basic, array, unbekannte

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Wichtig: [Ebook] jetzt lerne ich Visual Basic 6 5056 02.06.2010, 13:55
Keine neuen Beiträge Miceosoft Visual Basic 6.0 Einsteiger Kurs? 1183 17.02.2007, 21:01
Keine neuen Beiträge SUCHE MICROSOFT VISUAL BASIC! 941 12.02.2007, 21:54
Keine neuen Beiträge Microsoft Visual Basic 1271 28.01.2007, 00:59
Keine neuen Beiträge Visual Basic.. Version?? 1228 22.01.2007, 18:23
 


[ Time: 0.0953s ][ Queries: 95 (0.0399s) ][ GZIP on - Debug on ]