Hallo liebe community,
ich befinde mich derzeit mitten im Lernen für meine Abiturprüfungen und muss zudem noch eine Facharbeit und ein dazugehöriges, selbstgeschriebenes Programm fertigstellen.
Da ich in Info nun wahrlich kein Überflieger bin, bereitet mir mein Programm ein wenig Sorgen.
Ich schreibe ein multiple choice quiz in wirklich simpelster Form:
Ich habe eine StartForm (Unit1) und gelange über den start-button auf unit2, auf welcher die erste Frage in einem Panel steht und 4 Antwortmöglichkeiten über RadioButtons geboten werden.
Zur nächsten Frage (Unit3) geht es über das Klicken eines "weiter"-Buttons, welcher nicht reagiert, falls keine Auswahl der RadioButtons getroffen wurde.
Ich bin mir im Klaren, dass diese Lösung einem Programmierer wahrscheinlich die Haare zu Berge stehen lässt, aber ich wollte erst einmal irgendetwas auf die Beine stellen.
Die Units mit den Fragen ließen sich ja beliebig duplizieren und am Ende soll eine Punktezahl, welche sich aus der Anzahl der richtig beantworteten Fragen ergibt, ausgegeben werden.
Wie mache ich das ?
Deklariere ich eine globale Variable in UNit1 und inkrementiere diese einfach bei Anklicken des richtigen RadioButtons?
hier mein Quelltext von der Unit2 (erste Frage):
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Unit3, StdCtrls, ExtCtrls;
type
TForm2 = class(TForm)
FragePanel: TPanel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
Button2: TButton;
procedure Button2Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Button2Click(Sender: TObject);
begin
if not (RadioButton1.checked or RadioButton2.checked or RadioButton3.checked or Radiobutton4.checked) then
begin
ShowMessage('Bitte eine Auswahl treffen!');
end;
if (RadioButton1.checked or RadioButton2.checked or RadioButton3.checked or Radiobutton4.checked) then
begin
form2.hide;
form3.show;
end;
end;
end.
Danke für eure Mühe!