Documente Academic
Documente Profesional
Documente Cultură
Hace tiempo realice una aplicacion personal que llame RoboLinks. Basicamente esta pequeña aquí lo
que hace es descargar todos los archivos de aquí de una pagina web (foro) para no tener que estarlas
bajando de 1×1. Generalmente en algunos foros se ponen cierta cantidad de aquí, para no tener que estar
viendolas de 1 en 1 hice este programa que funciona bastante bien con Imagevenue. Pero bueno, eso es
otra historia. El caso es que haciendo dicho programa me encontre con algunas cosas que queria hacer
con una caja de lista:
De tal forma que si tengo digamos 50 archivos a procesar… cuando llegara al numero 10 que esta
visible en la caja de lista, el numero 11 aparece y el numero 1 de la parte superior desaparece.
La imagen superior corresponde a otra aquí (de trabajo con unos archivos de excel) que tome
precisamente del primer programa RoboLinks.
Aquí vemos que la caja de lista permite:
a) “reacomodar” los archivos a gusto del usuar para saber cual va primero y cual despues.
b) Mostrar mediante un icono que archivo ya se proceso y cual se esta procesando.
c) Aunque no esta visible, cambiar el color de los archivos ya procesados.
d) Si los archivos son muchos y sobrepasan la caja de lista y aparece la barra de scroll, que estos se
vayan
moviendo hacia arriba de manera automatica conforme se vayan procesando.
¿COMO SE HACE?
Bien, en primer lugar, dibujamos una caja de lista y asignamos las siguientes propiedades a ella (todo en
Layout):
Tambien le puedes dar un nombre a tu control de lista, que en este caso se llamara LIST1. Ahora, el
resto no se hace en el control sino en algun otro que haga el proceso; generalmente un boton de
comando para procesar. Asi, en el metodo CLICK de dicho boton este sera el codigo:
* Asigmanos a variables diferentes iconos para el proceso. Uno para indicar que se
* proceso correctamente, otro icono para cuando no se proceso correcto y el tercero
* para el que se esta procesando actualmente. Se recomienda usar bmp porque son mas
* pequenos
icon1 = “_save.bmp”
icon2 = “_cancel.bmp”
icon3 = “rtscroll.bmp”
FOR i = 1 TO nFiles
* Agregar un icono para mostrar el proceso
thisform.list1.Picture(i) = icon3
* Agregar codigo para que vaya desplazando la caja de lista hacia arriba segun los
links procesados
IF i=> numLineas
nIndex2 = i-numLineas
thisform.list1.TopIndex = nIndex2
ENDIF
A continuacion sigue el codigo que necesitamos para este proceso. Y para finalizar
antes de terminar el ciclo que iniciamos… ponemos:
Y listo, cada que se va procesando una linea de la caja vamos cambiando el icono
cuando se proceso de manera correcta, dentro del ciclo si no se cumple la
condicion, debemos cambiar el icono para indicar que dicha linea de la caja no esta
correcto.