Antivirus - Leer todos los Items checkeados

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
Avatar de Usuario
yasmany
Hacker del Foro
Mensajes: 249
Registrado: 06 Sep 2011, 21:30

Antivirus - Leer todos los Items checkeados

Mensaje por yasmany »

Hola a todos, tengo un problema que aun no he podido resolver.
Mi objetivo es mostrar en mensaje todos los items que están checkeados pero solo los valores de la primera columna.
De acuerdo al ejemplo que planteo en el siguiente código e intentado leer todo el contenido del Listview ($lista) mediante el botón Analizar ($btnAnalizar)
Pero resulta que solo me lee solo un item checkeado, ¿Podrian Ayudarme? he realizado algo demasiado sencillo pero no doy con los bucles como para poder utilizar correctamente en ciertos casos.
Espero su pronta respuesta.

Código: Seleccionar todo

#NoTrayIcon
#region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=icono.ico
#AutoIt3Wrapper_Outfile=Avy.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_UseX64=y
#AutoIt3Wrapper_Res_Comment=Software gratuito [email protected]
#AutoIt3Wrapper_Res_Description=Avy
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=Yasmany Curimilma
#AutoIt3Wrapper_Res_Language=1034
#endregion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <EditConstants.au3>
#include <GDIPlus.au3>
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIComboBox.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GuiConstantsEx.au3>
#include <UpdownConstants.au3>
#include <GuiTab.au3>
#include <GuiListView.au3>
#include <EditConstants.au3>
#include <GuiButton.au3>
#include <Misc.au3>
#include <GUIListBox.au3>
#include <ProgressConstants.au3>
#include <StaticConstants.au3>
#include <ListviewConstants.au3>


_Singleton("AVY1991") ; NO REPETIR INSTANCIA DE EJECUCION junto con  #include <Misc.au3>
Global $btnDesinfectar, $unidad, $ed
Dim $aArray[21], $Array[4]



; GUI
$interfaz = GUICreate("Avy", 620, 405, -1, -1, -1, $ws_ex_acceptfiles)
;~ $interfaz = GUICreate("Avy", 620, 405, -1, -1,$WS_OVERLAPPEDWINDOW, BitOR($WS_EX_CONTROLPARENT,-1) , $ws_ex_acceptfiles)
GUICtrlCreatePic(@AppDataDir & "\banner.jpg", 0, 0, 620, 50)

$iconointerfaz = GUISetIcon("icono.ico", 0)
$ch_desplazar = GUICtrlCreateCheckbox("Desplazar lista", 15, 355, 100, 25)
GUICtrlSetState(-1, $GUI_CHECKED)
$ch_aplicaciones = GUICtrlCreateCheckbox("Eliminar Aplicaciones", 120, 355, 120, 25)
GUICtrlSetState($ch_aplicaciones, $GUI_HIDE)

;MENUS
$menuArchivo = GUICtrlCreateMenu("&Archivo")
$menuAbrirUnidad = GUICtrlCreateMenuItem("Abrir unidad", $menuArchivo)

;GUICtrlSetState(-1, $GUI_DEFBUTTON);PARA PONERLO EN NEGRITA
$menuCerrar = GUICtrlCreateMenuItem("Cerrar programa", $menuArchivo)

$menuInformacion = GUICtrlCreateMenu("&Informacion")
$menuOpcionesSistema = GUICtrlCreateMenu("&Windows", $menuInformacion)
$menuHerramientasTipoSistema = GUICtrlCreateMenuItem("Version", $menuOpcionesSistema)
$menuHerramientasDetalles = GUICtrlCreateMenuItem("Detalles", $menuOpcionesSistema)
$menuInformacionAcercaAvy = GUICtrlCreateMenuItem("Acerca de Avy", $menuInformacion)

;BOTONES
$btnAnalizar = GUICtrlCreateButton("&Analizar", 369, 355, 60, 25)
GUICtrlSetTip($btnAnalizar, "Analizar unidad seleccionada")

$btnDesinfectar = GUICtrlCreateButton("&Desinfectar", 429, 355, 120, 25)
GUICtrlSetTip(-1, "Analize y desinfecte la unidad")

$btnSalir = GUICtrlCreateButton("&Salir", 550, 355, 60, 25)
GUICtrlSetTip(-1, "Cerrar programa")

;ETIQUETAS DE INFORMACION
$lblNombre = GUICtrlCreateLabel("", 278, 75, 80, 15)
$lblSerial = GUICtrlCreateLabel("", 278, 90, 75, 15)
$lblSize = GUICtrlCreateLabel("", 410, 75, 185, 15)
$lblTipo = GUICtrlCreateLabel("", 410, 90, 185, 15)

GUICtrlCreateLabel("Nombre:", 235, 75, 40, 15)
GUICtrlCreateLabel("Serial:", 235, 90, 40, 15)
GUICtrlCreateLabel("Tamaño:", 365, 75, 43, 15)
GUICtrlCreateLabel("Tipo:", 365, 90, 23, 15)

;UNIDADES
$cbUnidades = GUICtrlCreateCombo("BUSCAR UNIDAD...", 10, 60, 193, 25, BitOR($CBS_DROPDOWNLIST, $CBS_AUTOHSCROLL, $CBS_UPPERCASE))
GUICtrlSetColor($cbUnidades, 0xff0000)


GUICtrlSetState($cbUnidades, $GUI_FOCUS)
$gruposucesos = GUICtrlCreateGroup("Informacion de unidad", 230, 55, 375, 60)
GUICtrlSetFont(-1, 9, 600, 0, "MS Serif")
;boton_prueba
$btn_actualizar = GUICtrlCreateButton("+", 205, 59, 17, 22)
GUICtrlSetTip($btn_actualizar, "Actualizar lista de unidades", "Avy", 1)

