Array anfängerfrage

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von skulldred, 16. März 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 16. März 2006
    Hallo zusammen

    Ich hab mir sowas wie nen Decoder zusammengebastelt.
    Nun möchte ich das ganze in ein Modul schmeissen (mach zum ersten mal ein Modul).

    Das eigentliche Problem ist:

    Im Moment werden Daten in etwa der Art an eine Listbox übergeben:

    for i = 1 to 10
    list1.additem bla(i)
    next i

    da ich aber, nun das ganze in ein modul bauen will und keine Extrafelder dafür benötigen möchte, soll das ganze statt in ne Listbox in ein Array.

    Hab mir das mal angeschaut, bin aber zu doof um hinter das Geheimniss der Arrays zu kommen...

    Könnte mir jemand ein Beispiel zeigen wie ich das machen muss?
    Am besten mit einer kleinen Erklärung...
    Wenn ich ein Beispiel habe, kann ich den Zusammenhang sehen und verstehe evt. so wie Arrays funktionieren.

    MfG sd
     
  2. 16. März 2006
    Array kannste z.b. So verwenden:

    Code:
    'Array Deklarieren und gleichzeitig seine größe bestimmen
    Dim aryBla(45) as Sonstwas
    
    For i%=0 to 45
     'Array Wert zuweisen
     aryBla(i%) = Blablaablub
    
    Next
    
    der nachteil bei VB6 ist, das es keine Dynamischen Array erstellen kannst! Du musst immer festlegen wie groß er ist....
    Es sind auch Array mit mehreren Dimensionen möglich, wobei die Anzahl auf 63 begranzt ist:

    Code:
    Dim aryBla(0to 10, 0 to 45 usw) as Sonstwas
    Hier nochn bissl mehr dazu...KLICK!

    mfg r90
     
  3. 16. März 2006
    Genau was ich gesucht habe THX a lot....
    auf der Seite hab ich zwar auch gesucht, hatte aber wohl Tomaten auf den Augen...

    MfG SD
     
  4. 17. März 2006
    doch dynamische arrays sind möglich mit dem ReDim Befehl.
    soll aber sehr performancelastik sein, hier mal ein Link.
    Allerding kannst du den ReDim befehl auch ohne preserve verwenden, informier dich halt mal ein bischen.
    Mit ReDim Preserve kopierst du den kompletten inhalt des einen arrays in das neue array mit der veränderten größe, ohne preserve passiert das hat nicht. wenn du also bevor du das array füllst weisst wie groß es werden soll, dann kannst du mit der ReDim funktion auch ohne preserve wunderbar arbeiten. ein Ein Beispiel:
    Du möchtest aus einer textdatei eine bestimmte anzahl von werten auslesen, weisst aber nicht wieviele (zb. eine IP Liste) und diese ini einem array speichern.wir gehen davon aus dass jeder weer eine zeile belegt. jetzt kannst du einfach die datei öffnen und prüfen wie viele zeilen dieses array hat, dann die größe des arrays mit redim festlegen und ganz normal einlesen.

    Hoffe ich konnte dir helfen.

    Gruß,
    Figger
     
  5. 17. März 2006
    V6 + Dynamische Arrays = Kein Problem (Mit ein paar einschränkungen)

    Code:
    Dim DynArray() As Integer
    Dim i%
    
    Redim DynArray(1 To 100) 'Array grenzen bestimmen, ohne das würde es einen Fehler geben
    
    for i = 1 To 100
     DynArray(i) = i*(i^2) 'Irgendwelche Werte
    next i
    
    wer was wirklich Dynamisches will, der nimmt halt eine Collection:

    Code:
    Dim Coll As Collection
    
    Set Coll = New Collection
    
    Call Coll.Add ("ICh bin ein neuer Wert") 'Neuen Datensatz hinzufügen
    
    Dim i%
    
    For i = 1 To Coll.Count 'ACHTUNG: Indexierung beginnt bei ner Collection bei 1 !!
     Debug.Print Coll.Item(i)
    next i
     
  6. 17. März 2006
    dynamisch kann man das ned wirklich nennen, denn der array muss vorher IMMER dimensioniert werden.....

    aber die Idee mit der Collection ist auch gut...
     
  7. 18. März 2006
    jopp die collection war die ideeal Lösung Thx

    MfG SD
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.