Hej..
Copy/paste fra Eksperten..
Hej
Vi er 3 gutter der i datalogi har lavet en quiz i Delphi.
Vi har 2 kategorier med 3 spørgsmål i hver.
Til hver knap har vi 2 tekster. En der loades i en memo(spørgsmål-teksten) og en i en radiogroup(svarmulighederne).
Så vil vi gerne ha' at der bliver talt points op. Der gives mellem 100 og 300 points pr. knap. Hvordan kan dette nemmest gøres?
Der ud over vil er vi stødt på det problem at det rigtige og de forkerte svarmuligheder i radiogroupen(3 muligheder pr. spørgsmål), ændrer sig alt afhængig af hvilken rækkefølge man vælger spørgsmålene i. Fx. i et 100 points spørgsmål kan svarmulighed nr. 1 være den rigtige, og vælges denne kommer en popup der siger "Du har svaret rigtigt!", MEN, bliver det samme 100 pointsspørgsmål valgt EFTER at have valgt et andet spørgsmål så bliver svarmulighed nr. 1 den forkerte.
Vi har angivet "nr" som en arry der men det fucker med radiogroupen..
Som i nok kan høre er vi ikke vildt hardcore til Delphi.. Men det kommer!
Her er coden;
var Svar: array[1..6] of Integer; //angiver "svar" som et heltal mellem 1 og x
Nr, antalrigtige: integer; //angiver nummer som et heltal
procedure TForm1.FormCreate(Sender: TObject);
begin
Svar[1]:=1; //spm nr1 er 1 rigtig
Svar[2]:=1; //spm nr 2 er 0 rigtig osv..
Svar[3]:=1;
svar[4]:=1;
svar[5]:=1;
svar[6]:=1;
{svar[7]:=1;
svar[8]:=1;
svar[9]:=1;}
Nr:=1; //sætter nr til 1 for at starte
antalrigtige:=0;
end;
procedure TForm1.stopClick(Sender: TObject);
begin
Close
end;
procedure TForm1.svargroupClick(Sender: TObject);
begin
if svargroup.ItemIndex=Svar[Nr] //er det det rigtige svar?
then showmessage('Du svarede rigtigt')
else showmessage('Du svarede desværre forkert');
spmmemo.Lines.LoadFromFile('clear2.txt'); //clear memo
svargroup.Items.LoadFromFile('clear.txt'); //clear radio-gr
svargroup.ItemIndex:=-1; //sletter radio-gr's index
svargroup.Visible:=false; //skjuler rg'en
Nr:=Nr+1 //looper nr-funktionen
end;
//Her kommer dyrespørgsmål-loaderne
procedure TForm1.dyr100Click(Sender: TObject);
begin
Spmmemo.Lines.LoadFromFile('spm.dyr1.txt');
SvarGroup.Items.LoadFromFile('sv.dyr1.txt');
antalrigtige:=antalrigtige+100;
svargroup.Visible:=true;
dyr100.visible:=false;
end;
procedure TForm1.dyr200Click(Sender: TObject);
begin
Spmmemo.Lines.LoadFromFile('spm.dyr2.txt');
SvarGroup.Items.LoadFromFile('sv.dyr2.txt');
antalrigtige:=antalrigtige+200;
svargroup.Visible:=true;
dyr200.Visible:=false;
end;
procedure TForm1.dyr300Click(Sender: TObject);
begin
Spmmemo.Lines.LoadFromFile('spm.dyr3.txt'); {loader spm i memo}
SvarGroup.Items.LoadFromFile('sv.dyr3.txt'); {loader svarmuligheder i radiogr}
antalrigtige:=antalrigtige+300;
svargroup.Visible:=true;
dyr300.Visible:=false;
end;
//Mel Gibson spm's
procedure TForm1.mel100Click(Sender: TObject);
begin
Spmmemo.Lines.LoadFromFile('spm.mel1.txt');
SvarGroup.Items.LoadFromFile('sv.mel1.txt');
antalrigtige:=antalrigtige+100;
svargroup.Visible:=true;
mel100.Visible:=false;
end;
procedure TForm1.mel200Click(Sender: TObject);
begin
Spmmemo.Lines.LoadFromFile('spm.mel2.txt');
SvarGroup.Items.LoadFromFile('sv.mel2.txt');
antalrigtige:=antalrigtige+200;
svargroup.Visible:=true;
mel200.Visible:=false;
end;
procedure TForm1.mel300Click(Sender: TObject);
begin
Spmmemo.Lines.LoadFromFile('spm.mel3.txt');
SvarGroup.Items.LoadFromFile('sv.mel3.txt');
antalrigtige:=antalrigtige+300;
svargroup.Visible:=true;
mel300.Visible:=false;
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
Edit1.Text:=antalrigtige;
end;
end.