Array in GUI darstellen?

  • Hallo zusammen,

    wie könnte ich nachfolgendes in einer GUI darstellen? Meine Versuche bisher sind leider kläglich gescheitert (ListView):

    [autoit]

    #include <ad.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>

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

    _AD_Open()

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

    Global $aArray = _AD_GetObjectsInOU("", "(objectcategory=Computer)", 2, "name, description")

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

    _AD_Close()

    [/autoit]
  • Spoiler anzeigen
    [autoit]

    #include <GuiListView.au3>

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

    Dim $aArray[2][2] = [[1, 2],[3, 4]]

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

    $hGUI = GUICreate("",400,400, -1,-1)
    $hListview = _GUICtrlListView_Create($hGUI,"Spalte1|Spalte2",4,4)
    GUISetState()

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

    _GUICtrlListView_AddArray($HListview, $aArray)

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

    Do
    Until GUIGetMsg() = -3

    [/autoit]


    Beim nächsten mal wärs schön, wenn du deinen Versuch mal zeigen würdest.

  • Danke. Meine Versuche habe ich vor Wut wieder gelöscht ;) Sorry.


    Fehlermeldung:

    [autoit]

    P:\AutoIT\adallePCs.au3(26,65) : ERROR: _GUICtrlListView_Create(): undefined function.
    $hListview = _GUICtrlListView_Create($hGUI,"Spalte1|Spalte2",4,4)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    P:\AutoIT\adallePCs.au3(29,46) : ERROR: _GUICtrlListView_AddArray(): undefined function.
    _GUICtrlListView_AddArray($HListview, $aArray)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    P:\AutoIT\adallePCs.au3 - 2 error(s), 0 warning(s)

    [/autoit]

    Einmal editiert, zuletzt von AutoITier (8. März 2012 um 09:37)

  • Bitte was?
    Wenn du die "Dim Zeile" entfernst, gibt es in meinem Beispiel kein Array und es läuft in einen Error.

    Das ist ein Beispiel! Das einzige was du im Endeffekt in deinem Skript tun musst, ist eine Listview erstellen (_GUICtrlListView_Create()) und diese dann mit _GUICtrlListView_AddArray() befüllen.

  • Nein, das Script ist völlig inordnung also wenn du es 1:1 übernimmst läuft es, du wirst wohl etwas geändert haben..

    Gruß Marvin

  • Nein, wirklich. Wenn ich die DIM-Zeile belasse, werden meine Spalten mit 1 und 2 befüllt. Entferne ich es, kommt die Anzeige korrekt korrekt.

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <ad.au3>
    #include <guilistview.au3>

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

    _AD_Open()

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

    Global $aArray = _AD_GetObjectsInOU("", "(objectcategory=Computer)", 2, "name, description")

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

    #Region ### START Koda GUI section ### Form=p:\autoit\lv.kxf
    $Form1_1 = GUICreate("Form1", 623, 442, 192, 124)
    $hListview = GUICtrlCreateListView("Spalte 1|Spalte 2", 40, 32, 529, 369)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 200)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 300)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    _GUICtrlListView_AddArray($HListview, $aArray)
    ;_GUICtrlListView_SimpleSort($HListview,$B_DESCENDING,1)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

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

    _AD_Close()

    [/autoit][autoit][/autoit][autoit][/autoit]
  • Na ist doch auch klar.. dein Array gibt es doch schon und dann willst du mit Dim $aArray das array noch mal erzeugen dass ist doch auch sinnlos.. dein Array wird von _AD_getobj... schon erzeugt also brauchst du dass natürlich nicht..

    Gruß Marvin

  • Denk doch bitte mal kurz nach bevor du so eine Behauptung in den Raum wirfst. :)

    Natürlich kannst du die Arraydeklaration aus meinem Beispiel nicht in dein Skript übernehmen. Du hast schliesslich dein eigenes. Ich hab dieses Array doch nur erstellt, um überhaupt was zu haben, das ich in meinem Beispiel in die Listview eintragen kann ^^

  • War auch kein Vorwurf, nur um das klarzustellen. Entschuldigung, wenn es so ankam. Ich finde es klasse, wie mir hier - gerade als Anfänger - geholfen wird und will das gerne auch nochmal zum Ausdruck bringen.