;///////////////////
; TAB ITEMS
;//////////////////////

;REGISTRO DE SUCESO ****************************************
$tab = GUICtrlCreateTab(10, 100, 600, 250, $WS_MAXIMIZEBOX, $WS_EX_APPWINDOW)
$itemRegistroDeSucesos = GUICtrlCreateTabItem("Registro de sucesos")
$gruposucesos = GUICtrlCreateGroup("Detalles", 15, 130, 590, 215)
GUICtrlSetState(-1, $GUI_SHOW); Mostrando la información detallada
$lista = GUICtrlCreateListView("Deteccion |Tipo |Estado ", 18, 150, 575, 190, -1, BitOR($LVS_EX_CHECKBOXES, $LVS_EX_FULLROWSELECT));;
_GUICtrlListView_SetColumnWidth($lista, 0, 300)
_GUICtrlListView_SetColumnWidth($lista, 1, 150)
_GUICtrlListView_SetColumnWidth($lista, 2, 100)
GUICtrlSetState($lista, $GUI_SHOW)

;SEGURIDAD
GUICtrlCreateTabItem("Seguridad")
GUICtrlCreateGroup("Ociones de seguridad", 15, 130, 580, 215)
$ch_proteger = GUICtrlCreateCheckbox("Proteger unidad y antivirus", 20, 180, 250, 15)
GUICtrlSetFont(-1, 9, 600, 0, "MS Serif")
$nota_ch_proteger = GUICtrlCreateLabel("Ningun virus modficará la carpeta creada...Ver Ayuda", 35, 200, 300, 20)
$ch_remover = GUICtrlCreateCheckbox("Remover proteccion portable del antivirus", 20, 180, 290, 15)
GUICtrlSetFont(-1, 9, 600, 0, "MS Serif")
GUICtrlSetState($ch_remover, $GUI_HIDE)

$btn_eliminar = GUICtrlCreateButton("X", 240, 305, 40, 25)
$font = "Comic Sans MS"
GUICtrlSetFont(-1, 9, 600, 4, $font) ; muestra caracteres
GUICtrlSetTip(-1, "Eliminar")

$label2 = GUICtrlCreateLabel("Arrastre en el recuadro carpeta/archivo q desea eliminar", 35, 290, 270, 15)
$input1 = GUICtrlCreateInput("", 35, 305, 200, 25, -1, BitOR($ES_right, $es_multiline));Bitor se utiliza en controles antecediendo un -1,BitOR
GUICtrlSetState(-1, $GUI_DROPACCEPTED) ; Para permitir arrastrar y soltar pero aplicando al crear la  GUI al final de la linea -1,$ws_ex_acceptfiles

$btnaplicar = GUICtrlCreateButton("Aplicar", 490, 300, 100, 40)

;AYUDA
$ayuda = GUICtrlCreateTabItem("Ayuda")

GUICtrlCreateListViewItem("abcdefg|hijklm|nopqrst", $lista)
GUICtrlCreateListViewItem("dfgvdfgxcv|hijklm|nopqrst", $lista)
GUICtrlCreateListViewItem("cxvcxbv|hijkddlm|nopqrst", $lista)
GUICtrlCreateListViewItem("213e3123|hijklm|nopqrst", $lista)
GUICtrlCreateListViewItem("abcdefg|hijkbbgblm|nopqrst", $lista)
GUICtrlCreateListViewItem("abcdefg|hijkdgvfglm|nopqrst", $lista)
GUICtrlCreateListViewItem("xcvsssxcv|hijdddklm|nopqrst", $lista)
GUICtrlCreateListViewItem("xcvfdt|vcbdfghf|cbfdsf", $lista)

;ESTADO DE LA GUI
GUISetState(@SW_SHOW)

;CASOS
While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg

		Case $GUI_EVENT_CLOSE
			If $nMsg = $GUI_EVENT_CLOSE Then
				Exit
			EndIf
		Case $btnAnalizar
			$o = GUICtrlRead($lista); obtenfo el id del item
			$n = GUICtrlRead($o); leo el id del item
			If GUICtrlGetState($o = $GUI_CHECKED) Then
				MsgBox(64, "aaa", $n);
			EndIf

	EndSwitch

WEnd
Obra de modo que merezcas a tu propio juicio y a juicio de los demás la eternidad, que te hagas insustituible que no merezcas morir.
https://www.facebook.com/yasmanycurimilma
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: Antivirus - Leer todos los Items checkeados

Mensaje por Dany »

Hola. usa las funciones para los listview. para lo que quieres hacer cambia el codigo de tu $btnAnalizar por este:

Código: Seleccionar todo

for $i=0 to _GUICtrlListView_GetItemCount($lista)-1
			   if _GUICtrlListView_GetItemChecked($lista,$i) then
            MsgBox(64,_GUICtrlListView_GetItemChecked($lista,$i), _GUICtrlListView_GetItemText($lista,$i));
			EndIf
		    Next
Y te mostrara en Msgbox los selecionados.

Saludos
  • ............................................Imagen
    ......................................Imagen
Avatar de Usuario
yasmany
Hacker del Foro
Mensajes: 249
Registrado: 06 Sep 2011, 21:30

Re: Antivirus - Leer todos los Items checkeados

Mensaje por yasmany »

Mil Gracias Dany, muy agradecido por la ayuda me ha servido de mucho.
Obra de modo que merezcas a tu propio juicio y a juicio de los demás la eternidad, que te hagas insustituible que no merezcas morir.
https://www.facebook.com/yasmanycurimilma
Responder