IniRead in ComboBox

  • hallo habe mal ne frage wenn ich jetz z.b. folgendes hier habe

    [autoit]

    $Name = GUICtrlCreateInput("Name", 160, 88, 121, 21)

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

    $Button1 = GUICtrlCreateButton("Hinzufügen", 304, 88, 73, 21, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "_neuerName")
    Func _neuerName()
    Global $sections
    $sIni = @DesktopDir & "\users.ini"
    $UserRead = GUICtrlRead($Name)
    IniWriteSection($sIni, $UserRead, "")
    $sections = IniReadSectionNames($sIni)
    EndFunc

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

    $Combo1 = GUICtrlCreateCombo("Bitte wählen...", 160, 176, 121, 25)

    [/autoit]


    wie kann ich nun die eingebenen user sections in meine combo einfügen lassen?? sprich wenn ich in den input nun Bernd eingebe und ich das skript neustarte auch Bernd als Auswahl in der Combo zur Verfügung steht?

  • Soll immer der zuletzt angelegte User beim Neustart wieder geladen werden?
    Dann würde ich einfach eine Extra Sections anlegen:

    Code
    [SaveLastUser]
    User=Bernd

    Beim Beenden mit Iniwrite den entsprechenden Wert abspeichern und beim Neustart mit Iniread den Wert wieder auslesen

  • also das mit den usern war jetz nur ein beispiel um es verständlicher zu machen...
    also es soll nichts geladen werden, nur dass wenn ich in den input etwas eingebe und hinzufügen klicke dieser input in der combo aufgenommen wird, und es wäre halt ganz praktisch dass der input immer als Sectionname abgespeichert wird, da ich sonst mein script komplett anders gestalten muss

  • Ahh jetzt hab ichs.

    Spoiler anzeigen
    [autoit]


    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    global $sIni = @ScriptDir & "\users.ini"
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 633, 447, 193, 125)
    $Combo1 = GUICtrlCreateCombo("Combo1", 216, 32, 145, 25)
    $Button1 = GUICtrlCreateButton("Hinzufügen", 304, 88, 73, 21, $WS_GROUP)
    $Name = GUICtrlCreateInput("Name", 160, 88, 121, 21)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    _Load()
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $Button1
    _neuerName()
    EndSwitch
    WEnd

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

    Func _neuerName()
    $UserRead = GUICtrlRead($Name)
    IniWriteSection($sIni, $UserRead, "")
    _Load()
    EndFunc

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

    Func _Load()
    local $sections = IniReadSectionNames($sIni)
    for $i = 1 to $sections[0]
    GUICtrlSetData($Combo1, $sections[$i])
    next
    endfunc

    [/autoit]
  • funktioniert nicht wirklich da kommt immmer Subscript used with non-Array variable.:


    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    ;opt("guioneventmode",1)
    ;Opt('MustDeclareVars', 1)

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

    $Form1 = GUICreate("Form1", 485, 316, 192, 133)
    guisetonevent($GUI_EVENT_CLOSE,"_exit")
    global $sIni = @ScriptDir & "\users.ini"

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

    $Label1 = GUICtrlCreateLabel("Bitte gebe einen neues User ein oder wähle einen bestehenden", 32, 32, 375, 17)
    $Label2 = GUICtrlCreateLabel("Neuen User erstellen:", 32, 88, 107, 17)
    $Name = GUICtrlCreateInput("Name", 160, 88, 121, 21)
    $Button1 = GUICtrlCreateButton("Hinzufügen", 304, 88, 73, 21, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "_neuerName")
    $Bitte = GUICtrlCreateCombo("Bitte wählen...", 160, 136, 121, 25)
    $data = IniReadSectionNames($sIni)
    GUICtrlSetData($Bitte, $data, "")
    $Label3 = GUICtrlCreateLabel("User auswählen:", 32, 136, 85, 17)
    $Button2 = GUICtrlCreateButton("Weiter", 304, 136, 75, 21, $WS_GROUP)
    $Combo1 = GUICtrlCreateCombo("Bitte wählen...", 160, 176, 121, 25)
    $Label4 = GUICtrlCreateLabel("User löschen:", 32, 176, 71, 17)
    $Button3 = GUICtrlCreateButton("Löschen", 304, 176, 73, 21, $WS_GROUP)
    $Button4 = GUICtrlCreateButton("Beenden", 376, 288, 89, 21, $WS_GROUP)
    guictrlsetonevent(-1,"_exit")
    $Group1 = GUICtrlCreateGroup("", 16, 16, 441, 265)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    _Load()
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $Button1
    _neuerName()
    EndSwitch
    WEnd

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

    Func _neuerName()
    $UserRead = GUICtrlRead($Name)
    IniWriteSection($sIni, $UserRead, "")
    _Load()
    EndFunc
    func _exit()
    Exit
    EndFunc

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

    Func _Load()
    local $sections = IniReadSectionNames($sIni)
    for $i = 1 to $sections[0]
    GUICtrlSetData($Combo1, $sections[$i])
    next
    endfunc

    [/autoit]
  • Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    ;opt("guioneventmode",1)
    ;Opt('MustDeclareVars', 1)

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

    $Form1 = GUICreate("Form1", 485, 316, 192, 133)
    guisetonevent($GUI_EVENT_CLOSE,"_exit")
    global $sIni = @ScriptDir & "\users.ini"

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

    $Label1 = GUICtrlCreateLabel("Bitte gebe einen neues User ein oder wähle einen bestehenden", 32, 32, 375, 17)
    $Label2 = GUICtrlCreateLabel("Neuen User erstellen:", 32, 88, 107, 17)
    $Name = GUICtrlCreateInput("Name", 160, 88, 121, 21)
    $Button1 = GUICtrlCreateButton("Hinzufügen", 304, 88, 73, 21, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "_neuerName")
    $Bitte = GUICtrlCreateCombo("Bitte wählen...", 160, 136, 121, 25)
    $data = IniReadSectionNames($sIni)
    GUICtrlSetData($Bitte, $data, "")
    $Label3 = GUICtrlCreateLabel("User auswählen:", 32, 136, 85, 17)
    $Button2 = GUICtrlCreateButton("Weiter", 304, 136, 75, 21, $WS_GROUP)
    $Combo1 = GUICtrlCreateCombo("Bitte wählen...", 160, 176, 121, 25)
    $Label4 = GUICtrlCreateLabel("User löschen:", 32, 176, 71, 17)
    $Button3 = GUICtrlCreateButton("Löschen", 304, 176, 73, 21, $WS_GROUP)
    $Button4 = GUICtrlCreateButton("Beenden", 376, 288, 89, 21, $WS_GROUP)
    guictrlsetonevent(-1,"_exit")
    $Group1 = GUICtrlCreateGroup("", 16, 16, 441, 265)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    _Load()
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    case $Button1
    _neuerName()
    EndSwitch
    WEnd

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

    Func _neuerName()
    $UserRead = GUICtrlRead($Name)
    IniWriteSection($sIni, $UserRead, "")
    _Load()
    EndFunc
    func _exit()
    Exit
    EndFunc

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

    Func _Load()
    local $sections = IniReadSectionNames($sIni)
    for $i = 1 to UBound($sections,1) - 1
    GUICtrlSetData($Combo1, $sections[$i])
    next
    endfunc

    [/autoit]


    so geht es

    [autoit]

    for $i = 1 to UBound($sections,1) - 1

    [/autoit]

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • danke...yuhu funktioniert super...jetz kann ich endlich wieder weitermachen *freu*

  • wenn es genau das gleiche wäre würde es jetzt ja auch scheppern,
    es verfolgt das gleiche Ziel. ;)
    Hätte er die Variable als ArrayVar deklariert würde es sicher auch gehen,
    aber ubound würde ich immer vorziehen, da $array[0] nicht immer die Anzahl ist.

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • Zitat

    man muss nicht immer das Array durchzählen (Wird wohl der Grund sein um Anzahl in array[0] abzulegen?


    Klar ist das praktisch aber nicht generell genormt :)

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o