Speichern/Laden Funktioniert nicht richtig ua.

  • Hallo zusammen,

    es geht ausschliesslich um die Funktionen der Lagerverwaltung in dem Script! (Ini hängt dran als Datei)
    Bevor ich aber anfange, erstmal das Script:

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Outfile=Lagerverwaltungstool.exe
    #AutoIt3Wrapper_Outfile_x64=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 ****
    #cs ------------------------------------
    |
    Author: Ghostleader |
    Script: Version 1.1.0 |
    |
    Script Functionen: |
    - Lagerverwaltungstool = Version_1.1.0 |
    - Bankschließfach = Version_1.1.0 |
    |
    Copyright by Ghostleader @ Areneas |
    #ce ------------------------------------
    #region INCLUDES
    ;------------------------------------------------------------------------------------------
    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #endregion INCLUDES
    #region GLOBAL
    ;------------------------------------------------------------------------------------------
    Global $aSchliesfach1[17], $aSchliesfach2[17], $aSchliesfach3[17], $aSchliesfach4[17]
    Global $aSpalte1[13], $aSpalte2[13], $aSpalte3[13]
    Global $bSpalte1[13], $bSpalte2[13], $bSpalte3[13]
    Global $cSpalte1[13], $cSpalte2[13], $cSpalte3[13]
    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)
    GUISetState(@SW_SHOW)
    #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))
    GUICtrlSetData($Combo1,_setCombo())
    $Combo3 = GUICtrlCreateCombo("", 120, 16, 170, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($Combo3,_setCombo())
    $Combo4 = GUICtrlCreateCombo("", 120, 16, 170, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($Combo4,_setCombo())
    $Combo2 = GUICtrlCreateCombo("", 120, 16, 170, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($Combo2,_setCombo())
    #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", 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)
    $LagerInput2 = GUICtrlCreateInput("", 430, 150, 170, 21)
    $LagerInput3 = 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($LagerInput2, $GUI_HIDE)
    GUICtrlSetState($LagerInput3, $GUI_HIDE)
    GUICtrlSetState($Combo1, $GUI_HIDE)
    GUICtrlSetState($Combo2, $GUI_HIDE)
    GUICtrlSetState($Combo3, $GUI_HIDE)
    GUICtrlSetState($Combo4, $GUI_HIDE)
    GUICtrlSetState($LagerLabelGroup, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_HIDE)
    #endregion HIDE
    #region Generat´s
    _generateLagerSpalte($aSpalte1,1)
    _generateLagerSpalte($aSpalte2,275)
    _generateLagerSpalte($aSpalte3,545)
    _generateLagerSpalte2($bSpalte1,1)
    _generateLagerSpalte2($bSpalte2,275)
    _generateLagerSpalte2($bSpalte3,545)
    _generateLagerSpalte3($cSpalte1,1)
    _generateLagerSpalte3($cSpalte2,275)
    _generateLagerSpalte3($cSpalte3,545)
    _generateSchliessfachSpalte($aSchliesfach1,40)
    _generateSchliessfachSpalte($aSchliesfach2,280)
    _generateSchliessfachSpalte($aSchliesfach3,510)
    _generateSchliessfachSpalte($aSchliesfach4,740)
    #endregion Generat´s
    #region Generate´s Hide
    For $i = 1 To Ubound($aSchliesfach1)-1
    GUICtrlSetState($aschliesfach1[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach2)-1
    GUICtrlSetState($aschliesfach2[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach3)-1
    GUICtrlSetState($aschliesfach3[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach4)-1
    GUICtrlSetState($aschliesfach4[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte1) - 1
    GUICtrlSetState($aSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte2) - 1
    GUICtrlSetState($aSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte3) - 1
    GUICtrlSetState($aSpalte3[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte1) - 1
    GUICtrlSetState($bSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte2) - 1
    GUICtrlSetState($bSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte3) - 1
    GUICtrlSetState($bSpalte3[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte1) - 1
    GUICtrlSetState($cSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte2) - 1
    GUICtrlSetState($cSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte3) - 1
    GUICtrlSetState($cSpalte3[$i], $GUI_HIDE)
    Next
    #endregion Generate´s Hide
    ;---------------------------------------------------------------------------------------------
    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 $Combo1
    _LoadData()
    Case $Combo3
    _LoadData2()
    Case $Combo4
    _LoadData3()
    Case $Combo2
    _LoadDataSchliessfach()
    Case $Lager1Speichern
    _SaveData()
    Case $Lager2Speichern
    _SaveData2()
    Case $Lager3Speichern
    _SaveData3()
    Case $SchliessfachSpeichern
    _SaveDataSchliessfach()
    Case $AccLoschen
    _deleteAccount()
    Case $SchliessfachLoschen
    _deleteSchliessfach()
    EndSwitch
    WEnd
    ;_--------------------------------------------------------------------------------------------
    Func _ButtonSchliessfach()
    For $i = 1 TO UBound($aSpalte1) - 1
    GUICtrlSetState($aSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte2) - 1
    GUICtrlSetState($aSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte3) - 1
    GUICtrlSetState($aSpalte3[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte1) - 1
    GUICtrlSetState($bSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte2) - 1
    GUICtrlSetState($bSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte3) - 1
    GUICtrlSetState($bSpalte3[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte1) - 1
    GUICtrlSetState($cSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte2) - 1
    GUICtrlSetState($cSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte3) - 1
    GUICtrlSetState($cSpalte3[$i], $GUI_HIDE)
    Next

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

    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($LagerInput1, $GUI_HIDE)
    GUICtrlSetState($LagerInput2, $GUI_HIDE)
    GUICtrlSetState($LagerInput3, $GUI_HIDE)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Combo1, $GUI_HIDE)
    GUICtrlSetState($Combo3, $GUI_HIDE)
    GUICtrlSetState($Combo4, $GUI_HIDE)
    GUICtrlSetState($Combo2, $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()
    For $i = 1 To Ubound($aSchliesfach1)-1
    GUICtrlSetState($aschliesfach1[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach2)-1
    GUICtrlSetState($aschliesfach2[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach3)-1
    GUICtrlSetState($aschliesfach3[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach4)-1
    GUICtrlSetState($aschliesfach4[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte1) - 1
    GUICtrlSetState($bSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte2) - 1
    GUICtrlSetState($bSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte3) - 1
    GUICtrlSetState($bSpalte3[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte1) - 1
    GUICtrlSetState($cSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte2) - 1
    GUICtrlSetState($cSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte3) - 1
    GUICtrlSetState($cSpalte3[$i], $GUI_HIDE)
    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($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($LagerInput1, $GUI_SHOW)
    GUICtrlSetState($LagerInput2, $GUI_HIDE)
    GUICtrlSetState($LagerInput3, $GUI_HIDE)
    GUICtrlSetState($Combo1, $GUI_SHOW)
    GUICtrlSetState($Combo2, $GUI_HIDE)
    GUICtrlSetState($Combo3, $GUI_HIDE)
    GUICtrlSetState($Combo4, $GUI_HIDE)
    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()
    For $i = 1 To Ubound($aSchliesfach1)-1
    GUICtrlSetState($aschliesfach1[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach2)-1
    GUICtrlSetState($aschliesfach2[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach3)-1
    GUICtrlSetState($aschliesfach3[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach4)-1
    GUICtrlSetState($aschliesfach4[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte1) - 1
    GUICtrlSetState($aSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte2) - 1
    GUICtrlSetState($aSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte3) - 1
    GUICtrlSetState($aSpalte3[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte1) - 1
    GUICtrlSetState($cSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte2) - 1
    GUICtrlSetState($cSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte3) - 1
    GUICtrlSetState($cSpalte3[$i], $GUI_HIDE)
    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_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_SHOW)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($LagerInput1, $GUI_HIDE)
    GUICtrlSetState($LagerInput2, $GUI_SHOW)
    GUICtrlSetState($LagerInput3, $GUI_HIDE)
    GUICtrlSetState($Combo1, $GUI_HIDE)
    GUICtrlSetState($Combo2, $GUI_HIDE)
    GUICtrlSetState($Combo3, $GUI_SHOW)
    GUICtrlSetState($Combo4, $GUI_HIDE)
    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()
    For $i = 1 To Ubound($aSchliesfach1)-1
    GUICtrlSetState($aschliesfach1[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach2)-1
    GUICtrlSetState($aschliesfach2[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach3)-1
    GUICtrlSetState($aschliesfach3[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach4)-1
    GUICtrlSetState($aschliesfach4[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte1) - 1
    GUICtrlSetState($aSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte2) - 1
    GUICtrlSetState($aSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte3) - 1
    GUICtrlSetState($aSpalte3[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte1) - 1
    GUICtrlSetState($bSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte2) - 1
    GUICtrlSetState($bSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte3) - 1
    GUICtrlSetState($bSpalte3[$i], $GUI_HIDE)
    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_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_SHOW)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($LagerInput1, $GUI_HIDE)
    GUICtrlSetState($LagerInput2, $GUI_HIDE)
    GUICtrlSetState($LagerInput3, $GUI_SHOW)
    GUICtrlSetState($Combo1, $GUI_HIDE)
    GUICtrlSetState($Combo2, $GUI_HIDE)
    GUICtrlSetState($Combo3, $GUI_HIDE)
    GUICtrlSetState($Combo4, $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
    ;-------------------------------------------------------------------------------------------------
    Func _generateLagerSpalte(ByRef $ArrayToUse,$left)
    $Abstand = 2
    For $i = 1 To UBound($ArrayToUse)-1
    GUICtrlCreateLabel(' ' ,$left,216+$Abstand,5)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ArrayToUse[$i] = GUICtrlCreateInput("",85+$left,216+$Abstand,160)
    $Abstand +=21
    Next
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _generateLagerSpalte2(ByRef $ArrayToUse,$left)
    $Abstand = 2
    For $i = 1 To UBound($ArrayToUse)-1
    GUICtrlCreateLabel(' ' ,$left,216+$Abstand,5)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ArrayToUse[$i] = GUICtrlCreateInput("",85+$left,216+$Abstand,160)
    $Abstand +=21
    Next
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _generateLagerSpalte3(ByRef $ArrayToUse,$left)
    $Abstand = 2
    For $i = 1 To UBound($ArrayToUse)-1
    GUICtrlCreateLabel(' ' ,$left,216+$Abstand,5)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ArrayToUse[$i] = GUICtrlCreateInput("",85+$left,216+$Abstand,160)
    $Abstand +=21
    Next
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _generateSchliessfachSpalte(ByRef $ArrayToUse,$left)
    $Abstand = 2
    For $i = 1 To UBound($ArrayToUse)-1
    $Fach = GUICtrlCreateLabel(' ' ,$left,216+$Abstand,5)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ArrayToUse[$i] = GUICtrlCreateInput("",5+$left,130+$Abstand,160)
    $Abstand +=21
    Next
    EndFunc
    ;------------------------------------------------------------------------------------------
    #region Load Lagerverwaltung
    Func _LoadData() ;Lager Spalten
    GUICtrlSetData($LagerInput1,IniRead($DataINI,GUICtrlRead($Combo1),1001,''))
    For $i = 1 To UBound($aSpalte1)-1
    GUICtrlSetData($aSpalte1[$i],IniRead($DataINI,GUICtrlRead($Combo1),1&$i,''))
    GUICtrlSetData($aSpalte2[$i],IniRead($DataINI,GUICtrlRead($Combo1),2&$i,''))
    GUICtrlSetData($aSpalte3[$i],IniRead($DataINI,GUICtrlRead($Combo1),3&$i,''))
    Next
    EndFunc
    Func _LoadData2() ;Lager Spalten
    GUICtrlSetData($LagerInput2,IniRead($DataINI,GUICtrlRead($Combo1),1002,''))
    For $i = 1 To UBound($bSpalte1)-1
    GUICtrlSetData($bSpalte1[$i],IniRead($DataINI,GUICtrlRead($Combo1),4&$i,''))
    GUICtrlSetData($bSpalte2[$i],IniRead($DataINI,GUICtrlRead($Combo1),5&$i,''))
    GUICtrlSetData($bSpalte3[$i],IniRead($DataINI,GUICtrlRead($Combo1),6&$i,''))
    Next
    EndFunc
    Func _LoadData3() ;Lager Spalten
    GUICtrlSetData($LagerInput3,IniRead($DataINI,GUICtrlRead($Combo1),1003,''))
    For $i = 1 To UBound($cSpalte1)-1
    GUICtrlSetData($cSpalte1[$i],IniRead($DataINI,GUICtrlRead($Combo1),7&$i,''))
    GUICtrlSetData($cSpalte2[$i],IniRead($DataINI,GUICtrlRead($Combo1),8&$i,''))
    GUICtrlSetData($cSpalte3[$i],IniRead($DataINI,GUICtrlRead($Combo1),9&$i,''))
    Next
    EndFunc
    #endregion Load Lagerverwaltung
    ;-------------------------------------------------------------------------------------------
    #region Save Lagerverwaltung
    Func _SaveData() ;Lager Spalten
    IniWrite($DataINI,GUICtrlRead($Combo1),1001,GUICtrlRead($LagerInput1))
    For $i = 1 To UBound($aSpalte1)-1
    IniWrite($DataINI,GUICtrlRead($Combo1),1&$i,GUICtrlRead($aSpalte1[$i]))
    IniWrite($DataINI,GUICtrlRead($Combo1),2&$i,GUICtrlRead($aSpalte2[$i]))
    IniWrite($DataINI,GUICtrlRead($Combo1),3&$i,GUICtrlRead($aSpalte3[$i]))
    Next
    _clearGUI()
    EndFunc
    Func _SaveData2() ;Lager Spalten
    IniWrite($DataINI,GUICtrlRead($Combo1),1002,GUICtrlRead($LagerInput2))
    For $i = 1 To UBound($bSpalte1)-1
    IniWrite($DataINI,GUICtrlRead($Combo1),4&$i,GUICtrlRead($bSpalte1[$i]))
    IniWrite($DataINI,GUICtrlRead($Combo1),5&$i,GUICtrlRead($bSpalte2[$i]))
    IniWrite($DataINI,GUICtrlRead($Combo1),6&$i,GUICtrlRead($bSpalte3[$i]))
    Next
    _clearGUI()
    EndFunc
    Func _SaveData3() ;Lager Spalten
    IniWrite($DataINI,GUICtrlRead($Combo1),1003,GUICtrlRead($LagerInput3))
    For $i = 1 To UBound($cSpalte1)-1
    IniWrite($DataINI,GUICtrlRead($Combo1),7&$i,GUICtrlRead($cSpalte1[$i]))
    IniWrite($DataINI,GUICtrlRead($Combo1),8&$i,GUICtrlRead($cSpalte2[$i]))
    IniWrite($DataINI,GUICtrlRead($Combo1),9&$i,GUICtrlRead($cSpalte3[$i]))
    Next
    _clearGUI()
    EndFunc
    #endregion Save Lagerverwaltung
    ;-------------------------------------------------------------------------------------------
    Func _LoadDataSchliessfach()
    For $i = 1 To UBound($aSchliesfach1)-1
    GUICtrlSetData($aSchliesfach1[$i],IniRead($DataINI,GUICtrlRead($Combo2),2000&$i,''))
    GUICtrlSetData($aSchliesfach2[$i],IniRead($DataINI,GUICtrlRead($Combo2),3000&$i,''))
    GUICtrlSetData($aSchliesfach3[$i],IniRead($DataINI,GUICtrlRead($Combo2),4000&$i,''))
    GUICtrlSetData($aSchliesfach4[$i],IniRead($DataINI,GUICtrlRead($Combo2),5000&$i,''))
    Next
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _SaveDataSchliessfach()
    For $i = 1 To UBound($aSchliesfach1)-1
    IniWrite($DataINI,GUICtrlRead($Combo2),2000&$i,GUICtrlRead($aSchliesfach1[$i]))
    IniWrite($DataINI,GUICtrlRead($Combo2),3000&$i,GUICtrlRead($aSchliesfach2[$i]))
    IniWrite($DataINI,GUICtrlRead($Combo2),4000&$i,GUICtrlRead($aSchliesfach3[$i]))
    IniWrite($DataINI,GUICtrlRead($Combo2),5000&$i,GUICtrlRead($aSchliesfach4[$i]))
    Next
    _clearGUI()
    EndFunc
    ;-------------------------------------------------------------------------------------------
    Func _deleteAccount()
    IniDelete("data.ini", GUICtrlRead($Combo1))
    _clearGUI()
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _deleteSchliessfach()
    $sBesitzer = GUICtrlRead($Combo2)
    $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($LagerInput2,'')
    GUICtrlSetData($LagerInput3,'')
    GUICtrlSetData($Combo1,'')
    GUICtrlSetData($Combo3,'')
    GUICtrlSetData($Combo4,'')
    GUICtrlSetData($Combo2,'')
    For $i = 1 To UBound($aSpalte1)-1
    GUICtrlSetData($aSpalte1[$i],'')
    GUICtrlSetData($aSpalte2[$i],'')
    GUICtrlSetData($aSpalte3[$i],'')
    Next
    For $i = 1 To UBound($bSpalte1)-1
    GUICtrlSetData($bSpalte1[$i],'')
    GUICtrlSetData($bSpalte2[$i],'')
    GUICtrlSetData($bSpalte3[$i],'')
    Next
    For $i = 1 To UBound($cSpalte1)-1
    GUICtrlSetData($cSpalte1[$i],'')
    GUICtrlSetData($cSpalte2[$i],'')
    GUICtrlSetData($cSpalte3[$i],'')
    Next
    For $i = 1 To UBound($aSchliesfach1)-1
    GUICtrlSetData($aSchliesfach1[$i],'')
    GUICtrlSetData($aSchliesfach2[$i],'')
    GUICtrlSetData($aSchliesfach3[$i],'')
    GUICtrlSetData($aSchliesfach4[$i],'')
    Next
    GUICtrlSetData($Combo1,_setCombo())
    GUICtrlSetData($Combo3,_setCombo())
    GUICtrlSetData($Combo4,_setCombo())
    GUICtrlSetData($Combo2,_setCombo())
    EndFunc
    ;-------------------------------------------------------------------------------------------
    Func _setCombo()
    Local $Sections = IniReadSectionNames($DataINI)
    Local $SectionString = _ArrayToString($Sections,'|',1,UBound($Sections)-1)
    Return($SectionString)
    EndFunc
    ;-------------------------------------------------------------------------------------------

    [/autoit]


    So, nun erstmal zum Problem des speicherns:
    Geht man in die Lagerverwaltung ist man automatisch in Lager eins. Erstellt man nun einen neuen Account (Eintrag in Combo), den dazugehörigen Lagerort (Input), befüllt die Spalten und klickt auf speichern so ist alles ok!
    Geht man danach auf Lager 2 oder 3 ist 1. nicht automatisch der zuletzt erstellte Account oben in der Combo mehr ausgewehlt sondern man muss ihn selber wieder anwählen, 2. trägt man nun bei Lager 2 alles ein wie bei Lager 1 und geht auf speichern so wird in der Ini zwar alles gespeichert, aber es stehen vorm Speicherpunkt diese [] , die verhindern das man Lager 2 und 3 dann auslesen kann und ich weiss nicht warum!
    Auch wäre es schön wenn automatisch die Einträge die man gemacht hat gespeichert werden wenn man das Lager oder den Account wechselt, jedoch weiss ich nicht wie ich das machen kann!

    Nun zum Problem des ladens:
    Ähnlich wie beim speichern ist es beim Laden. Geht man in die Lagerverwaltung ist man wieder automatisch in Lager1. Wählt man nun da einen Acount aus läd er alles aus der Ini, wechselt man nun das Lager (im selben Acount) so fliegt auch hier der zuletzt gewählte Account wieder aus der Combo sodas man diesen dann wieder anwählen muss. Auch werden wenn es mal klappt nur die Combo und der Lagerort gleich ausgewählt, die Spalten jedoch bleiben lehr warum auch immer!
    Auch kann man nur in Lager eins zwischen den Accounts hin und her schalten (sodas alles angezeigt wird).
    Geht man auf lager 2 klickt einen Acount an lädt er es, wählt man aber hier nun einen anderen Account so bleiben die Felder lehr (genauso bei Lager3)!

    Ich hoffe ich hab es verständlich beschrieben um was es mir geht und jemand hat die Zeit um mal drüber zu sehen und sich der Probleme anzunehmen.
    Wenn jemand was verändert bitte die änderungen im Code mit angeben damit ich es nachvollziehen und verstehen kann!

    Vielen Dank schonmal im Voraus!

    Mfg Ghostleader

  • Unabhängig vom eigentlichen Problem denke ich begehst du bereits bei der Erstellung der Controls einen gravierenden Fehler. Bei jedem Button Druck erstellst du die gesamten Spalten inputs neu, löschst die alten aber nicht und überschreibst dir lediglich die controlids im array. Das hat zur Folge, dass du bei jedem mal mehr Controls hast und die alten nicht mehr ansprechen kannst. Letzten Endes kann das zum einen zum Überschreiten des Control Limits von Autoit GUI's führen, zum anderen zu Anzeigefehlern und ggf. auch zu falschen Adressierungen beim Inhalte befüllen. Ob das ein oder anderen bei dir zutrifft konnte ich nur anhand des Quellcodes auf den ersten Blick jetzt nicht erkennen, jedoch rate ich dir dazu dies zunächst zu fixen.

  • Hallo misterspeed,

    danke erstmal für deine Antwort.

    Leider weiss ich gerade nicht was du jetzt so richtig meinst, was das Problem aufwirft das ich es nicht so einfach fixen kann!
    Könntest du oder jemand anderes bitte etwas genauer werden und am besten noch Tipps geben wie es am besten geht?

    Mfg Ghostleader

    Einmal editiert, zuletzt von Ghostleader (26. Dezember 2011 um 23:55)

  • Misterspeed meint damit dass bei jedem Aufruf von _generateLagerSpalte (..2 + ..3 ebenso) und _generateSchliessfachSpalte neue Controls erstellt werden, anstatt diese 1-mal am Anfang zu erstellen und dann mit GUICtrlSetState ein- bzw. auszublenden,

    mfg autoBert

  • Ich fang nochmal von oben an:

    du rufst beim Buttondruck zum Beispiel diese Funktion auf:

    _ButtonLager1()

    Dort machst du erstmal jedemenge Controls unsichtbar und andere sichtbar. soweit alles ok.
    Am Ende der Funktion rufst du dann aber noch

    _generateLagerSpalte($aSpalte1,1)
    _generateLagerSpalte($aSpalte2,275)
    _generateLagerSpalte($aSpalte3,545)

    auf. Das machst du also jedesmal wenn du diesen Button drückst.
    In der generate... Funktion erstellst du dann neue Label und Input Controls.

    Genau das selbe passiert auch bei den anderen Buttons wie

    _ButtonLager2()
    _ButtonLager3()
    _ButtonSchliessfach()

    Problem: Du erstells permanent neue Controls, was zum einen unnötig und zum anderen auch problematisch ist.
    Lösung: Ruf die Generate Funktionen nur einmal bei Programmstart auf und danach nie wieder.

  • Hallo misterspeed,

    also wenn ich das jetzt richtig verstanden habe, soll ich die 4 Funktionen am Anfang des Programmes starten und dann nur jeweils bei den Lagern bzw. beim Schliessfach Hiden und Show?
    Ok wenn dem so ist wie mache ich das dann, setze ich einfach ganz oben wo auch die Globals sind die jeweiligen

    _generateLagerSpalte($aSpalte1,1)
    _generateLagerSpalte($aSpalte2,275)
    _generateLagerSpalte($aSpalte3,545)

    hin und damit ist dann gut?

    Mfg Ghostleader

  • Vielleicht sinnvollerweise nicht ganz oben, sondern erst irgendwo nach deine GUI Erstellung, aber vor der while Schleife. 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.

  • 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?

    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

  • Damit du nichts von der Control Erstellung siehst (flackern...)solltest du eben

    GUISetState(@SW_SHOW)

    ganz ans Ende deiner GUI Erstellung setzen, also nachedem alle Controls erstellt und deren Sichtbarkeit bestimmt wurde erst die GUI sichtbar machen.


    Mit meinem letzten Satz meinte ich wohl das was du bereits in der Region

    #region Generate´s Hide

    machst. Keine Ahnung ob das in der ursprünglichen Script Fassung schon vorhanden war, wenn ja sollte das ja passen.

  • 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

  • Zeile 39 "guisetstate()" muss ebenfalls raus, da machst du die gui erstmalig sichtbar, somit ist das sw_show vor der while Schleife wirkungslos, weil die GUI längst sichtbar ist.
    Was dein ursprünglichen Problem angeht hab ich keine Ahnung, weil ich noch keine Lust hatte dein Script auszuführen und mir das genauer anzusehn.

  • 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

  • Dein Speichersystem ist einfach murks wenn ich das mal so sagen darf.

    Dein ganzes Script ist hoch ineffizient und besteht aus einer einzigen Redundanz. Du brauchst zum einen nicht für jedes Lager eigene inputs, es würde reichen die Inhalte beim Lagerwechsel neu zu setzen. Zum anderen wäre es einfacher wenn du die Spalten nicht trenenn würdest sondern alle Lager controls in einem Array speicherst ggf 2-dimensional. Deine Speicher und Ladefunktionen sind ebenfalls mehrfach vorhanden, was durch das zusammelegen der inputs unnötig wäre und zudem auch ohne die Zusammenlegung in einer einzigen flexiblen Funktion zusammengefasst werden könnte.

    Was schief läuft konnte ich jetzt auf die Schnelle dank deinem Benennungssystem der ini Keys nicht erkennen. Ich schlage daher eines der folgenden ini Schemen vor, was es auch deutlich einfacher macht Fehler zu finden:

    Code
    [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

    oder:

    Beim auslesen werden dann durch stringsplit die Einzelwerte wieder getrennt und können als input inhalt gesetzt werden.


    EDIT: Dir fehlt im ünrigen in deinen Funktionen zum sichtbar unsichtbar machen noch die sichtbarkeit der jeweiligen inputs.

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

    #cs
    Wenn man auf Schliessfach klickt sollten die Schliessfach controls auch sichtbar sein
    #ce

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

    For $i = 1 to UBound($aschliesfach1) -1
    GUICtrlSetState($aschliesfach1[$i], $GUI_SHOW)
    Next
    For $i = 1 to UBound($aschliesfach2) -1
    GUICtrlSetState($aschliesfach2[$i], $GUI_SHOW)
    Next
    For $i = 1 to UBound($aschliesfach3) -1
    GUICtrlSetState($aschliesfach3[$i], $GUI_SHOW)
    Next
    For $i = 1 to UBound($aschliesfach4) -1
    GUICtrlSetState($aschliesfach4[$i], $GUI_SHOW)
    Next

    [/autoit]

    Das selbe dann auch für die lagerbuttons 1-3 mit den jeweils korrekten arrays.

    Einmal editiert, zuletzt von misterspeed (27. Dezember 2011 um 13:14)

  • Hier mal eine Neufassung mit 2D-Arrays und zusammengefasster generate Funktion:

    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 ****
    #cs ------------------------------------
    |
    Author: Ghostleader |
    Script: Version 1.1.0 |
    |
    Script Functionen: |
    - Lagerverwaltungstool = Version_1.1.0 |
    - Bankschließfach = Version_1.1.0 |
    |
    Copyright by Ghostleader @ Areneas |
    #ce ------------------------------------
    #region INCLUDES
    ;------------------------------------------------------------------------------------------
    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #endregion INCLUDES
    #region GLOBAL
    ;------------------------------------------------------------------------------------------
    Global $aSchliesfach1[17], $aSchliesfach2[17], $aSchliesfach3[17], $aSchliesfach4[17]
    Global $aschliesfach[17][4]
    Global $aLager[13][3]
    Global $aSpalte1[13], $aSpalte2[13], $aSpalte3[13]
    Global $bSpalte1[13], $bSpalte2[13], $bSpalte3[13]
    Global $cSpalte1[13], $cSpalte2[13], $cSpalte3[13]
    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))
    GUICtrlSetData($Combo1,_setCombo())
    $Combo3 = GUICtrlCreateCombo("", 120, 16, 170, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($Combo3,_setCombo())
    $Combo4 = GUICtrlCreateCombo("", 120, 16, 170, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($Combo4,_setCombo())
    $Combo2 = GUICtrlCreateCombo("", 120, 16, 170, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData($Combo2,_setCombo())
    #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", 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)
    $LagerInput2 = GUICtrlCreateInput("", 430, 150, 170, 21)
    $LagerInput3 = 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($LagerInput2, $GUI_HIDE)
    GUICtrlSetState($LagerInput3, $GUI_HIDE)
    GUICtrlSetState($Combo1, $GUI_HIDE)
    GUICtrlSetState($Combo2, $GUI_HIDE)
    GUICtrlSetState($Combo3, $GUI_HIDE)
    GUICtrlSetState($Combo4, $GUI_HIDE)
    GUICtrlSetState($LagerLabelGroup, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_HIDE)
    #endregion HIDE
    #region Generat´s

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

    _generateControls($aLager,"Lager")
    _generateControls($aschliesfach,"Schliessfach")

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

    #cs
    Ersetzt durch obige Funktion
    #ce
    ;~ _generateLagerSpalte($aSpalte1,1)
    ;~ _generateLagerSpalte($aSpalte2,275)
    ;~ _generateLagerSpalte($aSpalte3,545)
    ;~ _generateLagerSpalte2($bSpalte1,1)
    ;~ _generateLagerSpalte2($bSpalte2,275)
    ;~ _generateLagerSpalte2($bSpalte3,545)
    ;~ _generateLagerSpalte3($cSpalte1,1)
    ;~ _generateLagerSpalte3($cSpalte2,275)
    ;~ _generateLagerSpalte3($cSpalte3,545)
    ;~ _generateSchliessfachSpalte($aSchliesfach1,40)
    ;~ _generateSchliessfachSpalte($aSchliesfach2,280)
    ;~ _generateSchliessfachSpalte($aSchliesfach3,510)
    ;~ _generateSchliessfachSpalte($aSchliesfach4,740)
    #endregion Generat´s
    #region Generate´s Hide

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

    ; neu: controls werden bereits bei der Erstellung unsichtbar gemacht, siehe _generateControls()

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

    #cs
    For $i = 1 To Ubound($aSchliesfach1)-1
    GUICtrlSetState($aschliesfach1[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach2)-1
    GUICtrlSetState($aschliesfach2[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach3)-1
    GUICtrlSetState($aschliesfach3[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach4)-1
    GUICtrlSetState($aschliesfach4[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte1) - 1
    GUICtrlSetState($aSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte2) - 1
    GUICtrlSetState($aSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte3) - 1
    GUICtrlSetState($aSpalte3[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte1) - 1
    GUICtrlSetState($bSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte2) - 1
    GUICtrlSetState($bSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte3) - 1
    GUICtrlSetState($bSpalte3[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte1) - 1
    GUICtrlSetState($cSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte2) - 1
    GUICtrlSetState($cSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte3) - 1
    GUICtrlSetState($cSpalte3[$i], $GUI_HIDE)
    Next
    #ce
    #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 $Combo1
    _LoadData()
    Case $Combo3
    _LoadData2()
    Case $Combo4
    _LoadData3()
    Case $Combo2
    _LoadDataSchliessfach()
    Case $Lager1Speichern
    _SaveData()
    Case $Lager2Speichern
    _SaveData2()
    Case $Lager3Speichern
    _SaveData3()
    Case $SchliessfachSpeichern
    _SaveDataSchliessfach()
    Case $AccLoschen
    _deleteAccount()
    Case $SchliessfachLoschen
    _deleteSchliessfach()
    EndSwitch
    WEnd
    ;_--------------------------------------------------------------------------------------------
    Func _ButtonSchliessfach()

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

    #cs wird nicht mehr benötogt

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

    For $i = 1 TO UBound($aSpalte1) - 1
    GUICtrlSetState($aSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte2) - 1
    GUICtrlSetState($aSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte3) - 1
    GUICtrlSetState($aSpalte3[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte1) - 1
    GUICtrlSetState($bSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte2) - 1
    GUICtrlSetState($bSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte3) - 1
    GUICtrlSetState($bSpalte3[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte1) - 1
    GUICtrlSetState($cSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte2) - 1
    GUICtrlSetState($cSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte3) - 1
    GUICtrlSetState($cSpalte3[$i], $GUI_HIDE)
    Next
    #ce

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

    ; neu: alle Lager inputs unsichtbar machen

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

    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_HIDE)
    Next
    Next

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

    #cs
    Wenn man auf Schliessfach klickt sollten die Schliessfach controls auch sichtbar sein
    #ce

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

    #cs nicht mehr benätogt

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

    For $i = 1 to UBound($aschliesfach1) -1
    GUICtrlSetState($aschliesfach1[$i], $GUI_SHOW)
    Next
    For $i = 1 to UBound($aschliesfach2) -1
    GUICtrlSetState($aschliesfach2[$i], $GUI_SHOW)
    Next
    For $i = 1 to UBound($aschliesfach3) -1
    GUICtrlSetState($aschliesfach3[$i], $GUI_SHOW)
    Next
    For $i = 1 to UBound($aschliesfach4) -1
    GUICtrlSetState($aschliesfach4[$i], $GUI_SHOW)
    Next
    #ce

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

    ; neu: alle Schliessfach inputs sichtbar machen

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

    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_SHOW)
    Next
    Next

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

    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($LagerInput1, $GUI_HIDE)
    GUICtrlSetState($LagerInput2, $GUI_HIDE)
    GUICtrlSetState($LagerInput3, $GUI_HIDE)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Combo1, $GUI_HIDE)
    GUICtrlSetState($Combo3, $GUI_HIDE)
    GUICtrlSetState($Combo4, $GUI_HIDE)
    GUICtrlSetState($Combo2, $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()

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

    #cs nioht mehr benötigt
    For $i = 1 To Ubound($aSchliesfach1)-1
    GUICtrlSetState($aschliesfach1[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach2)-1
    GUICtrlSetState($aschliesfach2[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach3)-1
    GUICtrlSetState($aschliesfach3[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach4)-1
    GUICtrlSetState($aschliesfach4[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte1) - 1
    GUICtrlSetState($bSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte2) - 1
    GUICtrlSetState($bSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte3) - 1
    GUICtrlSetState($bSpalte3[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte1) - 1
    GUICtrlSetState($cSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte2) - 1
    GUICtrlSetState($cSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte3) - 1
    GUICtrlSetState($cSpalte3[$i], $GUI_HIDE)
    Next
    #ce

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

    ; neu: alle Schliessfach inputs unsichtbar machen

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

    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next

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

    ; neu: alle Lager inputs sichtbar machen

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

    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_SHOW)
    Next
    Next

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

    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($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($LagerInput1, $GUI_SHOW)
    GUICtrlSetState($LagerInput2, $GUI_HIDE)
    GUICtrlSetState($LagerInput3, $GUI_HIDE)
    GUICtrlSetState($Combo1, $GUI_SHOW)
    GUICtrlSetState($Combo2, $GUI_HIDE)
    GUICtrlSetState($Combo3, $GUI_HIDE)
    GUICtrlSetState($Combo4, $GUI_HIDE)
    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()

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

    #cs
    For $i = 1 To Ubound($aSchliesfach1)-1
    GUICtrlSetState($aschliesfach1[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach2)-1
    GUICtrlSetState($aschliesfach2[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach3)-1
    GUICtrlSetState($aschliesfach3[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach4)-1
    GUICtrlSetState($aschliesfach4[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte1) - 1
    GUICtrlSetState($aSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte2) - 1
    GUICtrlSetState($aSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte3) - 1
    GUICtrlSetState($aSpalte3[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte1) - 1
    GUICtrlSetState($cSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte2) - 1
    GUICtrlSetState($cSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($cSpalte3) - 1
    GUICtrlSetState($cSpalte3[$i], $GUI_HIDE)
    Next

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

    #cs
    Wenn man auf Lager2 klickt sollten die Lager2 controls auch sichtbar sein
    #ce

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

    For $i = 1 to UBound($bSpalte1) -1
    GUICtrlSetState($bSpalte1[$i], $GUI_SHOW)
    Next
    For $i = 1 to UBound($bSpalte2) -1
    GUICtrlSetState($bSpalte2[$i], $GUI_SHOW)
    Next
    For $i = 1 to UBound($bSpalte3) -1
    GUICtrlSetState($bSpalte3[$i], $GUI_SHOW)
    Next
    #ce

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

    ; neu: alle Schliessfach inputs unsichtbar machen

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

    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next

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

    ; neu: alle Lager inputs sichtbar machen

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

    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_SHOW)
    Next
    Next

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

    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_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_SHOW)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($LagerInput1, $GUI_HIDE)
    GUICtrlSetState($LagerInput2, $GUI_SHOW)
    GUICtrlSetState($LagerInput3, $GUI_HIDE)
    GUICtrlSetState($Combo1, $GUI_HIDE)
    GUICtrlSetState($Combo2, $GUI_HIDE)
    GUICtrlSetState($Combo3, $GUI_SHOW)
    GUICtrlSetState($Combo4, $GUI_HIDE)
    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()
    #cs
    For $i = 1 To Ubound($aSchliesfach1)-1
    GUICtrlSetState($aschliesfach1[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach2)-1
    GUICtrlSetState($aschliesfach2[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach3)-1
    GUICtrlSetState($aschliesfach3[$i], $GUI_HIDE)
    Next
    For $i = 1 To Ubound($aSchliesfach4)-1
    GUICtrlSetState($aschliesfach4[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte1) - 1
    GUICtrlSetState($aSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte2) - 1
    GUICtrlSetState($aSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($aSpalte3) - 1
    GUICtrlSetState($aSpalte3[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte1) - 1
    GUICtrlSetState($bSpalte1[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte2) - 1
    GUICtrlSetState($bSpalte2[$i], $GUI_HIDE)
    Next
    For $i = 1 TO UBound($bSpalte3) - 1
    GUICtrlSetState($bSpalte3[$i], $GUI_HIDE)
    Next

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

    #cs
    Wenn man auf Lager3 klickt sollten die Lager3 controls auch sichtbar sein
    #ce

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

    For $i = 1 to UBound($cSpalte1) -1
    GUICtrlSetState($cSpalte1[$i], $GUI_SHOW)
    Next
    For $i = 1 to UBound($cSpalte2) -1
    GUICtrlSetState($cSpalte2[$i], $GUI_SHOW)
    Next
    For $i = 1 to UBound($cSpalte3) -1
    GUICtrlSetState($cSpalte3[$i], $GUI_SHOW)
    Next
    #ce

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

    ; neu: alle Schliessfach inputs unsichtbar machen

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

    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next

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

    ; neu: alle Lager inputs sichtbar machen

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

    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_SHOW)
    Next
    Next

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

    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_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_SHOW)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($LagerInput1, $GUI_HIDE)
    GUICtrlSetState($LagerInput2, $GUI_HIDE)
    GUICtrlSetState($LagerInput3, $GUI_SHOW)
    GUICtrlSetState($Combo1, $GUI_HIDE)
    GUICtrlSetState($Combo2, $GUI_HIDE)
    GUICtrlSetState($Combo3, $GUI_HIDE)
    GUICtrlSetState($Combo4, $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
    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

    [/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
    $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

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

    EndFunc

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

    #cs Veraltete Funktionen:

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

    Func _generateLagerSpalte(ByRef $ArrayToUse,$left)
    $Abstand = 2
    For $i = 1 To UBound($ArrayToUse)-1
    GUICtrlCreateLabel(' ' ,$left,216+$Abstand,5)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ArrayToUse[$i] = GUICtrlCreateInput("",85+$left,216+$Abstand,160)
    $Abstand +=21
    Next
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _generateLagerSpalte2(ByRef $ArrayToUse,$left)
    $Abstand = 2
    For $i = 1 To UBound($ArrayToUse)-1
    GUICtrlCreateLabel(' ' ,$left,216+$Abstand,5)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ArrayToUse[$i] = GUICtrlCreateInput("",85+$left,216+$Abstand,160)
    $Abstand +=21
    Next
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _generateLagerSpalte3(ByRef $ArrayToUse,$left)
    $Abstand = 2
    For $i = 1 To UBound($ArrayToUse)-1
    GUICtrlCreateLabel(' ' ,$left,216+$Abstand,5)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ArrayToUse[$i] = GUICtrlCreateInput("",85+$left,216+$Abstand,160)
    $Abstand +=21
    Next
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _generateSchliessfachSpalte(ByRef $ArrayToUse,$left)
    $Abstand = 2
    For $i = 1 To UBound($ArrayToUse)-1
    $Fach = GUICtrlCreateLabel(' ' ,$left,216+$Abstand,5)
    GUICtrlSetFont(-1, 10, 600)
    GUICtrlSetColor(-1, 000000)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    $ArrayToUse[$i] = GUICtrlCreateInput("",5+$left,130+$Abstand,160)
    $Abstand +=21
    Next
    EndFunc

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

    #ce
    ;------------------------------------------------------------------------------------------
    #region Load Lagerverwaltung
    Func _LoadData() ;Lager Spalten
    GUICtrlSetData($LagerInput1,IniRead($DataINI,GUICtrlRead($Combo1),1001,''))
    For $i = 1 To UBound($aSpalte1)-1
    GUICtrlSetData($aSpalte1[$i],IniRead($DataINI,GUICtrlRead($Combo1),1&$i,''))
    GUICtrlSetData($aSpalte2[$i],IniRead($DataINI,GUICtrlRead($Combo1),2&$i,''))
    GUICtrlSetData($aSpalte3[$i],IniRead($DataINI,GUICtrlRead($Combo1),3&$i,''))
    Next
    EndFunc
    Func _LoadData2() ;Lager Spalten
    GUICtrlSetData($LagerInput2,IniRead($DataINI,GUICtrlRead($Combo1),1002,''))
    For $i = 1 To UBound($bSpalte1)-1
    GUICtrlSetData($bSpalte1[$i],IniRead($DataINI,GUICtrlRead($Combo1),4&$i,''))
    GUICtrlSetData($bSpalte2[$i],IniRead($DataINI,GUICtrlRead($Combo1),5&$i,''))
    GUICtrlSetData($bSpalte3[$i],IniRead($DataINI,GUICtrlRead($Combo1),6&$i,''))
    Next
    EndFunc
    Func _LoadData3() ;Lager Spalten
    GUICtrlSetData($LagerInput3,IniRead($DataINI,GUICtrlRead($Combo1),1003,''))
    For $i = 1 To UBound($cSpalte1)-1
    GUICtrlSetData($cSpalte1[$i],IniRead($DataINI,GUICtrlRead($Combo1),7&$i,''))
    GUICtrlSetData($cSpalte2[$i],IniRead($DataINI,GUICtrlRead($Combo1),8&$i,''))
    GUICtrlSetData($cSpalte3[$i],IniRead($DataINI,GUICtrlRead($Combo1),9&$i,''))
    Next
    EndFunc
    #endregion Load Lagerverwaltung
    ;-------------------------------------------------------------------------------------------
    #region Save Lagerverwaltung
    Func _SaveData() ;Lager Spalten
    IniWrite($DataINI,GUICtrlRead($Combo1),1001,GUICtrlRead($LagerInput1))
    For $i = 1 To UBound($aSpalte1)-1
    IniWrite($DataINI,GUICtrlRead($Combo1),1&$i,GUICtrlRead($aSpalte1[$i]))
    IniWrite($DataINI,GUICtrlRead($Combo1),2&$i,GUICtrlRead($aSpalte2[$i]))
    IniWrite($DataINI,GUICtrlRead($Combo1),3&$i,GUICtrlRead($aSpalte3[$i]))
    Next
    _clearGUI()
    EndFunc
    Func _SaveData2() ;Lager Spalten
    IniWrite($DataINI,GUICtrlRead($Combo1),1002,GUICtrlRead($LagerInput2))
    For $i = 1 To UBound($bSpalte1)-1
    IniWrite($DataINI,GUICtrlRead($Combo1),4&$i,GUICtrlRead($bSpalte1[$i]))
    IniWrite($DataINI,GUICtrlRead($Combo1),5&$i,GUICtrlRead($bSpalte2[$i]))
    IniWrite($DataINI,GUICtrlRead($Combo1),6&$i,GUICtrlRead($bSpalte3[$i]))
    Next
    _clearGUI()
    EndFunc
    Func _SaveData3() ;Lager Spalten
    IniWrite($DataINI,GUICtrlRead($Combo1),1003,GUICtrlRead($LagerInput3))
    For $i = 1 To UBound($cSpalte1)-1
    IniWrite($DataINI,GUICtrlRead($Combo1),7&$i,GUICtrlRead($cSpalte1[$i]))
    IniWrite($DataINI,GUICtrlRead($Combo1),8&$i,GUICtrlRead($cSpalte2[$i]))
    IniWrite($DataINI,GUICtrlRead($Combo1),9&$i,GUICtrlRead($cSpalte3[$i]))
    Next
    _clearGUI()
    EndFunc
    #endregion Save Lagerverwaltung
    ;-------------------------------------------------------------------------------------------
    Func _LoadDataSchliessfach()
    For $i = 1 To UBound($aSchliesfach1)-1
    GUICtrlSetData($aSchliesfach1[$i],IniRead($DataINI,GUICtrlRead($Combo2),2000&$i,''))
    GUICtrlSetData($aSchliesfach2[$i],IniRead($DataINI,GUICtrlRead($Combo2),3000&$i,''))
    GUICtrlSetData($aSchliesfach3[$i],IniRead($DataINI,GUICtrlRead($Combo2),4000&$i,''))
    GUICtrlSetData($aSchliesfach4[$i],IniRead($DataINI,GUICtrlRead($Combo2),5000&$i,''))
    Next
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _SaveDataSchliessfach()
    For $i = 1 To UBound($aSchliesfach1)-1
    IniWrite($DataINI,GUICtrlRead($Combo2),2000&$i,GUICtrlRead($aSchliesfach1[$i]))
    IniWrite($DataINI,GUICtrlRead($Combo2),3000&$i,GUICtrlRead($aSchliesfach2[$i]))
    IniWrite($DataINI,GUICtrlRead($Combo2),4000&$i,GUICtrlRead($aSchliesfach3[$i]))
    IniWrite($DataINI,GUICtrlRead($Combo2),5000&$i,GUICtrlRead($aSchliesfach4[$i]))
    Next
    _clearGUI()
    EndFunc
    ;-------------------------------------------------------------------------------------------
    Func _deleteAccount()
    IniDelete("data.ini", GUICtrlRead($Combo1))
    _clearGUI()
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _deleteSchliessfach()
    $sBesitzer = GUICtrlRead($Combo2)
    $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($LagerInput2,'')
    GUICtrlSetData($LagerInput3,'')
    GUICtrlSetData($Combo1,'')
    GUICtrlSetData($Combo3,'')
    GUICtrlSetData($Combo4,'')
    GUICtrlSetData($Combo2,'')
    For $i = 1 To UBound($aSpalte1)-1
    GUICtrlSetData($aSpalte1[$i],'')
    GUICtrlSetData($aSpalte2[$i],'')
    GUICtrlSetData($aSpalte3[$i],'')
    Next
    For $i = 1 To UBound($bSpalte1)-1
    GUICtrlSetData($bSpalte1[$i],'')
    GUICtrlSetData($bSpalte2[$i],'')
    GUICtrlSetData($bSpalte3[$i],'')
    Next
    For $i = 1 To UBound($cSpalte1)-1
    GUICtrlSetData($cSpalte1[$i],'')
    GUICtrlSetData($cSpalte2[$i],'')
    GUICtrlSetData($cSpalte3[$i],'')
    Next
    For $i = 1 To UBound($aSchliesfach1)-1
    GUICtrlSetData($aSchliesfach1[$i],'')
    GUICtrlSetData($aSchliesfach2[$i],'')
    GUICtrlSetData($aSchliesfach3[$i],'')
    GUICtrlSetData($aSchliesfach4[$i],'')
    Next
    GUICtrlSetData($Combo1,_setCombo())
    GUICtrlSetData($Combo3,_setCombo())
    GUICtrlSetData($Combo4,_setCombo())
    GUICtrlSetData($Combo2,_setCombo())
    EndFunc
    ;-------------------------------------------------------------------------------------------
    Func _setCombo()
    Local $Sections = IniReadSectionNames($DataINI)
    Local $SectionString = _ArrayToString($Sections,'|',1,UBound($Sections)-1)
    Return($SectionString)
    EndFunc
    ;-------------------------------------------------------------------------------------------

    [/autoit]

    Angepasst werden müssen jetzt natürlich noch die Funktionen zum Speichern, wobei es da entscheidend ist wie die Daten letzten Endes gespeichert werden sollen, siehe vorheriges Posting.
    Ausserdem gibt es nun keine seperaten inputs für die einzelnen Lager mehr, somit müssen die Button Funktionen noch ergänzt werden damit die Inhalte der Controls resetet (cleargui anpassen) und passend neu gesetzt werden, auch das geht nur wenn wir uns auf ein Speichersystem festgelegt haben.

  • 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!

  • 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?


    Ja, zumindestens das Combo für den Benutzernamen habe ich in meiner derzeit noch unfertigen Fassung bereits auf eines reduziert, 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.

    Zitat


    Mir würde es sicher leichter fallen wenn ich es sehen könnte anhand eines Beispiels hier!

    Beispiele zum Umgang mit 2-Dimensionalen Arrays findest du hier genügend. Zum besseren Verständnis wie die Arrays aufgebaut sind hilft sicher auch ein _arrayDisplay und ein consolewrite innerhalb der Schleifen. Das ist nun aber an dir dich näher damit zu beschäftigen und dir ggf. Dinge zur Visualisierung einzubauen um das ganze zu verstehen.

    Zitat


    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 ...

    Bin ich dabei, allerdings mussten einige dinge deiner redundanten GUI dafür noch geändert werden (z.B. das oben erwähnte combo), was etwas Zeit kostet...

  • 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!

    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

  • Hier mal etwas lauffähiges, kannst ja schaun ob du damit zurecht kommst und die fehlenden dinge (laden bei userwechsel, bug bei neuem user) selbt hinbekommst.

    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 ****
    #cs ------------------------------------
    |
    Author: Ghostleader |
    Script: Version 1.1.0 |
    |
    Script Functionen: |
    - Lagerverwaltungstool = Version_1.1.0 |
    - Bankschließfach = Version_1.1.0 |
    |
    Copyright by Ghostleader @ Areneas |
    #ce ------------------------------------
    #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
    $ComboUser = GUICtrlCreateCombo("", 120, 16, 170, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) ; ein combo reicht völlig
    GUICtrlSetData($ComboUser,_setCombo())
    ;~ $Combo3 = GUICtrlCreateCombo("", 120, 16, 170, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    ;~ GUICtrlSetData($Combo3,_setCombo())
    ;~ $Combo4 = GUICtrlCreateCombo("", 120, 16, 170, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    ;~ GUICtrlSetData($Combo4,_setCombo())
    ;~ $Combo2 = GUICtrlCreateCombo("", 120, 16, 170, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    ;~ GUICtrlSetData($Combo2,_setCombo())
    #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", 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)
    $LagerInput2 = GUICtrlCreateInput("", 430, 150, 170, 21)
    $LagerInput3 = 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($LagerInput2, $GUI_HIDE)
    GUICtrlSetState($LagerInput3, $GUI_HIDE)
    GUICtrlSetState($ComboUser, $GUI_HIDE)
    ;GUICtrlSetState($Combo2, $GUI_HIDE) ; entfernt
    ;GUICtrlSetState($Combo3, $GUI_HIDE) ; entfernt
    ;GUICtrlSetState($Combo4, $GUI_HIDE) ; entfernt
    GUICtrlSetState($LagerLabelGroup, $GUI_HIDE)
    GUICtrlSetState($LagerGroup, $GUI_HIDE)
    #endregion HIDE
    #region Generat´s
    _generateControls($aLager,"Lager")
    _generateControls($aschliesfach,"Schliessfach")
    #endregion Generat´s

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

    ;---------------------------------------------------------------------------------------------

    [/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 $ComboUser ; umbenannt
    ;_LoadData()
    ; Case $Combo3
    ;_LoadData2()
    ; Case $Combo4
    ;_LoadData3()
    ; Case $Combo2
    ;_LoadDataSchliessfach()
    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()
    ; neu: alle Lager inputs unsichtbar machen

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

    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_HIDE)
    Next
    Next

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

    ; neu: alle Schliessfach inputs sichtbar machen

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

    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_SHOW)
    Next
    Next

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

    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($LagerInput1, $GUI_HIDE)
    GUICtrlSetState($LagerInput2, $GUI_HIDE)
    GUICtrlSetState($LagerInput3, $GUI_HIDE)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($ComboUser, $GUI_SHOW)
    ;GUICtrlSetState($Combo3, $GUI_HIDE)
    ;GUICtrlSetState($Combo4, $GUI_HIDE)
    ;GUICtrlSetState($Combo2, $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)

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

    _clearGUI(); felder leeren beim wechsel
    _LoadData($aschliesfach,"Schliessfach",0)
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _ButtonLager1()

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

    ; neu: alle Schliessfach inputs unsichtbar machen

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

    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next

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

    ; neu: alle Lager inputs sichtbar machen

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

    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_SHOW)
    Next
    Next

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

    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($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($LagerInput1, $GUI_SHOW)
    GUICtrlSetState($LagerInput2, $GUI_HIDE)
    GUICtrlSetState($LagerInput3, $GUI_HIDE)
    GUICtrlSetState($ComboUser, $GUI_SHOW)
    ;GUICtrlSetState($Combo2, $GUI_HIDE)
    ;GUICtrlSetState($Combo3, $GUI_HIDE)
    ;GUICtrlSetState($Combo4, $GUI_HIDE)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_HIDE)
    GUICtrlSetState($Lager2, $GUI_SHOW)
    GUICtrlSetState($Lager3, $GUI_SHOW)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)

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

    _clearGUI(); felder leeren beim wechsel
    _LoadData($aLager,"Lager",1)
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _ButtonLager2()

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

    ; neu: alle Schliessfach inputs unsichtbar machen

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

    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next

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

    ; neu: alle Lager inputs sichtbar machen

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

    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_SHOW)
    Next
    Next

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

    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_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_SHOW)
    GUICtrlSetState($Lager3Speichern, $GUI_HIDE)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($LagerInput1, $GUI_HIDE)
    GUICtrlSetState($LagerInput2, $GUI_SHOW)
    GUICtrlSetState($LagerInput3, $GUI_HIDE)
    GUICtrlSetState($ComboUser, $GUI_SHOW)
    ;GUICtrlSetState($Combo2, $GUI_HIDE)
    ;GUICtrlSetState($Combo3, $GUI_SHOW)
    ;GUICtrlSetState($Combo4, $GUI_HIDE)
    GUICtrlSetState($Label4, $GUI_SHOW)
    GUICtrlSetState($Lager1, $GUI_SHOW)
    GUICtrlSetState($Lager2, $GUI_HIDE)
    GUICtrlSetState($Lager3, $GUI_SHOW)
    GUICtrlSetState($LagerGroup, $GUI_SHOW)
    GUICtrlSetState($LagerLabelGroup, $GUI_SHOW)

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

    _clearGUI(); felder leeren beim wechsel
    _LoadData($aLager,"Lager",2)
    EndFunc
    ;-------------------------------------------------------------------------------------------------
    Func _ButtonLager3()

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

    ; neu: alle Schliessfach inputs unsichtbar machen

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

    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetState($aschliesfach[$i][$s],$GUI_HIDE)
    Next
    Next

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

    ; neu: alle Lager inputs sichtbar machen

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

    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetState($aLager[$i][$s],$GUI_SHOW)
    Next
    Next

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

    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_HIDE)
    GUICtrlSetState($Lager2Speichern, $GUI_HIDE)
    GUICtrlSetState($Lager3Speichern, $GUI_SHOW)
    GUICtrlSetState($SchliessfachOben, $GUI_SHOW)
    GUICtrlSetState($AccLoschen, $GUI_SHOW)
    GUICtrlSetState($LagerLabel1, $GUI_SHOW)
    GUICtrlSetState($LagerInput1, $GUI_HIDE)
    GUICtrlSetState($LagerInput2, $GUI_HIDE)
    GUICtrlSetState($LagerInput3, $GUI_SHOW)
    GUICtrlSetState($ComboUser, $GUI_SHOW)
    ;GUICtrlSetState($Combo2, $GUI_HIDE)
    ;GUICtrlSetState($Combo3, $GUI_HIDE)
    ;GUICtrlSetState($Combo4, $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)

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

    _clearGUI(); felder leeren beim wechsel
    _LoadData($aLager,"Lager",3)
    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
    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

    [/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
    $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

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

    EndFunc

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

    ;------------------------------------------------------------------------------------------
    #region Load Lagerverwaltung

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

    Func _LoadData(ByRef $ArrayToUse,$mode,$lagernummer) ;Lager Spalten
    ;if $mode="Lager" Then
    if $mode="Lager" Then $key=$mode & $lagernummer
    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
    ;_ArrayDisplay($aTemp)
    ;_ArrayDisplay($ArrayToUse)
    if UBound($aTemp)-1+UBound($ArrayToUse,2) <> UBound($ArrayToUse)*UBound($ArrayToUse,2) 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
    ;EndIf

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

    ;~
    ;~ GUICtrlSetData($LagerInput1,IniRead($DataINI,GUICtrlRead($Combo1),1001,''))
    ;~ For $i = 1 To UBound($aSpalte1)-1
    ;~ GUICtrlSetData($aSpalte1[$i],IniRead($DataINI,GUICtrlRead($Combo1),1&$i,''))
    ;~ GUICtrlSetData($aSpalte2[$i],IniRead($DataINI,GUICtrlRead($Combo1),2&$i,''))
    ;~ GUICtrlSetData($aSpalte3[$i],IniRead($DataINI,GUICtrlRead($Combo1),3&$i,''))
    ;~ Next
    EndFunc
    #cs
    Func _LoadData2() ;Lager Spalten
    GUICtrlSetData($LagerInput2,IniRead($DataINI,GUICtrlRead($Combo1),1002,''))
    For $i = 1 To UBound($bSpalte1)-1
    GUICtrlSetData($bSpalte1[$i],IniRead($DataINI,GUICtrlRead($Combo1),4&$i,''))
    GUICtrlSetData($bSpalte2[$i],IniRead($DataINI,GUICtrlRead($Combo1),5&$i,''))
    GUICtrlSetData($bSpalte3[$i],IniRead($DataINI,GUICtrlRead($Combo1),6&$i,''))
    Next
    EndFunc
    Func _LoadData3() ;Lager Spalten
    GUICtrlSetData($LagerInput3,IniRead($DataINI,GUICtrlRead($Combo1),1003,''))
    For $i = 1 To UBound($cSpalte1)-1
    GUICtrlSetData($cSpalte1[$i],IniRead($DataINI,GUICtrlRead($Combo1),7&$i,''))
    GUICtrlSetData($cSpalte2[$i],IniRead($DataINI,GUICtrlRead($Combo1),8&$i,''))
    GUICtrlSetData($cSpalte3[$i],IniRead($DataINI,GUICtrlRead($Combo1),9&$i,''))
    Next
    EndFunc
    #ce
    #endregion Load Lagerverwaltung
    ;-------------------------------------------------------------------------------------------
    #region Save Lagerverwaltung
    Func _SaveData(ByRef $ArrayToUse,$mode,$lagernummer)
    if $mode = "Lager" Then $key=$mode & $lagernummer
    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)

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

    ;~ IniWrite($DataINI,GUICtrlRead($Combo1),1001,GUICtrlRead($LagerInput1))
    ;~ For $i = 1 To UBound($aSpalte1)-1
    ;~ IniWrite($DataINI,GUICtrlRead($Combo1),1&$i,GUICtrlRead($aSpalte1[$i]))
    ;~ IniWrite($DataINI,GUICtrlRead($Combo1),2&$i,GUICtrlRead($aSpalte2[$i]))
    ;~ IniWrite($DataINI,GUICtrlRead($Combo1),3&$i,GUICtrlRead($aSpalte3[$i]))
    ;~ Next
    ;~ _clearGUI()
    EndFunc
    ;~ Func _SaveData2() ;Lager Spalten
    ;~ IniWrite($DataINI,GUICtrlRead($Combo1),1002,GUICtrlRead($LagerInput2))
    ;~ For $i = 1 To UBound($bSpalte1)-1
    ;~ IniWrite($DataINI,GUICtrlRead($Combo1),4&$i,GUICtrlRead($bSpalte1[$i]))
    ;~ IniWrite($DataINI,GUICtrlRead($Combo1),5&$i,GUICtrlRead($bSpalte2[$i]))
    ;~ IniWrite($DataINI,GUICtrlRead($Combo1),6&$i,GUICtrlRead($bSpalte3[$i]))
    ;~ Next
    ;~ _clearGUI()
    ;~ EndFunc
    ;~ Func _SaveData3() ;Lager Spalten
    ;~ IniWrite($DataINI,GUICtrlRead($Combo1),1003,GUICtrlRead($LagerInput3))
    ;~ For $i = 1 To UBound($cSpalte1)-1
    ;~ IniWrite($DataINI,GUICtrlRead($Combo1),7&$i,GUICtrlRead($cSpalte1[$i]))
    ;~ IniWrite($DataINI,GUICtrlRead($Combo1),8&$i,GUICtrlRead($cSpalte2[$i]))
    ;~ IniWrite($DataINI,GUICtrlRead($Combo1),9&$i,GUICtrlRead($cSpalte3[$i]))
    ;~ Next
    ;~ _clearGUI()
    ;~ EndFunc
    #endregion Save Lagerverwaltung
    ;-------------------------------------------------------------------------------------------
    Func _LoadDataSchliessfach()
    ;~ For $i = 1 To UBound($aSchliesfach1)-1
    ;~ GUICtrlSetData($aSchliesfach1[$i],IniRead($DataINI,GUICtrlRead($Combo2),2000&$i,''))
    ;~ GUICtrlSetData($aSchliesfach2[$i],IniRead($DataINI,GUICtrlRead($Combo2),3000&$i,''))
    ;~ GUICtrlSetData($aSchliesfach3[$i],IniRead($DataINI,GUICtrlRead($Combo2),4000&$i,''))
    ;~ GUICtrlSetData($aSchliesfach4[$i],IniRead($DataINI,GUICtrlRead($Combo2),5000&$i,''))
    ;~ Next
    EndFunc
    ;------------------------------------------------------------------------------------------
    Func _SaveDataSchliessfach()
    ;~ For $i = 1 To UBound($aSchliesfach1)-1
    ;~ IniWrite($DataINI,GUICtrlRead($Combo2),2000&$i,GUICtrlRead($aSchliesfach1[$i]))
    ;~ IniWrite($DataINI,GUICtrlRead($Combo2),3000&$i,GUICtrlRead($aSchliesfach2[$i]))
    ;~ IniWrite($DataINI,GUICtrlRead($Combo2),4000&$i,GUICtrlRead($aSchliesfach3[$i]))
    ;~ IniWrite($DataINI,GUICtrlRead($Combo2),5000&$i,GUICtrlRead($aSchliesfach4[$i]))
    ;~ Next
    ;~ _clearGUI()
    EndFunc
    ;-------------------------------------------------------------------------------------------
    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], "\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($LagerInput2,'')
    GUICtrlSetData($LagerInput3,'')
    ;GUICtrlSetData($ComboUser,'')

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

    ; neu: alle Schliessfach inputs leer machen

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

    For $s=0 to UBound($aschliesfach,2)-1
    For $i=1 To UBound($aschliesfach)-1
    GUICtrlSetData($aschliesfach[$i][$s],"")
    Next
    Next

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

    ; neu: alle Lager inputs leer machen

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

    For $s=0 to UBound($aLager,2)-1
    For $i=1 To UBound($aLager)-1
    GUICtrlSetData($aLager[$i][$s],"")
    Next
    Next

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

    ;GUICtrlSetData($Combo3,'')
    ;GUICtrlSetData($Combo4,'')
    ;GUICtrlSetData($Combo2,'')
    ;~ For $i = 1 To UBound($aSpalte1)-1
    ;~ GUICtrlSetData($aSpalte1[$i],'')
    ;~ GUICtrlSetData($aSpalte2[$i],'')
    ;~ GUICtrlSetData($aSpalte3[$i],'')
    ;~ Next
    ;~ For $i = 1 To UBound($bSpalte1)-1
    ;~ GUICtrlSetData($bSpalte1[$i],'')
    ;~ GUICtrlSetData($bSpalte2[$i],'')
    ;~ GUICtrlSetData($bSpalte3[$i],'')
    ;~ Next
    ;~ For $i = 1 To UBound($cSpalte1)-1
    ;~ GUICtrlSetData($cSpalte1[$i],'')
    ;~ GUICtrlSetData($cSpalte2[$i],'')
    ;~ GUICtrlSetData($cSpalte3[$i],'')
    ;~ Next
    ;~ For $i = 1 To UBound($aSchliesfach1)-1
    ;~ GUICtrlSetData($aSchliesfach1[$i],'')
    ;~ GUICtrlSetData($aSchliesfach2[$i],'')
    ;~ GUICtrlSetData($aSchliesfach3[$i],'')
    ;~ GUICtrlSetData($aSchliesfach4[$i],'')
    ;~ Next
    GUICtrlSetData($ComboUser,_setCombo())
    ;GUICtrlSetData($Combo3,_setCombo())
    ;GUICtrlSetData($Combo4,_setCombo())
    ;GUICtrlSetData($Combo2,_setCombo())
    EndFunc
    ;-------------------------------------------------------------------------------------------
    Func _setCombo()
    Local $Sections = IniReadSectionNames($DataINI)
    Local $SectionString = _ArrayToString($Sections,'|',1,UBound($Sections)-1)
    Return($SectionString)
    EndFunc
    ;-------------------------------------------------------------------------------------------

    [/autoit]

    data.ini zum testen

    Code
    [testuser]
    Lager1=lager1spalte1value1|||||||||||||||||||||||||||||||||||
    Lager2=|||||||||||||lager2spalte2value2||||||||||||||||||||||
    Lager3=||||||||||||||||||||||||||lager3spalte3value3|||||||||
    Schliessfach=sfach1|||||||||||||||||sfach2|||||||||||||||||sfach3|||||||||||||||||sfach4||||||||||||

    Einmal editiert, zuletzt von misterspeed (27. Dezember 2011 um 17:15)

  • 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