Cita:
Empezado por danielmj
Comparo cada item de per (cad2) con la etiqueta "n" ¿no debería funciionar? loo pregunto por que no lo hace.
Voy a probar tu código y te comento. Gracias.
|
El problema que veo en tu código es que las variables que estas comparando son de tipo string, y en cuanto no sean totalmente idénticas ya no te va a devolver ninguna coincidencia.
Tomando el ejemplo mio anterior y aplicado a tu técnica obtendrías:
Código Delphi
[-]
cad1 := '1 5 6';
n.caption := '2 5 6';
if cad2 = n.Caption then begin
...
end;
Por eso salvo que sea la misma combinación no obtienes resultados. Debes hacer otro tipo de comparación que no sea de tipo string.
Lo interesante del método que te puse arriba es que al hacer el AND de dos combinaciones representadas con dos integer de tipo INT64, solamente se tarda un único ciclo de CPU para saber si la combinación tiene o no tiene alguna coincidencia, y dado que la mayoría de las veces no vas a tener coincidencias, es un proceso muy rápido.
Y para procesos con tantísimas combinaciones a comparar, cualquier ganancia en calculo se agradece, pues se nota en el tiempo final.