Hola (de nuevo), este problema se que es muy recurrente, pero no he conseguido (después de mirar mucho por la red y el foro), la forma de hacer trabajar mi programa. Lo ultimo ha sido usar un truco de la web de trucomania, pero aunque no da error de compilación, no funciona para nada bien una vez se ejecuta el codigo.
El código que se debe ejecutar es este:
Código Delphi
[-]procedure TForm1.Button1Click(Sender: TObject);
var
i, num, numOk: longint;
Ristra : TAlea;
n : integer;
begin
lista.clear;
randomize;
case comb.ItemIndex of
0: begin
lista.clear;
for i:= 0 to 100 do
with lista.Items.Add do
begin
barra.Position:= i;
label3.Caption:= 'Combinaciones generadas: '+IntToStr(i);
Ristra:=TAlea.Create(6);
for n:= 0 to 5 do begin
memo1.Lines.Add( IntToStr(Ristra.PillaNumero) );
with lista.Items.Add do
subitems.Add(IntToStr(ristra.PillaNumero));
subitems.Add(IntToStr(ristra.PillaNumero));
subitems.Add(IntToStr(ristra.PillaNumero));
subitems.Add(IntToStr(ristra.PillaNumero));
subitems.Add(IntToStr(ristra.PillaNumero));
subitems.Add(IntToStr(ristra.PillaNumero));
end;
Ristra.Free;
...
Como puede verse, en el case, al seleccionar el item 0 del combobox, las combinaciones (de 6 numeros) llegan a 100, es decir, la lista (listview) debe tener 100 filas de 6 numeros no repetidos. La unidad que uso para realizar esto está aquí..
http://www.trucomania.org/trucomania/ftesp.html
El problema es que en vez de rellenar la lista con esas 100 filas de numeros, solo hace un par (en el mejor de los casos).
¿Alguien sabe donde está el error?
Captura de la aplicacion corriendo (aunque en la captura el combo tenga 50.000, en el codigo a modo de pruebas tiene un valor de 100)
http://pasteall.org/pic/index.php?id=107843
Gracias.