Schleife in Switch Case? Möglich?

  • Morgen, ich habe vor einiger Zeit mal ein Netzlaufwerkscript für meine Dienststelle sowie Außenstelle erstellt.., zu der Zeit als ich dieses gebaut habe war ich relativ neu in Autoit und habe alles meiner Meinung nach nicht Optimal gelöst, nun überarbeite ich dieses Script und würde gerne innerhalb meiner Switch Case eine Schleife einbauen.. bekomme es aber leider nicht hin

    für neue Lösungsansetzte bin ich natürlich auch zu begeistern

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    ; Netzlaufwerke Meistereien

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

    ;######################################################################################################################
    ; Autor : Mkrtschjan, Marvin
    ; Datum : 17.05.2011
    ; Amt : ASV Frankfurt
    ; Abteilung : IT
    ;######################################################################################################################
    ; Includes..
    #NoTrayIcon
    Opt("GUICloseOnESC", 1)
    ;######################################################################################################################
    ; benötigte Variablen definieren

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

    $GUITitel = "Netzlaufwerke Meistereien V 1.3"
    $ICONS_DLL = "C:\WINDOWS\SYSTEM32\shell32.dll"
    $Abbruch = 0
    $Benutzer = ""
    $Password1 = ""
    $Server1 = 0
    $Server2Icon = 0
    $Server3Icon = 0
    $Amt2 = 0
    $cbox2_checked = 0
    $cbox3_checked = 0
    $Server_Pfad1 = 0
    $Server_Pfad2 = 0
    $Server_Pfad3 = 0
    $i = 0
    $o = 0
    $p = 0

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

    ;######################################################################################################################
    ;######################################################################################################################

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

    ;Freie Laufwerksbuchstaben ermitteln

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

    $FreeDriveList = GetFreeDriveLetters() ; Laufwerksbuchstaben werden in einem Array zurückgegeben
    $var = $FreeDriveList ; Funktion "GetFreeDriveLetters() siehe Ende des Scripts

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

    $Laufwerksbuchstabe1 = $var[1] ; freien Laufwerksbuchstaben zuordnen "Array [1]
    $Laufwerksbuchstabe2 = $var[2] ; freien Laufwerksbuchstaben zuordnen "Array [2]
    $Laufwerksbuchstabe3 = $var[3] ; freien Laufwerksbuchstaben zuordnen "Array [3]

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

    ;######################################################################################################################
    ; Array erstellen mithilfe nach dem Laufwersmapping die Namen der Laufwerke geändert werden also von
    ; vol01$ an 10.30.xx.xx in den Namen der Meisterei zb "AM Idstein"

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

    Dim $mArray[30][2]
    ;######################################
    ;############ ASV Frankfurt ###########
    ;######################################
    $mArray[1][0] = "AM Diedenbergen"
    $mArray[1][1] = "\\IP\VOL01$"
    $mArray[2][0] = "AM Ehringshausen"
    $mArray[2][1] = "\\IP\VOL01$"
    $mArray[3][0] = "AM Idstein"
    $mArray[3][1] = "\\IP\VOL01$"
    $mArray[4][0] = "AM Langenselbold"
    $mArray[4][1] = "\\IP\VOL01$"
    $mArray[5][0] = "AM Reiskirchen"
    $mArray[5][1] = "\\IP\VOL01$"
    $mArray[6][0] = "AM Rodgau"
    $mArray[6][1] = "\\IP\VOL01$"
    $mArray[7][0] = "AM Rüsselsheim"
    $mArray[7][1] = "\\IP\VOL01$"
    $mArray[8][0] = "KCBP Rödelheim"
    $mArray[8][1] = "\\IP\KCBP$"
    $mArray[9][0] = "SAM Frankfurt"
    $mArray[9][1] = "\\IP\VOL01$"
    $mArray[10][0] = "SM Hofheim"
    $mArray[10][1] = "\\IP\VOL01$"
    $mArray[11][0] = "SM Offenbach"
    $mArray[11][1] = "\\IP\VOL01$"
    $mArray[12][0] = "SM Usingen"
    $mArray[12][1] = "\\IP\VOL01$"
    ;######################################
    ;############ ASV Schotten ############
    ;######################################
    $mArray[13][0] = "SM Alten-Buseck"
    $mArray[13][1] = "\\IP\vol01$"
    $mArray[14][0] = "SM Grebenhain"
    $mArray[14][1] = "\\IP\vol01$"
    $mArray[15][0] = "SM Grünberg"
    $mArray[15][1] = "\\IP\vol01$"
    $mArray[16][0] = "SM Homberg"
    $mArray[16][1] = "\\IP\vol01$"
    $mArray[17][0] = "SM Lauterbach"
    $mArray[17][1] = "\\IP\vol01$"
    ;######################################
    ;############# ASV Fulda ##############
    ;######################################
    $mArray[18][0] = "BB Neuhof"
    $mArray[18][1] = "\\IP\vol01$"
    $mArray[19][0] = "SM Gersfeld"
    $mArray[19][1] = "\\IP\vol01$"
    $mArray[20][0] = "SM Hünfeld"
    $mArray[20][1] = "\\IP\vol01$"
    $mArray[21][0] = "SM Neuhof"
    $mArray[21][1] = "\\IP\vol01$"

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

    ;######################################################################################################################
    ; gespeicherten Benutzer aus INI Datei lesen sollte diese nicht vorhanden sein wird ein Standart Wert "admasv" gesetzt
    $Benutzer1=IniRead("C:\autoit_Meistereien_cfg.ini","cfg","user","admasv")

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

    ;######################################
    ;#### Inhalte der Dropdown Boxen ######
    ;######################################
    $Meistereien = ""
    $Aemter = "ASV Frankfurt|ASV Schotten|ASV Fulda"
    $Meistereien_fr = "AM Diedenbergen|AM Ehringshausen|AM Idstein|AM Langenselbold|AM Reiskirchen|AM Rodgau|AM Rüsselsheim|KCBP Rödelheim|SAM Frankfurt|SM Hofheim|SM Offenbach|SM Usingen"
    $Meistereien_so = "SM Alten-Buseck|SM Grebenhain|SM Grünberg|SM Homberg|SM Lauterbach"
    $Meistereien_fu = "BB Neuhof|SM Gersfeld|SM Hünfeld|SM Neuhof"

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

    ;######################################################################################################################
    ;########################################## Netzlaufwerke Script Meistereien ##########################################
    ;#################################################### Version 1.2#####################################################
    ;################################################## Beginn MainGui ####################################################
    ;######################################################################################################################

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

    $Hauptfenster = GUICreate(" "& $GUITitel & " ",180,110,-1,-1,$WS_MINIMIZEBOX,$WS_EX_TOPMOST)
    $TrennenButton = GUICtrlCreateButton ("Trennen",60,10,60,45,$BS_ICON)
    GUICtrlSetImage ($TrennenButton, $ICONS_DLL,11 ,2)
    GUICtrlCreateLabel('Netzlaufwerke trennen', 37, 60, 107, 15)
    GUISetState(@SW_HIDE, $Hauptfenster)

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

    $Nutzer = GuiCreate(" " & $GUITitel, 287, 220,-1, -1)
    GUICtrlCreateLabel ("Standort:",10,13,170,25)
    GUICtrlCreateLabel ("Server:",10,37,170,25)
    GUICtrlCreateLabel ("Benutzername:",10,115,170,25)
    GUICtrlCreateLabel ("Kennwort:",10,138,47,25)
    $Amt = GUICtrlCreateCombo("", 90, 10, 150, 20)
    GUICtrlSetData(-1, $Aemter, "")
    $Server1 = GUICtrlCreateCombo("", 90, 35, 150, 20)
    GUICtrlSetData(-1, $Meistereien, "")
    GUICtrlSetState($Server1,$GUI_DISABLE)
    $Server2 = GUICtrlCreateCombo("", 90, 60, 150, 20)
    GUICtrlSetData(-1, $Meistereien, "")
    GUICtrlSetState($Server2,$GUI_DISABLE)
    $Server3 = GUICtrlCreateCombo("", 90, 85, 150, 20)
    GUICtrlSetData(-1, $Meistereien, "")
    GUICtrlSetState($Server3,$GUI_DISABLE)

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

    $BenutzerEingabe = GUICtrlCreateInput ($Benutzer1, 90, 113, 150, 20)
    GUICtrlSetState($BenutzerEingabe,$GUI_ENABLE)
    $PasswordEingabe1 = GUICtrlCreateInput ( "", 90, 138, 150, 20, $ES_PASSWORD)
    $cboxsave = GUICtrlCreateCheckbox("Benutzer Speichern?", 90, 165, 120, 20)
    $cboxserver2 = GUICtrlCreateCheckbox("", 70, 63, 17, 17)
    $cboxserver3 = GUICtrlCreateCheckbox("", 70, 86, 17, 17)
    $progico = GUICtrlCreateIcon($ICONS_DLL,10,20,60)
    $ButtonOK = GuiCtrlCreateButton("OK", 90, 190, 35, 25)
    $about = GUICtrlCreateButton("?", 260, 195,20,20)
    $ButtonAbbruch = GuiCtrlCreateButton("Abbruch", 145, 190, 55, 25)
    $StandortIcon = GUICtrlCreateIcon($ICONS_DLL,290,240,11,18,18)
    $BenutzerIcon = GUICtrlCreateIcon($ICONS_DLL,279,240,114,18,18) ; Icon hinter Benutzereingabefeld
    $PwIcon = GUICtrlCreateIcon($ICONS_DLL,325,240,139,18,18) ; Icon hinter Passworteingabefeld

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

    GUICtrlSetState($cboxserver2, $GUI_DISABLE)
    GUICtrlSetState($cboxserver3, $GUI_DISABLE)

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

    GUISetState(@SW_SHOW, $Nutzer) ; Hauptfenster anzeigen

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

    While $Abbruch = 0
    $Benutzer = GUICtrlRead ($BenutzerEingabe)
    $Password1 = GUICtrlRead ($PasswordEingabe1)
    $cbox2 = GUICtrlRead($cboxserver2)
    $cbox3 = GUICtrlRead($cboxserver3)

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

    $s1 = GUICtrlRead ($Server1)
    $s2 = GUICtrlRead ($Server2)
    $s3 = GUICtrlRead ($Server3)
    $Amt1 = GUICtrlRead($Amt)

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

    If $cbox2_checked = 0 Then
    GUICtrlDelete($Server2Icon)
    EndIf
    If $cbox3_checked = 0 Then
    GUICtrlDelete($Server3Icon)
    EndIf

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

    If $s1 Not = 0 And $p = 0 Then
    GUICtrlSetState($cboxserver2, $GUI_ENABLE)
    GUICtrlSetState($cboxserver3, $GUI_ENABLE)
    $p = 1
    EndIf

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

    If $i = 0 And $Amt1 = "ASV Frankfurt" Then
    $Meistereien = $Meistereien_fr
    $Server1Icon = GUICtrlCreateIcon($ICONS_DLL,290,240,36,18,18)
    GUICtrlSetState($BenutzerEingabe,$GUI_ENABLE)

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

    GUICtrlDelete($Server1) ;#####
    $Server1 = GUICtrlCreateCombo("", 90, 35, 150, 20) ;#####
    GUICtrlSetData(-1, $Meistereien, "") ;#####
    GUICtrlSetState($Server1,$GUI_ENABLE) ;#####

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

    $Amt2 = "ASV Frankfurt"

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

    $i = 1
    EndIf

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

    If $i = 0 And $Amt1 = "ASV Schotten" Then
    $Meistereien = $Meistereien_so
    $Server1Icon = GUICtrlCreateIcon($ICONS_DLL,290,240,36,18,18)
    GUICtrlSetState($BenutzerEingabe,$GUI_ENABLE)

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

    GUICtrlDelete($Server1) ;#####
    $Server1 = GUICtrlCreateCombo("", 90, 35, 150, 20) ;#####
    GUICtrlSetData(-1, $Meistereien, "") ;#####
    GUICtrlSetState($Server1,$GUI_ENABLE) ;#####

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

    $Amt2 = "ASV Schotten"

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

    $i = 1
    EndIf

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

    If $i = 0 And $Amt1 = "ASV Fulda" Then
    $Meistereien = $Meistereien_fu
    $Server1Icon = GUICtrlCreateIcon($ICONS_DLL,290,240,36,18,18)
    GUICtrlSetState($BenutzerEingabe,$GUI_ENABLE)

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

    GUICtrlDelete($Server1) ;#####
    $Server1 = GUICtrlCreateCombo("", 90, 35, 150, 20) ;#####
    GUICtrlSetData(-1, $Meistereien, "") ;#####
    GUICtrlSetState($Server1,$GUI_ENABLE) ;#####

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

    $Amt2 = "ASV Fulda"

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

    $i = 1
    EndIf

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

    If $Amt1 <> $Amt2 Then
    $i = 0
    $Amt2 = ""
    $Meistereien = ""
    GUICtrlSetState($Server3,$GUI_DISABLE) ; bei einer änderung im Dropdown Feld "Amt"
    GUICtrlSetState($Server2,$GUI_DISABLE) ; alle Felder leeren und checkboxen auf "Disable" setzen
    GUICtrlSetState($cboxserver2,$GUI_UNCHECKED) ; sowie icons löschen..
    GUICtrlSetState($cboxserver3,$GUI_UNCHECKED)
    EndIf

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

    ; Abfragen zum freischalten oder sperren der weiteren Server Dropdown's

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

    If $cbox2 = $GUI_CHECKED Then
    If $cbox2_checked = 0 Then
    GUICtrlDelete($Server2)
    $Server2 = GUICtrlCreateCombo("", 90, 60, 150, 20)
    GUICtrlSetData(-1, $Meistereien, "")
    GUICtrlSetState($Server2,$GUI_ENABLE)
    $Server2Icon = GUICtrlCreateIcon($ICONS_DLL,290,240,62,18,18)
    $cbox2_checked = 1
    EndIf
    EndIf

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

    If $cbox3 = $GUI_CHECKED Then
    If $cbox3_checked = 0 Then
    GUICtrlDelete($Server3)
    $Server3 = GUICtrlCreateCombo("", 90, 85, 150, 20)
    GUICtrlSetData(-1, $Meistereien, "")
    GUICtrlSetState($Server3,$GUI_ENABLE)
    $Server3Icon = GUICtrlCreateIcon($ICONS_DLL,290,240,86,18,18)
    $cbox3_checked = 1
    EndIf
    EndIf

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

    If $cbox2 = $GUI_UNCHECKED Then
    If $cbox2_checked = 1 Then
    GUICtrlDelete($Server2)
    $Server2 = GUICtrlCreateCombo("", 90, 60, 150, 20)
    GUICtrlSetData(-1, $Meistereien, "")
    GUICtrlSetState($Server2,$GUI_DISABLE)
    $cbox2_checked = 0
    EndIf
    EndIf

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

    If $cbox3 = $GUI_UNCHECKED Then
    If $cbox3_checked = 1 Then
    GUICtrlDelete($Server3)
    $Server3 = GUICtrlCreateCombo("", 90, 85, 150, 20)
    GUICtrlSetData(-1, $Meistereien, "")
    GUICtrlSetState($Server3,$GUI_DISABLE)
    $cbox3_checked = 0
    EndIf
    EndIf

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

    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $GUI_EVENT_MINIMIZE
    Case $msg = $GUI_EVENT_MAXIMIZE
    Case $msg = $ButtonAbbruch
    Exit
    Case $Server1 Or $Server2 Or $Server3
    $auswahl1 = GUICtrlRead($Server1)
    $auswahl2 = GUICtrlRead($Server2)
    $auswahl3 = GUICtrlRead($Server3)
    Switch $auswahl1
    For $x = 1 To UBound($mArray) -1
    Case $mArray[$x][0]
    $Server_Pfad1 = $mArray[$x][1]
    $sn1 = $mArray[$x][0]
    Case Else
    $Server_Pfad1 = 1
    Next

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

    #cs
    Case $mArray[1] ;AM Diedenbergen
    $Server_Pfad1 = $AMDI_Pfad ;
    $sn1 = $mArray[1] ;
    Case $mArray[2] ;AM Ehringshausen
    $Server_Pfad1 = $AMEH_Pfad ;
    $sn1 = $mArray[2] ;
    Case $mArray[3] ;AM Idstein
    $Server_Pfad1 = $AMID_Pfad ;
    $sn1 = $mArray[3] ;
    Case $mArray[4] ;AM Langenselbold
    $Server_Pfad1 = $AMLA_Pfad ;
    $sn1 = $mArray[4] ;
    Case $mArray[5] ;AM Reiskirchen
    $Server_Pfad1 = $AMRE_Pfad ;
    $sn1 = $mArray[5] ;
    Case $mArray[6] ;AM Rodgau
    $Server_Pfad1 = $AMRO_Pfad ;
    $sn1 = $mArray[6] ;
    Case $mArray[7] ;AM Rüsselsheim
    $Server_Pfad1 = $AMRU_Pfad ;
    $sn1 = $mArray[7] ;
    Case $mArray[8] ;KCBP Rödelheim
    $Server_Pfad1 = $KCBP_Pfad ;
    $sn1 = $mArray[8] ;
    Case $mArray[9] ;SAM Frankfurt
    $Server_Pfad1 = $SAMFR_Pfad ;
    $sn1 = $mArray[9] ;
    Case $mArray[10] ;SM Hofheim
    $Server_Pfad1 = $SMHO_Pfad ;
    $sn1 = $mArray[10] ;
    Case $mArray[11] ;SM Offenbach
    $Server_Pfad1 = $SMOF_Pfad ;
    $sn1 = $mArray[11] ;
    Case $mArray[12] ;SM Usingen
    $Server_Pfad1 = $SMUS_Pfad ;
    $sn1 = $mArray[12] ;
    Case $mArray[13] ;SM Alten-Buseck
    $Server_Pfad1 = $SMAB_Pfad ;
    $sn1 = $mArray[13] ;
    Case $mArray[14] ;SM Grebenhain
    $Server_Pfad1 = $SMGH_Pfad ;
    $sn1 = $mArray[14] ;
    Case $mArray[15] ;SM Grünberg
    $Server_Pfad1 = $SMGB_Pfad ;
    $sn1 = $mArray[15] ;
    Case $mArray[16] ;SM Homberg
    $Server_Pfad1 = $SMHB_Pfad ;
    $sn1 = $mArray[16] ;
    Case $mArray[17] ;SM Lauterbach
    $Server_Pfad1 = $SMLB_Pfad ;
    $sn1 = $mArray[17] ;
    Case $mArray[18] ;BB Neuhof
    $Server_Pfad1 = $BBNE_Pfad ;
    $sn1 = $mArray[18] ;
    Case $mArray[19] ;SM Gersfeld
    $Server_Pfad1 = $SMGF_Pfad ;
    $sn1 = $mArray[19] ;
    Case $mArray[20] ;SM Hünfeld
    $Server_Pfad1 = $SMHU_Pfad ;
    $sn1 = $mArray[20] ;
    Case $mArray[21] ;SM Neuhof
    $Server_Pfad1 = $SMNE_Pfad
    $sn1 = $mArray[21]
    Case Else
    $Server_Pfad1 = 1

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

    #ce

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

    EndSwitch
    Switch $auswahl2
    Case $mArray[1] ;AM Diedenbergen
    $Server_Pfad2 = $AMDI_Pfad ;
    $sn2 = $mArray[1] ;
    Case $mArray[2] ;AM Ehringshausen
    $Server_Pfad2 = $AMEH_Pfad ;
    $sn2 = $mArray[2] ;
    Case $mArray[3] ;AM Idstein
    $Server_Pfad2 = $AMID_Pfad ;
    $sn2 = $mArray[3] ;
    Case $mArray[4] ;AM Langenselbold
    $Server_Pfad2 = $AMLA_Pfad ;
    $sn2 = $mArray[4] ;
    Case $mArray[5] ;AM Reiskirchen
    $Server_Pfad2 = $AMRE_Pfad ;
    $sn2 = $mArray[5] ;
    Case $mArray[6] ;AM Rodgau
    $Server_Pfad2 = $AMRO_Pfad ;
    $sn2 = $mArray[6] ;
    Case $mArray[7] ;AM Rüsselsheim
    $Server_Pfad2 = $AMRU_Pfad ;
    $sn2 = $mArray[7] ;
    Case $mArray[8] ;KCBP Rödelheim
    $Server_Pfad2 = $KCBP_Pfad ;
    $sn2 = $mArray[8] ;
    Case $mArray[9] ;SAM Frankfurt
    $Server_Pfad2 = $SAMFR_Pfad ;
    $sn2 = $mArray[9] ;
    Case $mArray[10] ;SM Hofheim
    $Server_Pfad2 = $SMHO_Pfad ;
    $sn2 = $mArray[10] ;
    Case $mArray[11] ;SM Offenbach
    $Server_Pfad2 = $SMOF_Pfad ;
    $sn2= $mArray[11] ;
    Case $mArray[12] ;SM Usingen
    $Server_Pfad2 = $SMUS_Pfad ;
    $sn2 = $mArray[12] ;
    Case $mArray[13] ;SM Alten-Buseck
    $Server_Pfad2 = $SMAB_Pfad ;
    $sn2 = $mArray[13] ;
    Case $mArray[14] ;SM Grebenhain
    $Server_Pfad2 = $SMGH_Pfad ;
    $sn2 = $mArray[14] ;
    Case $mArray[15] ;SM Grünberg
    $Server_Pfad2 = $SMGB_Pfad ;
    $sn2 = $mArray[15] ;
    Case $mArray[16] ;SM Homberg
    $Server_Pfad2 = $SMHB_Pfad ;
    $sn2 = $mArray[16] ;
    Case $mArray[17] ;SM Lauterbach
    $Server_Pfad2 = $SMLB_Pfad ;
    $sn2 = $mArray[17] ;
    Case $mArray[18] ;BB Neuhof
    $Server_Pfad2 = $BBNE_Pfad ;
    $sn2 = $mArray[18] ;
    Case $mArray[19] ;SM Gersfeld
    $Server_Pfad2 = $SMGF_Pfad ;
    $sn2 = $mArray[19] ;
    Case $mArray[20] ;SM Hünfeld
    $Server_Pfad2 = $SMHU_Pfad ;
    $sn2 = $mArray[20] ;
    Case $mArray[21] ;SM Neuhof
    $Server_Pfad2 = $SMNE_Pfad
    $sn2 = $mArray[21]
    Case Else
    $Server_Pfad2 = 2

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

    EndSwitch
    Switch $auswahl3
    Case $mArray[1] ;AM Diedenbergen
    $Server_Pfad3 = $AMDI_Pfad ;
    $sn3 = $mArray[1] ;
    Case $mArray[2] ;AM Ehringshausen
    $Server_Pfad3 = $AMEH_Pfad ;
    $sn3 = $mArray[2] ;
    Case $mArray[3] ;AM Idstein
    $Server_Pfad3 = $AMID_Pfad ;
    $sn3 = $mArray[3] ;
    Case $mArray[4] ;AM Langenselbold
    $Server_Pfad3 = $AMLA_Pfad ;
    $sn3 = $mArray[4] ;
    Case $mArray[5] ;AM Reiskirchen
    $Server_Pfad3 = $AMRE_Pfad ;
    $sn3 = $mArray[5] ;
    Case $mArray[6] ;AM Rodgau
    $Server_Pfad3 = $AMRO_Pfad ;
    $sn3 = $mArray[6] ;
    Case $mArray[7] ;AM Rüsselsheim
    $Server_Pfad3 = $AMRU_Pfad ;
    $sn3 = $mArray[7] ;
    Case $mArray[8] ;KCBP Rödelheim
    $Server_Pfad3 = $KCBP_Pfad ;
    $sn3 = $mArray[8] ;
    Case $mArray[9] ;SAM Frankfurt
    $Server_Pfad3 = $SAMFR_Pfad ;
    $sn3 = $mArray[9] ;
    Case $mArray[10] ;SM Hofheim
    $Server_Pfad3 = $SMHO_Pfad ;
    $sn3 = $mArray[10] ;
    Case $mArray[11] ;SM Offenbach
    $Server_Pfad3 = $SMOF_Pfad ;
    $sn3= $mArray[11] ;
    Case $mArray[12] ;SM Usingen
    $Server_Pfad3 = $SMUS_Pfad ;
    $sn3 = $mArray[12] ;
    Case $mArray[13] ;SM Alten-Buseck
    $Server_Pfad3 = $SMAB_Pfad ;
    $sn3 = $mArray[13] ;
    Case $mArray[14] ;SM Grebenhain
    $Server_Pfad3 = $SMGH_Pfad ;
    $sn3 = $mArray[14] ;
    Case $mArray[15] ;SM Grünberg
    $Server_Pfad3 = $SMGB_Pfad ;
    $sn3 = $mArray[15] ;
    Case $mArray[16] ;SM Homberg
    $Server_Pfad3 = $SMHB_Pfad ;
    $sn3 = $mArray[16] ;
    Case $mArray[17] ;SM Lauterbach
    $Server_Pfad3 = $SMLB_Pfad ;
    $sn3 = $mArray[17] ;
    Case $mArray[18] ;BB Neuhof
    $Server_Pfad3 = $BBNE_Pfad ;
    $sn3 = $mArray[18] ;
    Case $mArray[19] ;SM Gersfeld
    $Server_Pfad3 = $SMGF_Pfad ;
    $sn3 = $mArray[19] ;
    Case $mArray[20] ;SM Hünfeld
    $Server_Pfad3 = $SMHU_Pfad ;
    $sn3 = $mArray[20] ;
    Case $mArray[21] ;SM Neuhof
    $Server_Pfad3 = $SMNE_Pfad
    $sn3 = $mArray[21]
    Case Else
    $Server_Pfad3 = 3

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

    EndSwitch
    EndSelect

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

    ; ändern der Icons sowie abschalten des OK Buttons sobald einer der 3 Server identisch ist "zum vorbeugen von einem Doppelten Mapping"

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

    If $Server_Pfad1 = $Server_Pfad2 Or $Server_Pfad1 = $Server_Pfad3 Or $Server_Pfad2 = $Server_Pfad3 And $o = 0 Then

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

    If $Server_Pfad1 = $Server_Pfad2 Then
    GUICtrlDelete($Server1Icon)
    GUICtrlDelete($Server2Icon)
    $Server1Icon = GUICtrlCreateIcon($ICONS_DLL,28,240,36,18,18)
    $Server2Icon = GUICtrlCreateIcon($ICONS_DLL,28,240,62,18,18)
    GUICtrlSetState($ButtonOK,$GUI_DISABLE)
    EndIf

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

    If $Server_Pfad1 = $Server_Pfad3 Then
    GUICtrlDelete($Server1Icon)
    GUICtrlDelete($Server3Icon)
    $Server1Icon = GUICtrlCreateIcon($ICONS_DLL,28,240,36,18,18)
    $Server3Icon = GUICtrlCreateIcon($ICONS_DLL,28,240,86,18,18)
    GUICtrlSetState($ButtonOK,$GUI_DISABLE)

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

    EndIf

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

    If $Server_pfad2 = $Server_Pfad3 Then
    GUICtrlDelete($Server2Icon)
    GUICtrlDelete($Server3Icon)
    $Server3Icon = GUICtrlCreateIcon($ICONS_DLL,28,240,86,18,18)
    $Server2Icon = GUICtrlCreateIcon($ICONS_DLL,28,240,62,18,18)
    GUICtrlSetState($ButtonOK,$GUI_DISABLE)
    EndIf

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

    $o = 1
    EndIf

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

    ; freigeben des OK Buttons sowie ändern der Icons sobald auf allen 3 Server unterschiedliche Meistereien gewählt wurden

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

    If $o = 1 And $Server_Pfad1 <> $Server_Pfad2 And $Server_Pfad1 <> $Server_Pfad3 And $Server_Pfad2 <> $Server_Pfad3 Then

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

    $o = 0
    GUICtrlDelete($Server1Icon)
    GUICtrlDelete($Server2Icon)
    GUICtrlDelete($Server3Icon)
    GUICtrlSetState($ButtonOK,$GUI_ENABLE)
    $Server1Icon = GUICtrlCreateIcon($ICONS_DLL,290,240,36,18,18)

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

    If $cbox2_checked = 1 Then
    $Server2Icon = GUICtrlCreateIcon($ICONS_DLL,290,240,62,18,18)
    EndIf
    If $cbox3_checked = 1 Then
    $Server3Icon = GUICtrlCreateIcon($ICONS_DLL,290,240,86,18,18)
    EndIf
    EndIf

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

    Select
    Case $msg = $ButtonOK

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

    ; Laufwerke verbinden
    If DriveMapAdd ( $Laufwerksbuchstabe1, $Server_Pfad1, 0, "itshessen\" & $Benutzer, $Password1) = 1 Then ; Netzlaufwerk 1 verbinden

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

    $oShell = ObjCreate("shell.application")
    $oShell.NameSpace($Laufwerksbuchstabe1).Self.Name = $sn1 ;Namen des Laufwerkes anpassen

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

    If $cbox2_checked = 1 Then
    DriveMapAdd ( $Laufwerksbuchstabe2, $Server_Pfad2, 0, "itshessen\" & $Benutzer, $Password1) ; Netzlaufwerk 2 verbinden "nur wenn Checkbox = CHECKED

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

    $oShell = ObjCreate("shell.application")
    $oShell.NameSpace($Laufwerksbuchstabe2).Self.Name = $sn2 ;Namen des Laufwerkes anpassen
    EndIf

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

    If $cbox3_checked = 1 Then
    DriveMapAdd ( $Laufwerksbuchstabe3, $Server_Pfad3, 0, "itshessen\" & $Benutzer, $Password1) ; Netzlaufwerk 3 verbinden "nur wenn Checkbox = CHECKED

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

    $oShell = ObjCreate("shell.application")
    $oShell.NameSpace($Laufwerksbuchstabe3).Self.Name = $sn3 ;Namen des Laufwerkes anpassen
    EndIf

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

    GUISetState(@SW_HIDE, $Nutzer) ; MainGUI ausblenden
    GUISetState(@SW_SHOW, $Hauptfenster) ; Netzlaufwerke Trennen GUI anzeigen
    $Abbruch = 1 ; Main Schleife stoppen
    Else
    MsgBox(0+48,"keine Berechtigung","Das eingegebene Kennwort ist nicht korrekt oder das Benutzerkonto ist deaktiviert.")
    GUICtrlDelete($PasswordEingabe1)
    $PasswordEingabe1 = GUICtrlCreateInput ( "", 90, 138, 150, 20, $ES_PASSWORD)
    GUICtrlSetState($PasswordEingabe1,$GUI_FOCUS)
    EndIf

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

    ; Benutzer Speichern
    If GUICtrlRead($cboxsave) = $GUI_CHECKED Then
    IniWrite("C:\autoit_Meistereien_cfg.ini","cfg","user",$Benutzer)
    EndIf

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

    ; About MSG Box
    Case $msg = $about

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

    MsgBox(64,"About - Netzlaufwerkescript"," Autor : Mkrtschjan, Marvin "& @CRLF &" Datum : 06.06.2011 "& @CRLF &" Version : 1.3 "& @CRLF &" Amt: ASV Frankfurt") ; About

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

    EndSelect
    WEnd
    ; Netzlaufwerke Trennen MAIN Schleife
    While 1
    $msg = GUIGetMsg()
    Select

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

    Case $msg = $GUI_EVENT_CLOSE
    $MsgBox_Ergebnis = MsgBox(4+32+262144+256,"Sicherheitsabfrage","Netzlaufwerke wirklich trennen ?")
    If $MsgBox_Ergebnis = 6 Then
    DriveMapDel ( $Laufwerksbuchstabe1 )
    DriveMapDel ( $Laufwerksbuchstabe2 )
    DriveMapDel ( $Laufwerksbuchstabe3 )

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

    Exit
    EndIf
    Case $msg = $TrennenButton
    $MsgBox_Ergebnis = MsgBox(4+32+262144+256,"Sicherheitsabfrage","Netzlaufwerke wirklich trennen ?")
    If $MsgBox_Ergebnis = 6 Then
    DriveMapDel ( $Laufwerksbuchstabe1 )
    DriveMapDel ( $Laufwerksbuchstabe2 )
    DriveMapDel ( $Laufwerksbuchstabe3 )

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

    Exit
    Else
    EndIf
    EndSelect
    Wend
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $quitbutton
    Exit
    EndSelect
    WEnd

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

    ; Freie Laufwerksbuchstaben ermitteln
    Func _GetFreeDriveLetters()
    Dim $aArray[1]
    For $x = 67 To 90
    If DriveStatus(Chr($x) & ':\') = 'INVALID' Then
    ReDim $aArray[UBound($aArray) + 1]
    $aArray[UBound($aArray) - 1] = Chr($x) & ':'
    EndIf
    Next
    $aArray[0] = UBound($aArray) - 1
    Return($aArray)
    EndFunc

    [/autoit]

    Gruß Marvin


    // Edit : Hat sich erledigt :)

    Einmal editiert, zuletzt von Protex (17. Oktober 2011 um 09:45)