Busqueda de Archivos por List Box

Aquí puedes preguntar o compartir tus dudas y conocimientos acerca del programa
Tratando de ayudar a un colega llamado jaime vega, me propuse en crear un proyecto en donde se buscara archivos exe y dlls a travez de una lista de un List Box

este es el codigo..

Label.SetText("Label1", "Buscando programas hacks 1/5...");
hackers = ListBox.GetItemData("ListBox1");
hack1 = File.Find(_SourceFolder, hackers, true, false, nil);
if hack1 ~= nil then
Dialog.Message("Hacker encontrado", "Se a encontrado un programa hack", MB_OK, MB_ICONEXCLAMATION);
Application.Exit();
else
Dialog.Message("Todo bien", "Ningun Hacker encontrado", MB_OK, MB_ICONEXCLAMATION);
end


Pero me sale error,, que estare asiendo mal???

esta es la lista,

Imagen
Esta acción esta mal puesta:
hackers = ListBox.GetItemData("ListBox1");
le falta el parametro index que indica que data quieres sacar y de que elemento.
seria así:
hackers = ListBox.GetItemData("ListBox1", Index);
gracias ceone,, pero,, no me funca :(, que esta mal, no entiendo,, le aumente el "index", pero,, nose, xq no sale,, siempre me tira "hacker no encontrado", y eso que le pongo a proposito, los ejecutables,,, con los nombres propuestos en el listbox...

Sera que debo utilizar el comando

result = ListBox.FindItem("ListBox1", 1, LB_BYTEXT, "find me");


Fin item????,. suena a que busca el item, y lo que yo necesito, es que buske toda la lista de ejecutables nombrados en "Item data", pero pensandolo bien, mejor los pase a "Item Text"., dado que luego pondre el comando "File delete", para que borre obviamente el ejecutable y sus deribados,, pero para eso tengo que especificar la accion que realize, y eso lo aria dependiendo que parametro se encuentra en "Iten data", le pondre numeros,, asi mira;

Imagen

Entonces si encuentra el ejecutable "hacker1.exe" corriendo, que ejecute una orden dada por su numero correspondiente puesto en "Item Data", en este caso seria el numero 1

entonces, tendria que aserlo con "If", , pero se me ase un embrollo, idear un IF dentro de otro if,, , demonios!!!, tengo q leer mas manuales.... me echarias una mano.. :friends:
lo estas haciendo mal... vamos por partes.
Label.SetText("Label1", "Buscando programas hacks 1/5...");
hackers = ListBox.GetItemData("ListBox1", 1);
hack1 = File.Find(_SourceFolder, hackers, true, false, nil);
if hack1 ~= nil then
	Dialog.Message("Hacker encontrado", "Se a encontrado un programa hack", MB_OK, MB_ICONEXCLAMATION);
	--Application.Exit();
else
	Dialog.Message("Todo bien", "Ningun Hacker encontrado", MB_OK, MB_ICONEXCLAMATION);
end
he creado 3 archivos en la carpeta de Docs llamados:
texto1.txt
texto2.txt
texto3.txt

después he creado un listbox y en el valor data he puesto lo anteriormente nombrado "texto1.txt, texto2.txt y texto3.txt". Y funciona perfectamente el script... ya te digo lo que esta mal es el valor de index. Puedes crear un index en formato de loop para mirar todos si quieres según lo que desees hacer.

Sobre lo de FindItem, si sirve para buscar pero tendrás que hacer algunas modificiaciones al script para que te funcione y creo que solo busca en los nombre de los items la verdad es que listbox normal lo he usado poco.

Por ultimo y creo que ya te lo he dicho con anterioridad procura escribir de una manera mas correcta tampoco digo que no tengas ni una falta de ortografía pero poner un corrector en el navegador esta al alcance de cualquiera.
Nunca lo encontraria porque asi el ponga en el listbox las datas que le de la gana igual el if busca  los archivos en el folder y si no existen no pondra el mensaje...
Thedary escribió:Nunca lo encontraria porque asi el ponga en el listbox las datas que le de la gana igual el if busca  los archivos en el folder y si no existen no pondra el mensaje...
Curiosamente creo que tienes razòn, dado que puse el codigo q se modifico por ceone, pero solo me busca en el "source folder" el nombre del executable que esta en el numero 1, osea, "hacker1.exe", yo quisiera que buscara todos.... como podria aser eso??,,, :SOS:
crea archivos en el sourcefolder que tengan los nombres que pusiste en la listbox... simplemente crea un bloc de notas y cambiales el nombre y veras que te funcionara... ;) pura logica
Thedary escribió:crea archivos en el sourcefolder que tengan los nombres que pusiste en la listbox... simplemente crea un bloc de notas y cambiales el nombre y veras que te funcionara... ;) pura logica
Claro obviamente asi si sale, pero si lo que quiero es verificar cada archivo como proceso activo? como seria?
Puedes leerte la ayuda en System.EnumerateProcesses