Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Elegir las preguntas al azar (https://www.clubdelphi.com/foros/showthread.php?t=52867)

loquillo3 02-02-2008 04:01:25

Elegir las preguntas al azar
 
Quiero crear una aplicacion donde el programa elija al azar las preguntas.

Ej. Tengo 20 preguntas y quiero que la aplicacion tome 5, el usuario debera de responderla.

Hay alguna forma de hacer esto.

cHackAll 02-02-2008 04:09:50

Guarda las preguntas en un TStrings (Ej. TListBox.Items)... y utiliza las funciones Randomize y Random para obtener 5 al azar.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var Left, Index: Cardinal;
begin
 Left := 5;
 Randomize;
 while LongBool(Left) do
  begin
   Index := Random(ListBox1.Count);
   ShowMessage(ListBox1.Items[Index]);
//   ListBox1.Items.Delete(Index); // para no repetir...
   Dec(Left);
  end;
end;

jachguate 02-02-2008 04:10:46

Si.

Mirá la ayuda de la función Random(). Al inicio del programa debes llamar a Randomize().

Hasta luego.

;)

loquillo3 02-02-2008 04:27:59

Gracias,

Ahora si yo quiero ponerle las respuestas tipo seleccion multiple, y que al final me sume las respuestas correctas y el puntaje.


Saludos

cHackAll 02-02-2008 04:32:41

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var Left, Index: Cardinal;
begin
 Left := 5;
 Randomize;
 RadioGroup1.Items.Clear;
 while LongBool(Left) do
  begin
   Index := Random(ListBox1.Count);
   RadioGroup1.Items.Add(ListBox1.Items[Index]);
//   ListBox1.Items.Delete(Index); // para no repetir...
   Dec(Left);
  end;
end;

jachguate 02-02-2008 04:42:00

Cita:

Empezado por loquillo3 (Mensaje 262952)
Ahora si yo quiero ponerle las respuestas tipo seleccion multiple, y que al final me sume las respuestas correctas y el puntaje.

Con todo respeto... creo que esa es TU tarea, y no la nuestra. Tu duda original está despejada.

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 04:29:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi