Update meines Installation Progs

  • Hallo liebe Gemeinde,

    ich versuche gerade ein Update meines Installationstool zu bewerkstelligen doch irgend wie habe ich da ein paar Problem. Vielleicht kann mir jemand von Euch auf die Sprünge helfen!

    Spoiler anzeigen
    [autoit]


    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.2.12.1
    Author: icerose

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

    Script Function:
    Alle User Einstellungen

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

    #ce ----------------------------------------------------------------------------

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

    #include <GUIConstantsEx.au3>
    #Include <File.au3>
    #Include <Array.au3>

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

    Opt('GUIOnEventMode', 1) ; OnEvent-Mode einschalten

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

    $defvor = "Klaus"
    $defnach = "Mustermann"
    $defpass = "djksdjkfbskdjv"
    Global $lastname
    Global $firstname
    Global $Ort
    Global $domain

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

    ;GuiCreate
    GUICreate("Installation V2.0",1060,600,50,100)

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

    ; Gruppe für Vor- und Nachname
    GUICtrlCreateGroup("Vor- und Nachname", 1, 1, 349, 120)

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

    GUICtrlCreateLabel("Vorname des Mitarbeiters", 10, 18, 170)
    $vorname = GUICtrlCreateInput($defvor, 150, 15, 190, 20)

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

    GUICtrlCreateLabel("Nachname des Mitarbeiters", 10, 43, 190)
    $nachname = GUICtrlCreateInput($defnach, 150, 40, 190, 20)

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

    GUICtrlCreateLabel("Büro Standort", 10, 68, 190)
    $Ort = GUICtrlCreateCombo ("", 150,65,190)
    GUICtrlSetData(-1,"Standort1|Standort2|Standort3|Standort4|Standort5", "Standort1")

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

    GUICtrlCreateLabel("E-Mail", 10, 95, 190)
    $mail = GUICtrlCreateInput("", 150, 90, 190, 20)

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

    ; Gruppe für Username und Passwort
    GUICtrlCreateGroup("Logindaten", 1, 130, 349, 70)

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

    GUICtrlCreateLabel("Login des Mitarbeiters", 10, 150, 190)
    $loginname = GUICtrlCreateInput("", 150, 145, 190, 20)

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

    GUICtrlCreateLabel("Passwort des Mitarbeiters", 10, 172, 190)
    $passwort = GUICtrlCreateInput($defpass, 150, 170, 190, 20)

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

    ; Gruppe der Konfigurations Dateien
    GUICtrlCreateGroup("Konfigurationsdateinen", 1, 210, 349, 340)

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

    Global $SonstigeOut = 0
    $SonstigePfad = "\\Pfad\Einrichten";auslesen des Ordners

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

    $SonstigeFList = _FileListToArray($SonstigePfad) ;Sonstigedaten kommen in das Array
    If @Error=1 Then
    MsgBox (0,"","No Folders Found.")
    $SonstigeOut = 1
    ;Exit
    ElseIf @error = 4 Then
    MsgBox (0,"","No Files Found.")
    $SonstigeOut = 1
    ;Exit
    EndIf

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

    Global $checkSon[$SonstigeFList[0]]

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

    $SonstigAufruf = $SonstigeFList ;Sonstigedaten kommen in das zweite Array für den Aufruf der Sonstigen Programme

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

    $newList3 = _ArrayTrim( $SonstigeFList, 4, 1,1) ;letzten vier Zeichen werden von rechts abgetrennt

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

    Global $z = 230 ;Höhe der Checkboxen der Sonstige Programme

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

    For $i = 0 To UBound($checkSon) -1
    If $i <=7 Then
    $checkSon[$i] = GUICtrlCreateCheckbox($SonstigeFList[$i+1], 10, $z, 182, 20)
    $z += 20
    EndIf
    Next

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

    ;Gruppierung der Office Dateien
    GUICtrlCreateGroup("Officedateien",355, 1, 349, 550)

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

    $OfficePfad = "\\Pfad\Office";auslesen des Ordners
    Global $OfficeOut = 0

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

    $OfficeFList = _FileListToArray($OfficePfad) ;Officedaten kommen in das Array
    If @Error=1 Then
    MsgBox (0,"","No Office Folders Found.")
    $OfficeOut = 1
    ;Exit
    ElseIf @error = 4 Then
    MsgBox (0,"","No Files in Office Found.")
    $OfficeOut = 1
    ;Exit
    EndIf

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

    Global $checkOff[$OfficeFList[0]]
    Global $y = 20

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

    $OfficeAufruf = $OfficeFList ;Officedaten kommen in das zweite Array für den Aufruf der Officeprogramme

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

    $newList1 = _ArrayTrim( $OfficeFList, 4, 1,1) ;letzten vier Zeichen werden von rechts abgetrennt

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

    For $i = 0 To UBound($checkOff) -1
    If $i <= 50 Then
    $checkOff[$i] = GUICtrlCreateCheckbox($OfficeFList[$i+1], 365, $y, 182, 20)
    $y += 20
    EndIf
    Next

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

    ;Gruppierung der Entwicklerdateien
    GUICtrlCreateGroup("Entwicklerdateien",710, 1, 349, 550)

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

    $EntwicklerPfad = "\\Pfad\Entwickler";auslesen des Ordners
    Global $EntwicklerOut = 0

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

    $EntwicklerFList = _FileListToArray($EntwicklerPfad) ;Entwicklerdaten kommen in das Array
    If @Error=1 Then
    MsgBox (0,"","No Entwickler Folders Found.")
    $EntwicklerOut = 1
    ;Exit
    ElseIf @error = 4 Then
    MsgBox (0,"","No Files in Entwickler Found.")
    $EntwicklerOut = 1
    ;Exit
    EndIf

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

    Global $checkEnt[$EntwicklerFList[0]]

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

    $EntwickAufruf = $EntwicklerFList ;Entwicklerdaten kommen in das zweite Array für den Aufruf der Entwicklerprogramme

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

    $newList2 = _ArrayTrim( $EntwicklerFList, 4, 1,1) ;letzten vier Zeichen werden von rechts abgetrennt

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

    Global $x = 20 ;Höhe der Checkboxen der Entwicklerprogramme

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

    For $i = 0 To UBound($checkEnt) -1
    If $i <= 50 Then
    $checkEnt[$i] = GUICtrlCreateCheckbox($EntwicklerFList[$i+1], 715, $x, 182, 20)
    $x += 20
    EndIf
    Next

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

    ; OK und Cancel Button
    $okbutton = GUICtrlCreateButton("OK", 415, 560, 60)
    $cancelbutton = GUICtrlCreateButton("Abbrechen", 485, 560, 60)
    GUICtrlSetOnEvent(-1, "_Gui_close")

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

    $Button1 = GUICtrlCreateButton("alle", 200, 560, 50, 20, 25, 0) ;Button für alle Checkboxen direkt anzuwählen
    GUICtrlSetOnEvent(-1, "_AlleSonstige")

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

    $Button2 = GUICtrlCreateButton("alle", 500, 560, 50, 20, 25, 0) ;Button für alle Checkboxen direkt anzuwählen
    GUICtrlSetOnEvent(-1, "_AlleEntwick")

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

    $Button3 = GUICtrlCreateButton("alle", 800, 560, 50, 20, 25, 0) ;Button für alle Checkboxen direkt anzuwählen
    GUICtrlSetOnEvent(-1, "_AlleOffice")

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

    GUISetState()

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

    While 1
    Sleep(100)
    Wend

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

    ;auslesen der Eingaben vorname und nachname
    $firstname = GUICtrlRead($vorname)
    $lastname = GUICtrlRead($nachname)
    $stadtaus = GUICtrlRead($Ort)

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

    ;Mail erstellung Standortabhängig
    GUISetState()
    if $stadtaus = "Standort1" Or $stadtaus = "Standort2" Then
    $domain = ".de"
    ElseIf $stadtaus = "Standort3" Then
    $domain = ".de"
    ElseIf $stadtaus = "Standort4" Then
    $domain = ".de"
    ElseIf $stadtaus = "Standort5" Then
    $domain = ".de"
    EndIf

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

    ;Umlaute aus dem Nachnamen filtern
    $lastname = StringReplace($lastname, "ü","ue")
    $lastname = StringReplace($lastname, "ö","oe")
    $lastname = StringReplace($lastname, "ä","ae")
    $lastname = StringReplace($lastname, "ß","ss")
    $lastname = StringReplace($lastname, "é","e")
    $lastname = StringReplace($lastname, "è","e")
    $lastname = StringReplace($lastname, "ê","e")

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

    ;Umlaute aus dem Vornamen filtern
    $firstname = StringReplace($firstname,"ö","oe")
    $firstname = StringReplace($firstname,"ü","ue")
    $firstname = StringReplace($firstname,"ä","ae")
    $firstname = StringReplace($firstname, "ß","ss")
    $firstname = StringReplace($firstname, "é","e")
    $firstname = StringReplace($firstname, "è","e")
    $firstname = StringReplace($firstname, "ê","e")

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

    ;Anzeige der Daten in den Labeln Mail und Loginname
    GUICtrlSetData($mail, StringLower($firstname)&"." &StringLower($lastname)&"@name"&$domain)
    GUICtrlSetData($loginname,StringLower($lastname) & StringLower(StringLeft($firstname,1)))

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

    Func _AlleOffice()
    For $xyz = 0 To UBound($checkOff) -1
    GUICtrlSetState($checkOff[$xyz], $GUI_CHECKED)
    Next
    EndFunc ;==>_Alles Office

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

    Func _AlleEntwick()
    For $xyz = 0 To UBound($checkEnt) -1
    GUICtrlSetState($checkEnt[$xyz], $GUI_CHECKED)
    Next
    EndFunc ;==>_Alles Entwickler

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

    Func _AlleSonstige()
    For $xyz = 0 To UBound($checkSon) -1
    GUICtrlSetState($checkSon[$xyz], $GUI_CHECKED)
    Next
    EndFunc ;==>_Alles Sonstigen

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

    jetzt davon mal abgesehen das die zwei knöpfe übereinander sind, sind die Knöpfe "alle" eh leider ohne Function. Ich weiß nur leider nicht woran es liegt!!

    Hoffe es kann da jemand Unterstützen.

    Vielen dank

    Gruß icerose

    Einmal editiert, zuletzt von icerose (5. Dezember 2008 um 13:30)

  • Zitat

    OnEvent functions are only called when the option GUIOnEventMode is set to 1 - when in this mode GUIGetMsg is NOT used at all.


    Noch Fragen ?
    Ach ja Abbrechen funktioniert schon mal...

  • Schon geändert läuft so weit glaube ich auch!!

    mal sehen was ich noch für Probleme bekomme!!

    (verflixte GUIOnEventMode)

    Aber danke