Ir para conteúdo
Fórum Script Brasil
  • 0

Registros Aleatorios De Um Banco De Dados


Guest Darkjouse

Pergunta

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 para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...