Moin,
ich möchte aus einem 2D-Array ein 1D-Array erstellen.
Wie mache ich das?
Gruß
Wuff
Moin,
ich möchte aus einem 2D-Array ein 1D-Array erstellen.
Wie mache ich das?
Gruß
Wuff
Mit AutoIt, würde ich sagen.
...
Du musst schon ein wenig mehr sagen. In welchem Format willst du es denn konvertieren?
Prinzipiell geht das mit einer For-Schleife.
lg
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
Mit "Col1" meinst du also die Value-Spalte (Index 1)?
Wie gesagt: Lässt sich mit einer einfachen For-Schleife übertragen, siehe Hilfe zu For, wenn du so damit nichts anfangen kannst.
http://translation.autoit.de/onlinehilfe/keywords/For.htm
lg
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.
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.
Hab ich gelesen und wie gesagt könnte ich die Werte einzeln in eine Msgbox auslesen, weis aber nicht wie ich ein 1D Array damit erstellen soll.
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
Und falls Du dann noch Hilfe brauchst, dann bitte mit einem Beispiel (wie sieht das Array vorher aus, wie soll es als Ergebnis aussehen).
Eine Möglichkeit:
[autoit]
#include <Array.au3>
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")
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
Gruß,
UEZ