1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Ghostleader

Beiträge von Ghostleader

  • 2 Inputs in Function integrieren

    • Ghostleader
    • 31. Dezember 2011 um 16:20

    Hallo zusammen,

    Problem gelöst. Habe es nun so gemacht!

    Speichern:

    Spoiler anzeigen
    [autoit]

    Func _SaveData1(ByRef $ArrayToUse,$mode,$lagernummer)
    if $mode = "GildenLager" Then
    $key=$mode & $lagernummer
    IniWrite($GildenDataINI,GUICtrlRead($ComboUser1),$key & "Ort",GUICtrlRead($inputLager))
    Iniwrite($GildenDataINI, GUICtrlRead($ComboUser1), "Server", GUICtrlRead($inputserver))
    Iniwrite($GildenDataINI, GUICtrlRead($ComboUser1), "Gilde", GUICtrlRead($inputGilde))
    EndIf
    $value=""
    For $s=0 to UBound($ArrayToUse,2)-1
    For $i=1 to UBound($ArrayToUse)-1
    $value&=GUICtrlRead($ArrayToUse[$i][$s]) & "|"
    Next
    Next
    $value=StringTrimRight($value,1) ; entfernt letzten senkrechten Strich
    IniWrite($GildenDataINI,GUICtrlRead($ComboUser1),$key,$value)
    _clearGUI()
    EndFunc

    [/autoit]


    Laden:

    Spoiler anzeigen
    [autoit]

    Func _LoadData1(ByRef $ArrayToUse,$mode,$lagernummer)
    if $mode="GildenLager" Then
    $key=$mode & $lagernummer
    GUICtrlSetData($inputLager,IniRead($GildenDataINI,GUICtrlRead($ComboUser1),$key & "Ort",""))
    GUICtrlSetData($inputserver,IniRead($GildenDataINI,GUICtrlRead($ComboUser1),"Server",""))
    GUICtrlSetData($inputGilde,IniRead($GildenDataINI,GUICtrlRead($ComboUser1),"Gilde",""))
    EndIf
    $value=IniRead($GildenDataINI,GUICtrlRead($ComboUser1),$key,"")
    $aTemp=StringSplit($value,"|") ; erstellt array mit den einzelwerten aus dem string im ini key-value
    if (UBound($aTemp)-1)/UBound($ArrayToUse,2) <> UBound($ArrayToUse)-1 Then Return ;MsgBox(0,"Fehler","ini Datei inkompatibel") ; verlässt die Funktion, weil zuviele oder zuwenige einträge in der ini
    ; inputs befüllen
    $j=1
    For $s=0 to UBound($ArrayToUse,2)-1
    For $i=1 to UBound($ArrayToUse)-1
    GUICtrlSetData($ArrayToUse[$i][$s],$aTemp[$j])
    $j+=1
    Next
    Next
    EndFunc

    [/autoit]

    Aber danke für die Hilfen!

    Mfg Ghostleader

  • 2 Inputs in Function integrieren

    • Ghostleader
    • 31. Dezember 2011 um 14:43

    Ich möchte das das was in die Inputs geschrieben wird bei der speicherfunktion gespeichert und bei der ladefunktion wieder deladen wird und gesetzt wird weiss net was du mit popup und irgendwelchem zeug willst!

    Mfg Ghostleader

  • 2 Inputs in Function integrieren

    • Ghostleader
    • 31. Dezember 2011 um 00:33

    Hallo zusammen,

    ich möchte gerne noch 2 inputfelder mit in die Speicher/Ladefunktion von einem Script einbauen, nur irgendwie will es mir nicht gelingen und ich hoffe das noch wer da ist der mir da behilflich sein kann!

    Speicherfunction:

    Spoiler anzeigen
    [autoit]

    Func _SaveData1(ByRef $ArrayToUse,$mode,$lagernummer)
    if $mode = "GildenLager" Then
    $key=$mode & $lagernummer
    IniWrite($GildenDataINI,GUICtrlRead($ComboUser1),$key & "Ort",GUICtrlRead($inputLager))
    EndIf
    $value=""
    For $s=0 to UBound($ArrayToUse,2)-1
    For $i=1 to UBound($ArrayToUse)-1
    $value&=GUICtrlRead($ArrayToUse[$i][$s]) & "|"
    Next
    Next
    $value=StringTrimRight($value,1) ; entfernt letzten senkrechten Strich
    IniWrite($GildenDataINI,GUICtrlRead($ComboUser1),$key,$value)
    _clearGUI()
    EndFunc

    [/autoit]


    Ladefunction:

    Spoiler anzeigen
    [autoit]

    Func _LoadData1(ByRef $ArrayToUse,$mode,$lagernummer)
    if $mode="GildenLager" Then
    $key=$mode & $lagernummer
    GUICtrlSetData($inputLager,IniRead($GildenDataINI,GUICtrlRead($ComboUser1),$key & "Ort",""))
    EndIf
    $value=IniRead($GildenDataINI,GUICtrlRead($ComboUser1),$key,"")
    $aTemp=StringSplit($value,"|") ; erstellt array mit den einzelwerten aus dem string im ini key-value
    if (UBound($aTemp)-1)/UBound($ArrayToUse,2) <> UBound($ArrayToUse)-1 Then Return ;MsgBox(0,"Fehler","ini Datei inkompatibel") ; verlässt die Funktion, weil zuviele oder zuwenige einträge in der ini
    ; inputs befüllen
    $j=1
    For $s=0 to UBound($ArrayToUse,2)-1
    For $i=1 to UBound($ArrayToUse)-1
    GUICtrlSetData($ArrayToUse[$i][$s],$aTemp[$j])
    $j+=1
    Next
    Next
    EndFunc

    [/autoit]

    Folgende 2 Inputs sollen da integriert werden.
    $inputGilde
    $inputserver

    Ich hoffe das noch wer von euch wach ist und mir da eben behilflich sein kann!

    Mfg Ghostleader

    Ps:
    Hier noch der ganze Code:

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #endregion INCLUDES
    #region GLOBAL
    ;------------------------------------------------------------------------------------------
    Global $aschliesfach[17][4]
    Global $aLager[13][3]
    Global $aGildenLager[13][3]
    Global $userSelection=-1 ; noch wurde garnichts gewählt, programmstart
    Global $DataINI = 'data.ini'
    Global $GildenDataINI = 'gildendata.ini'
    #endregion GLOBAL
    ;------------------------------------------------------------------------------------------
    #region GUI
    $Form1 = GUICreate("Form1", 940, 550, 192, 5, $WS_BORDER & $WS_POPUP)
    ;GUISetState()
    $Backround = GUICtrlCreatePic("bilder\lager.tgx", 0, 0, 940, 550)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $rightLabel = GUICtrlCreateLabel("Copyright By Ghostleader and Areneas", 645, 500, 300, 25)
    GUICtrlSetFont(-1, 11, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    #endregion GUI
    ;------------------------------------------------------------------------------------------
    #region Group´s
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $FrontLagerBank = GUICtrlCreateGroup("", 360, 120, 280, 255)
    $ComboImport = GUICtrlCreateGroup("", 590, 135, 150, 45)
    $ComboExport = GUICtrlCreateGroup("", 750, 135, 150, 45)
    $GroupCombo = GUICtrlCreateGroup("", 10, 6, 276, 36)
    $GroupServer = GUICtrlCreateGroup("", 10, 50, 276, 36)
    $GroupGilde = GUICtrlCreateGroup("", 10, 90, 276, 36)
    $GroupAccountNeu = GUICtrlCreateGroup("", 302, 6, 121, 36)
    $GroupSpeichern = GUICtrlCreateGroup("", 440, 6, 235, 36)
    $Exit = GUICtrlCreateGroup("", 685, 6, 238, 36)
    $LagerLabelGroup = GUICtrlCreateGroup("", 310, 135, 270, 45)
    $LagerGroup = GUICtrlCreateGroup("", 320, 62, 590, 45)
    $LagerSpalte1 = GUICtrlCreateGroup("", 70, 195, 190, 290)
    $LagerSpalte2 = GUICtrlCreateGroup("", 345, 195, 190, 290)
    $LagerSpalte3 = GUICtrlCreateGroup("", 615, 195, 190, 290)
    $BankRahmen1 = GUICtrlCreateGroup("", 30, 112, 190, 370)
    $BankRahmen2 = GUICtrlCreateGroup("", 270, 112, 190, 370)
    $BankRahmen3 = GUICtrlCreateGroup("", 500, 112, 190, 370)
    $BankRahmen4 = GUICtrlCreateGroup("", 730, 112, 190, 370)
    #endregion Group´s
    ;------------------------------------------------------------------------------------------
    #region Button´s
    $AccountNeu = GUICtrlCreateButton("Neuer Account", 310, 16, 105, 22)
    $GildenAccountNeu = GUICtrlCreateButton("Neuer Account", 310, 16, 105, 22)
    $Lager1Speichern = GUICtrlCreateButton("Speichern", 448, 16, 105, 22)
    $Lager2Speichern = GUICtrlCreateButton("Speichern", 448, 16, 105, 22)
    $Lager3Speichern = GUICtrlCreateButton("Speichern", 448, 16, 105, 22)
    $GildenLager1Speichern = GUICtrlCreateButton("Speichern", 448, 16, 105, 22)
    $GildenLager2Speichern = GUICtrlCreateButton("Speichern", 448, 16, 105, 22)
    $GildenLager3Speichern = GUICtrlCreateButton("Speichern", 448, 16, 105, 22)
    $SchliessfachSpeichern = GUICtrlCreateButton("Speichern", 448, 16, 105, 22)
    $AccLoschen = GUICtrlCreateButton("Acc Löschen", 565, 16, 105, 22)
    ;------------------------------------------------------------------------------------------
    $SchliessfachOben = GUICtrlCreateButton("Bankschließfach", 695, 16, 105, 22)
    $ButtonExit = GUICtrlCreateButton("Exit", 810, 16, 105, 22)
    ;------------------------------------------------------------------------------------------
    $SchliessfachLoschen = GUICtrlCreateButton("Schliesfach Löschen", 565, 16, 105, 22)
    $LagerOben = GUICtrlCreateButton("Lagerverwaltung",695, 16, 105, 22)
    ;------------------------------------------------------------------------------------------
    $GildeFront = GUICtrlCreateButton("Gildenlager", 375, 140, 250, 40)
    $LagerFront = GUICtrlCreateButton("Lagerverwaltung", 375, 200, 250, 40)
    $SchliessfachFront = GUICtrlCreateButton("Bankschließfach", 375, 260, 250, 40)
    $Schliessen = GUICtrlCreateButton("Programm Schliessen", 375, 320, 250, 40)
    ;------------------------------------------------------------------------------------------
    $Import = GUICtrlCreateButton("Import", 600, 148,130,25)
    $Export = GUICtrlCreateButton("Export", 760, 148,130,25)
    ;------------------------------------------------------------------------------------------
    $Lager1 = GUICtrlCreateButton("LAGER 1", 330, 75, 170, 25)
    $Lager2 = GUICtrlCreateButton("LAGER 2", 530, 75, 170, 25)
    $Lager3 = GUICtrlCreateButton("LAGER 3", 730, 75, 170, 25)
    $GildenLager1 = GUICtrlCreateButton("LAGER 1", 330, 75, 170, 25)
    $GildenLager2 = GUICtrlCreateButton("LAGER 2", 530, 75, 170, 25)
    $GildenLager3 = GUICtrlCreateButton("LAGER 3", 730, 75, 170, 25)
    #endregion Button´s
    ;------------------------------------------------------------------------------------------
    #region Combo´s
    $ComboUser = GUICtrlCreateCombo("", 100, 16, 170, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) ; ein combo reicht völlig
    _setCombo($ComboUser,1) ; NEU: erledigt alles, returned nichts :P, Parameter 1 bedeutet gui initialisierung, wert 1 der ini wird ausgewählt
    $ComboUser1 = GUICtrlCreateCombo("", 100, 16, 170, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) ; ein combo reicht völlig
    _setCombo1($ComboUser1,1) ; NEU: erledigt alles, returned nichts :P, Parameter 1 bedeutet gui initialisierung, wert 1 der ini wird ausgewählt
    #endregion Combo´s
    ;------------------------------------------------------------------------------------------
    #region Label´s
    $LagerLabel1 = GUICtrlCreateLabel("", 315, 150, 100, 25)
    GUICtrlSetFont(-1, 15, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Label4 = GUICtrlCreateLabel("Account", 22, 18, 80, 19)
    GUICtrlSetFont(-1, 11, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ServerLabel = GUICtrlCreateLabel("Server", 22, 62, 80, 19)
    GUICtrlSetFont(-1, 11, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $GildenLabel = GUICtrlCreateLabel("Gilde", 22, 102, 80, 19)
    GUICtrlSetFont(-1, 11, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    #endregion Label´s
    ;---------------------------------------------------------------------------------------------
    #region Input
    $inputLager = GUICtrlCreateInput("", 400, 150, 170, 21)
    $inputServer = GUICtrlCreateInput("", 100, 60, 170, 21)
    $inputGilde = GUICtrlCreateInput("", 100, 100, 170, 21)
    #endregion Input
    ;---------------------------------------------------------------------------------------------
    #region HIDE
    GUICtrlSetState($ComboImport, $GUI_HIDE)
    GUICtrlSetState($ComboExport, $GUI_HIDE)
    GUICtrlSetState($Import, $GUI_HIDE)
    GUICtrlSetState($Export, $GUI_HIDE)
    GUICtrlSetState($inputServer, $GUI_HIDE)
    GUICtrlSetState($inputGilde, $GUI_HIDE)
    GUICtrlSetState($GroupSpeichern, $GUI_HIDE)
    GUICtrlSetState($GroupServer, $GUI_HIDE)
    GUICtrlSetState($ServerLabel, $GUI_HIDE)
    GUICtrlSetState($GildenLabel, $GUI_HIDE)
    GUICtrlSetState($GroupGilde, $GUI_HIDE)
    GUICtrlSetState($GroupAccountNeu, $GUI_HIDE)
    GUICtrlSetState($Exit, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte1, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte2, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte3, $GUI_HIDE)
    GUICtrlSetState($GroupCombo, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($ButtonExit, $GUI_HIDE)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager1Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager2Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_HIDE)
    GUICtrlSetState($AccLoschen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_HIDE)
    GUICtrlSetState($GildenLager1, $GUI_HIDE)
    GUICtrlSetState($GildenLager2, $GUI_HIDE)
    GUICtrlSetState($GildenLager3, $GUI_HIDE)
    GUICtrlSetState($Label4, $GUI_HIDE)
    GUICtrlSetState($inputLager, $GUI_HIDE)
    GUICtrlSetState($ComboUser, $GUI_HIDE)
    GUICtrlSetState($ComboUser1, $GUI_HIDE)
    GUICtrlSetState($LagerLabelGroup, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_HIDE)
    GUICtrlSetState($AccountNeu, $GUI_HIDE)
    GUICtrlSetState($GildenAccountNeu, $GUI_HIDE)
    #endregion HIDE
    ;----------------------------------------------------------------------------------------------
    #region Generat´s
    _generateControls($aLager,"Lager")
    _generateControls($aschliesfach,"Schliessfach")
    _generateControls($aGildenLager,"GildenLager")
    #endregion Generat´s
    GUISetState(@SW_SHOW)
    ;---------------------------------------------------------------------------------------------
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $SchliessfachFront, $SchliessfachOben
    $userSelection = 0
    _ButtonSchliessfach()
    Case $LagerFront, $LagerOben
    $userSelection = 1
    _clearkommplettGUI()
    _ButtonLager1()
    Case $Lager1
    $userSelection = 1
    _ButtonLager1()
    Case $Lager2
    $userSelection = 2
    _ButtonLager2()
    Case $Lager3
    $userSelection = 3
    _ButtonLager3()
    Case $GildeFront
    $userSelection = 1
    _clearkommplettGUI()
    _GildenLager1()
    Case $GildenLager1
    $userSelection = 1
    _GildenLager1()
    Case $GildenLager2
    $userSelection = 2
    _GildenLager2()
    Case $GildenLager3
    $userSelection = 3
    _GildenLager3()
    Case $AccountNeu
    _clearkommplettGUI()
    Case $GildenAccountNeu
    _clearkommplettGUI()
    Case $ButtonExit, $Schliessen
    Exit
    Case $ComboUser ; umbenannt
    _clearGUI()
    if $userSelection = 0 Then _LoadData($aschliesfach,"Schliessfach",$userSelection)
    if $userSelection > 0 Then _LoadData($aLager,"Lager",$userSelection)
    Case $ComboUser1
    _clearGUI()
    if $userSelection > 0 Then _LoadData1($aGildenLager,"GildenLager",$userSelection)
    Case $Import
    _import()
    Case $Export
    _export()
    Case $GildenLager1Speichern
    _SaveData1($aGildenLager,"GildenLager",1) ; neu
    Case $GildenLager2Speichern
    _SaveData1($aGildenLager,"GildenLager",2) ; neu
    Case $GildenLager3Speichern
    _SaveData1($aGildenLager,"GildenLager",3) ; neu
    Case $Lager1Speichern
    _SaveData($aLager,"Lager",1) ; neu
    Case $Lager2Speichern
    _SaveData($aLager,"Lager",2) ; neu
    Case $Lager3Speichern
    _SaveData($aLager,"Lager",3) ; neu
    Case $SchliessfachSpeichern
    _SaveData($aschliesfach,"Schliessfach",0) ; neu
    Case $AccLoschen
    _deleteAccount()
    Case $SchliessfachLoschen
    _deleteSchliessfach()
    EndSwitch
    WEnd
    ;_--------------------------------------------------------------------------------------------
    Func _ButtonSchliessfach()
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_SHOW)
    Next
    Next
    _clearkommplettGUI()
    GUICtrlSetState($ComboImport, $GUI_HIDE)
    GUICtrlSetState($ComboExport, $GUI_HIDE)
    GUICtrlSetState($Import, $GUI_HIDE)
    GUICtrlSetState($Export, $GUI_HIDE)
    GUICtrlSetState($inputServer, $GUI_HIDE)
    GUICtrlSetState($inputGilde, $GUI_HIDE)
    GUICtrlSetState($ServerLabel, $GUI_HIDE)
    GUICtrlSetState($GildenLabel, $GUI_HIDE)
    GUICtrlSetState($GroupServer, $GUI_HIDE)
    GUICtrlSetState($GroupGilde, $GUI_HIDE)
    GUICtrlSetState($GildenAccountNeu, $GUI_HIDE)
    GUICtrlSetState($GildenLager1Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager2Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager3Speichern, $GUI_HIDE)
    GUICtrlSetState($GroupAccountNeu, $GUI_HIDE)
    GUICtrlSetState($AccountNeu, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($GildeFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($GroupSpeichern, $GUI_SHOW)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte2, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte3, $GUI_HIDE)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerOben, $GUI_SHOW)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_HIDE)
    GUICtrlSetState($inputLager, $GUI_HIDE)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($ComboUser1, $GUI_HIDE)
    GUICtrlSetState($ComboUser, $GUI_SHOW)
    GUICtrlSetState($BankRahmen1, $GUI_SHOW)
    GUICtrlSetState($BankRahmen2, $GUI_SHOW)
    GUICtrlSetState($BankRahmen3, $GUI_SHOW)
    GUICtrlSetState($BankRahmen4, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_HIDE)
    _clearGUI(); felder leeren beim wechsel
    _LoadData($aschliesfach,"Schliessfach",0) ; felder neu befüllen
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _ButtonLager1()
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($GildenAccountNeu, $GUI_HIDE)
    GUICtrlSetState($GildenLager1Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager2Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($GildeFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GuiCtrlSetData($LagerLabel1, "Lager 1")
    GUICtrlSetState($ComboImport, $GUI_HIDE)
    GUICtrlSetState($ComboExport, $GUI_HIDE)
    GUICtrlSetState($Import, $GUI_HIDE)
    GUICtrlSetState($Export, $GUI_HIDE)
    GUICtrlSetState($inputServer, $GUI_SHOW)
    GUICtrlSetState($inputGilde, $GUI_SHOW)
    GUICtrlSetState($ServerLabel, $GUI_SHOW)
    GUICtrlSetState($GildenLabel, $GUI_SHOW)
    GUICtrlSetState($GroupServer, $GUI_SHOW)
    GUICtrlSetState($GroupGilde, $GUI_SHOW)
    GUICtrlSetState($GroupAccountNeu, $GUI_SHOW)
    GUICtrlSetState($AccountNeu, $GUI_SHOW)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($GroupSpeichern, $GUI_SHOW)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte2, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte3, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_SHOW)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($inputLager, $GUI_SHOW)
    GUICtrlSetState($ComboUser1, $GUI_HIDE)
    GUICtrlSetState($ComboUser, $GUI_SHOW)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_SHOW)
    GUICtrlSetState($Lager3, $GUI_SHOW)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)
    _clearGUI(); felder leeren beim wechsel
    _LoadData($aLager,"Lager",1) ; felder neu befüllen
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _ButtonLager2()
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($GildenAccountNeu, $GUI_HIDE)
    GUICtrlSetState($GildenLager1Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager2Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($GildeFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GuiCtrlSetData($LagerLabel1, "Lager 2")
    GUICtrlSetState($ComboImport, $GUI_HIDE)
    GUICtrlSetState($ComboExport, $GUI_HIDE)
    GUICtrlSetState($Import, $GUI_HIDE)
    GUICtrlSetState($Export, $GUI_HIDE)
    GUICtrlSetState($inputServer, $GUI_SHOW)
    GUICtrlSetState($inputGilde, $GUI_SHOW)
    GUICtrlSetState($ServerLabel, $GUI_SHOW)
    GUICtrlSetState($GildenLabel, $GUI_SHOW)
    GUICtrlSetState($GroupServer, $GUI_SHOW)
    GUICtrlSetState($GroupGilde, $GUI_SHOW)
    GUICtrlSetState($GroupAccountNeu, $GUI_SHOW)
    GUICtrlSetState($AccountNeu, $GUI_SHOW)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($GroupSpeichern, $GUI_SHOW)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte2, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte3, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_SHOW)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($inputLager, $GUI_SHOW)
    GUICtrlSetState($ComboUser1, $GUI_HIDE)
    GUICtrlSetState($ComboUser, $GUI_SHOW)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_SHOW)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_SHOW)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)
    _clearGUI(); felder leeren beim wechsel
    _LoadData($aLager,"Lager",2) ; felder neu befüllen
    EndFunc
    ;-------------------------------------------------------------------------------------------------
    Func _ButtonLager3()
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($GildenAccountNeu, $GUI_HIDE)
    GUICtrlSetState($GildenLager1Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager2Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($GildeFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GuiCtrlSetData($LagerLabel1, "Lager 3")
    GUICtrlSetState($ComboImport, $GUI_HIDE)
    GUICtrlSetState($ComboExport, $GUI_HIDE)
    GUICtrlSetState($Import, $GUI_HIDE)
    GUICtrlSetState($Export, $GUI_HIDE)
    GUICtrlSetState($inputServer, $GUI_SHOW)
    GUICtrlSetState($inputGilde, $GUI_SHOW)
    GUICtrlSetState($ServerLabel, $GUI_SHOW)
    GUICtrlSetState($GildenLabel, $GUI_SHOW)
    GUICtrlSetState($GroupServer, $GUI_SHOW)
    GUICtrlSetState($GroupGilde, $GUI_SHOW)
    GUICtrlSetState($GroupAccountNeu, $GUI_SHOW)
    GUICtrlSetState($AccountNeu, $GUI_SHOW)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($GroupSpeichern, $GUI_SHOW)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte2, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte3, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_SHOW)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($inputLager, $GUI_SHOW)
    GUICtrlSetState($ComboUser1, $GUI_HIDE)
    GUICtrlSetState($ComboUser, $GUI_SHOW)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_SHOW)
    GUICtrlSetState($Lager2, $GUI_SHOW)
    GUICtrlSetState($Lager3, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)
    _clearGUI(); felder leeren beim wechsel
    _LoadData($aLager,"Lager",3) ; felder neu befüllen
    EndFunc
    ;-------------------------------------------------------------------------------------------------
    Func _GildenLager1()
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aGildenLager,2)-1
    For $i=1 To UBound($aGildenLager)-1
    GUICtrlSetState($aGildenLager[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GuiCtrlSetData($LagerLabel1, "Lager 1")
    GUICtrlSetState($ComboImport, $GUI_SHOW)
    GUICtrlSetState($ComboExport, $GUI_SHOW)
    GUICtrlSetState($Import, $GUI_SHOW)
    GUICtrlSetState($Export, $GUI_SHOW)
    GUICtrlSetState($inputServer, $GUI_SHOW)
    GUICtrlSetState($inputGilde, $GUI_SHOW)
    GUICtrlSetState($ServerLabel, $GUI_SHOW)
    GUICtrlSetState($GildenLabel, $GUI_SHOW)
    GUICtrlSetState($GroupServer, $GUI_SHOW)
    GUICtrlSetState($GroupGilde, $GUI_SHOW)
    GUICtrlSetState($GildeFront, $GUI_HIDE)
    GUICtrlSetState($GildenAccountNeu, $GUI_SHOW)
    GUICtrlSetState($GildenLager1Speichern, $GUI_SHOW)
    GUICtrlSetState($GildenLager2Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager3Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager1, $GUI_HIDE)
    GUICtrlSetState($GildenLager2, $GUI_SHOW)
    GUICtrlSetState($GildenLager3, $GUI_SHOW)
    GUICtrlSetState($GroupAccountNeu, $GUI_HIDE)
    GUICtrlSetState($AccountNeu, $GUI_HIDE)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($GroupSpeichern, $GUI_HIDE)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte2, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte3, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_HIDE)
    GUICtrlSetState($AccLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($inputLager, $GUI_SHOW)
    GUICtrlSetState($ComboUser, $GUI_HIDE)
    GUICtrlSetState($ComboUser1, $GUI_SHOW)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)
    _clearGUI(); felder leeren beim wechsel
    _LoadData1($aGildenLager,"GildenLager",1) ; felder neu befüllen
    EndFunc
    ;-------------------------------------------------------------------------------------------------
    Func _GildenLager2()
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aGildenLager,2)-1
    For $i=1 To UBound($aGildenLager)-1
    GUICtrlSetState($aGildenLager[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GuiCtrlSetData($LagerLabel1, "Lager 2")
    GUICtrlSetState($ComboImport, $GUI_SHOW)
    GUICtrlSetState($ComboExport, $GUI_SHOW)
    GUICtrlSetState($Import, $GUI_SHOW)
    GUICtrlSetState($Export, $GUI_SHOW)
    GUICtrlSetState($inputServer, $GUI_SHOW)
    GUICtrlSetState($inputGilde, $GUI_SHOW)
    GUICtrlSetState($ServerLabel, $GUI_SHOW)
    GUICtrlSetState($GildenLabel, $GUI_SHOW)
    GUICtrlSetState($GroupServer, $GUI_SHOW)
    GUICtrlSetState($GroupGilde, $GUI_SHOW)
    GUICtrlSetState($GildeFront, $GUI_HIDE)
    GUICtrlSetState($GildenAccountNeu, $GUI_SHOW)
    GUICtrlSetState($GildenLager1Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager2Speichern, $GUI_SHOW)
    GUICtrlSetState($GildenLager3Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager1, $GUI_SHOW)
    GUICtrlSetState($GildenLager2, $GUI_HIDE)
    GUICtrlSetState($GildenLager3, $GUI_SHOW)
    GUICtrlSetState($GroupAccountNeu, $GUI_HIDE)
    GUICtrlSetState($AccountNeu, $GUI_HIDE)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($GroupSpeichern, $GUI_HIDE)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte2, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte3, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_HIDE)
    GUICtrlSetState($AccLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($inputLager, $GUI_SHOW)
    GUICtrlSetState($ComboUser, $GUI_HIDE)
    GUICtrlSetState($ComboUser1, $GUI_SHOW)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)
    _clearGUI(); felder leeren beim wechsel
    _LoadData1($aGildenLager,"GildenLager",2) ; felder neu befüllen
    EndFunc
    ;-------------------------------------------------------------------------------------------------
    Func _GildenLager3()
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aGildenLager,2)-1
    For $i=1 To UBound($aGildenLager)-1
    GUICtrlSetState($aGildenLager[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GuiCtrlSetData($LagerLabel1, "Lager 3")
    GUICtrlSetState($ComboImport, $GUI_SHOW)
    GUICtrlSetState($ComboExport, $GUI_SHOW)
    GUICtrlSetState($Import, $GUI_SHOW)
    GUICtrlSetState($Export, $GUI_SHOW)
    GUICtrlSetState($inputServer, $GUI_SHOW)
    GUICtrlSetState($inputGilde, $GUI_SHOW)
    GUICtrlSetState($ServerLabel, $GUI_SHOW)
    GUICtrlSetState($GildenLabel, $GUI_SHOW)
    GUICtrlSetState($GroupServer, $GUI_SHOW)
    GUICtrlSetState($GroupGilde, $GUI_SHOW)
    GUICtrlSetState($GildeFront, $GUI_HIDE)
    GUICtrlSetState($GildenAccountNeu, $GUI_SHOW)
    GUICtrlSetState($GildenLager1Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager2Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager3Speichern, $GUI_SHOW)
    GUICtrlSetState($GildenLager1, $GUI_SHOW)
    GUICtrlSetState($GildenLager2, $GUI_SHOW)
    GUICtrlSetState($GildenLager3, $GUI_HIDE)
    GUICtrlSetState($GroupAccountNeu, $GUI_HIDE)
    GUICtrlSetState($AccountNeu, $GUI_HIDE)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($GroupSpeichern, $GUI_HIDE)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte2, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte3, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_HIDE)
    GUICtrlSetState($AccLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($inputLager, $GUI_SHOW)
    GUICtrlSetState($ComboUser, $GUI_HIDE)
    GUICtrlSetState($ComboUser1, $GUI_SHOW)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)
    _clearGUI(); felder leeren beim wechsel
    _LoadData1($aGildenLager,"GildenLager",3) ; felder neu befüllen
    EndFunc
    ;-------------------------------------------------------------------------------------------------
    Func _generateControls(ByRef $ArrayToUse,$mode)
    #cs
    Neue Funktion die die generate Funktionen für Lager und Schliessfach ersetzt und alle control ids in 2-Dimensionalen Arrays speichert
    Könnte weiter optimiert werden, da es kaum unterschiede zwischen beiden Modes gibt, wir belassen es jetzt erstmal so...
    #ce
    if $mode = "Lager" Then
    For $s=0 to UBound($ArrayToUse,2)-1 ; für alle Spalten
    $Abstand = 2
    if $s=0 then $left=1
    if $s=1 then $left=275
    if $s=2 then $left=545
    For $i = 1 To UBound($ArrayToUse)-1 ; für alle Zeilen
    $ArrayToUse[$i][$s] = GUICtrlCreateInput("",85+$left,216+$Abstand,160)
    GUICtrlSetState(-1,$GUI_HIDE)
    $Abstand +=21
    Next
    Next
    EndIf
    ;---------------------------------------------------------------------------------------------------
    if $mode = "GildenLager" Then
    For $s=0 to UBound($ArrayToUse,2)-1 ; für alle Spalten
    $Abstand = 2
    if $s=0 then $left=1
    if $s=1 then $left=275
    if $s=2 then $left=545
    For $i = 1 To UBound($ArrayToUse)-1 ; für alle Zeilen
    $ArrayToUse[$i][$s] = GUICtrlCreateInput("",85+$left,216+$Abstand,160)
    GUICtrlSetState(-1,$GUI_HIDE)
    $Abstand +=21
    Next
    Next
    EndIf
    ;---------------------------------------------------------------------------------------------------
    if $mode = "Schliessfach" Then
    For $s=0 to UBound($ArrayToUse,2)-1 ; für alle Spalten
    $Abstand = 2
    if $s=0 Then $left=40
    if $s=1 Then $left=280
    if $s=2 Then $left=510
    if $s=3 Then $left=740
    For $i = 1 To UBound($ArrayToUse)-1 ; für alle Zeilen
    $ArrayToUse[$i][$s] = GUICtrlCreateInput("",5+$left,130+$Abstand,160)
    GUICtrlSetState(-1,$GUI_HIDE)
    $Abstand +=21
    Next
    Next
    EndIf
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _import()
    $Lageraccounts = IniReadSectionNames(@ScriptDir & "\lagerimport.ini")
    $GildenAccounts = IniReadSectionNames(@ScriptDir & "\gildendata.ini")
    For $k = 1 To $Lageraccounts[0]
    $Vergleichbool = False
    For $i = 1 To $GildenAccounts[0]
    If $GildenAccounts[$i] = $Lageraccounts[$k] Then
    $Vergleichbool = True
    $msgbox = MsgBox(4, "Gefunden", "Der Account " & $GildenAccounts[$i] & " ist bereits vorhanden." & @CRLF & "Soll er überschrieben werden?")
    If $msgbox = 6 Then
    $tmparray = IniReadSection(@ScriptDir & "\lagerimport.ini", $Lageraccounts[$k])
    $temptxt = ""
    For $s = 0 To UBound($tmparray) - 1
    $temptxt &= $tmparray[$s][0] & "=" & $tmparray[$s][1] & @CRLF
    Next
    IniWriteSection(@ScriptDir & "\gildendata.ini", $GildenAccounts[$i], $temptxt)
    EndIf
    EndIf
    Next
    If $Vergleichbool = False Then
    $msgbox = MsgBox(0, "Nicht gefunden", "Der Account " & $Lageraccounts[$k] & " wurde nicht gefunden, er wird in die Ini geschrieben!")
    $tmparray = IniReadSection(@ScriptDir & "\lagerimport.ini", $Lageraccounts[$k])
    $temptxt = ""
    For $s = 0 To UBound($tmparray) - 1
    $temptxt &= $tmparray[$s][0] & "=" & $tmparray[$s][1] & @CRLF
    Next
    IniWriteSection(@ScriptDir & "\gildendata.ini", $Lageraccounts[$k], $temptxt)
    EndIf
    Next
    EndFunc ;==>_import
    ;---------------------------------------------------------------------------------------------------------------
    Func _export()
    If FileExists (@scriptdir&"\lagerimport.ini") Then
    $box1 = MsgBox (4,"blabla","sollen die daten überschrieben werden?")
    If $box1 = 6 Then
    $read = FileRead ("gildendata.ini")
    $open = FileOpen ("lagerimport.ini",2)
    FileWrite ($open, $read)
    FileClose ($open)
    ElseIf $box1 = 7 Then
    MsgBox (0,"Sie haben Nein gedrückt","Daten werden nicht Exportiert")
    EndIf
    Else
    FileCopy(@Scriptdir&"\gildendata.ini", @ScriptDir&"\lagerimport.ini")
    EndIf
    EndFunc ;==>_export
    ;----------------------------------------------------------------------------------------------------------------
    #region Load Lagerverwaltung
    Func _LoadData(ByRef $ArrayToUse,$mode,$lagernummer)
    if $mode="Lager" Then
    $key=$mode & $lagernummer
    GUICtrlSetData($inputLager,IniRead($DataINI,GUICtrlRead($ComboUser),$key & "Ort",""))
    EndIf
    if $mode="Schliessfach" Then $key=$mode
    $value=IniRead($DataINI,GUICtrlRead($ComboUser),$key,"")
    $aTemp=StringSplit($value,"|") ; erstellt array mit den einzelwerten aus dem string im ini key-value
    if (UBound($aTemp)-1)/UBound($ArrayToUse,2) <> UBound($ArrayToUse)-1 Then Return ;MsgBox(0,"Fehler","ini Datei inkompatibel") ; verlässt die Funktion, weil zuviele oder zuwenige einträge in der ini
    ; inputs befüllen
    $j=1
    For $s=0 to UBound($ArrayToUse,2)-1
    For $i=1 to UBound($ArrayToUse)-1
    GUICtrlSetData($ArrayToUse[$i][$s],$aTemp[$j])
    $j+=1
    Next
    Next
    EndFunc
    #endregion Load Lagerverwaltung
    ;------------------------------------------------------------------------------------------
    #region Load GildenLagerverwaltung
    Func _LoadData1(ByRef $ArrayToUse,$mode,$lagernummer)
    if $mode="GildenLager" Then
    $key=$mode & $lagernummer
    GUICtrlSetData($inputLager,IniRead($GildenDataINI,GUICtrlRead($ComboUser1),$key & "Ort",""))
    EndIf
    $value=IniRead($GildenDataINI,GUICtrlRead($ComboUser1),$key,"")
    $aTemp=StringSplit($value,"|") ; erstellt array mit den einzelwerten aus dem string im ini key-value
    if (UBound($aTemp)-1)/UBound($ArrayToUse,2) <> UBound($ArrayToUse)-1 Then Return ;MsgBox(0,"Fehler","ini Datei inkompatibel") ; verlässt die Funktion, weil zuviele oder zuwenige einträge in der ini
    ; inputs befüllen
    $j=1
    For $s=0 to UBound($ArrayToUse,2)-1
    For $i=1 to UBound($ArrayToUse)-1
    GUICtrlSetData($ArrayToUse[$i][$s],$aTemp[$j])
    $j+=1
    Next
    Next
    EndFunc
    #endregion Load GildenLagerverwaltung
    ;-------------------------------------------------------------------------------------------
    #region Save Lagerverwaltung
    Func _SaveData(ByRef $ArrayToUse,$mode,$lagernummer)
    if $mode = "Lager" Then
    $key=$mode & $lagernummer
    IniWrite($DataINI,GUICtrlRead($ComboUser),$key & "Ort",GUICtrlRead($inputLager),GUICtrlRead($inputServer))
    EndIf
    if $mode = "Schliessfach" Then $key=$mode
    $value=""
    For $s=0 to UBound($ArrayToUse,2)-1
    For $i=1 to UBound($ArrayToUse)-1
    $value&=GUICtrlRead($ArrayToUse[$i][$s]) & "|"
    Next
    Next
    $value=StringTrimRight($value,1) ; entfernt letzten senkrechten Strich
    IniWrite($DataINI,GUICtrlRead($ComboUser),$key,$value)
    _clearGUI()
    EndFunc
    #endregion Save Lagerverwaltung
    ;-------------------------------------------------------------------------------------------
    #region Save GildenLagerverwaltung
    Func _SaveData1(ByRef $ArrayToUse,$mode,$lagernummer)
    if $mode = "GildenLager" Then
    $key=$mode & $lagernummer
    IniWrite($GildenDataINI,GUICtrlRead($ComboUser1),$key & "Ort",GUICtrlRead($inputLager))
    EndIf
    $value=""
    For $s=0 to UBound($ArrayToUse,2)-1
    For $i=1 to UBound($ArrayToUse)-1
    $value&=GUICtrlRead($ArrayToUse[$i][$s]) & "|"
    Next
    Next
    $value=StringTrimRight($value,1) ; entfernt letzten senkrechten Strich
    IniWrite($GildenDataINI,GUICtrlRead($ComboUser1),$key,$value)
    _clearGUI()
    EndFunc
    #endregion Save GildenLagerverwaltung
    ;-------------------------------------------------------------------------------------------
    Func _deleteAccount()
    IniDelete("data.ini", GUICtrlRead($ComboUser))
    _clearGUI()
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _deleteGildenAccount()
    IniDelete("gildendata.ini", GUICtrlRead($ComboUser1))
    _clearGUI()
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _deleteSchliessfach()
    $sBesitzer = GUICtrlRead($ComboUser)
    $aSections = IniReadSection("data.ini", $sBesitzer) ;sectionname auslesen
    For $i = 1 To $aSections[0][0]
    If StringRegExp($aSections[$i][0], "Schliessfach") Then ;wir überprüfen den Sectionname mit einem regulären Ausdruck (geht auch einfacher mit StringLeft)
    ;~ConsoleWrite($aSections[$i][0] & @crlf)
    IniDelete("data.ini", $sBesitzer, $aSections[$i][0]) ;jeden Key löschen, auf den der reguläre Ausdruck zutrifft
    EndIf
    Next
    _clearGUI()
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _clearGUI()
    GUICtrlSetData($inputLager,'')
    ; neu: alle Schliessfach inputs leer machen
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetData($aschliesfach[$i][$s],"")
    Next
    Next
    ; neu: alle Lager inputs leer machen
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetData($aLager[$i][$s],"")
    Next
    Next
    ; neu: alle GildenLager inputs leer machen
    For $s=0 to UBound($aGildenLager,2)-1
    For $i=1 To UBound($aGildenLager)-1
    GUICtrlSetData($aGildenLager[$i][$s],"")
    Next
    Next
    _setCombo($ComboUser) ; NEU....
    _setCombo1($ComboUser1) ; NEU....
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _clearkommplettGUI()
    GUICtrlSetData($inputLager,'')
    GUICtrlSetData($ComboUser,"")
    GUICtrlSetData($ComboUser1,"")
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetData($aschliesfach[$i][$s],"")
    Next
    Next
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetData($aLager[$i][$s],"")
    Next
    Next
    For $s=0 to UBound($aGildenLager,2)-1
    For $i=1 To UBound($aGildenLager)-1
    GUICtrlSetData($aGildenLager[$i][$s],"")
    Next
    Next
    EndFunc
    ;-------------------------------------------------------------------------------------------
    Func _setCombo($comboToSet,$init=-1) ; wenn init -1 ist soll der derzeit gewählte Eintrag gewählt bleiben, standard Verhalten der Funktion
    Local $Sections = IniReadSectionNames($DataINI)
    if @error then Return -1 ; verlässt die Funktion, da in der ini keine Einträge gefunden wurden
    Local $SectionString = _ArrayToString($Sections,'|',1,UBound($Sections)-1)
    $auswahl=GUICtrlRead($comboToSet)
    GUICtrlSetData($comboToSet,"") ; leert combo bevor Daten neu gesetzt werden
    if $init <> -1 Then
    GUICtrlSetData($comboToSet,$SectionString,$Sections[1]) ; Setzt Werte des combos und wählt Eintrag 1 der ini
    Else
    GUICtrlSetData($comboToSet,$SectionString,$auswahl) ; Setzt Werte des combos und behält ursprüngliche Wahl bei
    EndIf
    ;Return($SectionString) ; entfernt, da die control daten jetzt innerhalb der Funktion gesetzt werden
    EndFunc
    ;-------------------------------------------------------------------------------------------
    Func _setCombo1($comboToSet,$init=-1) ; wenn init -1 ist soll der derzeit gewählte Eintrag gewählt bleiben, standard Verhalten der Funktion
    Local $Sections = IniReadSectionNames($GildenDataINI)
    if @error then Return -1 ; verlässt die Funktion, da in der ini keine Einträge gefunden wurden
    Local $SectionString = _ArrayToString($Sections,'|',1,UBound($Sections)-1)
    $auswahl=GUICtrlRead($comboToSet)
    GUICtrlSetData($comboToSet,"") ; leert combo bevor Daten neu gesetzt werden
    if $init <> -1 Then
    GUICtrlSetData($comboToSet,$SectionString,$Sections[1]) ; Setzt Werte des combos und wählt Eintrag 1 der ini
    Else
    GUICtrlSetData($comboToSet,$SectionString,$auswahl) ; Setzt Werte des combos und behält ursprüngliche Wahl bei
    EndIf
    ;Return($SectionString) ; entfernt, da die control daten jetzt innerhalb der Funktion gesetzt werden
    EndFunc
    ;-------------------------------------------------------------------------------------------

    [/autoit]
  • Hilfe zur erstellung einer Import/Export Funktion aus/in eine INI

    • Ghostleader
    • 30. Dezember 2011 um 16:04

    Hallo TheLuBu,

    du meinst bestimmt in den beiden Zeilen:

    [autoit]

    For $s = 0 To UBound($tmparray) - 1

    [/autoit]


    Wenn ich es nun da ändere (sofern du diese Zeilen meinst) dann kommen die = Zahlen doppelt siehe Spoiler:

    Spoiler anzeigen

    [testuser1]
    7=
    6=
    GildenLager1Ort=madaira
    GildenLager1=2116515151515|||||||||||||||||hbhbhh uoho ho ||||||||||||||||||8408498498484840840
    GildenLager2Ort=athen
    GildenLager2=fdgggggggggggggggggggg|||||||||||||||||dhdddddddddddddddddddddddd|||||||||||||||llllllllllllllllllllllllllllllllllllllllll|||
    GildenLager3Ort=testlager
    GildenLager3=5555555555555555555555||||||||||||||||||9999999999999999999999999|||||||||||||||||11111111111111111111111111
    [testuser10]
    3=
    2=
    GildenLager1Ort=probe
    GildenLager1=555555555555555555555555555|9||||||||||||||||4444444444444444444444444|||||||||||||||||777778787878787878787|
    [testuser20]
    5=
    4=
    GildenLager1Ort=test1
    GildenLager1=5555555555555555555|||||||||||||||||656565656565656565656565||||||||||||||||||212121212121212121212121
    GildenLager2Ort=test2
    GildenLager2=7878787878787878787878787|||||||||||||||||898989898989898989898989898||||||||||||||||||5656565656565656565656565
    [fghfgh fh]
    3=
    2=
    GildenLager1Ort=gh dgh jhg jh
    GildenLager1=| |||jhg|j |||||j hg ||||| j|||j|||jghj||||ghjghj|j|j||gh|ghjgh||||j|
    [test1]
    5=
    4=
    GildenLager1Ort=gh dgh jhg jh
    GildenLager1=| |||jhg|j |||||j hg ||||| j|||j|||jghj||||ghjghj|j|j||gh|ghjgh||||j|
    Lager5Ort=
    Lager6Ort=
    [test2]
    6=
    GildenLager1Ort=xyz
    GildenLager1=454|||||||||||||||||884||||||||||||||||||811
    GildenLager2Ort=zyx
    GildenLager2=12||||||||||||||||||13|||||||||||||||||14
    GildenLager3Ort=yzx
    GildenLager3=45|||||||||||||||||56||||||||||||||||||67

    Mfg Ghostleader

    PS:
    Soweit ich feststellen konnte funktioniert das Hauptscript trotzdem, also die Daten werden Trotzdem ausgelesen.

  • Hilfe zur erstellung einer Import/Export Funktion aus/in eine INI

    • Ghostleader
    • 30. Dezember 2011 um 15:19

    Hallo TheLuBu,

    vielen Dank wieder für deine großartige Hilfe!!!

    Aber einwas ist mir aufgefallen in der gildendata.Ini nachdem Import

    Spoiler anzeigen

    [testuser1]
    6=

    GildenLager1Ort=madaira

    GildenLager1=2116515151515|||||||||||||||||hbhbhh uoho ho ||||||||||||||||||8408498498484840840

    GildenLager2Ort=athen

    GildenLager2=fdgggggggggggggggggggg|||||||||||||||||dhdddddddddddddddddddddddd|||||||||||||||llllllllllllllllllllllllllllllllllllllllll|||

    GildenLager3Ort=testlager

    GildenLager3=5555555555555555555555||||||||||||||||||9999999999999999999999999|||||||||||||||||11111111111111111111111111

    [testuser10]
    2=

    GildenLager1Ort=probe

    GildenLager1=555555555555555555555555555|9||||||||||||||||4444444444444444444444444|||||||||||||||||777778787878787878787|

    [testuser20]
    4=

    GildenLager1Ort=test1

    GildenLager1=5555555555555555555|||||||||||||||||656565656565656565656565||||||||||||||||||212121212121212121212121

    GildenLager2Ort=test2

    GildenLager2=7878787878787878787878787|||||||||||||||||898989898989898989898989898||||||||||||||||||5656565656565656565656565

    [fghfgh fh]
    2=

    GildenLager1Ort=gh dgh jhg jh

    GildenLager1=| |||jhg|j |||||j hg ||||| j|||j|||jghj||||ghjghj|j|j||gh|ghjgh||||j|

    [test1]
    4=

    GildenLager1Ort=gh dgh jhg jh

    GildenLager1=| |||jhg|j |||||j hg ||||| j|||j|||jghj||||ghjghj|j|j||gh|ghjgh||||j|

    Lager5Ort=

    Lager6Ort=

    Warum macht er unter die Sectionen diese Zahlen zb 2= und 6= usw und hat das irgendwelche auswirkungen dann beim einlesen?

    Mfg Ghostleader

  • Hilfe zur erstellung einer Import/Export Funktion aus/in eine INI

    • Ghostleader
    • 30. Dezember 2011 um 02:25

    Hallo wieder zusammen,

    also den export habe ich nun so gelöst, auch wenn ich nicht weiss ob es die eleganteste Art und weise ist, jedoch funzt es so einwandfrei!
    Die Gui ist zu probe Zwecken übernommen von Mr.SaxoI3eat.

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    #include <array.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 483, 238, 192, 124)
    $Button1 = GUICtrlCreateButton("Import", 112, 24, 233, 81)
    $Button2 = GUICtrlCreateButton("Export", 110, 119, 233, 81)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    ;---------------------------------------------------------------------------------------------------------------
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    ;---------------------------------------------------------------------------------------------------------------
    Case $Button2
    _export()
    EndSwitch
    WEnd
    Func _export()
    If FileExists (@scriptdir&"\lagerimport.ini") Then
    $box1 = MsgBox (4,"blabla","sollen die daten überschrieben werden?")
    If $box1 = 6 Then
    $read = FileRead ("gildendata.ini")
    $open = FileOpen ("lagerimport.ini",2)
    FileWrite ($open, $read)
    FileClose ($open)
    ElseIf $box1 = 7 Then
    MsgBox (0,"Sie haben Nein gedrückt","Daten werden nicht Exportiert")
    EndIf
    Else
    FileCopy(@Scriptdir&"\gildendata.ini", @ScriptDir&"\lagerimport.ini")
    EndIf
    EndFunc

    [/autoit]


    Bleibt aber nun noch das Problem des Imports.
    Ich versuche es auch weiter,jedoch hoffe ich das dazu noch jemand weiter helfen kann!

    Mfg Ghostleader

  • Fenster immer im Vordergrund

    • Ghostleader
    • 29. Dezember 2011 um 23:06

    Hallo,

    wenn mich nicht alles täuscht ist es das was du suchst:

    WinSetOnTop
    oder
    WinActivate

    Siehe Online Hilfe:
    http://translation.autoit.de/onlinehilfe/fu…WinSetOnTop.htm
    http://translation.autoit.de/onlinehilfe/fu…WinActivate.htm

    Mfg Ghostleader

    Edit:
    $Var war wiedermal schneller :huh:

  • Hilfe zur erstellung einer Import/Export Funktion aus/in eine INI

    • Ghostleader
    • 29. Dezember 2011 um 22:52

    Hallo zusammen,

    @Mr.SaxoI3eat
    erstmal danke für deine Arbeit,
    aber irgendwie stimmt da etwas hinten und vorne nicht mit deiner Function (weder Im noch Export). Ich beschreibe kurz.

    Zum Import:
    Als test haben wir folgende inis:
    gildendata.ini bei jedem da.

    Spoiler anzeigen

    [testuser1]
    GildenLager1Ort=madaira
    GildenLager1=2116515151515|||||||||||||||||hbhbhh uoho ho ||||||||||||||||||8408498498484840840
    GildenLager2Ort=athen
    GildenLager2=fdgggggggggggggggggggg|||||||||||||||||dhdddddddddddddddddddddddd|||||||||||||||llllllllllllllllllllllllllllllllllllllllll|||
    GildenLager3Ort=testlager
    GildenLager3=5555555555555555555555||||||||||||||||||9999999999999999999999999|||||||||||||||||11111111111111111111111111
    [testuser10]
    GildenLager1Ort=probe
    GildenLager1=555555555555555555555555555|9||||||||||||||||4444444444444444444444444|||||||||||||||||777778787878787878787|
    [testuser20]
    GildenLager1Ort=test1
    GildenLager1=5555555555555555555|||||||||||||||||656565656565656565656565||||||||||||||||||212121212121212121212121
    GildenLager2Ort=test2
    GildenLager2=7878787878787878787878787|||||||||||||||||898989898989898989898989898||||||||||||||||||5656565656565656565656565
    [fghfgh fh]
    GildenLager1Ort=gh dgh jhg jh
    GildenLager1=| |||jhg|j |||||j hg ||||| j|||j|||jghj||||ghjghj|j|j||gh|ghjgh||||j|


    lagerimport.ini das die die Importiert werden soll.

    Spoiler anzeigen

    [testuser1]
    GildenLager1Ort=madaira
    GildenLager1=2116515151515|||||||||||||||||hbhbhh uoho ho ||||||||||||||||||8408498498484840840
    GildenLager2Ort=athen
    GildenLager2=fdgggggggggggggggggggg|||||||||||||||||dhdddddddddddddddddddddddd|||||||||||||||llllllllllllllllllllllllllllllllllllllllll|||
    GildenLager3Ort=testlager
    GildenLager3=5555555555555555555555||||||||||||||||||9999999999999999999999999|||||||||||||||||11111111111111111111111111
    [testuser10]
    GildenLager1Ort=probe
    GildenLager1=555555555555555555555555555|9||||||||||||||||4444444444444444444444444|||||||||||||||||777778787878787878787|
    [testuser20]
    GildenLager1Ort=test1
    GildenLager1=5555555555555555555|||||||||||||||||656565656565656565656565||||||||||||||||||212121212121212121212121
    GildenLager2Ort=test2
    GildenLager2=7878787878787878787878787|||||||||||||||||898989898989898989898989898||||||||||||||||||5656565656565656565656565
    [fghfgh fh]
    GildenLager1Ort=gh dgh jhg jh
    GildenLager1=| |||jhg|j |||||j hg ||||| j|||j|||jghj||||ghjghj|j|j||gh|ghjgh||||j|


    So, für dieses Beispiel sind sie ja gleich. Starte ich nun den Import so werde ich auch gefragt ob ich die User immer überschreiben will bis hierhin alles ok.
    Hier eine per hand geänderte lagerimport.ini:

    Spoiler anzeigen

    [testuser1]
    GildenLager1Ort=madaira
    GildenLager1=2116515151515|||||||||||||||||hbhbhh uoho ho ||||||||||||||||||8408498498484840840
    GildenLager2Ort=athen
    GildenLager2=fdgggggggggggggggggggg|||||||||||||||||dhdddddddddddddddddddddddd|||||||||||||||llllllllllllllllllllllllllllllllllllllllll|||
    GildenLager3Ort=testlager
    GildenLager3=5555555555555555555555||||||||||||||||||9999999999999999999999999|||||||||||||||||11111111111111111111111111
    [testuser11]
    GildenLager1Ort=probe
    GildenLager1=555555555555555555555555555|9||||||||||||||||4444444444444444444444444|||||||||||||||||777778787878787878787|
    [testuser20]
    GildenLager1Ort=test1
    GildenLager1=5555555555555555555|||||||||||||||||656565656565656565656565||||||||||||||||||212121212121212121212121
    GildenLager2Ort=test2
    GildenLager2=7878787878787878787878787|||||||||||||||||898989898989898989898989898||||||||||||||||||5656565656565656565656565
    [fghfgh fh]
    GildenLager1Ort=gh dgh jhg jh
    GildenLager1=| |||jhg|j |||||j hg ||||| j|||j|||jghj||||ghjghj|j|j||gh|ghjgh||||j|
    [test1]
    GildenLager1Ort=gh dgh jhg jh
    GildenLager1=| |||jhg|j |||||j hg ||||| j|||j|||jghj||||ghjghj|j|j||gh|ghjgh||||j|
    [test2]
    GildenLager1Ort=gh dgh jhg jh
    GildenLager1=| |||jhg|j |||||j hg ||||| j|||j|||jghj||||ghjghj|j|j||gh|ghjgh||||j|
    [test3]
    GildenLager1Ort=gh dgh jhg jh
    GildenLager1=| |||jhg|j |||||j hg ||||| j|||j|||jghj||||ghjghj|j|j||gh|ghjgh||||j|


    Wenn ich nun auf Import klicke dann fragt er das selbe ab wie bei der anderen also ob ich testuser1, 10, 20 und fghfgh fh überschreiben will.
    Erster Fehler hierbei ist, das es den Testuser 10 hier garnicht gibt denn den habe ich ja 11 genannt.
    Desweiteren trägt er die neuen user test1 bis 3 nicht mit in die gildendata.ini ein!

    Zum Export:
    Wenn ich auf Export klicke und die lagerimport.ini noch nicht vorhanden ist, dann erstellt er diese aber beendet anschliessend das Programm (sollte er nicht tun) und wenn man nun in die lagerimport.ini schaut sieht man das sie leer ist!
    Erst nach nochmaligem klicken auf export kommt nun die msgbox mit der Frage ob diese Überschrieben werden soll. Wenn ich ja klicke dann wird erst jetzt etwas in die ini geschrieben! Kurz gesagt man mus 2 mal auf export klicken (zwischendurch Programm neustarten) damit etwas in die lagerimport.ini geschrieben wird!

    Ich hoffe das du oder Jemand anderes mir bei diesen Fehlern behilflich sein könnt denn ich finde sie einfach net!

    Mfg Ghostleader

  • Hilfe zur erstellung einer Import/Export Funktion aus/in eine INI

    • Ghostleader
    • 29. Dezember 2011 um 17:54

    Hallo zusammen,

    @Mr.SaxoI3eat
    erstmal danke wieder für deine Arbeit!

    Aber, scheinbar denkst du genau in die Falsche richtung, denneigentlich soll ja beim Import geschaut werden ob der Account schon vorhanden ist und dann nachgefragt ob dieser wenn er schon da ist überschrieben wird, bei dir macht er das einmal aber beim Export da fragt es ob die Datei überschrieben werden soll was ja egal ist da es um die Accounts geht also da abzufragen!
    Auch wäre es schön wenn er beim Imput nicht bei jedem User sagt jetzt kommt der User sondern eben nur dann die MsgBox kommt mit der abfrage ob oder ob nicht überschreiben wenn der Account schon vorhanden ist!
    Wäre schön wenn du mir das bitte noch ändern könntest, aber ansonsten ist das Script so super für den Einsatz bei mir!

    Mfg Ghostleader

  • Hilfe zur erstellung einer Import/Export Funktion aus/in eine INI

    • Ghostleader
    • 29. Dezember 2011 um 16:56

    Hallo TheLuBu,

    danke erstmal.

    Aber wie kann ich denn deinen Code mit dem von Mr.SaxoI3eat nun zusammenfügen, denn bei ihm ist es ja etwas anders aufgebaut!
    Brauche ich die ganzen IniRead´s garnet mehr um alles auszulesen wenn ich mit IniReadSectionNames arbeite?

    Mfg Ghostleader

  • Hilfe zur erstellung einer Import/Export Funktion aus/in eine INI

    • Ghostleader
    • 29. Dezember 2011 um 14:49

    Hallo zusammen,

    @Mr.SaxoI3eat
    Danke erstmal für die Mühe die du dir gemacht hast!

    Zu deinem Satz:
    [ich hab zwar nicht verstanden wie du das mit den accountnamen meinst, aber ich hab schon mal einen anfang gemacht:]

    Die Accountnamen legt ja Teilweise der Verwalter und Teilweise jeder Benutzer selber fest, was bedeutet das es da noch das Problem gibt, das man die wie du es gemacht hast:(die Testuser angeben)
    For $i = 1 to 3
    $Read1 = IniRead ("gildendata.ini","testuser1","Lager"&$i&"Ort",""); aus import
    $Read2 = IniRead ("lagerimport.ini","testuser1","Lager"&$i&"Ort",""); aus export

    If Not ($Read1 = $Read2) Then IniWrite ("gildendata.ini","testuser1","Lager"&$i&"Ort",$Read2)
    $Read1 = IniRead ("gildendata.ini","testuser2","Lager"&$i,""); aus import
    $Read2 = IniRead ("lagerimport.ini","testuser2","Lager"&$i,""); aus export
    So direkt nicht angeben kann, denn die Ini von mir war nur ein Beispiel, aber die heissen ja nicht immer so.
    Das bedeutet man müsste es so machen das man die User (in dem Fall Testuser1 + 2) nicht direkt angibt sondern das es eben immer ohne Vorgabe ausgelesen werden muss!
    Kann man dies irgendwie machen also das man diese Sektion angiebt ohne direkt den Namen vorher einzutragen der dann da drin steht da man den ja nicht weiss und im Code einbauen kann?

    Mfg Ghostleader

  • Hilfe zur erstellung einer Import/Export Funktion aus/in eine INI

    • Ghostleader
    • 29. Dezember 2011 um 02:04

    Hallo zusammen,

    möchte mir denn nicht doch jemand hierbei behilflich sein bitte?

    Mfg Ghostleader

    Ps. Habe jetzt schon selber seid Thema erstellung rumprobiert, jedoch ohne Erfolg!

  • Hilfe zur erstellung einer Import/Export Funktion aus/in eine INI

    • Ghostleader
    • 28. Dezember 2011 um 15:00

    Hallo zusammen,

    nun nachdem das Script von mir dank der super Arbeit einiger Leute hier soweit fertig ist, fehlt mir nur noch eine Function bei der ich aber von Anfang an Hilfe brauche denn ich weiss nicht mal so recht wie und ich hierfür ansetzen muss!

    Erklährung was diese Funktion machen soll! (Vorwort)

    Also bei diesem Programm erstellt man sich Accounts, speichert deren Lagerorte und das was sich in den Lagern befindet (funzt ja nun alles).
    Hier die INI wie sie aussieht:

    Spoiler anzeigen
    Code
    [testuser1]
    Lager1Ort=athen
    Lager1=1|1|1|1|11|1|1|1|1|1|11|1|2|2|2|22|2|2|2|2|2|22|2|2|3|33|3|3|3|3|33|3|3|3|3|3
    Lager2Ort=semmerang
    Lager2=4|4|4|4|4|4|4|4|44|4|4|4|5|5|55|5|5|5|5|5|55|5|5|5|6|6|6|6|6|6|66|6|6|6|6|6
    Lager3Ort=alexandria
    Lager3=7|7|7|7|7|7|7|7|7|7|7|7|8|8|8|8|8|8|8|8|8|8|8|8|9|9|9|9|9|9|9|9|9|9|9|9
    Schliessfach=|223262|||||||||||||||||||2+650652+90|||||||||||||||||||||65965+985+985||||||||||||||||||||||845+84045804
    [testuser2]
    Lager1Ort=Madaira
    Lager1=+9584480|||||||||||||||||ugh hgz guizgh z||||||||||||||||||8484840
    Lager2Ort=Uleung
    Lager2=4+84084804807480|||||||||||||||||ji jiosfj8foidug 89du90df8 g0||||||||||||||||||kahhtegd7
    Lager3Ort=Jeju
    Lager3=kjmngkvn dfuiohg fjsd hu||||||||||||||||5840 68dfs47 0f+g 5f+0 +|8sd4f sdf98g4 +0dfg4 ||||||||||||||||||4840f
    Alles anzeigen


    Nun giebt es diese aber auch als Gildenlager Function die extra ausgeführt und auch in einer separaten INI gespeichert wird, da wie gesagt das eine eigene Accounts und das andere Gildenlager Accounts sind.
    Damit alle auf dem neusten Stand sind gibt es nun einen der die Läger verwaltet, alles neue einträgt und alles was raus ist entfert. Damit nun immer alle auf dem selben Stand sind schickt dieser Verwalter in gewissen Zeitabständen den Gildenmembern immer die aktuelle INI zu.
    Nun sagt ihr bestimmt ersezt diese doch einfach mit der vorhanden, aber stop das geht nicht denn manche Member machen neben den offiziellen noch eigene Gildenlager die sie dann ggf. zur verfügung stellen.

    Also lange Rede kurzer Sinn:
    Es soll zwei Funktionen geben 1.Import und 2.Export.

    1.Import:
    hier soll es so sein das die geschickte ini (sagen wir sie heisst lagerimport.ini) kommplett ausgelesen mit der vorhandenen
    (heist gildendata.ini) verglichen wird. Nicht vorhandenes dann eben in die gildendata.ini eingetragen wird, aber wenn ein Accountname schonmal vorhanden ist soll eine msgBox kommen mit der Frage ob die Daten überschrieben werden sollen und mit Ja/nein bestätigt werden müssen. Nach abschluss des Eintragens soll die lagerimport.ini dann gelöscht werden.

    2.Export:
    Wird dieser Button gedrückt soll die vorhandene gildendata.ini ausgelesen und als lagerimport.ini wieder gespeichert werden die dann eben vom verwalter verschickt wird! Ist diese beim speichern schon vorhanden soll auch die Abfrage des Überschreibens ja/nein kommen!

    Hier noch der Programmcode mit dem Gildenlager (geht nur von der Front aus). Die ini mus zum testen gildendata.ini heissen!

    Spoiler anzeigen
    [autoit]

    #region INCLUDES
    ;------------------------------------------------------------------------------------------
    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #endregion INCLUDES
    #region GLOBAL
    ;------------------------------------------------------------------------------------------
    Global $aschliesfach[17][4]
    Global $aLager[13][3]
    Global $aGildenLager[13][3]
    Global $userSelection=-1 ; noch wurde garnichts gewählt, programmstart
    Global $DataINI = 'data.ini'
    Global $GildenDataINI = 'gildendata.ini'
    #endregion GLOBAL
    ;------------------------------------------------------------------------------------------
    #region GUI
    $Form1 = GUICreate("Form1", 940, 550, 192, 5, $WS_BORDER & $WS_POPUP)
    ;GUISetState()
    $Backround = GUICtrlCreatePic("bilder\lager.tgx", 0, 0, 940, 550)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $rightLabel = GUICtrlCreateLabel("Copyright By Ghostleader @ Areneas", 650, 500, 300, 25)
    GUICtrlSetFont(-1, 11, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    #endregion GUI
    ;------------------------------------------------------------------------------------------
    #region Group´s
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $FrontLagerBank = GUICtrlCreateGroup("", 360, 120, 280, 255)
    $GroupCombo = GUICtrlCreateGroup("", 10, 6, 276, 36)
    $GroupAccountNeu = GUICtrlCreateGroup("", 302, 6, 121, 36)
    $GroupSpeichern = GUICtrlCreateGroup("", 440, 6, 235, 36)
    $Exit = GUICtrlCreateGroup("", 685, 6, 238, 36)
    $LagerLabelGroup = GUICtrlCreateGroup("", 330, 135, 282, 45)
    $LagerGroup = GUICtrlCreateGroup("", 200, 62, 590, 45)
    $LagerSpalte1 = GUICtrlCreateGroup("", 70, 195, 190, 290)
    $LagerSpalte2 = GUICtrlCreateGroup("", 345, 195, 190, 290)
    $LagerSpalte3 = GUICtrlCreateGroup("", 615, 195, 190, 290)
    $BankRahmen1 = GUICtrlCreateGroup("", 30, 112, 190, 370)
    $BankRahmen2 = GUICtrlCreateGroup("", 270, 112, 190, 370)
    $BankRahmen3 = GUICtrlCreateGroup("", 500, 112, 190, 370)
    $BankRahmen4 = GUICtrlCreateGroup("", 730, 112, 190, 370)
    #endregion Group´s
    ;------------------------------------------------------------------------------------------
    #region Button´s
    $AccountNeu = GUICtrlCreateButton("Neuer Account", 310, 16, 105, 22)
    $GildenAccountNeu = GUICtrlCreateButton("Neuer Account", 310, 16, 105, 22)
    $Lager1Speichern = GUICtrlCreateButton("Speichern", 448, 16, 105, 22)
    $Lager2Speichern = GUICtrlCreateButton("Speichern", 448, 16, 105, 22)
    $Lager3Speichern = GUICtrlCreateButton("Speichern", 448, 16, 105, 22)
    $GildenLager1Speichern = GUICtrlCreateButton("Speichern", 448, 16, 105, 22)
    $GildenLager2Speichern = GUICtrlCreateButton("Speichern", 448, 16, 105, 22)
    $GildenLager3Speichern = GUICtrlCreateButton("Speichern", 448, 16, 105, 22)
    $SchliessfachSpeichern = GUICtrlCreateButton("Speichern", 448, 16, 105, 22)
    $AccLoschen = GUICtrlCreateButton("Acc Löschen", 565, 16, 105, 22)
    ;------------------------------------------------------------------------------------------
    $SchliessfachOben = GUICtrlCreateButton("Bankschließfach", 695, 16, 105, 22)
    $ButtonExit = GUICtrlCreateButton("Exit", 810, 16, 105, 22)
    ;------------------------------------------------------------------------------------------
    $SchliessfachLoschen = GUICtrlCreateButton("Schliesfach Löschen", 565, 16, 105, 22)
    $LagerOben = GUICtrlCreateButton("Lagerverwaltung",695, 16, 105, 22)
    ;------------------------------------------------------------------------------------------
    $GildeFront = GUICtrlCreateButton("Gildenlager", 375, 140, 250, 40)
    $LagerFront = GUICtrlCreateButton("Lagerverwaltung", 375, 200, 250, 40)
    $SchliessfachFront = GUICtrlCreateButton("Bankschließfach", 375, 260, 250, 40)
    $Schliessen = GUICtrlCreateButton("Programm Schliessen", 375, 320, 250, 40)
    ;------------------------------------------------------------------------------------------
    $Lager1 = GUICtrlCreateButton("LAGER 1", 210, 75, 170, 25)
    $Lager2 = GUICtrlCreateButton("LAGER 2", 410, 75, 170, 25)
    $Lager3 = GUICtrlCreateButton("LAGER 3", 610, 75, 170, 25)
    $GildenLager1 = GUICtrlCreateButton("LAGER 1", 210, 75, 170, 25)
    $GildenLager2 = GUICtrlCreateButton("LAGER 2", 410, 75, 170, 25)
    $GildenLager3 = GUICtrlCreateButton("LAGER 3", 610, 75, 170, 25)
    #endregion Button´s
    ;------------------------------------------------------------------------------------------
    #region Combo´s
    $ComboUser = GUICtrlCreateCombo("", 100, 16, 170, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) ; ein combo reicht völlig
    _setCombo($ComboUser,1) ; NEU: erledigt alles, returned nichts :P, Parameter 1 bedeutet gui initialisierung, wert 1 der ini wird ausgewählt
    $ComboUser1 = GUICtrlCreateCombo("", 100, 16, 170, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) ; ein combo reicht völlig
    _setCombo1($ComboUser1,1) ; NEU: erledigt alles, returned nichts :P, Parameter 1 bedeutet gui initialisierung, wert 1 der ini wird ausgewählt
    #endregion Combo´s
    ;------------------------------------------------------------------------------------------
    #region Label´s
    $LagerLabel1 = GUICtrlCreateLabel("", 340, 150, 100, 25)
    GUICtrlSetFont(-1, 15, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Label4 = GUICtrlCreateLabel("Account", 22, 17, 80, 19)
    GUICtrlSetFont(-1, 11, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    #endregion Label´s
    ;---------------------------------------------------------------------------------------------
    #region Input
    $inputLager = GUICtrlCreateInput("", 430, 150, 170, 21)
    #endregion Input
    ;---------------------------------------------------------------------------------------------
    #region HIDE
    GUICtrlSetState($GroupSpeichern, $GUI_HIDE)
    GUICtrlSetState($GroupAccountNeu, $GUI_HIDE)
    GUICtrlSetState($Exit, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte1, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte2, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte3, $GUI_HIDE)
    GUICtrlSetState($GroupCombo, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($ButtonExit, $GUI_HIDE)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager1Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager2Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_HIDE)
    GUICtrlSetState($AccLoschen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_HIDE)
    GUICtrlSetState($GildenLager1, $GUI_HIDE)
    GUICtrlSetState($GildenLager2, $GUI_HIDE)
    GUICtrlSetState($GildenLager3, $GUI_HIDE)
    GUICtrlSetState($Label4, $GUI_HIDE)
    GUICtrlSetState($inputLager, $GUI_HIDE)
    GUICtrlSetState($ComboUser, $GUI_HIDE)
    GUICtrlSetState($ComboUser1, $GUI_HIDE)
    GUICtrlSetState($LagerLabelGroup, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_HIDE)
    GUICtrlSetState($AccountNeu, $GUI_HIDE)
    GUICtrlSetState($GildenAccountNeu, $GUI_HIDE)
    #endregion HIDE
    ;----------------------------------------------------------------------------------------------
    #region Generat´s
    _generateControls($aLager,"Lager")
    _generateControls($aschliesfach,"Schliessfach")
    _generateControls($aGildenLager,"GildenLager")
    #endregion Generat´s
    GUISetState(@SW_SHOW)
    ;---------------------------------------------------------------------------------------------
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $SchliessfachFront, $SchliessfachOben
    $userSelection = 0
    _ButtonSchliessfach()
    Case $LagerFront, $LagerOben
    $userSelection = 1
    _clearkommplettGUI()
    _ButtonLager1()
    Case $Lager1
    $userSelection = 1
    _ButtonLager1()
    Case $Lager2
    $userSelection = 2
    _ButtonLager2()
    Case $Lager3
    $userSelection = 3
    _ButtonLager3()
    Case $GildeFront
    $userSelection = 1
    _clearkommplettGUI()
    _GildenLager1()
    Case $GildenLager1
    $userSelection = 1
    _GildenLager1()
    Case $GildenLager2
    $userSelection = 2
    _GildenLager2()
    Case $GildenLager3
    $userSelection = 3
    _GildenLager3()
    Case $AccountNeu
    _clearkommplettGUI()
    Case $GildenAccountNeu
    _clearkommplettGUI()
    Case $ButtonExit, $Schliessen
    Exit
    Case $ComboUser ; umbenannt
    _clearGUI()
    if $userSelection = 0 Then _LoadData($aschliesfach,"Schliessfach",$userSelection)
    if $userSelection > 0 Then _LoadData($aLager,"Lager",$userSelection)
    Case $ComboUser1
    _clearGUI()
    if $userSelection > 0 Then _LoadData1($aGildenLager,"GildenLager",$userSelection)
    Case $GildenLager1Speichern
    _SaveData1($aGildenLager,"GildenLager",1) ; neu
    Case $GildenLager2Speichern
    _SaveData1($aGildenLager,"GildenLager",2) ; neu
    Case $GildenLager3Speichern
    _SaveData1($aGildenLager,"GildenLager",3) ; neu
    Case $Lager1Speichern
    _SaveData($aLager,"Lager",1) ; neu
    Case $Lager2Speichern
    _SaveData($aLager,"Lager",2) ; neu
    Case $Lager3Speichern
    _SaveData($aLager,"Lager",3) ; neu
    Case $SchliessfachSpeichern
    _SaveData($aschliesfach,"Schliessfach",0) ; neu
    Case $AccLoschen
    _deleteAccount()
    Case $SchliessfachLoschen
    _deleteSchliessfach()
    EndSwitch
    WEnd
    ;_--------------------------------------------------------------------------------------------
    Func _ButtonSchliessfach()
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_SHOW)
    Next
    Next
    _clearkommplettGUI()
    GUICtrlSetState($GildenAccountNeu, $GUI_HIDE)
    GUICtrlSetState($GildenLager1Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager2Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager3Speichern, $GUI_HIDE)
    GUICtrlSetState($GroupAccountNeu, $GUI_HIDE)
    GUICtrlSetState($AccountNeu, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($GroupSpeichern, $GUI_SHOW)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte2, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte3, $GUI_HIDE)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerOben, $GUI_SHOW)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_HIDE)
    GUICtrlSetState($inputLager, $GUI_HIDE)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($ComboUser1, $GUI_HIDE)
    GUICtrlSetState($ComboUser, $GUI_SHOW)
    GUICtrlSetState($BankRahmen1, $GUI_SHOW)
    GUICtrlSetState($BankRahmen2, $GUI_SHOW)
    GUICtrlSetState($BankRahmen3, $GUI_SHOW)
    GUICtrlSetState($BankRahmen4, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_HIDE)
    _clearGUI(); felder leeren beim wechsel
    _LoadData($aschliesfach,"Schliessfach",0) ; felder neu befüllen
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _ButtonLager1()
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($GildenAccountNeu, $GUI_HIDE)
    GUICtrlSetState($GildenLager1Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager2Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GuiCtrlSetData($LagerLabel1, "Lager 1")
    GUICtrlSetState($GroupAccountNeu, $GUI_SHOW)
    GUICtrlSetState($AccountNeu, $GUI_SHOW)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($GroupSpeichern, $GUI_SHOW)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte2, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte3, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_SHOW)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($inputLager, $GUI_SHOW)
    GUICtrlSetState($ComboUser1, $GUI_HIDE)
    GUICtrlSetState($ComboUser, $GUI_SHOW)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_SHOW)
    GUICtrlSetState($Lager3, $GUI_SHOW)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)
    _clearGUI(); felder leeren beim wechsel
    _LoadData($aLager,"Lager",1) ; felder neu befüllen
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _ButtonLager2()
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($GildenAccountNeu, $GUI_HIDE)
    GUICtrlSetState($GildenLager1Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager2Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GuiCtrlSetData($LagerLabel1, "Lager 2")
    GUICtrlSetState($GroupAccountNeu, $GUI_SHOW)
    GUICtrlSetState($AccountNeu, $GUI_SHOW)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($GroupSpeichern, $GUI_SHOW)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte2, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte3, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_SHOW)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($inputLager, $GUI_SHOW)
    GUICtrlSetState($ComboUser1, $GUI_HIDE)
    GUICtrlSetState($ComboUser, $GUI_SHOW)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_SHOW)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_SHOW)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)
    _clearGUI(); felder leeren beim wechsel
    _LoadData($aLager,"Lager",2) ; felder neu befüllen
    EndFunc
    ;-------------------------------------------------------------------------------------------------
    Func _ButtonLager3()
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($GildenAccountNeu, $GUI_HIDE)
    GUICtrlSetState($GildenLager1Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager2Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GuiCtrlSetData($LagerLabel1, "Lager 3")
    GUICtrlSetState($GroupAccountNeu, $GUI_SHOW)
    GUICtrlSetState($AccountNeu, $GUI_SHOW)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($GroupSpeichern, $GUI_SHOW)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte2, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte3, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_SHOW)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($inputLager, $GUI_SHOW)
    GUICtrlSetState($ComboUser1, $GUI_HIDE)
    GUICtrlSetState($ComboUser, $GUI_SHOW)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_SHOW)
    GUICtrlSetState($Lager2, $GUI_SHOW)
    GUICtrlSetState($Lager3, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)
    _clearGUI(); felder leeren beim wechsel
    _LoadData($aLager,"Lager",3) ; felder neu befüllen
    EndFunc
    ;-------------------------------------------------------------------------------------------------
    Func _GildenLager1()
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aGildenLager,2)-1
    For $i=1 To UBound($aGildenLager)-1
    GUICtrlSetState($aGildenLager[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GuiCtrlSetData($LagerLabel1, "Lager 1")
    GUICtrlSetState($GildeFront, $GUI_HIDE)
    GUICtrlSetState($GildenAccountNeu, $GUI_SHOW)
    GUICtrlSetState($GildenLager1Speichern, $GUI_SHOW)
    GUICtrlSetState($GildenLager2Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager3Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager1, $GUI_HIDE)
    GUICtrlSetState($GildenLager2, $GUI_SHOW)
    GUICtrlSetState($GildenLager3, $GUI_SHOW)
    GUICtrlSetState($GroupAccountNeu, $GUI_HIDE)
    GUICtrlSetState($AccountNeu, $GUI_HIDE)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($GroupSpeichern, $GUI_HIDE)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte2, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte3, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_HIDE)
    GUICtrlSetState($AccLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($inputLager, $GUI_SHOW)
    GUICtrlSetState($ComboUser, $GUI_HIDE)
    GUICtrlSetState($ComboUser1, $GUI_SHOW)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)
    _clearGUI(); felder leeren beim wechsel
    _LoadData1($aGildenLager,"GildenLager",1) ; felder neu befüllen
    EndFunc
    ;-------------------------------------------------------------------------------------------------
    Func _GildenLager2()
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aGildenLager,2)-1
    For $i=1 To UBound($aGildenLager)-1
    GUICtrlSetState($aGildenLager[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GuiCtrlSetData($LagerLabel1, "Lager 2")
    GUICtrlSetState($GildeFront, $GUI_HIDE)
    GUICtrlSetState($GildenAccountNeu, $GUI_SHOW)
    GUICtrlSetState($GildenLager1Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager2Speichern, $GUI_SHOW)
    GUICtrlSetState($GildenLager3Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager1, $GUI_SHOW)
    GUICtrlSetState($GildenLager2, $GUI_HIDE)
    GUICtrlSetState($GildenLager3, $GUI_SHOW)
    GUICtrlSetState($GroupAccountNeu, $GUI_HIDE)
    GUICtrlSetState($AccountNeu, $GUI_HIDE)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($GroupSpeichern, $GUI_HIDE)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte2, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte3, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_HIDE)
    GUICtrlSetState($AccLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($inputLager, $GUI_SHOW)
    GUICtrlSetState($ComboUser, $GUI_HIDE)
    GUICtrlSetState($ComboUser1, $GUI_SHOW)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)
    _clearGUI(); felder leeren beim wechsel
    _LoadData1($aGildenLager,"GildenLager",2) ; felder neu befüllen
    EndFunc
    ;-------------------------------------------------------------------------------------------------
    Func _GildenLager3()
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aGildenLager,2)-1
    For $i=1 To UBound($aGildenLager)-1
    GUICtrlSetState($aGildenLager[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GuiCtrlSetData($LagerLabel1, "Lager 3")
    GUICtrlSetState($GildeFront, $GUI_HIDE)
    GUICtrlSetState($GildenAccountNeu, $GUI_SHOW)
    GUICtrlSetState($GildenLager1Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager2Speichern, $GUI_HIDE)
    GUICtrlSetState($GildenLager3Speichern, $GUI_SHOW)
    GUICtrlSetState($GildenLager1, $GUI_SHOW)
    GUICtrlSetState($GildenLager2, $GUI_SHOW)
    GUICtrlSetState($GildenLager3, $GUI_HIDE)
    GUICtrlSetState($GroupAccountNeu, $GUI_HIDE)
    GUICtrlSetState($AccountNeu, $GUI_HIDE)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($GroupSpeichern, $GUI_HIDE)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte2, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte3, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_HIDE)
    GUICtrlSetState($AccLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($inputLager, $GUI_SHOW)
    GUICtrlSetState($ComboUser, $GUI_HIDE)
    GUICtrlSetState($ComboUser1, $GUI_SHOW)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)
    _clearGUI(); felder leeren beim wechsel
    _LoadData1($aGildenLager,"GildenLager",3) ; felder neu befüllen
    EndFunc
    ;-------------------------------------------------------------------------------------------------
    Func _generateControls(ByRef $ArrayToUse,$mode)
    #cs
    Neue Funktion die die generate Funktionen für Lager und Schliessfach ersetzt und alle control ids in 2-Dimensionalen Arrays speichert
    Könnte weiter optimiert werden, da es kaum unterschiede zwischen beiden Modes gibt, wir belassen es jetzt erstmal so...
    #ce
    if $mode = "Lager" Then
    For $s=0 to UBound($ArrayToUse,2)-1 ; für alle Spalten
    $Abstand = 2
    if $s=0 then $left=1
    if $s=1 then $left=275
    if $s=2 then $left=545
    For $i = 1 To UBound($ArrayToUse)-1 ; für alle Zeilen
    $ArrayToUse[$i][$s] = GUICtrlCreateInput("",85+$left,216+$Abstand,160)
    GUICtrlSetState(-1,$GUI_HIDE)
    $Abstand +=21
    Next
    Next
    EndIf
    ;---------------------------------------------------------------------------------------------------
    if $mode = "GildenLager" Then
    For $s=0 to UBound($ArrayToUse,2)-1 ; für alle Spalten
    $Abstand = 2
    if $s=0 then $left=1
    if $s=1 then $left=275
    if $s=2 then $left=545
    For $i = 1 To UBound($ArrayToUse)-1 ; für alle Zeilen
    $ArrayToUse[$i][$s] = GUICtrlCreateInput("",85+$left,216+$Abstand,160)
    GUICtrlSetState(-1,$GUI_HIDE)
    $Abstand +=21
    Next
    Next
    EndIf
    ;---------------------------------------------------------------------------------------------------
    if $mode = "Schliessfach" Then
    For $s=0 to UBound($ArrayToUse,2)-1 ; für alle Spalten
    $Abstand = 2
    if $s=0 Then $left=40
    if $s=1 Then $left=280
    if $s=2 Then $left=510
    if $s=3 Then $left=740
    For $i = 1 To UBound($ArrayToUse)-1 ; für alle Zeilen
    $ArrayToUse[$i][$s] = GUICtrlCreateInput("",5+$left,130+$Abstand,160)
    GUICtrlSetState(-1,$GUI_HIDE)
    $Abstand +=21
    Next
    Next
    EndIf
    EndFunc
    ;------------------------------------------------------------------------------------------
    #region Load Lagerverwaltung
    Func _LoadData(ByRef $ArrayToUse,$mode,$lagernummer)
    if $mode="Lager" Then
    $key=$mode & $lagernummer
    GUICtrlSetData($inputLager,IniRead($DataINI,GUICtrlRead($ComboUser),$key & "Ort",""))
    EndIf
    if $mode="Schliessfach" Then $key=$mode
    $value=IniRead($DataINI,GUICtrlRead($ComboUser),$key,"")
    $aTemp=StringSplit($value,"|") ; erstellt array mit den einzelwerten aus dem string im ini key-value
    if (UBound($aTemp)-1)/UBound($ArrayToUse,2) <> UBound($ArrayToUse)-1 Then Return ;MsgBox(0,"Fehler","ini Datei inkompatibel") ; verlässt die Funktion, weil zuviele oder zuwenige einträge in der ini
    ; inputs befüllen
    $j=1
    For $s=0 to UBound($ArrayToUse,2)-1
    For $i=1 to UBound($ArrayToUse)-1
    GUICtrlSetData($ArrayToUse[$i][$s],$aTemp[$j])
    $j+=1
    Next
    Next
    EndFunc
    #endregion Load Lagerverwaltung
    ;------------------------------------------------------------------------------------------
    #region Load GildenLagerverwaltung
    Func _LoadData1(ByRef $ArrayToUse,$mode,$lagernummer)
    if $mode="GildenLager" Then
    $key=$mode & $lagernummer
    GUICtrlSetData($inputLager,IniRead($GildenDataINI,GUICtrlRead($ComboUser1),$key & "Ort",""))
    EndIf
    $value=IniRead($GildenDataINI,GUICtrlRead($ComboUser1),$key,"")
    $aTemp=StringSplit($value,"|") ; erstellt array mit den einzelwerten aus dem string im ini key-value
    if (UBound($aTemp)-1)/UBound($ArrayToUse,2) <> UBound($ArrayToUse)-1 Then Return ;MsgBox(0,"Fehler","ini Datei inkompatibel") ; verlässt die Funktion, weil zuviele oder zuwenige einträge in der ini
    ; inputs befüllen
    $j=1
    For $s=0 to UBound($ArrayToUse,2)-1
    For $i=1 to UBound($ArrayToUse)-1
    GUICtrlSetData($ArrayToUse[$i][$s],$aTemp[$j])
    $j+=1
    Next
    Next
    EndFunc
    #endregion Load GildenLagerverwaltung
    ;-------------------------------------------------------------------------------------------
    #region Save Lagerverwaltung
    Func _SaveData(ByRef $ArrayToUse,$mode,$lagernummer)
    if $mode = "Lager" Then
    $key=$mode & $lagernummer
    IniWrite($DataINI,GUICtrlRead($ComboUser),$key & "Ort",GUICtrlRead($inputLager))
    EndIf
    if $mode = "Schliessfach" Then $key=$mode
    $value=""
    For $s=0 to UBound($ArrayToUse,2)-1
    For $i=1 to UBound($ArrayToUse)-1
    $value&=GUICtrlRead($ArrayToUse[$i][$s]) & "|"
    Next
    Next
    $value=StringTrimRight($value,1) ; entfernt letzten senkrechten Strich
    IniWrite($DataINI,GUICtrlRead($ComboUser),$key,$value)
    IniWrite($GildenDataINI,GUICtrlRead($ComboUser1),$key,$value)
    _clearGUI()
    EndFunc
    #endregion Save Lagerverwaltung
    ;-------------------------------------------------------------------------------------------
    #region Save Lagerverwaltung
    Func _SaveData1(ByRef $ArrayToUse,$mode,$lagernummer)
    if $mode = "GildenLager" Then
    $key=$mode & $lagernummer
    IniWrite($GildenDataINI,GUICtrlRead($ComboUser1),$key & "Ort",GUICtrlRead($inputLager))
    EndIf
    $value=""
    For $s=0 to UBound($ArrayToUse,2)-1
    For $i=1 to UBound($ArrayToUse)-1
    $value&=GUICtrlRead($ArrayToUse[$i][$s]) & "|"
    Next
    Next
    $value=StringTrimRight($value,1) ; entfernt letzten senkrechten Strich
    IniWrite($GildenDataINI,GUICtrlRead($ComboUser1),$key,$value)
    _clearGUI()
    EndFunc
    #endregion Save Lagerverwaltung
    ;-------------------------------------------------------------------------------------------
    Func _deleteAccount()
    IniDelete("data.ini", GUICtrlRead($ComboUser))
    _clearGUI()
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _deleteGildenAccount()
    IniDelete("gildendata.ini", GUICtrlRead($ComboUser))
    _clearGUI()
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _deleteSchliessfach()
    $sBesitzer = GUICtrlRead($ComboUser)
    $aSections = IniReadSection("data.ini", $sBesitzer) ;sectionname auslesen
    For $i = 1 To $aSections[0][0]
    If StringRegExp($aSections[$i][0], "Schliessfach") Then ;wir überprüfen den Sectionname mit einem regulären Ausdruck (geht auch einfacher mit StringLeft)
    ;~ConsoleWrite($aSections[$i][0] & @crlf)
    IniDelete("data.ini", $sBesitzer, $aSections[$i][0]) ;jeden Key löschen, auf den der reguläre Ausdruck zutrifft
    EndIf
    Next
    _clearGUI()
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _clearGUI()
    GUICtrlSetData($inputLager,'')
    ; neu: alle Schliessfach inputs leer machen
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetData($aschliesfach[$i][$s],"")
    Next
    Next
    ; neu: alle Lager inputs leer machen
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetData($aLager[$i][$s],"")
    Next
    Next
    ; neu: alle GildenLager inputs leer machen
    For $s=0 to UBound($aGildenLager,2)-1
    For $i=1 To UBound($aGildenLager)-1
    GUICtrlSetData($aGildenLager[$i][$s],"")
    Next
    Next
    _setCombo($ComboUser) ; NEU....
    _setCombo1($ComboUser1) ; NEU....
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _clearkommplettGUI()
    GUICtrlSetData($inputLager,'')
    GUICtrlSetData($ComboUser,"")
    GUICtrlSetData($ComboUser1,"")
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetData($aschliesfach[$i][$s],"")
    Next
    Next
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetData($aLager[$i][$s],"")
    Next
    Next
    For $s=0 to UBound($aGildenLager,2)-1
    For $i=1 To UBound($aGildenLager)-1
    GUICtrlSetData($aGildenLager[$i][$s],"")
    Next
    Next
    EndFunc
    ;-------------------------------------------------------------------------------------------
    Func _setCombo($comboToSet,$init=-1) ; wenn init -1 ist soll der derzeit gewählte Eintrag gewählt bleiben, standard Verhalten der Funktion
    Local $Sections = IniReadSectionNames($DataINI)
    if @error then Return -1 ; verlässt die Funktion, da in der ini keine Einträge gefunden wurden
    Local $SectionString = _ArrayToString($Sections,'|',1,UBound($Sections)-1)
    $auswahl=GUICtrlRead($comboToSet)
    GUICtrlSetData($comboToSet,"") ; leert combo bevor Daten neu gesetzt werden
    if $init <> -1 Then
    GUICtrlSetData($comboToSet,$SectionString,$Sections[1]) ; Setzt Werte des combos und wählt Eintrag 1 der ini
    Else
    GUICtrlSetData($comboToSet,$SectionString,$auswahl) ; Setzt Werte des combos und behält ursprüngliche Wahl bei
    EndIf
    ;Return($SectionString) ; entfernt, da die control daten jetzt innerhalb der Funktion gesetzt werden
    EndFunc
    ;-------------------------------------------------------------------------------------------
    Func _setCombo1($comboToSet,$init=-1) ; wenn init -1 ist soll der derzeit gewählte Eintrag gewählt bleiben, standard Verhalten der Funktion
    Local $Sections = IniReadSectionNames($GildenDataINI)
    if @error then Return -1 ; verlässt die Funktion, da in der ini keine Einträge gefunden wurden
    Local $SectionString = _ArrayToString($Sections,'|',1,UBound($Sections)-1)
    $auswahl=GUICtrlRead($comboToSet)
    GUICtrlSetData($comboToSet,"") ; leert combo bevor Daten neu gesetzt werden
    if $init <> -1 Then
    GUICtrlSetData($comboToSet,$SectionString,$Sections[1]) ; Setzt Werte des combos und wählt Eintrag 1 der ini
    Else
    GUICtrlSetData($comboToSet,$SectionString,$auswahl) ; Setzt Werte des combos und behält ursprüngliche Wahl bei
    EndIf
    ;Return($SectionString) ; entfernt, da die control daten jetzt innerhalb der Funktion gesetzt werden
    EndFunc
    ;-------------------------------------------------------------------------------------------

    [/autoit]


    Ich hoffe das wieder jemand soviel Geduld für mich aufbringen kann und mich bei diesem Vorhaben unterstützt!

    Mfg Ghostlader

  • Speichern/Laden Funktioniert nicht richtig ua.

    • Ghostleader
    • 27. Dezember 2011 um 23:54

    Hallo misterspeed,

    nochmals vielen vielen DANK für deine großartige Hilfe und Ausdauer mit mir :thumbup: .

    Es funzt alles einwandfrei. Ich habe wie von dir vorgeschlagen den Button zum erstellen neuer Accounts eingefügt!
    Ebenfalls habe ich die Schliessfach Löschen Function dangepasst so dass diese jetzt hier auch wieder richtig geht!
    Ich werde das Thema hier jetzt als gelöst setzen da ja diese Probleme Dank dir gelöst sind!

    Es soll noch eine weitere Function eingebaut werden, die ich aber erstmal selber versuche nun anhand deiner Erläuterungen!
    Wenn ich es doch nicht alleine schaffen sollte mache ich einfach ein neues Thema auf!

    Vielen Dank nochmal bis hierhin!

    Mfg Ghostleader

    PS:
    Hier nochmal das bis hierher fertige Script:

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Outfile=Lagerverwaltungstool.exe
    #AutoIt3Wrapper_UseUpx=n
    #AutoIt3Wrapper_Res_Description=Copyright by Ghostleader & Areneas
    #AutoIt3Wrapper_Res_Fileversion=1.1.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=Copyright by Ghostleader & Areneas
    #AutoIt3Wrapper_Res_Language=1031
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #region INCLUDES
    ;------------------------------------------------------------------------------------------
    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #endregion INCLUDES
    #region GLOBAL
    ;------------------------------------------------------------------------------------------
    Global $aschliesfach[17][4]
    Global $aLager[13][3]
    Global $userSelection=-1 ; noch wurde garnichts gewählt, programmstart
    Global $DataINI = 'data.ini'
    #endregion GLOBAL
    ;------------------------------------------------------------------------------------------
    #region GUI
    $Form1 = GUICreate("Form1", 940, 550, 192, 5, $WS_BORDER & $WS_POPUP)
    ;GUISetState()
    $Backround = GUICtrlCreatePic("bilder\lager.tgx", 0, 0, 940, 550)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $rightLabel = GUICtrlCreateLabel("Copyright By Ghostleader @ Areneas", 650, 500, 300, 25)
    GUICtrlSetFont(-1, 11, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    #endregion GUI
    ;------------------------------------------------------------------------------------------
    #region Group´s
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $FrontLagerBank = GUICtrlCreateGroup("", 360, 180, 280, 195)
    $GroupCombo = GUICtrlCreateGroup("", 10, 6, 276, 36)
    $GroupAccountNeu = GUICtrlCreateGroup("", 302, 6, 121, 36)
    $GroupSpeichern = GUICtrlCreateGroup("", 440, 6, 235, 36)
    $Exit = GUICtrlCreateGroup("", 685, 6, 238, 36)
    $LagerLabelGroup = GUICtrlCreateGroup("", 330, 135, 282, 45)
    $LagerGroup = GUICtrlCreateGroup("", 200, 62, 590, 45)
    $LagerSpalte1 = GUICtrlCreateGroup("", 70, 195, 190, 290)
    $LagerSpalte2 = GUICtrlCreateGroup("", 345, 195, 190, 290)
    $LagerSpalte3 = GUICtrlCreateGroup("", 615, 195, 190, 290)
    $BankRahmen1 = GUICtrlCreateGroup("", 30, 112, 190, 370)
    $BankRahmen2 = GUICtrlCreateGroup("", 270, 112, 190, 370)
    $BankRahmen3 = GUICtrlCreateGroup("", 500, 112, 190, 370)
    $BankRahmen4 = GUICtrlCreateGroup("", 730, 112, 190, 370)
    #endregion Group´s
    ;------------------------------------------------------------------------------------------
    #region Button´s
    $AccountNeu = GUICtrlCreateButton("Neuer Account", 310, 16, 105, 22)
    $Lager1Speichern = GUICtrlCreateButton("Speichern", 448, 16, 105, 22)
    $Lager2Speichern = GUICtrlCreateButton("Speichern", 448, 16, 105, 22)
    $Lager3Speichern = GUICtrlCreateButton("Speichern", 448, 16, 105, 22)
    $SchliessfachSpeichern = GUICtrlCreateButton("Speichern", 448, 16, 105, 22)
    $AccLoschen = GUICtrlCreateButton("Acc Löschen", 565, 16, 105, 22)
    ;------------------------------------------------------------------------------------------
    $SchliessfachOben = GUICtrlCreateButton("Bankschließfach", 695, 16, 105, 22)
    $ButtonExit = GUICtrlCreateButton("Exit", 810, 16, 105, 22)
    ;------------------------------------------------------------------------------------------
    $SchliessfachLoschen = GUICtrlCreateButton("Schliesfach Löschen", 565, 16, 105, 22)
    $LagerOben = GUICtrlCreateButton("Lagerverwaltung",695, 16, 105, 22)
    ;------------------------------------------------------------------------------------------
    $LagerFront = GUICtrlCreateButton("Lagerverwaltung", 375, 200, 250, 40)
    $SchliessfachFront = GUICtrlCreateButton("Bankschließfach", 375, 260, 250, 40)
    $Schliessen = GUICtrlCreateButton("Programm Schliessen", 375, 320, 250, 40)
    ;------------------------------------------------------------------------------------------
    $Lager1 = GUICtrlCreateButton("LAGER 1", 210, 75, 170, 25)
    $Lager2 = GUICtrlCreateButton("LAGER 2", 410, 75, 170, 25)
    $Lager3 = GUICtrlCreateButton("LAGER 3", 610, 75, 170, 25)
    #endregion Button´s
    ;------------------------------------------------------------------------------------------
    #region Combo
    $ComboUser = GUICtrlCreateCombo("", 100, 16, 170, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) ; ein combo reicht völlig
    _setCombo($ComboUser,1) ; NEU: erledigt alles, returned nichts :P, Parameter 1 bedeutet gui initialisierung, wert 1 der ini wird ausgewählt
    #endregion Combo
    ;------------------------------------------------------------------------------------------
    #region Label´s
    $LagerLabel1 = GUICtrlCreateLabel("", 340, 150, 100, 25)
    GUICtrlSetFont(-1, 15, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Label4 = GUICtrlCreateLabel("Account", 22, 17, 80, 19)
    GUICtrlSetFont(-1, 11, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    #endregion Label´s
    ;---------------------------------------------------------------------------------------------
    #region Input
    $inputLager = GUICtrlCreateInput("", 430, 150, 170, 21)
    #endregion Input
    ;---------------------------------------------------------------------------------------------
    #region HIDE
    GUICtrlSetState($GroupSpeichern, $GUI_HIDE)
    GUICtrlSetState($GroupAccountNeu, $GUI_HIDE)
    GUICtrlSetState($Exit, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte1, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte2, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte3, $GUI_HIDE)
    GUICtrlSetState($GroupCombo, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($ButtonExit, $GUI_HIDE)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_HIDE)
    GUICtrlSetState($AccLoschen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_HIDE)
    GUICtrlSetState($Label4, $GUI_HIDE)
    GUICtrlSetState($inputLager, $GUI_HIDE)
    GUICtrlSetState($ComboUser, $GUI_HIDE)
    GUICtrlSetState($LagerLabelGroup, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_HIDE)
    GUICtrlSetState($AccountNeu, $GUI_HIDE)
    #endregion HIDE
    ;----------------------------------------------------------------------------------------------
    #region Generat´s
    _generateControls($aLager,"Lager")
    _generateControls($aschliesfach,"Schliessfach")
    #endregion Generat´s
    GUISetState(@SW_SHOW)
    ;---------------------------------------------------------------------------------------------
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $SchliessfachFront, $SchliessfachOben
    $userSelection = 0
    _ButtonSchliessfach()
    Case $LagerFront, $LagerOben
    $userSelection = 1
    _clearkommplettGUI()
    _ButtonLager1()
    Case $Lager1
    $userSelection = 1
    _ButtonLager1()
    Case $Lager2
    $userSelection = 2
    _ButtonLager2()
    Case $Lager3
    $userSelection = 3
    _ButtonLager3()
    Case $AccountNeu
    _clearkommplettGUI()
    Case $ButtonExit, $Schliessen
    Exit
    Case $ComboUser ; umbenannt
    _clearGUI()
    if $userSelection = 0 Then _LoadData($aschliesfach,"Schliessfach",$userSelection)
    if $userSelection > 0 Then _LoadData($aLager,"Lager",$userSelection)
    Case $Lager1Speichern
    _SaveData($aLager,"Lager",1) ; neu
    Case $Lager2Speichern
    _SaveData($aLager,"Lager",2) ; neu
    Case $Lager3Speichern
    _SaveData($aLager,"Lager",3) ; neu
    Case $SchliessfachSpeichern
    _SaveData($aschliesfach,"Schliessfach",0) ; neu
    Case $AccLoschen
    _deleteAccount()
    Case $SchliessfachLoschen
    _deleteSchliessfach()
    EndSwitch
    WEnd
    ;_--------------------------------------------------------------------------------------------
    Func _ButtonSchliessfach()
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_SHOW)
    Next
    Next
    _clearkommplettGUI()
    GUICtrlSetState($GroupAccountNeu, $GUI_HIDE)
    GUICtrlSetState($AccountNeu, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($GroupSpeichern, $GUI_SHOW)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte2, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte3, $GUI_HIDE)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerOben, $GUI_SHOW)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_HIDE)
    GUICtrlSetState($inputLager, $GUI_HIDE)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($ComboUser, $GUI_SHOW)
    GUICtrlSetState($BankRahmen1, $GUI_SHOW)
    GUICtrlSetState($BankRahmen2, $GUI_SHOW)
    GUICtrlSetState($BankRahmen3, $GUI_SHOW)
    GUICtrlSetState($BankRahmen4, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_HIDE)
    _clearGUI(); felder leeren beim wechsel
    _LoadData($aschliesfach,"Schliessfach",0) ; felder neu befüllen
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _ButtonLager1()
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GuiCtrlSetData($LagerLabel1, "Lager 1")
    GUICtrlSetState($GroupAccountNeu, $GUI_SHOW)
    GUICtrlSetState($AccountNeu, $GUI_SHOW)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($GroupSpeichern, $GUI_SHOW)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte2, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte3, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_SHOW)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($inputLager, $GUI_SHOW)
    GUICtrlSetState($ComboUser, $GUI_SHOW)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_SHOW)
    GUICtrlSetState($Lager3, $GUI_SHOW)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)
    _clearGUI(); felder leeren beim wechsel
    _LoadData($aLager,"Lager",1) ; felder neu befüllen
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _ButtonLager2()
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GuiCtrlSetData($LagerLabel1, "Lager 2")
    GUICtrlSetState($GroupAccountNeu, $GUI_SHOW)
    GUICtrlSetState($AccountNeu, $GUI_SHOW)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($GroupSpeichern, $GUI_SHOW)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte2, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte3, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_SHOW)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($inputLager, $GUI_SHOW)
    GUICtrlSetState($ComboUser, $GUI_SHOW)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_SHOW)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_SHOW)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)
    _clearGUI(); felder leeren beim wechsel
    _LoadData($aLager,"Lager",2) ; felder neu befüllen
    EndFunc
    ;-------------------------------------------------------------------------------------------------
    Func _ButtonLager3()
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GuiCtrlSetData($LagerLabel1, "Lager 3")
    GUICtrlSetState($GroupAccountNeu, $GUI_SHOW)
    GUICtrlSetState($AccountNeu, $GUI_SHOW)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($GroupSpeichern, $GUI_SHOW)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte2, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte3, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_SHOW)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($inputLager, $GUI_SHOW)
    GUICtrlSetState($ComboUser, $GUI_SHOW)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_SHOW)
    GUICtrlSetState($Lager2, $GUI_SHOW)
    GUICtrlSetState($Lager3, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)
    _clearGUI(); felder leeren beim wechsel
    _LoadData($aLager,"Lager",3) ; felder neu befüllen
    EndFunc
    ;-------------------------------------------------------------------------------------------------
    Func _generateControls(ByRef $ArrayToUse,$mode)
    #cs
    Neue Funktion die die generate Funktionen für Lager und Schliessfach ersetzt und alle control ids in 2-Dimensionalen Arrays speichert
    Könnte weiter optimiert werden, da es kaum unterschiede zwischen beiden Modes gibt, wir belassen es jetzt erstmal so...
    #ce

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

    if $mode = "Lager" Then
    For $s=0 to UBound($ArrayToUse,2)-1 ; für alle Spalten
    $Abstand = 2
    if $s=0 then $left=1
    if $s=1 then $left=275
    if $s=2 then $left=545
    For $i = 1 To UBound($ArrayToUse)-1 ; für alle Zeilen
    GUICtrlCreateLabel(' ' ,$left,216+$Abstand,5) ; wozu du die leeren labels brauchst weiß ich ehrlich gesagt nicht
    GUICtrlSetFont(-1, 10, 600) ; label hat keinen inhalt, wozu die Schrift setzen?
    GUICtrlSetColor(-1, 000000) ; ich denke der farbcode ist nicht gültig sollte eher so ausschaun: 0x000000
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ArrayToUse[$i][$s] = GUICtrlCreateInput("",85+$left,216+$Abstand,160)
    GUICtrlSetState(-1,$GUI_HIDE)
    $Abstand +=21
    Next
    Next
    EndIf
    ;---------------------------------------------------------------------------------------------------
    if $mode = "Schliessfach" Then
    For $s=0 to UBound($ArrayToUse,2)-1 ; für alle Spalten
    $Abstand = 2
    if $s=0 Then $left=40
    if $s=1 Then $left=280
    if $s=2 Then $left=510
    if $s=3 Then $left=740
    For $i = 1 To UBound($ArrayToUse)-1 ; für alle Zeilen
    $Fach = GUICtrlCreateLabel(' ' ,$left,216+$Abstand,5) ; wozu du die leeren labels brauchst weiß ich ehrlich gesagt nicht, ausserdem überschreibst du die variable, somit label später nicht mehr änderbar
    GUICtrlSetFont(-1, 10, 600) ; label hat keinen inhalt, wozu die Schrift setzen?
    GUICtrlSetColor(-1, 000000) ; ich denke der farbcode ist nicht gültig sollte eher so ausschaun: 0x000000
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ArrayToUse[$i][$s] = GUICtrlCreateInput("",5+$left,130+$Abstand,160)
    GUICtrlSetState(-1,$GUI_HIDE)
    $Abstand +=21
    Next
    Next
    EndIf
    EndFunc
    ;------------------------------------------------------------------------------------------
    #region Load Lagerverwaltung
    Func _LoadData(ByRef $ArrayToUse,$mode,$lagernummer)
    if $mode="Lager" Then
    $key=$mode & $lagernummer
    GUICtrlSetData($inputLager,IniRead($DataINI,GUICtrlRead($ComboUser),$key & "Ort",""))
    EndIf
    if $mode="Schliessfach" Then $key=$mode
    $value=IniRead($DataINI,GUICtrlRead($ComboUser),$key,"")
    $aTemp=StringSplit($value,"|") ; erstellt array mit den einzelwerten aus dem string im ini key-value
    if (UBound($aTemp)-1)/UBound($ArrayToUse,2) <> UBound($ArrayToUse)-1 Then Return ;MsgBox(0,"Fehler","ini Datei inkompatibel") ; verlässt die Funktion, weil zuviele oder zuwenige einträge in der ini
    ; inputs befüllen
    $j=1
    For $s=0 to UBound($ArrayToUse,2)-1
    For $i=1 to UBound($ArrayToUse)-1
    GUICtrlSetData($ArrayToUse[$i][$s],$aTemp[$j])
    $j+=1
    Next
    Next
    EndFunc
    #endregion Load Lagerverwaltung
    ;-------------------------------------------------------------------------------------------
    #region Save Lagerverwaltung
    Func _SaveData(ByRef $ArrayToUse,$mode,$lagernummer)
    if $mode = "Lager" Then
    $key=$mode & $lagernummer
    IniWrite($DataINI,GUICtrlRead($ComboUser),$key & "Ort",GUICtrlRead($inputLager))
    EndIf
    if $mode = "Schliessfach" Then $key=$mode
    $value=""
    For $s=0 to UBound($ArrayToUse,2)-1
    For $i=1 to UBound($ArrayToUse)-1
    $value&=GUICtrlRead($ArrayToUse[$i][$s]) & "|"
    Next
    Next
    $value=StringTrimRight($value,1) ; entfernt letzten senkrechten Strich
    IniWrite($DataINI,GUICtrlRead($ComboUser),$key,$value)
    _clearGUI()
    EndFunc
    #endregion Save Lagerverwaltung
    ;-------------------------------------------------------------------------------------------
    Func _deleteAccount()
    IniDelete("data.ini", GUICtrlRead($ComboUser))
    _clearGUI()
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _deleteSchliessfach()
    $sBesitzer = GUICtrlRead($ComboUser)
    $aSections = IniReadSection("data.ini", $sBesitzer) ;sectionname auslesen
    For $i = 1 To $aSections[0][0]
    If StringRegExp($aSections[$i][0], "Schliessfach") Then ;wir überprüfen den Sectionname mit einem regulären Ausdruck (geht auch einfacher mit StringLeft)
    ;~ConsoleWrite($aSections[$i][0] & @crlf)
    IniDelete("data.ini", $sBesitzer, $aSections[$i][0]) ;jeden Key löschen, auf den der reguläre Ausdruck zutrifft
    EndIf
    Next
    _clearGUI()
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _clearGUI()
    GUICtrlSetData($inputLager,'')
    ; neu: alle Schliessfach inputs leer machen
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetData($aschliesfach[$i][$s],"")
    Next
    Next
    ; neu: alle Lager inputs leer machen
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetData($aLager[$i][$s],"")
    Next
    Next
    _setCombo($ComboUser) ; NEU....
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _clearkommplettGUI()
    GUICtrlSetData($inputLager,'')
    GUICtrlSetData($ComboUser,"")
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetData($aschliesfach[$i][$s],"")
    Next
    Next
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetData($aLager[$i][$s],"")
    Next
    Next
    EndFunc
    ;-------------------------------------------------------------------------------------------
    Func _setCombo($comboToSet,$init=-1) ; wenn init -1 ist soll der derzeit gewählte Eintrag gewählt bleiben, standard Verhalten der Funktion
    Local $Sections = IniReadSectionNames($DataINI)
    if @error then Return -1 ; verlässt die Funktion, da in der ini keine Einträge gefunden wurden
    Local $SectionString = _ArrayToString($Sections,'|',1,UBound($Sections)-1)
    $auswahl=GUICtrlRead($comboToSet)
    GUICtrlSetData($comboToSet,"") ; leert combo bevor Daten neu gesetzt werden
    if $init <> -1 Then
    GUICtrlSetData($comboToSet,$SectionString,$Sections[1]) ; Setzt Werte des combos und wählt Eintrag 1 der ini
    Else
    GUICtrlSetData($comboToSet,$SectionString,$auswahl) ; Setzt Werte des combos und behält ursprüngliche Wahl bei
    EndIf
    ;Return($SectionString) ; entfernt, da die control daten jetzt innerhalb der Funktion gesetzt werden
    EndFunc
    ;-------------------------------------------------------------------------------------------

    [/autoit]
  • Speichern/Laden Funktioniert nicht richtig ua.

    • Ghostleader
    • 27. Dezember 2011 um 17:51

    Hallo misterspeed,

    danke erstmal wieder für deine Super Arbeit.

    Jedoch bin ich jetzt gleich mehrfach verwirrt.
    1. Die Inputfelder von den Lagern (wo der Lagerort rein soll) werden ja garnicht mit bedacht (geladen/gespeichert).
    2. Der fehler den du eingebaut hast also wenn ich jetzt nen neuen User erstelle dann wird der Zwar gespeichert aber wenn ich ihn laden will kommt dann deine msgBox "Fehler","ini Datei inkompatibel" und es erstellen sich in der Combo mehrere gleiche User!
    3. Wenn ich einen neuen User in lager eins erstelle und speichere, anschliessend das lager wechsle ihn anwählen will um da dann die einträge zu machen ist er net da!

    Sorry aber damit hast du mich gerade ganz schön verwirrt auch wenn dies wie ich annehme nicht deine Absicht war.

    Bedeutet nei nich komme gerade nicht klar *SCHÄHM* ;( ;( ;( ;( ;( ;( ;( ;( ;( ;(

    Mfg Ghostleader

  • Speichern/Laden Funktioniert nicht richtig ua.

    • Ghostleader
    • 27. Dezember 2011 um 16:07

    Hallo misterspeed,

    was meinst du denn damit was du nicht verstehst? Also ein Account hat jeweils 3 Lager mit je 36 Plätzen. Deswegen brauche ich auch 3 Lager die zum selben Account gehören.
    Falls es das nicht war was du meintest einfach nochmal sagen bitte!

    Zitat von misterspeed

    das selbe könnte man Wohl auch mit dem Input bei jedem Lager tun, dessen Sinn ich noch nicht ganz verstanden habe, spielt aber für den Rest auch keine sonderliche Rolle.

    Mfg Ghostleader

  • Speichern/Laden Funktioniert nicht richtig ua.

    • Ghostleader
    • 27. Dezember 2011 um 15:38

    Hallo misterspeed,

    erstmal vielen lieben Dank für die Arbeit die du dir gemacht hast!!!
    Ich habe jetzt erstmal das Script etwas aufgearbeitet und alles unnütze entfernt!

    Spoiler anzeigen
    [autoit]

    #region INCLUDES
    ;------------------------------------------------------------------------------------------
    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #endregion INCLUDES
    #region GLOBAL
    ;------------------------------------------------------------------------------------------
    Global $aschliesfach[17][4]
    Global $aLager[13][3]
    Global $DataINI = 'data.ini'
    #endregion GLOBAL
    ;------------------------------------------------------------------------------------------
    #region GUI
    $Form1 = GUICreate("Form1", 940, 550, 192, 5, $WS_BORDER & $WS_POPUP)
    ;GUISetState()
    $Backround = GUICtrlCreatePic("bilder\lager.tgx", 0, 0, 940, 550)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $rightLabel = GUICtrlCreateLabel("Copyright By Ghostleader @ Areneas", 650, 500, 300, 25)
    GUICtrlSetFont(-1, 11, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    #endregion GUI
    ;------------------------------------------------------------------------------------------
    #region Group´s
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $FrontLagerBank = GUICtrlCreateGroup("", 360, 180, 280, 195)
    $GroupCombo = GUICtrlCreateGroup("", 28, 6, 276, 36)
    $GroupSpeichern = GUICtrlCreateGroup("", 336, 6, 276, 36)
    $Exit = GUICtrlCreateGroup("", 646, 6, 276, 36)
    $LagerLabelGroup = GUICtrlCreateGroup("", 330, 135, 282, 45)
    $LagerGroup = GUICtrlCreateGroup("", 200, 62, 590, 45)
    $LagerSpalte1 = GUICtrlCreateGroup("", 70, 195, 190, 290)
    $LagerSpalte2 = GUICtrlCreateGroup("", 345, 195, 190, 290)
    $LagerSpalte3 = GUICtrlCreateGroup("", 615, 195, 190, 290)
    $BankRahmen1 = GUICtrlCreateGroup("", 30, 112, 190, 370)
    $BankRahmen2 = GUICtrlCreateGroup("", 270, 112, 190, 370)
    $BankRahmen3 = GUICtrlCreateGroup("", 500, 112, 190, 370)
    $BankRahmen4 = GUICtrlCreateGroup("", 730, 112, 190, 370)
    #endregion Group´s
    ;------------------------------------------------------------------------------------------
    #region Button´s
    $Lager1Speichern = GUICtrlCreateButton("Speichern", 350, 16, 110, 22)
    $Lager2Speichern = GUICtrlCreateButton("Speichern", 350, 16, 110, 22)
    $Lager3Speichern = GUICtrlCreateButton("Speichern", 350, 16, 110, 22)
    $SchliessfachSpeichern = GUICtrlCreateButton("Speichern", 350, 16, 110, 22)
    $AccLoschen = GUICtrlCreateButton("Acc Löschen", 490, 16, 110, 22)
    ;------------------------------------------------------------------------------------------
    $SchliessfachOben = GUICtrlCreateButton("Bankschließfach", 660, 16, 110, 22)
    $ButtonExit = GUICtrlCreateButton("Exit", 800, 16, 110, 22)
    ;------------------------------------------------------------------------------------------
    $SchliessfachLoschen = GUICtrlCreateButton("Schliesfach Löschen", 490, 16, 110, 22)
    $LagerOben = GUICtrlCreateButton("Lagerverwaltung", 660, 16, 110, 22)
    ;------------------------------------------------------------------------------------------
    $LagerFront = GUICtrlCreateButton("Lagerverwaltung", 375, 200, 250, 40)
    $SchliessfachFront = GUICtrlCreateButton("Bankschließfach", 375, 260, 250, 40)
    $Schliessen = GUICtrlCreateButton("Programm Schliessen", 375, 320, 250, 40)
    ;------------------------------------------------------------------------------------------
    $Lager1 = GUICtrlCreateButton("LAGER 1", 210, 75, 170, 25)
    $Lager2 = GUICtrlCreateButton("LAGER 2", 410, 75, 170, 25)
    $Lager3 = GUICtrlCreateButton("LAGER 3", 610, 75, 170, 25)
    #endregion Button´s
    ;------------------------------------------------------------------------------------------
    #region Combo´s
    $Combo1 = GUICtrlCreateCombo("", 120, 16, 170, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    ;------------------------------------------------------------------------------------------
    #region Label´s
    $LagerLabel1 = GUICtrlCreateLabel("", 340, 150, 100, 25)
    GUICtrlSetFont(-1, 15, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $Label4 = GUICtrlCreateLabel("Account", 42, 17, 80, 19)
    GUICtrlSetFont(-1, 11, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    #endregion Label´s
    ;---------------------------------------------------------------------------------------------
    #region Input´s
    $LagerInput1 = GUICtrlCreateInput("", 430, 150, 170, 21)
    #endregion Input´s
    ;---------------------------------------------------------------------------------------------
    #region HIDE
    GUICtrlSetState($GroupSpeichern, $GUI_HIDE)
    GUICtrlSetState($Exit, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte1, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte2, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte3, $GUI_HIDE)
    GUICtrlSetState($GroupCombo, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($ButtonExit, $GUI_HIDE)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_HIDE)
    GUICtrlSetState($AccLoschen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_HIDE)
    GUICtrlSetState($Label4, $GUI_HIDE)
    GUICtrlSetState($LagerInput1, $GUI_HIDE)
    GUICtrlSetState($Combo1, $GUI_HIDE)
    GUICtrlSetState($LagerLabelGroup, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_HIDE)
    #endregion HIDE
    #region Generat´s
    _generateControls($aLager,"Lager")
    _generateControls($aschliesfach,"Schliessfach")
    #cs
    Ersetzt durch obige Funktion
    #ce
    #endregion Generat´s
    #region Generate´s Hide
    ; neu: controls werden bereits bei der Erstellung unsichtbar gemacht, siehe _generateControls()
    #endregion Generate´s Hide
    ;---------------------------------------------------------------------------------------------

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

    GUISetState(@SW_SHOW)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $LagerFront
    _ButtonLager1()
    Case $LagerOben
    _ButtonLager1()
    Case $Lager1
    _ButtonLager1()
    Case $Lager2
    _ButtonLager2()
    Case $Lager3
    _ButtonLager3()
    Case $SchliessfachFront
    _ButtonSchliessfach()
    Case $SchliessfachOben
    _ButtonSchliessfach()
    Case $ButtonExit, $Schliessen
    Exit
    Case $AccLoschen
    _deleteAccount()
    Case $SchliessfachLoschen
    _deleteSchliessfach()
    EndSwitch
    WEnd
    ;_--------------------------------------------------------------------------------------------
    Func _ButtonSchliessfach()
    ; neu: alle Lager inputs unsichtbar machen
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_HIDE)
    Next
    Next
    ; neu: alle Schliessfach inputs sichtbar machen
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($GroupSpeichern, $GUI_SHOW)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte2, $GUI_HIDE)
    GUICtrlSetState($LagerSpalte3, $GUI_HIDE)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerOben, $GUI_SHOW)
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_HIDE)
    GUICtrlSetState($LagerInput1, $GUI_HIDE)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Combo1, $GUI_SHOW)
    GUICtrlSetState($BankRahmen1, $GUI_SHOW)
    GUICtrlSetState($BankRahmen2, $GUI_SHOW)
    GUICtrlSetState($BankRahmen3, $GUI_SHOW)
    GUICtrlSetState($BankRahmen4, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_HIDE)
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _ButtonLager1()
    ; neu: alle Schliessfach inputs unsichtbar machen
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next
    ; neu: alle Lager inputs sichtbar machen
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GuiCtrlSetData($LagerLabel1, "Lager 1")
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($GroupSpeichern, $GUI_SHOW)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte2, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte3, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_SHOW)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($LagerInput1, $GUI_SHOW)
    GUICtrlSetState($Combo1, $GUI_SHOW)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_SHOW)
    GUICtrlSetState($Lager3, $GUI_SHOW)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _ButtonLager2()
    ; neu: alle Schliessfach inputs unsichtbar machen
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next
    ; neu: alle Lager inputs sichtbar machen
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GuiCtrlSetData($LagerLabel1, "Lager 2")
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($GroupSpeichern, $GUI_SHOW)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte2, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte3, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_SHOW)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($LagerInput1, $GUI_SHOW)
    GUICtrlSetState($Combo1, $GUI_SHOW)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_SHOW)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_SHOW)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)
    EndFunc
    ;-------------------------------------------------------------------------------------------------
    Func _ButtonLager3()
    ; neu: alle Schliessfach inputs unsichtbar machen
    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next
    ; neu: alle Lager inputs sichtbar machen
    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_SHOW)
    Next
    Next
    GUICtrlSetState($SchliessfachLoschen, $GUI_HIDE)
    GUICtrlSetState($LagerOben, $GUI_HIDE)
    GUICtrlSetState($LagerFront, $GUI_HIDE)
    GUICtrlSetState($SchliessfachFront, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($FrontLagerBank, $GUI_HIDE)
    GUICtrlSetState($BankRahmen1, $GUI_HIDE)
    GUICtrlSetState($BankRahmen2, $GUI_HIDE)
    GUICtrlSetState($BankRahmen3, $GUI_HIDE)
    GUICtrlSetState($BankRahmen4, $GUI_HIDE)
    GUICtrlSetState($Schliessen, $GUI_HIDE)
    GUICtrlSetState($SchliessfachSpeichern, $GUI_HIDE)
    GuiCtrlSetData($LagerLabel1, "Lager 3")
    GUICtrlSetState($GroupCombo, $GUI_SHOW)
    GUICtrlSetState($GroupSpeichern, $GUI_SHOW)
    GUICtrlSetState($Exit, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte1, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte2, $GUI_SHOW)
    GUICtrlSetState($LagerSpalte3, $GUI_SHOW)
    GUICtrlSetState($ButtonExit, $GUI_SHOW)
    GUICtrlSetState($Lager1Speichern, $GUI_SHOW)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($LagerInput1, $GUI_SHOW)
    GUICtrlSetState($Combo1, $GUI_SHOW)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_SHOW)
    GUICtrlSetState($Lager2, $GUI_SHOW)
    GUICtrlSetState($Lager3, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)
    EndFunc
    ;-------------------------------------------------------------------------------------------------

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

    Func _generateControls(ByRef $ArrayToUse,$mode)
    #cs
    Neue Funktion die die generate Funktionen für Lager und Schliessfach ersetzt und alle control ids in 2-Dimensionalen Arrays speichert
    Könnte weiter optimiert werden, da es kaum unterschiede zwischen beiden Modes gibt, wir belassen es jetzt erstmal so...
    #ce

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

    if $mode = "Lager" Then
    For $s=0 to UBound($ArrayToUse,2)-1 ; für alle Spalten
    $Abstand = 2
    if $s=0 then $left=1
    if $s=1 then $left=275
    if $s=2 then $left=545
    For $i = 1 To UBound($ArrayToUse)-1 ; für alle Zeilen
    $ArrayToUse[$i][$s] = GUICtrlCreateInput("",85+$left,216+$Abstand,160)
    GUICtrlSetState(-1,$GUI_HIDE)
    $Abstand +=21
    Next
    Next
    EndIf

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

    if $mode = "Schliessfach" Then
    For $s=0 to UBound($ArrayToUse,2)-1 ; für alle Spalten
    $Abstand = 2
    if $s=0 Then $left=40
    if $s=1 Then $left=280
    if $s=2 Then $left=510
    if $s=3 Then $left=740
    For $i = 1 To UBound($ArrayToUse)-1 ; für alle Zeilen
    $ArrayToUse[$i][$s] = GUICtrlCreateInput("",5+$left,130+$Abstand,160)
    GUICtrlSetState(-1,$GUI_HIDE)
    $Abstand +=21
    Next
    Next
    EndIf

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

    EndFunc
    ;------------------------------------------------------------------------------------------
    #region Load Lagerverwaltung
    #endregion Load Lagerverwaltung
    ;-------------------------------------------------------------------------------------------
    #region Save Lagerverwaltung
    #endregion Save Lagerverwaltung
    ;-------------------------------------------------------------------------------------------
    ;-------------------------------------------------------------------------------------------
    Func _deleteAccount()
    IniDelete("data.ini", GUICtrlRead($Combo1))
    _clearGUI()
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _deleteSchliessfach()
    $sBesitzer = GUICtrlRead($Combo1)
    $aSections = IniReadSection("data.ini", $sBesitzer) ;sectionname auslesen
    For $i = 1 To $aSections[0][0]
    If StringRegExp($aSections[$i][0], "\d000") Then ;wir überprüfen den Sectionname mit einem regulären Ausdruck (geht auch einfacher mit StringLeft)
    ;~ConsoleWrite($aSections[$i][0] & @crlf)
    IniDelete("data.ini", $sBesitzer, $aSections[$i][0]) ;jeden Key löschen, auf den der reguläre Ausdruck zutrifft
    EndIf
    Next
    _clearGUI()
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _clearGUI()
    GUICtrlSetData($LagerInput1,'')
    GUICtrlSetData($Combo1,'')
    GUICtrlSetData($Combo1,_setCombo())
    EndFunc
    ;-------------------------------------------------------------------------------------------
    Func _setCombo()
    Local $Sections = IniReadSectionNames($DataINI)
    Local $SectionString = _ArrayToString($Sections,'|',1,UBound($Sections)-1)
    Return($SectionString)
    EndFunc
    ;-------------------------------------------------------------------------------------------

    [/autoit]

    Nun erstmal noch ein Paar Fragen:
    1. Kann ich für alles also Lager und Schliessfach nur eine Combo (Combo1) verwenden?
    2. Kann ich für alle Lager nur ein Input (Input1) verwenden?

    Ich würde mich gerne für diese Variante des speicherns festlegen:

    [autoit]

    [user1]
    Schliessfach=wert1|wert2
    Lager1=wert1|wert2
    Lager2=wert1|wert2
    Lager3=wert1|wert2
    [user2]
    Schliessfach=wert1|wert2
    Lager1=wert1|wert2
    Lager2=wert1|wert2
    Lager3=wert1|wert2

    [/autoit]


    So, nun muss ich ehrlich zugeben das ich gerade keinen blassen Schimmer habe wie ich das nun umsetze für das Script! Genauso wenig wüsste ich dann wie ich dieses wieder auslesen muss. Ich habe mir das mit den 2d Array´s angesehen aber irgendwie sehe ich da net so recht durch.
    Mir würde es sicher leichter fallen wenn ich es sehen könnte anhand eines Beispiels hier!
    Vielleicht hättest du ja noch soviel Lust und Zeit das du mir mal entweder für´s Lager oder für´s Schliessfach (speicher und Laden) das machen könntest mit der tollen Beschreibung wie du es bisher getan hast sodass ich es sehen/verstehen und es dann für das andere selber probieren kann!

    Mfg Ghostleader

    Ps.
    Wenn ich jetzt zuviel oder etwas falsch entfernt haben sollte so sage es bitte!

  • Speichern/Laden Funktioniert nicht richtig ua.

    • Ghostleader
    • 27. Dezember 2011 um 03:35

    Vielen dank erstmal soweit, funzt jetzt in deiner angesprochenen Sache super!

    Nichts desto trotz hoffe ich ja, das du oder jemand anderes sich der Fehler mal annimmt, drüber sieht und mir vielleicht dann sogar helfen kann/möchte!

    Mfg Ghostleader

  • Speichern/Laden Funktioniert nicht richtig ua.

    • Ghostleader
    • 27. Dezember 2011 um 03:07

    Hallo misterspeed,

    wieder zuerst Danke für deine Antwort.

    Ich habe jetzt wie du sagtest GUISetState(@SW_SHOW) genau vor die While Schleife gesetzt, jedoch bleibt jetzt das Problem des Auftauchens und anschliessend wieder Verschwindens der Spalten!
    Ich hoffe das du dafür vielleicht auch noch eine Lösung weisst!
    Und weisst du denn vielleicht auch eine Lösung für meine Ursprünglichen Problemchen?

    Mfg Ghostleader

  • Speichern/Laden Funktioniert nicht richtig ua.

    • Ghostleader
    • 27. Dezember 2011 um 00:45

    Hallo misterspeed,

    danke erstmal wieder für deine Antworten.
    Ich habe es mal geändert und zwar sind die generat´s jetzt in Zeile 152 - 205 vertreten vor der While Schleife.(siehe Code erster Post)
    Nun ist aber das Problem das die gesamten generate´s beim Programmstart aufflackern und wieder verschwinden!

    Und was meinst du mit diesem Satz genau?

    Zitat von misterspeed

    Desweiteren dürfte vorm anzeigen der GUI noch der Aufruf mindestens einer deiner Hide/Show Funktionen notwendig sein, damit nur die Controls sichtbar sind die sichtbar sein sollen bei Programmstart.

    Sorry bin wiedermal schwieriger Fall! ;(

    Mfg Ghostleader

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™