^ListView .. ^^

  • Hallo liebe AutoIt Gemeinde ^^
    seit langen befasse ich mich wieder mit Autoit und arbeite an meinen Projekt Account und E-mail verwalter habe aver ein Prob, undzwar speichert der gar nichts mhr nur keine ahnung warum und wenn ich das Do und Until weg lasse speichert er nur die 1. Reihe hoffe versteht mein Prob und meine Source ^^

    danke schonma und muss mich erst wieder in AutoIt rein finden hoffe versteht das =)

    Gesamte Sorce( Vielleicht liegt der Fehler ja auch woanders !) ^^

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <ListViewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.0.0
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    ;_Singleton("Script Name", 0)

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

    $GUI = GUICreate("ACC/E-Mail Verwaltung", 300, 340, 400, 100)
    GUISetBkColor(0x00FF80)
    GUICtrlCreateTab(0, 300, 300, 30)

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

    $Datei = GUICtrlCreateMenu("Datei")
    $save = GUICtrlCreateMenuItem("Speichern", $Datei)
    $Load = GUICtrlCreateMenuItem("Laden", $Datei)
    $ACC = GUICtrlCreateMenu("Accounts")
    $AddACC = GUICtrlCreateMenuItem("ACC hinzufügen", $ACC)
    $ACCDelete = GUICtrlCreateMenu("ACC entfernen", $ACC)
    $KillACC = GUICtrlCreateMenuItem("Markierten Termin", $ACCDelete)
    $KillAllACCS = GUICtrlCreateMenuItem("Alle Termine", $ACCDelete)

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

    $Tab1 = GUICtrlCreateTabItem("Accounts")
    $GListView = GUICtrlCreateListView("", 5, 5, 290, 290)
    $list = GUICtrlGetHandle($GListView)
    $GNAME = _GUICtrlListView_AddColumn($list, "Game", 100)
    $GID = _GUICtrlListView_AddColumn($list, "Username/ID", 100)
    $GPW = _GUICtrlListView_AddColumn($list, "Passwort", 100)

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

    Local $iExListViewStyle = BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_DOUBLEBUFFER)
    _GUICtrlListView_SetExtendedListViewStyle($GListView, $iExListViewStyle)
    _GUICtrlListView_RegisterSortCallBack($GListView)
    GUISetState(@SW_SHOW, $GUI)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $GListView
    _GUICtrlListView_SortItems($GListView, GUICtrlGetState($GListView))
    Case $KillACC
    _GUICtrlListView_DeleteItemsSelected($GListView)
    Case $KillAllACCS
    _GUICtrlListView_DeleteAllItems($GListView)
    Case $save
    Do
    $i = 1
    $i = $i + 1
    $Name = IniWrite("infos.ini", "Games","Game", _GUICtrlListView_GetitemText($GListView,$i,0))
    $ID = IniWrite("infos.ini", "Games","ID", _GUICtrlListView_GetItemText($GListView,$i,1))
    $PW = IniWrite("infos.ini", "Games","PW", _GUICtrlListView_GetItemText($GListView,$i,2))
    Until $i = 999
    Case $Load
    GUICtrlCreateListViewItem(IniRead(@ScriptDir & "infos.ini", "Games","Game",""),$GListView)
    _GUICtrlListView_AddSubItem($list, _GUICtrlListView_GetItemCount($list) - 1,IniRead("infos.ini", "Games","ID",""),1)
    _GUICtrlListView_AddSubItem($list, _GUICtrlListView_GetItemCount($list) - 1,IniRead("infos.ini", "Games","PW",""),2)
    Case $AddACC
    $AdressAddGUI = GUICreate("", 272, 174, -1, -1)
    $NameLabel = GUICtrlCreateLabel("Game:", 32, 8, 44, 20)
    $NameInput = GUICtrlCreateInput("", 80, 8, 177, 24)
    $Adresse1Label = GUICtrlCreateLabel("Username:", 11, 35, 65, 20)
    $Adresse1Input = GUICtrlCreateInput("", 80, 35, 177, 24)
    $Adresse2Label = GUICtrlCreateLabel("Passwort:", 11, 62, 65, 20)
    $Adresse2Input = GUICtrlCreateInput("", 80, 62, 177, 24)
    $HinzufuegenButton1 = GUICtrlCreateButton("Hinzufügen", 53, 144, 97, 17, $WS_GROUP)
    $AbbrechenButton1 = GUICtrlCreateButton("Abbrechen", 160, 144, 97, 17, $WS_GROUP)
    GUISetState()
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $AdressAddGUI)
    ExitLoop
    Case $HinzufuegenButton1
    $AddName = GUICtrlRead($NameInput)
    $AddGID = GUICtrlRead($Adresse1Input)
    $AddGPW = GUICtrlRead($Adresse2Input)
    GUICtrlCreateListViewItem($AddName, $GListView)
    _GUICtrlListView_AddSubItem($list, _GUICtrlListView_GetItemCount($list) - 1, $AddGID, 1)
    _GUICtrlListView_AddSubItem($list, _GUICtrlListView_GetItemCount($list) - 1, $AddGPW, 2)
    GUIDelete($AdressAddGUI)
    ExitLoop
    Case $AbbrechenButton1
    GUIDelete($AdressAddGUI)
    ExitLoop
    EndSwitch
    WEnd
    EndSwitch
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von ScripterDrîzzt (5. Februar 2010 um 20:34)

  • Also ich weiß nicht,ob dir das hilft,aber du tust den selben Wert ja immer überschreiben.
    Das heißt wenn du 100 mal das gleiche auf den selben Wert setzt dann bleibt auch nur ein Wert bestehen.
    Ich hab dir das mal gemacht auf die schnelle mit dem abspeichern und ich hoffe das ist was du wolltest und ich hab noch eingebaut,dass die Einträge gezählst werden so das du nich immer bist 999 alles einscannst.Das mit dem Auslesen am Anfang musst du dann noch anpassen.

    Spoiler anzeigen
    [autoit]


    #include <WindowsConstants.au3>
    #include <ListViewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.0.0
    Author: myName

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

    Script Function:
    Template AutoIt script.

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

    #ce ----------------------------------------------------------------------------

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

    ; Script Start - Add your code below here

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

    ;_Singleton("Script Name", 0)

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

    $GUI = GUICreate("ACC/E-Mail Verwaltung", 300, 340, 400, 100)
    GUISetBkColor(0x00FF80)
    GUICtrlCreateTab(0, 300, 300, 30)

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

    $Datei = GUICtrlCreateMenu("Datei")
    $save = GUICtrlCreateMenuItem("Speichern", $Datei)
    $Load = GUICtrlCreateMenuItem("Laden", $Datei)
    $ACC = GUICtrlCreateMenu("Accounts")
    $AddACC = GUICtrlCreateMenuItem("ACC hinzufügen", $ACC)
    $ACCDelete = GUICtrlCreateMenu("ACC entfernen", $ACC)
    $KillACC = GUICtrlCreateMenuItem("Markierten Termin", $ACCDelete)
    $KillAllACCS = GUICtrlCreateMenuItem("Alle Termine", $ACCDelete)

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

    $Tab1 = GUICtrlCreateTabItem("Accounts")
    $GListView = GUICtrlCreateListView("", 5, 5, 290, 290)
    $list = GUICtrlGetHandle($GListView)
    $GNAME = _GUICtrlListView_AddColumn($list, "Game", 100)
    $GID = _GUICtrlListView_AddColumn($list, "Username/ID", 100)
    $GPW = _GUICtrlListView_AddColumn($list, "Passwort", 100)

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

    Local $iExListViewStyle = BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_DOUBLEBUFFER)
    _GUICtrlListView_SetExtendedListViewStyle($GListView, $iExListViewStyle)
    _GUICtrlListView_RegisterSortCallBack($GListView)
    GUISetState(@SW_SHOW, $GUI)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $GListView
    _GUICtrlListView_SortItems($GListView, GUICtrlGetState($GListView))
    Case $KillACC
    _GUICtrlListView_DeleteItemsSelected($GListView)
    Case $KillAllACCS
    _GUICtrlListView_DeleteAllItems($GListView)
    Case $save

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

    for $i = 1 to _GUICtrlListView_GetItemCount($GListView)
    $Name = IniWrite("infos.ini", "Games","Game" & $i , _GUICtrlListView_GetitemText($GListView,$i,0))
    $ID = IniWrite("infos.ini", "Games","ID" & $i, _GUICtrlListView_GetItemText($GListView,$i,1))
    $PW = IniWrite("infos.ini", "Games","PW" & $i , _GUICtrlListView_GetItemText($GListView,$i,2))
    next
    Case $Load
    GUICtrlCreateListViewItem(IniRead(@ScriptDir & "infos.ini", "Games","Game",""),$GListView)
    _GUICtrlListView_AddSubItem($list, _GUICtrlListView_GetItemCount($list) - 1,IniRead("infos.ini", "Games","ID",""),1)
    _GUICtrlListView_AddSubItem($list, _GUICtrlListView_GetItemCount($list) - 1,IniRead("infos.ini", "Games","PW",""),2)
    Case $AddACC
    $AdressAddGUI = GUICreate("", 272, 174, -1, -1)
    $NameLabel = GUICtrlCreateLabel("Game:", 32, 8, 44, 20)
    $NameInput = GUICtrlCreateInput("", 80, 8, 177, 24)
    $Adresse1Label = GUICtrlCreateLabel("Username:", 11, 35, 65, 20)
    $Adresse1Input = GUICtrlCreateInput("", 80, 35, 177, 24)
    $Adresse2Label = GUICtrlCreateLabel("Passwort:", 11, 62, 65, 20)
    $Adresse2Input = GUICtrlCreateInput("", 80, 62, 177, 24)
    $HinzufuegenButton1 = GUICtrlCreateButton("Hinzufügen", 53, 144, 97, 17, $WS_GROUP)
    $AbbrechenButton1 = GUICtrlCreateButton("Abbrechen", 160, 144, 97, 17, $WS_GROUP)
    GUISetState()
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_HIDE, $AdressAddGUI)
    ExitLoop
    Case $HinzufuegenButton1
    $AddName = GUICtrlRead($NameInput)
    $AddGID = GUICtrlRead($Adresse1Input)
    $AddGPW = GUICtrlRead($Adresse2Input)
    GUICtrlCreateListViewItem($AddName, $GListView)
    _GUICtrlListView_AddSubItem($list, _GUICtrlListView_GetItemCount($list) - 1, $AddGID, 1)
    _GUICtrlListView_AddSubItem($list, _GUICtrlListView_GetItemCount($list) - 1, $AddGPW, 2)
    GUIDelete($AdressAddGUI)
    ExitLoop
    Case $AbbrechenButton1
    GUIDelete($AdressAddGUI)
    ExitLoop
    EndSwitch
    WEnd
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Dein Fehler liegt hier:

    [autoit]

    Do
    $i = 1
    $i = $i + 1
    $Name = IniWrite("infos.ini", "Games","Game", _GUICtrlListView_GetitemText($GListView,$i,0))
    $ID = IniWrite("infos.ini", "Games","ID", _GUICtrlListView_GetItemText($GListView,$i,1))
    $PW = IniWrite("infos.ini", "Games","PW", _GUICtrlListView_GetItemText($GListView,$i,2))
    Until $i = 999

    [/autoit]

    Du setzt $i = 1 bei jedem Durchgang wieder auf 1. Wie soll so die Bedigung "Until $i = 999" erreicht werden? :rolleyes:


    PS:

    • Das nächste Mal bitte einen angemessenereren Titel ...
    • Ich war zu langsam ...
  • @Jautois okay werde ich machen und sry dafür

    @Sith danke danke wieder mal den rest werde ich bestimmt selber noch schaffen ^^