Jump to content
Fórum Script Brasil
  • 0

Registros Aleatorios De Um Banco De Dados


Guest Darkjouse

Question

Guest Darkjouse

Bem pessoal estou com um problema serio aqui.

Estou tentando fazer um simulado de vestibular.

E no formulario onde aparece as perguntas eu tenho um dbmemo(onde a pergunta aparecerá)

e outros 5 radion button(onde as alternativas entraram)

Esses dados vão estão sendo pegos de um banco de dados dividido por materia em 6 colunas

  • Pergunta
  • Resposta certa
  • Resposta errada1
  • Resposta errada2
  • Resposta errada3
  • Resposta errada4
Só que o que eu preciso fazer é que aparecem 80 questões, 10 de cada materia aleatoriamente nesse formulario a medida que você vai clicando em proximo, e conferindo a resposta certa.

observações:

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

sem saber como esta a estrutura do seu banco de dados fica meio dificil responder, no entanto para voce ter uma ideia inicial de como seria :

8 materias

10 questoes

5 respostas

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    RadioGroup1: TRadioGroup;
    btMaterias: TButton;
    btQuestoes: TButton;
    procedure btMateriasClick(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
    procedure btQuestoesClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Materias, questoes, repostas : integer;
  cont, num : integer;
implementation

{$R *.DFM}

procedure TForm1.btMateriasClick(Sender: TObject);
begin
   randomize;
   cont := cont + 1;
   if cont > 8 then
      begin
         showmessage('Terminou o simulado');
         cont := 0;
         exit;
      end;

   if cont = 1 then
      begin
         // colocar o codigo para selecionar as materias
         // usar o comando random para selecionar aleatoriamente

      end;


end;

procedure TForm1.btQuestoesClick(Sender: TObject);
begin
   randomize;
   num := numt + 1;
   if num > 10 then
      begin
         showmessage('Vamos a proxima materia');
         btMaterias.Click;
         num := 0;
         exit;
      end
   else
      begin
          // colocar o codigo para selecionar as questoes
          // usar o comando random para selecionar aleatoriamente

           // determinar qual sera a alternativa certa
           resp := random(0,4);

           // colocar as respostas nas alternativas

           // usar o comando random para selecionar aleatoriamente
           for respostas := 0 to 4 do
               RadioGroup1.Items.Append(respostas do banco de dados);

      end;
end;

procedure TForm1.RadioGroup1Click(Sender: TObject);
begin

   if RadioGroup1.Itemindex = resp then
      showmessage('Correto !)
   else
      showmessage('Incorreto !);
end;

end.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      651.8k
×
×
  • Create New...