Ver Mensaje Individual
  #15  
Antiguo 13-04-2018
bucanero bucanero is offline
Miembro
 
Registrado: nov 2013
Ubicación: Almería, España
Posts: 208
Reputación: 11
bucanero Va camino a la fama
Thumbs up

Cita:
Empezado por danielmj Ver Mensaje
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 [-]
  // combinación 1: elementos 1, 5, 6  
  cad1 := '1 5 6';
  // combinación 2: elementos 2, 5, 6 
  n.caption := '2 5 6';

  if cad2 = n.Caption then begin
    //solo ocurrira cuando las dos combinaciones sean identicas
    ... 
  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.
Responder Con Cita