Zielordner Auswahlmöglichkeit

  • Hi Ho!

    Gibt es die Möglichkeit, ein Input Feld zu erzeugen, neben dem dann ein Button "Durchsuchen" steht.

    Und wenn ich auf Durchsuchen klicke, habe ich die Windowsmaske, in der ich einen Installationsordner angeben kann?

    Also so, wie in den ganz normalen installern!

    Gibt es da was vorgefertigtes?

    Gurß,

    Tobias

    Einmal editiert, zuletzt von cryc (5. März 2007 um 15:25)

  • Hi,

    das Input und den Button musst du selber erzeugen und beim Klicken des Buttons eben FileSelectFolder aufrufen


    Mfg

  • Wunder bar :) Danke

    Habe das jetzt soweit eingebunden und dachte das ich das Fenster so auch aktualiersieren kann. Klappt aber nicht wirklich.

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    $GUI1 = GUICreate("CTMSCP - Installation",600,400,-1,-1,$WS_SIZEBOX+$WS_SYSMENU) ; will create a dialog box that when displayed is centered
    $LABEL1 = GUICtrlCreateLabel("Willkommen zur Installation der CTMSCP - Software", 15, 130, 500, 400)
    GUICtrlSetFont(-1, 15, 800, 0, "Arial")
    $LABEL3 = GUICtrlCreateLabel("SoPra Gruppe 16", 15, 170, 200, 200)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $BUTTON1 = GUICtrlCreateButton("Weiter", 285, 325, -1, -1, 0)
    $BUTTON2 = GUICtrlCreateButton("Abbrechen", 400, 325 ,100, 25 )
    $BUTTON0 = GUICtrlCreateButton("weiter", 342, 39, -1, -1, 0)
    GUISetBkColor (0xE0FFFF)
    GUICtrlCreatePic("test.gif",15,15, 311, 65)

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

    $GUI2 = GUICreate("CTMSCP - Installation 2",600,400,-1,-1,$WS_SIZEBOX+$WS_SYSMENU)
    $LABEL1 = GUICtrlCreateLabel("CTMSCP - Software", 15, 130, 100, 100)
    $INPUT1 = GUICtrlCreateInput ( "C:\Programme\CTMS", 150, 125 , 150, 20)
    $BUTTON1 = GUICtrlCreateButton( "Durchsuchen", 400, 125, 100, 20)
    $LABEL2 = GUICtrlCreateLabel("MySQL - Server ", 15, 180, 500, 400)
    $LABEL3 = GUICtrlCreateLabel("JAVA Runtime Environment XX.XX", 15, 230, 500, 400)
    $BUTTON2 = GUICtrlCreateButton( "Weiter", 200, 300, -1, -1, 0)
    $BUTTON3 = GUICtrlCreateButton("Abbrechen", 400, 325, -1, -1, 0)
    $INPUT1 = GUICtrlCreateMenu("juhu")
    GUICtrlSetFont(-1, 15, 800, 0, "Arial")
    GUISetBkColor (0xE0FFFF)
    GUICtrlCreatePic("test.gif",15,15, 311, 65)

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

    $GUI3 = GUICreate("CTMSCP - Installation3",600,400,-1,-1,$WS_SIZEBOX+$WS_SYSMENU)
    $GUI4 =GUICreate("CTMSCP - Installation4",600,400,-1,-1,$WS_SIZEBOX+$WS_SYSMENU)

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

    GUISetState(@SW_SHOW, $GUI1)

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

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg(0)
    Switch $msg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $BUTTON0
    GUISetState(@SW_HIDE, $GUI1)
    GUISetState(@SW_SHOW, $GUI2)
    Case $BUTTON1
    $var = FileSelectFolder("Choose a folder.", "")
    ControlClick("CTMSCP - Installation","","INPUT1")
    Send($var)

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

    EndSwitch
    Wend

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


    Gibt es ne andere funktion, die den Inhalt vom Input1 ändert ??

    Gruß

    Einmal editiert, zuletzt von cryc (5. März 2007 um 15:51)

  • Jupp, 'GUICtrlSetData($INPUT1, $var)' funktioniert. Eigene Fenster (also in AutoIt erstellt) funktionieren anders als 'fernbediente'.

  • Ah danke,

    allerdings funzt es nicht wirklich.

    [autoit]


    Case $BUTTON1
    $var = FileSelectFolder("Choose a folder.", "")
    GUICtrlSetData($INPUT1, $var)

    [/autoit]

    Es ist mir logisch eigentlich klar, dass sich das Input feld nicht ändern kann. aber ich weiß nicht wie ich es ändern soll^^

    Denn GUICtrlSetData($INPUT1, $var) reagiert ja auf $BUTTON1, müsste aber doch erst auf das OK von dem "FileSelectFolder" reagieren oder?

    Gruß,

    Tobias

  • So klappt's bei mir :
    GUICtrlSetData($INPUT1,
    FileSelectFolder("Choose a folder.", ""))

  • oh man bin ich eingerostet^^

    Danke!

    noch eine kleine Frage.

    Weißt Du, wieso BUTTON1 + BUTTON2 aus der ersten Gui nicht aktiv sind?

    also wenn ich mit der maus auf Button3 gehe, dann wird der button ja so orange umrundet. und ich kann auf ihn drauf klicken :)

    Bei den anderen beiden eide rnicht. die sind tot :(

  • Jupp, dein '$LABEL1' hat eine Höhe von 400 Pixeln und 'verdeckt' damit deine Buttons. Die sieht man zwar, aber die Maus 'findet' das Label. Einfach kleiner machen und schon geht's ;-).

  • Hab nicht das ganze Programm getestet nur die erste Maske. Dafür sieht die Änderung so aus :

    Zeile 4: $LABEL1 = GUICtrlCreateLabel("Willkommen zur Installation der CTMSCP - Software", 15, 130, 500, 50)

    Beim nächsten mal gibt's gleich das Code-Stück.

  • Danke erstmal für die vielen antworten. Die nächsten Fragen kommen garantiert :)

    Gruß und noch nen schönen Abend,

    Tobias

  • Sooooo da bin ich wieder :)

    Habe folgende Frage:

    Ich lass jetzt mit meinem Programm eine *.exe ausführen. wie ist es möglich, dass man das, was da passiert nicht sieht, sondern das das versteckt ausgeführt wird. Ich meine Zeile 94 bis 119.

    Gruß,

    Tobias

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    $GUI1 = GUICreate("CTMSCP Computerunterstütztes Therapiemanagement System - Installation",600,400,-1,-1,$WS_SIZEBOX+$WS_SYSMENU) ; will create a dialog box that when displayed is centered
    $LABEL1 = GUICtrlCreateLabel("Willkommen zur Installation der CTMSCP - Software", 15, 130, 2400, 100)
    GUICtrlSetFont($LABEL1, 15, 800, 0, "Arial")
    $LABEL2 = GUICtrlCreateLabel("SoPra Gruppe 16", 15, 170, 200, 200)
    GUICtrlSetFont($LABEL2, 10, 800, 0, "Arial")
    $LABEL_COPY = GUICtrlCreateLabel( "Copyright by SoPra Gruppe 16 , WS 06/07", 5, 357)
    GUICtrlSetFont($LABEL_COPY , 7 , "1000" ,0, "Arial")
    $BUTTON1 = GUICtrlCreateButton("Weiter", 400, 335, 80, 20, 0)
    $BUTTON2 = GUICtrlCreateButton("Abbrechen", 490, 335 ,80, 20, 0 )
    GUISetBkColor (0xE0FFFF)
    GUICtrlCreatePic("test.gif",15,15, 311, 65)

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

    $GUI2 = GUICreate("CTMSCP Computerunterstütztes Therapiemanagement System - Installation",600,400,-1,-1,$WS_SIZEBOX+$WS_SYSMENU)
    $INSTALL_BOX1 = GUICtrlCreateCheckbox("Install" , 17 , 160 )
    $LABEL1 = GUICtrlCreateLabel("CTMSCP - Software", 115, 162, 125, 20)
    GUICtrlSetFont($LABEL1, 10, 800, 0, "Arial")
    $INPUT1 = GUICtrlCreateInput ( "C:\Programme\CTMS", 280, 161 , 180, 20)
    $BUTTON3 = GUICtrlCreateButton( "Durchsuchen", 470, 160, 100, 20)
    $INSTALL_BOX2 = GUICtrlCreateCheckbox("Install" , 17 , 196 )
    $LABEL2 = GUICtrlCreateLabel("MySQL - Server ", 115, 197, 100, 20)
    GUICtrlSetFont($LABEL2, 10, 800, 0, "Arial")
    $INPUT2 = GUICtrlCreateInput ( "C:\Programme\MySQL\MySQL Server 4.1\", 280, 196 , 180, 20)
    $BUTTON4 = GUICtrlCreateButton( "Durchsuchen", 470, 195, 100, 20)
    $INSTALL_BOX3 = GUICtrlCreateCheckbox("Install" , 17 , 235 )
    $LABEL3 = GUICtrlCreateLabel("JAVA R. E. XX.XX", 115, 235, 180, 20)
    GUICtrlSetFont($LABEL3, 10, 800, 0, "Arial")
    $INPUT3 = GUICtrlCreateInput ( "C:\Programme\Java\jre1.5.0_11", 280, 231 , 180, 20)
    $BUTTON5 = GUICtrlCreateButton( "Durchsuchen", 470, 230, 100, 20)
    $LABEL4 = GUICtrlCreateLabel("Bitte wählen Sie die zu installierenden Programme und die entsprechenden Zielordner", 15, 100, 480, 40)
    GUICtrlSetFont($LABEL4, 13, 800, 0, "Arial")
    $LABEL_COPY = GUICtrlCreateLabel( "Copyright by SoPra Gruppe 16 , WS 06/07", 5, 357)
    GUICtrlSetFont($LABEL_COPY , 7 , "1000" ,0, "Arial")
    $BUTTON6 = GUICtrlCreateButton("Zurück", 310, 335 ,80, 20, 0 )
    $BUTTON7 = GUICtrlCreateButton("Weiter", 400, 335, 80, 20, 0)
    $BUTTON8 = GUICtrlCreateButton("Abbrechen", 490, 335 ,80, 20, 0 )
    GUISetBkColor (0xE0FFFF)
    GUICtrlCreatePic("test.gif",15,15, 311, 65)

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

    $GUI3 = GUICreate("CTMSCP Computerunterstütztes Therapiemanagement System - Installation",600,400,-1,-1,$WS_SIZEBOX+$WS_SYSMENU)
    $LABEL1 = GUICtrlCreateLabel("Folgende Komponenten werden installiert:", 15, 100, 480, 40)
    GUICtrlSetFont($LABEL1, 13, 800, 0, "Arial")
    $INSTALL_1 = GUICtrlRead($INSTALL_BOX1)
    If $INSTALL_1 = 1 Then
    $LABEL2 = GUICtrlCreateLabel("Folgende Komponenten werden installiert:", 15, 200, 480, 40)

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

    EndIf
    $BUTTON9 = GUICtrlCreateButton("Zurück", 310, 335 ,80, 20, 0 )
    $BUTTON10 = GUICtrlCreateButton("Installieren", 400, 335, 80, 20, 0)
    $BUTTON11 = GUICtrlCreateButton("Abbrechen", 490, 335 ,80, 20, 0 )
    GUISetBkColor (0xE0FFFF)
    GUICtrlCreatePic("test.gif",15,15, 311, 65)

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

    $GUI4 =GUICreate("CTMSCP - Installation4",600,400,-1,-1,$WS_SIZEBOX+$WS_SYSMENU)

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

    GUISetState(@SW_SHOW, $GUI1)

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

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg(0)
    Switch $msg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $BUTTON1
    GUISetState(@SW_HIDE, $GUI1)
    GUISetState(@SW_SHOW, $GUI2)
    Case $BUTTON2
    ExitLoop
    Case $BUTTON3
    GUICtrlSetData($INPUT1, FileSelectFolder("Wähle einen Ordner", ""))
    Case $BUTTON4
    $FOLDER_2 = GUICtrlSetData($INPUT2, FileSelectFolder("Wähle einen Ordner", ""))
    Case $BUTTON5
    $FOLDER_3 = GUICtrlSetData($INPUT3, FileSelectFolder("Wähle einen Ordner", ""))
    Case $BUTTON6
    GUISetState(@SW_SHOW, $GUI1)
    GUISetState(@SW_HIDE, $GUI2)
    Case $BUTTON7
    GUISetState(@SW_SHOW, $GUI3)
    GUISetState(@SW_HIDE, $GUI2)
    Case $BUTTON8
    ExitLoop
    Case $BUTTON9
    GUISetState(@SW_SHOW, $GUI2)
    GUISetState(@SW_HIDE, $GUI3)
    Case $BUTTON10
    $INSTALL_1 = GUICtrlRead($INSTALL_BOX1)
    IF $INSTALL_1 = 1 Then
    $INSTALL_FOLDER_1 = GUICtrlRead($INPUT1)

    Run( "CTMS-Setup.exe")

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

    ; Setup - CTMS Startfenster
    WinWait("Setup - CTMS")
    Send("{ENTER}")

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

    ; Zielordnerfenster - Wohin soll das Programm installiert werden?
    WinWait("Setup - CTMS", "Wohin soll CTMS installiert werden?")
    ControlClick("Setup - CTMS","Startmenü-Ordner auswählen","TEdit1")
    Send($INSTALL_FOLDER_1)
    Send("!w")

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

    ; Startmenü-Ordner auswählen
    WinWait("Setup - CTMS", "Startmenü-Ordner auswählen")
    ControlClick("Setup - CTMS","Startmenü-Ordner auswählen","TEdit1")
    Send("D:\Programme\CTMS2") ; FEHLER MUSS NOCH RAUSGENOMMEN WERDEN
    Send("!w")

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

    ; Installation durchführen
    WinWait("Setup - CTMS", "Installation durchführen")
    Send("{ENTER}")

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

    ; Beenden des Setup-Assistenten
    WinWait("Setup - CTMS", "Beenden des CTMS Setup-Assistenten")
    Send("{ENTER}")
    EndIf

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

    EndSwitch
    Wend

    [/autoit]
  • Hi!

    Danke für den Tip, funktioniert nur leider nicht :(

    Habe das jetzt so umgestellt:

    Spoiler anzeigen
    [autoit]

    IF $INSTALL_1 = 1 Then
    $INSTALL_FOLDER_1 = GUICtrlRead($INPUT1)

    Run( "CTMS-Setup.exe", "" , @SW_HIDE)

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

    ; Setup - CTMS Startfenster
    WinWait("Setup - CTMS")
    Send("{ENTER}")

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

    ; Zielordnerfenster - Wohin soll das Programm installiert werden?
    WinWait("Setup - CTMS", "Wohin soll CTMS installiert werden?")
    ;ControlSend("Setup - CTMS","Startmenü-Ordner auswählen","TEdit1", $INSTALL_FOLDER_1)
    Send($INSTALL_FOLDER_1)
    ;Send("!w")

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

    ; Startmenü-Ordner auswählen
    WinWait("Ordner existiert bereits")
    ;ControlClick("Setup - CTMS","Startmenü-Ordner auswählen","Button1")
    Send("!j")

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

    ; Startmenü-Ordner auswählen
    WinWait("Setup - CTMS", "Startmenü-Ordner auswählen")
    ControlClick("Setup - CTMS","Ordner existiert bereits","TEdit1")
    Send("D:\Programme\CTMS2") ; FEHLER MUSS NOCH RAUSGENOMMEN WERDEN
    Send("!w")

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

    ; Installation durchführen
    WinWait("Setup - CTMS", "Installation durchführen")
    Send("{ENTER}")

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

    ; Beenden des Setup-Assistenten
    WinWait("Setup - CTMS", "Beenden des CTMS Setup-Assistenten")
    Send("{ENTER}")
    EndIf

    [/autoit]

    Aber trotz dem @SW_HIDE Parameter in der Run, zeigt er die InstallationsGUI's des CTMS etups trotzdem noch an :(

    Und das mit dem ControlSend funzt auch nicht wirklich.

    Der schreibt dann nichts in das TextFeld rein. Weder die Variable $INSTALL_FOLDER_1, noch wenn ich nen String reinschreibe.
    Wenn ich das mit ControlClick und dann Send mache funzt es.

    Wora kann das liegen?

    Grüße

  • Nächstes Problem.

    Ich habe ja die Variable $INSTALL_BOX1 in der 2. GUI.

    Wie mache ich es nun, dass ich in der 3. GUI etwas angezeigt bekomme, wenn in der 2. GUI die $INSTALL_BOX1 "angeklickt" wurde.

    Also an sich doch ne einfache if-Bedingung, aber funzt irgendwie nicht.

    Oder kann ich wenn ich in der 3. GUI bin nicht auf die Variablen der 2. GUI zugreifen?

    Er zeigt mir in der 3. GUI egal ob ich etwas anklicke odernicht immder das"haken" bild an :(


    hier mal der Code.

    Spoiler anzeigen
    [autoit]

    $GUI3 = GUICreate("CTMSCP Computerunterstütztes Therapiemanagement System - Installation",600,400,-1,-1,$WS_SIZEBOX+$WS_SYSMENU)
    $LABEL = GUICtrlCreateLabel("Folgende Komponenten werden installiert:", 15, 100, 480, 40)
    GUICtrlSetFont($LABEL1, 13, 800, 0, "Arial")

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

    IF($INSTALL_BOX1) THEN
    GUICtrlCreatePic("haken.gif",15,150, 10, 10)
    Else
    GUICtrlCreatePic("cross.gif",15,150, 9, 9)
    EndIf
    $LABEL1 = GUICtrlCreateLabel("- CTMSCP Software", 30, 150, 480, 40)

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

    If($INSTALL_BOX2) THEN
    GUICtrlCreatePic("haken.gif",15,170, 10, 10)
    Else
    GUICtrlCreatePic("cross.gif",15,150, 9, 9)
    ENDIF
    $LABEL2 = GUICtrlCreateLabel("- MySQL Server Version 5.2.3", 30, 170, 480, 40)

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

    If($INSTALL_BOX3) THEN
    GUICtrlCreatePic("haken.gif",15,190, 10, 10)
    Else
    GUICtrlCreatePic("cross.gif",15,150, 9, 9)
    ENDIF
    $LABEL3 = GUICtrlCreateLabel("- JAVA Runtime Environment 1.5.11", 30, 190, 480, 40)

    [/autoit]
  • Gib mal mehr Code.
    Also wenn du etwas verändern willst sollte es schon da sein. Wenn du drei Fenster hast und nachdem das zweite angelegt wurde und das dritte schon 'angefangen' wurde, etwas erstellst wird es im dritten Fenster erstellt.
    Aber gib erstmal mehr 'Futter' dann kann man gucken was los ist.

  • Ok hier der ganze Code

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    $GUI1 = GUICreate("CTMSCP Computerunterstütztes Therapiemanagement System - Installation",600,400,-1,-1,$WS_SIZEBOX+$WS_SYSMENU) ; will create a dialog box that when displayed is centered
    $LABEL1 = GUICtrlCreateLabel("Willkommen zur Installation der CTMSCP - Software", 15, 130, 2400, 100)
    GUICtrlSetFont($LABEL1, 15, 800, 0, "Arial")
    $LABEL2 = GUICtrlCreateLabel("SoPra Gruppe 16", 15, 170, 200, 200)
    GUICtrlSetFont($LABEL2, 10, 800, 0, "Arial")
    $LABEL_COPY = GUICtrlCreateLabel( "Copyright by SoPra Gruppe 16 , WS 06/07", 5, 357)
    GUICtrlSetFont($LABEL_COPY , 7 , "1000" ,0, "Arial")
    $BUTTON1 = GUICtrlCreateButton("Weiter", 400, 335, 80, 20, 0)
    $BUTTON2 = GUICtrlCreateButton("Abbrechen", 490, 335 ,80, 20, 0 )
    GUISetBkColor (0xFFFFFF)
    GUICtrlCreatePic("test.gif",15,15, 311, 65)

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

    $GUI2 = GUICreate("CTMSCP Computerunterstütztes Therapiemanagement System - Installation",600,400,-1,-1,$WS_SIZEBOX+$WS_SYSMENU)
    $INSTALL_BOX1 = GUICtrlCreateCheckbox("Install" , 17 , 160 )
    $LABEL1 = GUICtrlCreateLabel("CTMSCP - Software", 115, 162, 125, 20)
    GUICtrlSetFont($LABEL1, 10, 800, 0, "Arial")
    $INPUT1 = GUICtrlCreateInput ( "C:\Programme\CTMS", 280, 161 , 180, 20)
    $BUTTON3 = GUICtrlCreateButton( "Durchsuchen", 470, 160, 100, 20)
    $INSTALL_BOX2 = GUICtrlCreateCheckbox("Install" , 17 , 196 )
    $LABEL2 = GUICtrlCreateLabel("MySQL - Server ", 115, 197, 100, 20)
    GUICtrlSetFont($LABEL2, 10, 800, 0, "Arial")
    $INPUT2 = GUICtrlCreateInput ( "C:\Programme\MySQL\MySQL Server 4.1\", 280, 196 , 180, 20)
    $BUTTON4 = GUICtrlCreateButton( "Durchsuchen", 470, 195, 100, 20)
    $INSTALL_BOX3 = GUICtrlCreateCheckbox("Install" , 17 , 235 )
    $LABEL3 = GUICtrlCreateLabel("JAVA R. E. XX.XX", 115, 235, 180, 20)
    GUICtrlSetFont($LABEL3, 10, 800, 0, "Arial")
    $INPUT3 = GUICtrlCreateInput ( "C:\Programme\Java\jre1.5.0_11", 280, 231 , 180, 20)
    $BUTTON5 = GUICtrlCreateButton( "Durchsuchen", 470, 230, 100, 20)
    $LABEL4 = GUICtrlCreateLabel("Bitte wählen Sie die zu installierenden Programme und die entsprechenden Zielordner", 15, 100, 480, 40)
    GUICtrlSetFont($LABEL4, 13, 800, 0, "Arial")
    $LABEL_COPY = GUICtrlCreateLabel( "Copyright by SoPra Gruppe 16 , WS 06/07", 5, 357)
    GUICtrlSetFont($LABEL_COPY , 7 , "1000" ,0, "Arial")
    $BUTTON6 = GUICtrlCreateButton("Zurück", 310, 335 ,80, 20, 0 )
    $BUTTON7 = GUICtrlCreateButton("Installieren", 400, 335, 80, 20, 0)
    $BUTTON8 = GUICtrlCreateButton("Abbrechen", 490, 335 ,80, 20, 0 )
    GUISetBkColor (0xFFFFFF)
    GUICtrlCreatePic("test.gif",15,15, 311, 65)

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

    $GUI3 = GUICreate("CTMSCP Computerunterstütztes Therapiemanagement System - Installation",600,400,-1,-1,$WS_SIZEBOX+$WS_SYSMENU)
    $LABEL = GUICtrlCreateLabel("Folgende Komponenten werden installiert:", 15, 100, 480, 40)
    GUICtrlSetFont($LABEL1, 13, 800, 0, "Arial")

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

    IF($INSTALL_BOX1) THEN
    GUICtrlCreatePic("haken.gif",15,150, 10, 10)
    Else
    GUICtrlCreatePic("cross.gif",15,150, 9, 9)
    EndIf
    $LABEL1 = GUICtrlCreateLabel("- CTMSCP Software", 30, 150, 480, 40)

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

    If($INSTALL_BOX2) THEN
    GUICtrlCreatePic("haken.gif",15,170, 10, 10)
    Else
    GUICtrlCreatePic("cross.gif",15,150, 9, 9)
    ENDIF
    $LABEL2 = GUICtrlCreateLabel("- MySQL Server Version 5.2.3", 30, 170, 480, 40)

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

    If($INSTALL_BOX3) THEN
    GUICtrlCreatePic("haken.gif",15,190, 10, 10)
    Else
    GUICtrlCreatePic("cross.gif",15,150, 9, 9)
    ENDIF
    $LABEL3 = GUICtrlCreateLabel("- JAVA Runtime Environment 1.5.11", 30, 190, 480, 40)

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

    $BUTTON9 = GUICtrlCreateButton("Zurück", 310, 335 ,80, 20, 0 )
    $BUTTON10 = GUICtrlCreateButton("Installieren", 400, 335, 80, 20, 0)
    $BUTTON11 = GUICtrlCreateButton("Abbrechen", 490, 335 ,80, 20, 0 )
    GUISetBkColor (0xE0FFFF)
    GUICtrlCreatePic("test.gif",15,15, 311, 65)

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

    $GUI4 =GUICreate("CTMSCP - Installation4",600,400,-1,-1,$WS_SIZEBOX+$WS_SYSMENU)

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

    GUISetState(@SW_SHOW, $GUI1)

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

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg(0)
    Switch $msg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $BUTTON1
    GUISetState(@SW_HIDE, $GUI1)
    GUISetState(@SW_SHOW, $GUI2)
    Case $BUTTON2
    ExitLoop
    Case $BUTTON3
    GUICtrlSetData($INPUT1, FileSelectFolder("Wähle einen Ordner", ""))
    Case $BUTTON4
    $FOLDER_2 = GUICtrlSetData($INPUT2, FileSelectFolder("Wähle einen Ordner", ""))
    Case $BUTTON5
    $FOLDER_3 = GUICtrlSetData($INPUT3, FileSelectFolder("Wähle einen Ordner", ""))
    Case $BUTTON6
    GUISetState(@SW_SHOW, $GUI1)
    GUISetState(@SW_HIDE, $GUI2)
    Case $BUTTON7
    If $INSTALL_BOX1 Then
    $test2 = True
    EndIf
    GUISetState(@SW_SHOW, $GUI3)
    GUISetState(@SW_HIDE, $GUI2)
    Case $BUTTON8
    ExitLoop
    Case $BUTTON9
    GUISetState(@SW_SHOW, $GUI2)
    GUISetState(@SW_HIDE, $GUI3)
    Case $BUTTON10
    $INSTALL_1 = GUICtrlRead($INSTALL_BOX1)

    ;Installation der CTMS Software

    IF $INSTALL_1 = 1 Then
    $INSTALL_FOLDER_1 = GUICtrlRead($INPUT1)

    Run( "Software/CTMS-Setup.exe", "" , @SW_HIDE)

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

    ; Setup - CTMS Startfenster
    WinWait("Setup - CTMS")
    Send("{ENTER}")

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

    ; Zielordnerfenster - Wohin soll das Programm installiert werden?
    WinWait("Setup - CTMS", "Wohin soll CTMS installiert werden?")
    ControlSend("Setup - CTMS","Startmenü-Ordner auswählen","TEdit1", "JUHU")
    ;Send($INSTALL_FOLDER_1)
    ;Send("!w")

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

    ; Startmenü-Ordner auswählen
    WinWait("Ordner existiert bereits")
    ;ControlClick("Setup - CTMS","Startmenü-Ordner auswählen","Button1")
    Send("!j")

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

    ; Startmenü-Ordner auswählen
    WinWait("Setup - CTMS", "Startmenü-Ordner auswählen")
    ControlClick("Setup - CTMS","Ordner existiert bereits","TEdit1")
    Send("D:\Programme\CTMS2") ; FEHLER MUSS NOCH RAUSGENOMMEN WERDEN
    Send("!w")

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

    ; Installation durchführen
    WinWait("Setup - CTMS", "Installation durchführen")
    Send("{ENTER}")

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

    ; Beenden des Setup-Assistenten
    WinWait("Setup - CTMS", "Beenden des CTMS Setup-Assistenten")
    Send("{ENTER}")
    EndIf

    $INSTALL_2 = GUICtrlRead($INSTALL_BOX2)

    ;Installation des MySQL-Servers

    IF $INSTALL_2 = 1 Then
    $INSTALL_FOLDER_2 = GUICtrlRead($INPUT2)

    Run('msiexec /i "Software/mysql-essential-5.2.3-falcon-alpha-win32.msi"', "" , @SW_HIDE)

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

    ; MySQL-Server Installation Startfenster
    ;WinWait("Windows Installer")
    ;Send("{ENTER}")

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


    ; MySQL-Server Installation Startfenster
    WinWaitActive("MySQL Server 5.2 - Setup Wizard")
    Send("{ENTER}")

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

    ; Zielordnerfenster - Wohin soll das Programm installiert werden?
    WinWait("Setup - CTMS", "Wohin soll CTMS installiert werden?")
    ControlSend("Setup - CTMS","Startmenü-Ordner auswählen","TEdit1", "JUHU")
    ;Send($INSTALL_FOLDER_1)
    ;Send("!w")

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

    ; Startmenü-Ordner auswählen
    WinWait("Ordner existiert bereits")
    ;ControlClick("Setup - CTMS","Startmenü-Ordner auswählen","Button1")
    Send("!j")

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

    ; Startmenü-Ordner auswählen
    WinWait("Setup - CTMS", "Startmenü-Ordner auswählen")
    ControlClick("Setup - CTMS","Ordner existiert bereits","TEdit1")
    Send("D:\Programme\CTMS2") ; FEHLER MUSS NOCH RAUSGENOMMEN WERDEN
    Send("!w")

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

    ; Installation durchführen
    WinWait("Setup - CTMS", "Installation durchführen")
    Send("{ENTER}")

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

    ; Beenden des Setup-Assistenten
    WinWait("Setup - CTMS", "Beenden des CTMS Setup-Assistenten")
    Send("{ENTER}")
    EndIf

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

    $INSTALL_3 = GUICtrlRead($INSTALL_BOX3)

    ;Installation des MySQL-Servers

    IF $INSTALL_3 = 1 Then
    $INSTALL_FOLDER_3 = GUICtrlRead($INPUT3)

    Run("Software/jre-1_5_0_11-windows-i586-p-s.exe", "" , @SW_HIDE)

    ; JAVA Runtime Installation Start Fenster
    WinWaitActive("MySQL Server 5.2 - Setup Wizard")
    Send("{ENTER}")

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

    ; Zielordnerfenster - Wohin soll das Programm installiert werden?
    WinWait("Setup - CTMS", "Wohin soll CTMS installiert werden?")
    ControlSend("Setup - CTMS","Startmenü-Ordner auswählen","TEdit1", "JUHU")
    ;Send($INSTALL_FOLDER_1)
    ;Send("!w")

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

    ; Startmenü-Ordner auswählen
    WinWait("Ordner existiert bereits")
    ;ControlClick("Setup - CTMS","Startmenü-Ordner auswählen","Button1")
    Send("!j")

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

    ; Startmenü-Ordner auswählen
    WinWait("Setup - CTMS", "Startmenü-Ordner auswählen")
    ControlClick("Setup - CTMS","Ordner existiert bereits","TEdit1")
    Send("D:\Programme\CTMS2") ; FEHLER MUSS NOCH RAUSGENOMMEN WERDEN
    Send("!w")

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

    ; Installation durchführen
    WinWait("Setup - CTMS", "Installation durchführen")
    Send("{ENTER}")

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

    ; Beenden des Setup-Assistenten
    WinWait("Setup - CTMS", "Beenden des CTMS Setup-Assistenten")
    Send("{ENTER}")
    EndIf
    Case $BUTTON11
    ExitLoop

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

    EndSwitch
    Wend

    [/autoit]

    hoffe das hilft weiter

  • Also 'IF($INSTALL_BOX1) THEN' ergibt immer 'true' weil das Control ja da ist. Kilcks kannst du nur in deiner GUIGetMsg()-Schleife abfangen. Beschreib mal was du machen willst wenn der Button geklickt wird.

  • also ich will ja drei verschiedene Programme zur Auswahl anbieten.

    Und wenn ein Programm installiert werden soll, d.h. das wurde angeklickt in der GUI 2, dann soll in der GUI 3 eine Übersicht dargestellt werde, welche der drei Programme nstalliert werden

    Gruß