Daten nummeriert in INI und Listbox eintragen und per Listbox auslesen

  • Hallo, ich habe einen Script geschrieben bei dem, er Einträge aus den Textboxen in eine InI einträgt und die eine in eine Listbox,
    nun soll er den Benutzer und das Passwort in die InI schreiben und die Benutzer in die Listbox.

    Jetzt will ich das wenn ich ein Listbox Item anklicke das er dann die Daten aus der INI ausließt und in die Textboxen einlädt.
    Dabei sollen die Einträge in der INI auch nummeriert werden ... ?(

    Aber das nummerieren und das auslesen klappt nicht, ich hab bis jetzt nur diesen Textschnipsel:

    Spoiler anzeigen
    [autoit]

    #Region ### START Koda GUI section ###
    $Form1 = GUICreate("LoginBot", 434, 245, 309, 311)
    $inputBenutzerBot = GUICtrlCreateInput("", 16, 48, 121, 21)
    $inputPasswortBot = GUICtrlCreateInput("", 16, 112, 121, 21, BitOR($ES_PASSWORD,$ES_AUTOHSCROLL))
    GUICtrlSetTip(-1, "*")
    $Label1 = GUICtrlCreateLabel("Benutzername", 16, 24, 72, 17)
    $Label2 = GUICtrlCreateLabel("Passwort", 16, 88, 47, 17)
    $Button1 = GUICtrlCreateButton("Login", 16, 184, 91, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Speichern", 328, 64, 75, 25, $WS_GROUP)
    $Button3 = GUICtrlCreateButton("Laden", 328, 32, 75, 25, $WS_GROUP)
    $Button4 = GUICtrlCreateButton("Liste löschen", 328, 184, 75, 25, $WS_GROUP)
    $List1 = GUICtrlCreateList("", 176, 48, 129, 162)
    $Label3 = GUICtrlCreateLabel("Gespeicherte Accounts", 176, 24, 115, 17)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    _Func13()
    Case $Button2
    _Func14()

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

    DirCreate("Daten")
    $SaveUser = GUICtrlRead($inputBenutzerBot)
    $SavePass = GUICtrlRead($inputPasswortBot)

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

    $i = 0

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

    For $i = 1 To -1
    $i = 0
    Next

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

    IniWrite(@Scriptdir & "\Daten\Benutzer.ini","BENUTZER" , $i , $SaveUser)
    IniWrite(@Scriptdir & "\Daten\Passwort.ini","PASSWORT" , $i , $SavePass)

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

    GUICtrlSetData($List1, $SaveUser)
    IniWrite(@Scriptdir & "Daten\Benutzer.ini","BENUTZER", $i , $SaveUser)

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

    Case $Button3
    _Func15()

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

    $File = FileOpen(@ScriptDir & "\Daten\Accounts.ini",0)

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

    IniRead(@Scriptdir & "Daten\Benutzer.ini","BENUTZER", $i , $SaveUser)
    IniRead(@Scriptdir & "Daten\Passwort.ini","PASSWORT", $i , $SavePass)

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

    Case $Button4

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

    IniDelete(@Scriptdir & "Daten\Benutzer.ini","")
    IniDelete(@Scriptdir & "Daten\Passwort.ini","")

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

    EndSwitch
    WEnd

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

    EndFunc

    [/autoit]

    Ich weiß ist sehr ungeordnet, aber ich hoffe jemand kann mein Problem lösen, Danke :)

  • Hallo DarkLhykos,

    hier ein Beispiel-Skript zum Umgang mit INI's und unsortierter ListBox

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <GuiListBox.au3>
    #include <ListboxConstants.au3>
    #include <File.au3>
    #include <array.au3>

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

    Global $szDrive, $szDir, $szFName, $szExt
    Global $aDropFiles[1], $WM_DROPFILES = 0x233

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

    $idGUI = GUICreate("Flaggen", 300, 115, -1, -1, -1, $WS_EX_ACCEPTFILES)
    $idListe = GUICtrlCreateList("", 10, 10, 180, 80, BitOR($WS_VSCROLL, $LBS_NOTIFY)) ;,BitOR($LBS_SORT, $LBS_MULTIPLESEL)
    GUICtrlSetState($idListe, $GUI_DROPACCEPTED)
    $idNeu = GUICtrlCreateButton("...", 200, 10, 30, 25)
    $idVorschau = GUICtrlCreatePic(@ScriptDir & "\Flaggen\NA.jpg", 210, 40, 36, 24)
    $idInfo = GUICtrlCreateButton("&alle auslesem", 10, 90, 180, 25)
    GUISetState()

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

    GUIRegisterMsg($WM_DROPFILES, "WM_DROPFILES_FUNC")

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $GUI_EVENT_DROPPED
    _FilesDropped()
    Case $idInfo
    $count = _GUICtrlListBox_GetCount($idListe)
    Dim $aListe[$count]
    For $i = 0 To $count - 1
    $aListe[$i] = _GUICtrlListBox_GetText($idListe, $i)
    Next
    _ArrayDisplay($aListe)
    Case $idNeu
    $sAlt = GUICtrlRead($idListe)
    $sPlus = FileOpenDialog("La(e)nder auswählen:", @ScriptDir & "\Flaggen", "Bilder (*.jpg)", 7, "", $idGUI)
    $aPlus = StringSplit($sPlus, "|")
    If IsArray($aPlus) Then
    ;_ArrayDisplay($aPlus)
    If $aPlus[0] > 1 Then
    For $i = 2 To $aPlus[0]
    ConsoleWrite($aPlus[$i] & @CRLF)
    _GUICtrlListBox_InsertString($idListe, $aPlus[$i], $i - 2)
    Next
    Else
    _PathSplit($sPlus, $szDrive, $szDir, $szFName, $szExt)
    ConsoleWrite($szFName & @CRLF)
    _GUICtrlListBox_InsertString($idListe, $szFName & $szExt, 0)
    EndIf
    EndIf
    Case $idListe
    ConsoleWrite(GUICtrlRead($idListe) & ".jpg" & @CRLF)
    GUICtrlSetImage($idVorschau, @ScriptDir & "\Flaggen\" & GUICtrlRead($idListe))
    EndSwitch
    WEnd

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

    Func WM_DROPFILES_FUNC($hWnd, $msgID, $wParam, $lParam)
    Local $nSize, $pFileName
    Local $nAmt = DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", 0xFFFFFFFF, "ptr", 0, "int", 255)
    For $i = 0 To $nAmt[0] - 1
    $nSize = DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", $i, "ptr", 0, "int", 0)
    $nSize = $nSize[0] + 1
    $pFileName = DllStructCreate("char[" & $nSize & "]")
    DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", $i, "ptr", DllStructGetPtr($pFileName), "int", $nSize)
    ReDim $aDropFiles[$i + 1]
    $aDropFiles[$i] = DllStructGetData($pFileName, 1)
    $pFileName = 0
    Next
    EndFunc ;==>WM_DROPFILES_FUNC

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

    Func _FilesDropped()
    Local $szDrive, $szDir, $szFName, $szExt, $split
    For $i = 0 To UBound($aDropFiles) - 1
    $split = _PathSplit($aDropFiles[$i], $szDrive, $szDir, $szFName, $szExt)
    $szExt = StringUpper($szExt)
    ;ConsoleWrite($aDropFiles[$i] & ", " & $szExt & @CRLF)
    ; Switch $szExt
    ; Case ".JPG"
    _GUICtrlListBox_InsertString($idListe,$szFName & $szExt,0)
    ; EndSwitch
    Next
    EndFunc ;==>_FilesDropped

    [/autoit]

    du benötigst dazu noch autoit.de/wcf/attachment/10285/
    das angewandte Schema überträgst du auf dein Skript,

    mfg (Auto)Bert