Array Problem

  • Hallo,

    ich versuche die Rückgabe die von der Windows "Systeminfo" zurückgegeben wird in ein 2D Array zu packen für spätere Weiterverwendung.

    Da ich die Werte gerne getrennt haben will habe ich versucht das Ergebnis von StdoutRead erst in en 1D Array zu packen und dann im 2ten Durchgang Anhand des Doppelpunktes das ganze nochmal aufzusplitten.

    in Zeile 22 bekomme ich leider nur die Fehlermeldung "Array variable has incorrect number of Subscripts or sunscript dimension range exceeded"

    [autoit]


    $aErg[$i - 1][1] = $aItem[1]
    $aErg[$i - 1][1] = ^Error

    [/autoit]

    Hier mal mein bisheriger Versuch

    [autoit]

    #include <ArrayMore.au3>

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

    Dim $rueckgabe, $pid, $aStr

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

    $pid = Run(@ComSpec & " /c systeminfo", "", @SW_HIDE, 6)

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

    While 1
    $rueckgabe &= StdoutRead($pid)
    If @error Then ExitLoop
    WEnd

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

    $aStr = StringSplit($rueckgabe, @CRLF, 1)

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

    _Array2DEmptyDel($aStr)
    _ArrayDisplay($aStr, "Ohne Leerzeilen")

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

    Dim $aErg[$aStr[0]][2]
    For $i = 1 To $aStr[0]
    $aItem = StringSplit($aStr[$i], ":", 1 + 2)
    $aErg[$i - 1][0] = $aItem[0]
    $aErg[$i - 1][1] = $aItem[1]
    Next
    _ArrayDisplay($aErg)

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

    Gruß Waro

    Einmal editiert, zuletzt von waro0815 (5. März 2011 um 17:03)

  • Hallo waro0815.
    Ich denke das problem ist, dass $aItem[1] keinen Wert hat bzw. nicht "erstellt" ist.
    Check das doch einfach mal mit UBound($aItem), wenn du 1 zurück bekommst, dann gibt es $aItem[1] nicht.
    Hoffentlich konnte ich etwas helfen.
    MfG. PrideRage

    Meine Projekte:
    ClipBoard Manager (beendet)
    Gutes ClipBoard Verwaltungs Programm mit nützlichen Funktionen.

    HTML Creator (beendet)
    Nützliches Tool um schnell ein eigenes HTML Dokument zu erstellen.

    • Offizieller Beitrag

    Hast du mal die Ausgabe des gesamten Textes angeschaut? Eine Darstellung in einem 2D-Array ist dafür nicht sonderlich geeignet. Es sei denn du erweiterst die 2.te Dimension auf die max. Anzahl der Unterpunkte.
    Denn das Ergebnis sieht z.B. so aus (Ausschnitt), ein Splitten an : geht da auch voll in die Hose ;) :