Ermitteln, wie groß das Array ist (doch noch nicht gelöst)

  • Hallo Community,

    ich lese automatisiert bestimmte Daten in ein Array ein.
    Leider habe ich das Problem, dass die Anzahl der Daten im Array immer variiert, kann ich das irgendwie auslesen, wie groß es ist, also wieviele Einträge?

    Vielen Dank,
    Saft

    4 Mal editiert, zuletzt von Saft (26. August 2009 um 10:51)

  • Also das nachfolgende Script zeigt Dir, wie Du die Anzeahl der Array auslesen kannst.
    Das array[0] gibt Dir in diesem Script die Zahl 4 aus, da dr String in vier Teile geteilt wird.

    Spoiler anzeigen
    [autoit]


    $1File = "c:\autoit\deutschland\dummy.txt"
    $2File = "c:\autoit\englandland\dummy.txt"
    $3File = "c:\autoit\spanienland\dummy.txt"

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $1_array = StringSplit($1File, '\', 1)
    MsgBox(0,"",$1_array[0])
    MsgBox(0,"",$1_array[1])
    MsgBox(0,"",$1_array[2])
    MsgBox(0,"",$1_array[3])
    MsgBox(0,"",$1_array[4])

    [/autoit] [autoit][/autoit] [autoit]

    $2_array = StringSplit($2File, '\', 1)
    MsgBox(0,"",$2_array[0])
    MsgBox(0,"",$2_array[1])
    MsgBox(0,"",$2_array[2])
    MsgBox(0,"",$2_array[3])
    MsgBox(0,"",$2_array[4])

    [/autoit] [autoit][/autoit] [autoit]

    $3_array = StringSplit($3File, '\', 1)
    MsgBox(0,"",$3_array[0])
    MsgBox(0,"",$3_array[1])
    MsgBox(0,"",$3_array[2])
    MsgBox(0,"",$3_array[3])
    MsgBox(0,"",$3_array[4])

    [/autoit]

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • Meinst Du UBound?

    Genau das habe ich gesucht, vielen Dank!

    /Edit:

    Geht nur leider immernoch nicht, hier ist mein Code:

    [autoit]

    $Anzahl = Int(UBound($avArray))

    [/autoit][autoit][/autoit][autoit]

    For $i = 0 to $Anzahl step 1
    $as_Body =$as_Body & " , " & $avArray[$i]
    Next

    [/autoit]

    Erkennt jemand den Fehler?

    Einmal editiert, zuletzt von Saft (26. August 2009 um 09:15)

  • Zitat

    Erkennt jemand den Fehler?

    Ja!^^

    [autoit]

    $Anzahl = UBound($avArray) - 1

    [/autoit]

    Arrays sind idR. nullbasiert. D.h daß der erste Index des Arrays Null ist.
    Klick mal auf das

    [autoit]

    UBound

    [/autoit]

    und schau in der Hilfe unter Bemerkungen.
    Dann wird auch klar, warum ein

    [autoit]

    Dim $Array[1] ;ein Array mit nur einem Feld, beim Dimensionieren!!! die Anzahl der Dimensionen angeben
    $Array[0]="Inhalt" ; beim Füllen und Abfragen ist der Index!!! maßgeblich
    $Array[1]="Inhalt2" ;Fehlermeldung, da $array[1] nicht existiert

    [/autoit]