Zielordner Auswahlmöglichkeit

  • Dann würde ich CheckBoxen benutzen und auf der 2. GUI einen 'Weiter'-Button erstellen. Wenn der 'Weiter'-Button angeklickt wird erstellst du die 3. GUI entsprechend der CheckBoxen der 2. GUI. Sonst mußt du globale Variablen nehmen die mit '0' angelegt werden und auf '1' gesetzt werden wenn der entsprechende Button gedrückt wird (also die Installation ausgelöst wird). Mit dieser Information kannst du dann auch auf der 3. GUI anzeigen was gemacht wurde. Ich hoffe du kannst deine Installation so anpassen.

  • moinsen! allen nen schönen karfreitag! habe folgende Frage:

    Habe es jetzt hinbekommen, dass mir auf der dritten GUI angezeigt wird, welche Checkboxen auf der zweiten GUI angeklickt wurden.

    und zwar dadurch, indem ich die 3. GUI erst erzeuge, wenn ich in der zweiten GUI auf "weiter" klicke. nicht wie vorher, das die GUI schon vorher erzeugt wird und dann nur angezeigt wird.

    Aber wie immer, bekomme ich jetzt ein neues Problem:

    Ich will der dritten GUI einen "INSTALLIEREN" Button erstellen und wenn man dann darauf klickt sollen entsprechende Progamme installiert werden.

    Mein Prob ist aber nun, dass die 3. GUI ja erst erstellt wird wenn man in der 2. auf weiter klickt. Und deswegen kann ich nicht schon in der Case bedingung was mit dem Button anstellen.

    denn er meckert dann:

    Error: Variable used without being declared.


    Kann man das irgendwie anders hinbekommen?

    Gruß

    • Offizieller Beitrag

    Hi!

    Im "Case Else":
    If IsDeclared("ButtonInstall") then
    if $msg = $buttonInstall then
    ;[hier dein Zeug rein]
    endIf
    endif


    Oder OnEvent-Mode (siehe Hilfe).

    peethebee


    Edit: BugFix wird jetzt gesperrt - du kannst doch nicht einfach schneller sein als dein Admin!? ;)

  • EDIT:

    JUHU, habe es selber rausgefunden. Wenn ich sie als Global deklariere ;)

    Hi!

    Und frohe ostern ;)

    Habe das jetzt mal versucht auf EventMode umzustellen.

    Klappt soweit auch ganz gut!

    Ich denke mal der Sinn und Zweck davon ist ähnlich dem ActionListener bei Java.

    Ich habe jetzt nur das Problem, dass wenn ich in der 2. GUI bin, ich nicht auf weiter oder zurück klicken kann, denn er meckert:

    Line 73

    GUISwitch($GUI2)
    GUISwitch(^ERROR

    Error: Variable used without being declared

    Allerdings wurde die doch schon deklariert. Nämlich als sie erstellt wurde.

    Und das gleiche dann beim weiter Button zeile 81

    Kann mir vielleicht jemand da weiterhelfen?

    Gruß

    Spoiler anzeigen
    [autoit]


    Sleep(1000) ; Häng rum
    WEnd

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

    Func WEITERButtonGUI_1()

    GUISetState(@SW_HIDE, $GUI1)
    $GUI2 = GUICreate("CTMSCP Computerunterstütztes Therapiemanagement System - Installation",600,400,-1,-1,$WS_SIZEBOX+$WS_SYSMENU)
    $INSTALL_BOX1 = GUICtrlCreateCheckbox("Install" , 17 , 160 )
    GUICtrlSetState($INSTALL_BOX1,1)
    $LABEL1 = GUICtrlCreateLabel("CTMSCP - Software", 115, 162, 125, 20)
    GUICtrlSetFont($LABEL1, 10, 800, 0, "Arial")
    $INPUT1 = GUICtrlCreateInput ( "C:\Programme\CTMS", 280, 161 , 180, 20)
    $BUTTON_SELECT_1 = GUICtrlCreateButton( "Durchsuchen", 470, 160, 100, 20)
    $INSTALL_BOX2 = GUICtrlCreateCheckbox("Install" , 17 , 196 )
    GUICtrlSetState($INSTALL_BOX2,1)
    $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)
    $BUTTON_SELECT_2 = GUICtrlCreateButton( "Durchsuchen", 470, 195, 100, 20)
    $INSTALL_BOX3 = GUICtrlCreateCheckbox("Install" , 17 , 235 )
    GUICtrlSetState($INSTALL_BOX3,1)
    $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)
    $BUTTON_SELECT_3 = 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")
    $BUTTON_GUI2_ZURUECK = GUICtrlCreateButton("Zurück", 310, 335 ,80, 20, 0 )
    $BUTTON_GUI2_WEITER = GUICtrlCreateButton("Weiter", 400, 335, 80, 20, -1)
    $BUTTON_GUI2_ABBRECHEN = GUICtrlCreateButton("Abbrechen", 490, 335 ,80, 20, 0 )
    GUISetBkColor (0xFFFFFF)
    GUICtrlCreatePic("logo.gif",0,0, 598, 90)

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

    GUICtrlSetOnEvent($BUTTON_GUI2_ZURUECK, "ZURUECKButtonGUI_2")
    GUICtrlSetOnEvent($BUTTON_GUI2_WEITER, "WEITERButtonGUI_2")
    GUICtrlSetOnEvent($BUTTON_GUI2_ABBRECHEN, "CLOSEClicked")

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

    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")

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

    GUISetState(@SW_SHOW, $GUI2)

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

    EndFunc

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

    Func ZURUECKButtonGUI_2()

    GUISwitch($GUI2)
    GUISetState(@SW_HIDE)
    GUISwitch($GUI1)
    GUISetState(@SW_SHOW)
    EndFunc

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

    Func WEITERButtonGUI_2()

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

    GUISetState(@SW_HIDE, $GUI2)
    $GUI3 = GUICreate("CTMSCP Computerunterstütztes Therapiemanagement System - Installation",600,400,-1,-1,$WS_SIZEBOX+$WS_SYSMENU)
    $TOP_TEXT = GUICtrlCreateLabel("Es wurden folgende Programme zur Installation ausgewählt:", 15, 100, 480, 40)
    GUICtrlSetFont($TOP_TEXT, 13, 800, 0, "Arial")
    $LABEL_COPY = GUICtrlCreateLabel( "Copyright by SoPra Gruppe 16 , WS 06/07", 5, 357)
    GUICtrlSetFont($LABEL_COPY , 7 , "1000" ,0, "Arial")
    $BUTTON_GUI3_ZURUECK = GUICtrlCreateButton("Zurück", 310, 335 ,80, 20, 0 )
    $BUTTON_GUI3_INSTALLIEREN = GUICtrlCreateButton("Installieren", 400, 335, 80, 20, -1)
    $BUTTON_GUI3_ABBRECHEN = GUICtrlCreateButton("Abbrechen", 490, 335 ,80, 20, 0 )

    If(GUICtrlRead($INSTALL_BOX1)) = 1 Then
    $LABEL_CTMS_ICON = GUICtrlCreatePic("haken.gif",40,148, 10, 10)
    Else
    GUICtrlCreatePic("cross.gif",40,149, 9,9)
    EndIf
    $LABEL_CTMS = GUICtrlCreateLabel("CTMSCP - Software", 65, 145, 125, 20)
    GUICtrlSetFont($LABEL_CTMS, 10, 800, 0, "Arial")

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

    If(GUICtrlRead($INSTALL_BOX2)) = 1 Then
    $LABEL_CTMS_ICON = GUICtrlCreatePic("haken.gif",40,178, 10, 10)
    Else
    GUICtrlCreatePic("cross.gif",40,149, 9,9)
    EndIf
    $LABEL_CTMS = GUICtrlCreateLabel("MySQL-Server 5.2", 65, 175, 125, 20)
    GUICtrlSetFont($LABEL_CTMS, 10, 800, 0, "Arial")

    If(GUICtrlRead($INSTALL_BOX3)) = 1 Then
    $LABEL_CTMS_ICON = GUICtrlCreatePic("haken.gif",40,208, 10, 10)
    Else
    GUICtrlCreatePic("cross.gif",40,149, 9,9)
    EndIf
    $LABEL_CTMS = GUICtrlCreateLabel("JAVA - R. E. 1.5.11", 65, 205, 125, 20)
    GUICtrlSetFont($LABEL_CTMS, 10, 800, 0, "Arial")

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

    GUICtrlCreatePic("logo.gif",0,0, 598, 90)

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

    GUICtrlSetOnEvent($BUTTON_GUI3_ZURUECK, "ZURUECKButtonGUI_3")
    ;GUICtrlSetOnEvent($BUTTON_GUI3_WEITER, "WEITERButtonGUI_2")
    GUICtrlSetOnEvent($BUTTON_GUI3_ABBRECHEN, "CLOSEClicked")

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

    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")

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

    GUISwitch($GUI3)
    GUISetState(@SW_SHOW)

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

    EndFunc

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

    Func ZURUECKButtonGUI_3()

    GUISetState(@SW_SHOW, $GUI2)
    GUISetState(@SW_HIDE, $GUI3)
    EndFunc

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

    Func CLOSEClicked()
    ;Die Installation wird beendet
    Exit
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von cryc (9. April 2007 um 12:44)

  • Danke,

    hatte ich dann auch schon gemacht :)

    Habe eine neue Frage ;)

    Wie kriege ich es hin, bei einer Installation auf einen Radio Button zu klicken?

    Bei der MySQL Installation kann man sich irgendwie wohl registrieren lassen.

    Das kann man aber auch Skippen. sprich, da sind drei verschiedene Radiobutton und einer davon ist "Skip bla".

    Ich habe es so versucht:

    [autoit]

    ControlClick("MySQL.com Sign Up - Setup Wizard","","TTntRadioButton.UnicodeClass1")

    [/autoit]

    Das funktioniert aber nicht :(

    Das gleiche bei einer Checkbox. Hier der code:

    ControlClick("MySQL Server Instance Configuration Wizard","","TTntCheckBox.UnicodeClass2")

    Woran liegt das bzw wie schaffe ich es auf den radiobutton und die checkbox zu klicken, um danach einfach nur Return zu senden.

    Gruß