Página 1 de 1

guardar contenido de un GUICtrlCreateListView

Publicado: 20 Sep 2009, 08:05
por Lucho
Hola, bueno tengo un programa que va leyendo el contenido de un txt para enviarlo a un GUICtrlCreateListView


el archivo de texto va con esta estructura:

uno|dos|tres|
cuatro|cinco|seis|

y bueno ordena todo bien, lo que no e podido hacer es que el usuario pueda eliminar algun item de la lista, y al cerrar el programa reemplaze ese txt con el contenido nuevo que puso en el ListView.... osea no e podido encontrar la forma de leer todo el listview y guardarlo :smt013

el code que llevo:

Código: Seleccionar todo

#include <ButtonConstants.au3>

#include <GUIConstantsEx.au3>

#include <ListViewConstants.au3>

#include <WindowsConstants.au3>

$_1 = GUICreate("Administrar Marcadores", 474, 376, 260, 284)

GUISetBkColor(0x4C5844)

$hListView = GUICtrlCreateListView("Nombre|Dirección|Puerto", 10, 58, 453, 308)

GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 185)

GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 174)

GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 90)

GUICtrlSetFont(-1, 8, 800, 0, "Verdana")

GUICtrlSetColor(-1, 0xFFFFFF)

GUICtrlSetBkColor(-1, 0x3E4637)

$edit = GUICtrlCreateButton("Editar", 248, 16, 97, 33, BitOR($BS_CENTER,$BS_ICON,$WS_GROUP))

GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")

GUICtrlSetColor(-1, 0xFFFFFF)

GUICtrlSetBkColor(-1, 0x3E4637)

$borrar = GUICtrlCreateButton("Borrar", 360, 16, 97, 33, BitOR($BS_CENTER,$BS_ICON,$WS_GROUP))

GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")

GUICtrlSetColor(-1, 0xFFFFFF)

GUICtrlSetBkColor(-1, 0x3E4637)

GUISetState(@SW_SHOW)





$file = FileOpen("data\marcadores.txt", 0)

While 1

    $line = FileReadLine($file)

    If @error = -1 Then ExitLoop

    $lista = GUICtrlCreateListViewItem($line, $hListView)

Wend

FileClose($file)



While 1

    $nMsg = GUIGetMsg()

    Switch $nMsg



            Case $GUI_EVENT_CLOSE

            SplashTextOn("Actualizando","Se estan guardando los datos...","400","21","-1","-1",0,"Verdana","11","700")

            $file = FileOpen("data\marcadores.txt", 1)





            FileClose($file)

            Exit

        case $edit



        case $borrar

        GUICtrlDelete(GUICtrlRead($hListView))

    EndSwitch

WEnd
antes lo tenia con un INI pero me hacia problema porque cada marcador iba con un numero ejemplo:

1=nombre|puerto
2=nombre|puerto
total=2

y cuando el user borraba el item 1 quedaba el Ini como:


2=nombre|puerto
total=1

y bueno ahi hacia problema porque iba leyendo las lineas asi que pase al txt..


bueno si alguien pudiese aclararme un poco estaria mas que agradecido

muchas gracias

Re: guardar contenido de un GUICtrlCreateListView

Publicado: 20 Sep 2009, 08:22
por XPyro
Busca en la ayuda de AutoIt GuiListView Management y encontraras muchas funciones para realizar en un ListView :smt006