Hallo Freunde,
ich hätte da gerne mal wieder ne Hilfe von euch...
In einer Textdatei haben ich folgenden Inhalt.
ID|ANLEITUNG|PFAD
0001|1234|
0002|5678|
0001|9010|
0002|4234|
0003|2342|
0004|6546|
Mein Script packt sich die Datei, tüdelt das ganze zunächst in ein Array. Dann bearbeite ich mit einem Split dieses Array und verfrachte es wieder in ein neues Array.
Spoiler anzeigen
#include <file.au3>
#include <array.au>
Local $Array, $array3d[113][4]
_FileReadToArray(@ScriptDir & "\Anleitung.txt", $Array)
For $i = 1 to UBound($Array)-1
$aDimension = StringSplit($Array[$i], "|")
Consolewrite($aDimension[1] & @TAB & $aDimension[2] & @TAB & $aDimension[3] & @CRLF)
;~ _ArrayDisplay($aDimension)
$array3d[$i-1][0] = $aDimension[1]
$array3d[$i-1][1] = $aDimension[2]
$array3d[$i-1][2] = $aDimension[3]
Next
_ArrayDisplay($array3d)
$artikel_gui = GUICreate("IDs", 500, 400, 183, 115, BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX), $WS_EX_WINDOWEDGE)
GUISetFont(10, 400, 0, 'Arial')
$eingabe_gui = GUICreate("Bitte wählen Sie die ID", 500, 400, 183, 115, BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX), $WS_EX_WINDOWEDGE)
GUISetFont(10, 400, 0, 'Arial')
$combo_kostenstelle = GUICtrlCreateCombo("Hier ID wählen", 120, 80, 281, 25, default)
For $t = 1 to UBound($array3d)-1
GUICtrlSetData($combo_kostenstelle, $array3d[$t][0], "0000")
Next
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
GuiDelete($artikel_gui)
ExitLoop
EndSwitch
WEnd
EndFunc
Alles anzeigen
Soweit so gut... jetzt möchte ich aber gerne, dass die Werte mit der gleichen ID quasi in eine Zeile zusammen gepackt werden. (wie auf dem Bild zu sehen)
Muss ich im zweiten Array, nach den Werten aus dem ersten Array suchen? Oder wie bewerkstellige ich das am besten??? Gibts Vorschläge die das ganze saubere Lösen könnten?
Ziel soll nachher sein, dass ich in einer Combox die jeweilige ID auswähle (ich kriege es auch nicht hin, die ID-Werte aus dem Array da anzuzeigen) und dann die bis zu 4 Anleitungen, die dann in der jeweiligen Spalte hinter der ID stehen, in der GUI zur Anzeigen bringen kann.
Helft einem blöden bitte, was schlauer zu werden