Cita:
Empezado por danielmj
hola roman, eso ya esta arreglado y sigue sin funcionar como deberia. Que la sintaxis no sea muy estetica tiene solución, pero el sacar 6 numeros del 1 al 49 en un for del 1 al 100 (por ejemplo) y que esos 6 numeros no se repitan es mas complicado que hacer la gran piramide! (esto ultimo es una prueba de que ya me tiene frustrado el dichoso programa).
Hola Reasen, pues basicamente lo que pretendo es eso de arriba, sacar 6 numeros aleatorios del 1 al 49 sin que se repitan y los vaya almacenando en un listview de 100 posiciones (o 50.000 estos valores son de ejemplo). Después de buscar y buscar informacion y gente con el mismo problema que yo en distintos foros, di con la web de trucomania y me ofrecia la posibilidad de usar una unidad que se encarga de todo pero como puedes ver, NO me funciona.
Un saludo.
|
Veamos si esto te sirve:
Añade una variable global || Acumulador: TStringList;
Código Delphi
[-]function RandomRange(const AFrom, ATo: Integer): Integer;
begin
if AFrom > ATo then
Result := Random(AFrom - ATo) + ATo
else
Result := Random(ATo - AFrom) + AFrom;
end;
function NumerosAleatorios(Minimo, Maximo: integer): string;
var
NumOk:Boolean;
Numero: string;
begin
Randomize;
repeat
Numero := IntToStr(RandomRange(Minimo, Maximo));
if pos(Numero, Acumulador.Text) = 0 then
begin
result := Numero;
Acumulador.Add(Numero);
NumOk:=True;
end;
until NumOk;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
Acumulador := TStringList.Create;
end;