Buttons aus Array erstellen

  • Tag

    Ich versuch grade ein Script zu schreiben, bei dem ich gerne für jedes Laufwerk einen Button hätte. Das heisst mit DriveGetDrive sollen die einzelnen Arrays gelesen werden, und daraufhin soll er z. B. 2 Buttons erstellen wenn DriveGetDrive 2 Laufwerke erkannt hat.
    Hab das mal irgendwie versucht (habe eigtl. nie relativ gross mit Arrays gearbeitet):

    [autoit]

    $Drives = DriveGetDrive("REMOVABLE")
    For $i = 1 to $Drives[0]
    $Button[$i] = GUICtrlCreateButton("Button1", 152, 168, 75, 25, 0)
    Next

    [/autoit]


    Gibt aber folgenden Error aus:

    Code
    C:\Users\Ahatius\Documents\Scripts\Test.au3 (3) : ==> Expected a "=" operator in assignment statement.:
    $Button[$i] = GUICtrlCreateButton("Button1", 152, 168, 75, 25, 0)
    $Button^ ERROR

    Einmal editiert, zuletzt von ahatius (29. April 2009 um 16:09)

  • Du meinst mit Dim?
    Hab ich mal probiert, Dim $Button aber hat auch nicht geklappt. Btw. ist das der ganze Code momentan, gibt nicht mehr.

  • [autoit]

    #include <GUIConstantsEx.au3>
    Global $x = 10, $y = 10, $laufwerke[9999] ;Maximale Anzahl der zu erstellenen Buttons

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

    GUICreate("Test")
    $Button = GUICtrlCreateButton("Buttons erstellen", 60,$y)
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button
    _erstellen()
    EndSwitch
    WEnd

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

    Func _erstellen()
    $var = DriveGetDrive( "all" )
    If NOT @error Then
    For $i = 1 to $var[0]
    $laufwerke[$i] = GUICtrlCreateButton($var[$i],$x, $y)
    $y += 30
    Next
    EndIf
    EndFunc

    [/autoit]