Hola bucanero, gracias por tu tiempo. Mirando tu codigo y poniendolo en practica veo un resultado inesperado. Lo que hago es lo siguiente, en un edit he volcado el valor de 6 labels.caption con valores entereos y aleatorios del 1 al 49 con lo que se forma un longint en el edit.text Esta será la combinacion maestra a comparar, pero lo que veo que hace es que en todas y cada una de las 5000 combinaciones se repite el mismo numero y simpre siempre, se da un unico acierto.
Y el codigo modificado sería este:
Código Delphi
[-]procedure TForm1.Button1Click(Sender: TObject);
var
i:longint;
combinacion1, comunes:Tcombinacion;
cs1: string;
lista: array of TCombinacion;
begin
try
setLength(lista, 50000);
for i:=0 to high(lista) do
lista[i].aleatorio;
if not Combinacion1.load([StrToInt(edit1.Text)]) then begin
MessageDlg('La combinacion no es valida!!!', mtError, [mbOK], 0);
exit;
end;
cs1 := Combinacion1.AsString;
for i := 0 to high(lista) do begin
comunes := lista[i].comparar(Combinacion1);
if comunes <> 0 then
memo1.Lines.Add(cs1 + #9 + lista[i].AsString + #9 + '(' + IntToStr(comunes.count) + ') ' + comunes.AsString);
end;
finally
setLength(lista, 0);
end;
end;
https://drive.google.com/open?id=1NG...XSeWz8qTKfoZL4