![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Me extraña que no haya diferencia entre uno y otro. He visto la implementación de FindComponent:
Es una búsqueda lineal, debería de tardar algún tiempo, mientras que el array es un acceso directo. Es posible que no exista diferencia por tratarse de un array dinámico. Puedes probar a declararlo como
Y luego hacer la prueba dentro de un bucle de unas 100 repeticiones, para ver si realmente existe diferencia de tiempo.
__________________
Saludos. |
|
#2
|
||||
|
||||
|
Probablemente, por no decir casi seguro, pueda haber una diferencia de tiempo y de rendimiento entre las dos opciones que venimos comentando.
Lo que quiero aclarar es que a pesar de utilizar FindComponent con el número de componentes que tengo en mi form, el rendimiento no mejora en el procedimiento que realizo. He probado también declarando el Array como indicas arriba. Trabajando con datos, y realizando las búsquedas que hago, actualizaciones, etcétera, (que está claro que es lo que más tiempo me va a llevar en cuanto a observar el rendimiento), no se aprecian diferencias entre ambas formas de implementación.
__________________
Piensa siempre en positivo ! |
|
#3
|
||||
|
||||
|
Siguiente duda que me surge :
Cuando selecciono cualquier elemento con el ratón, ya sea un Shape o Label del Record (RackCard) que acabo de crear (haciendo por ejemplo Click en cualquiera de ellos), como sé que posición en el array ocupa ?? Es decir, quiero saber cual ficha he seleccionado desde la 0 a la 69. La función IndexOf me devuelve el valor buscado ? Nota: No puedo utilizar los Tag's de cada componente, debido a que ya los tengo asignados con otros valores.
__________________
Piensa siempre en positivo ! |
|
#4
|
||||
|
||||
|
Me acabo de dar cuenta que puedo utilizar la propiedad Name de cada elemento para saber cual he pulsado.
Si se os ocurre otra posibilidad ....
__________________
Piensa siempre en positivo ! |
|
#5
|
|||
|
|||
|
Te iba a responder con lo de los Tag, pero ya veo que no es posible.
IndexOf no te dará el valor de la posición del array. Tendrías que hacer una función que hiciese el recorrido a través del array y compararlo con on el Sender que recibes en el OnClick.
__________________
Saludos. |
|
#6
|
||||
|
||||
|
¿Qué tal si usas el tag?
![]() No, ya en serio, ¿qué tal si usas el tag? Ya sé que lo tienes asignado para otra cosa pero en realidad puedes usarlo para almacenar una referencia o puntero a un objeto o registro en donde almacenes lo que antes tenías en el tag y el índice que ocupa en el arreglo. // Saludos |
|
#7
|
||||
|
||||
|
Si, ya sé que el Tag me pueda dar referencia a otro puntero.
Pero sería complicar más la cosa todavía. Y por eso había pensado en el propio Name de cada componente. De hecho al asignarlo dinámicamente no le daba ningún nombre. Si utilizo 'L' para Label's y 'S' para Shape's, junto con A, B, C, D, E o F según cada Label o Shape, junto con la posición dentro del propio Array RackCard, obtengo nombres tales como LA0, LA1 .., LA69 .... SA0, SA1, .., SA69 y simplemente preguntando por el nombre del Sender y haciendo un Copy y un StrToInt obtengo la posición. Así me vale y creo que es más facil que complicar la cosa con el Tag que lo venía utilizando para otros valores. ![]()
__________________
Piensa siempre en positivo ! |
|
#8
|
||||
|
||||
|
Cuestión de puntos de vista. En mi opinión, usar arreglos y estructuras bien definidas, a la larga será mucho más claro y mantenible que estar usando trucos y cosas más propias de VB
![]() // Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Referencia a diferentes instancias del mismo Form | gluglu | OOP | 14 | 23-02-2007 17:22:32 |
| Evitar múltiples instancias de un mismo form | Neomanar | OOP | 1 | 09-09-2005 17:10:26 |
| Varias instancias DataModules | rodmayes | OOP | 1 | 05-09-2005 13:37:45 |
| Múltiples instancias de un mismo formulario | Neomanar | Varios | 1 | 22-08-2005 15:20:29 |
| Crear elementos en tiempo de ejecucion | Tecnic2 | OOP | 12 | 15-06-2005 20:12:42 |
|