AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Multiple Choice Quiz--> Antwort-Positionen zufällig auswählen

Multiple Choice Quiz--> Antwort-Positionen zufällig auswählen

Ein Thema von AquaMari · begonnen am 23. Apr 2015 · letzter Beitrag vom 1. Mai 2015
 
AquaMari

Registriert seit: 23. Apr 2015
7 Beiträge
 
Delphi 4 Standard
 
#1

Multiple Choice Quiz--> Antwort-Positionen zufällig auswählen

  Alt 23. Apr 2015, 18:18
Hallo Forum,

ich versuche einen Multiple Choice-Quiz mit Delphi 4 zu programmieren. Ich habe schon die Fragen, die Antwortmöglichkeiten und die richtigen Antworten mit Hilfe von Feldern hingeschrieben und wenn man auf den 'weiter' Button drauf klickt kommt man zur nächsten Frage mit die jeweiligen Antwortmöglichkeiten (4), die ich im laufendem Programm mit Checkboxen erzeugt habe.

Diese Antworten haben bei jeder Frage aber immer die selbe Position. Zum Beispiel der richtige Antwort ist immer bei der ersten Checkbox zu sehen und das möchte ich ändern. Ich möchte also,dass jedes mal wenn man auf den 'weiter' Button klickt die Antworten ihre Positionen ändern.

Wie kann ich das nun anstellen?

Im Anhang befindet sich ein Bild wie das Programm ausschaut !

Danke im Voraus!

Lg,
AquaMari



und unten ist der Quell-Code:

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    Button1: TButton;
    Button2: TButton;
    Panel1: TPanel;
    Label1: TLabel;
    ListBox1: TListBox;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure GroupBox1Click(Sender: TObject);
   

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  check:array[1..4] of Tcheckbox;
  fragen : array [1..4] of string;
  antworten : array [1..16] of string;
  r_antworten : array [1..7] of string;
  i,frage:integer;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
var i,b:integer;
begin
b:=0;

frage:=0;

fragen[1]:='1. Zu welchem großen Reich gehörte Österreich ab dem Jahre Null fast 500 Jahre lang?';
fragen[2]:='2. Die Staatsgebiete welcher heutigen Staaten geho¨rten im Laufe der Geschichte zeitweise zum Kaiserreich Österreich?';
fragen[3]:='3. Welche der Religionen waren 1918 (Ende der Monarchie) in Österreich-Ungarn offiziell anerkannt?';
fragen[4]:='4. Wer wurde nach dem "Anschluss" von Österreich an Hitler-Deutschland verfolgt?';

antworten[1]:='Zum Römischen Reich';
antworten[2]:='Zum Ägyptischen Reich';
antworten[3]:='Zum Chinesischen Reich';
antworten[4]:='Zum Persischen Reich';

antworten[5]:='Slowakei';
antworten[6]:='Kroatien';
antworten[7]:='Ungarn';
antworten[8]:='Finnland';

antworten[9]:='Konfuzianismus';
antworten[10]:='Islam';
antworten[11]:='Judentum';
antworten[12]:='Buddhismus';

antworten[13]:='Juden';
antworten[14]:='Roma und Sinti';
antworten[15]:='Menschen mit Behinderung';
antworten[16]:='Nationalsozialisten';



r_antworten[1]:='Zum Römischen Reich';

r_antworten[2]:='Slowakei';
r_antworten[3]:='Kroatien';
r_antworten[4]:='Ungarn';

r_antworten[5]:='Islam';

r_antworten[6]:='Juden';
r_antworten[7]:='Menschen mit Behinderung';

groupbox1.caption:=fragen[1];

For i:=1 to 4 do

begin

     check[i]:=Tcheckbox.Create(self);
     check[i].left:=40;
     check[i].top:=35+b;
     check[i].width:=450;
     check[i].height:=40;
     check[i].font.size:= 12;
     check[i].parent:=groupbox1;
     b:=b+60;




end;


check[1].caption:=antworten[1];
check[2].caption:=antworten[2];
check[3].caption:=antworten[3];
check[4].caption:=antworten[4];

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

button2.visible:=false;
for i:=1 to 4 do

begin
check[i].color:=clwhite;
check[i].checked:=false;
end;

frage:=frage+1;
panel1.caption:=inttostr(frage)+' / 4';

case
     frage of 1: groupbox1.caption:=fragen[2];
              2: groupbox1.caption:=fragen[3];
              3: groupbox1.caption:=fragen[4];
           
     end;


case frage of 1: begin
                  check[1].caption:=antworten[5];
                  check[2].caption:=antworten[6];
                  check[3].caption:=antworten[7];
                  check[4].caption:=antworten[8];
                  end;

              2: begin
                  check[1].caption:=antworten[9];
                  check[2].caption:=antworten[10];
                  check[3].caption:=antworten[11];
                  check[4].caption:=antworten[12];
                   end;

              3: begin
                  check[1].caption:=antworten[13];
                 check[2].caption:=antworten[14];
                 check[3].caption:=antworten[15];
                 check[4].caption:=antworten[16];
                  end;

end;

 end;


procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin

if groupbox1.caption=fragen[1] then
begin

for i:=1 to 4 do
if check[i].caption=r_antworten[1] then check[i].color:=clgreen;

end;


if groupbox1.caption=fragen[2] then

begin
for i:=1 to 4 do
if (check[i].caption=r_antworten[2]) or (check[i].caption=r_antworten[3]) or (check[i].caption=r_antworten[4])then check[i].color:=clgreen;

   end;


if groupbox1.caption=fragen[3] then
begin
for i:=1 to 4 do
if check[i].caption=r_antworten[5] then check[i].color:=clgreen;

end;


if groupbox1.caption=fragen[4] then
begin
for i:=1 to 4 do
if (check[i].caption=r_antworten[6]) or (check[i].caption=r_antworten[7]) then check[i].color:=clgreen;

end;

end;

procedure TForm1.GroupBox1Click(Sender: TObject);
begin
button2.visible:=true;
end;
Angehängte Grafiken
Dateityp: jpg Unbenannt.jpg (101,8 KB, 48x aufgerufen)
  Mit Zitat antworten Zitat
 

 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz