2D Array - 1D Array

  • Lese eine INI-Datei mit "IniReadSection" aus und bekomme ein 2D-Array
    Möche die Daten von "Col1" in einem 1-D Array haben

    Kopiere dann die Daten mit "_ExcelWriteArray($oExcel, $zeile, $spalte, $aResultvarstatus1) in eine Exceldatei

  • Ich kenne eine "For Next Schleife", kann aber nichts damit anfangen wie du es meinst.

    Update:
    Der Befehl "_ExcelWriteArray" benötigt ein Array. Ich denke, daß ist dein Denkfehler.
    Mit einer Schleife die Werte auslesen, wäre sonst kein Problem.

    Einmal editiert, zuletzt von wuff100 (30. August 2013 um 17:54)

  • Ich kenne eine "For Next Schleife", kann aber nichts damit anfangen wie du es meinst.


    Wie wäre es damit, mal den von chesstiger geposteten Link durchzulesen?
    Dort sind auch Beispiele etc. Es sollte kein Problem sein, eine For-Schleife zu schreiben, welche aus deinem 2D-Array ein 1D-Array macht. ;)

    Du könntest ruhig ein wenig Eigeninitiative zeigen, weil wir werden sicher nicht "dir den Arm aus der Sonne legen", schön gesagt.

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • Dann schau dir am besten mal BugFix's Array-Tutorial an.

    Dort steht auch wie man ein Array deklariert.
    Und wen man weiß, wie man ein Array deklariert bzw. wie man es mit Werten fülltt, kann man dies auch ganz leicht auf eine For-Schleife übertragen ;)

    There's a joke that C has the speed and efficieny of assembly language combined with readability of....assembly language. In other words, it's just a glorified assembly language. - Teh Interwebz

    C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, you blow off your whole leg. - Bjarne Stroustrup
    Genie zu sein, bedeutet für mich, alles zu tun, was ich will. - Klaus Kinski

  • Eine Möglichkeit:

    [autoit]


    #include <Array.au3>

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

    Global $2DArray[3][3] = [[1,2,3],[4,5,6],[7,8,9]]
    _ArrayDisplay($2DArray, "Original 2D Array")
    Global $1DArray = Array2Dto1D($2DArray)
    _ArrayDisplay($1DArray, "Converted to 1D Array")

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

    Func Array2Dto1D($Array)
    If UBound($Array, 2) < 2 Then Return SetError(1, 0, 0)
    Local $1DA[UBound($Array) * UBound($Array, 2)], $x, $y, $z = 0
    For $y = 0 To UBound($Array) - 1
    For $x = 0 To UBound($Array, 2) - 1
    $1DA[$z] = $Array[$y][$x]
    $z += 1
    Next
    Next
    Return $1DA
    EndFunc

    [/autoit]

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