Ich habe jetzt versucht, das alles umzusetzen, mir wird allerdings ein Fehler angezeigt:
Zu folgender Zeile "unit1.pas(98,29) Error: Operator is not overloaded: "Boolean" and "Byte"":
Unten habe ich mal den gesamten Quelltext, damit das nochmal im Zusammenhang steht:
Code: Alles auswählen
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button2: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
procedure Button11Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
TFrage = record
Frage: string;
Antworten: array [0..3] of string;
richtige_Antwort: byte;
schonGefragt: boolean;
Kategorie: byte;
end;
TFragen = array of TFrage;
var
Form1: TForm1;
Frage: TFragen;
implementation
{$R *.lfm}
{ TForm1 }
var a:integer;
procedure TForm1.Add(F, a0, a1, a2, a3: string; ra,k: byte);
var l: integer;
begin
l:= Length(Frage);
SetLength(Frage,l + 1);
with Frage[l] do begin
Frage:= F;
Antworten[0]:= a0;
Antworten[1]:= a1;
Antworten[2]:= a2;
Antworten[3]:= a3;
richtige_Antwort := ra;
Kategorie:= k;
end;
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
Button11.Enabled:=false;
Button1.Enabled:=false;
Button2.Enabled:=false;
end;
procedure TForm1.Button5Click(Sender: TObject); //Allgemeinwissen
begin
Randomize;
Button1.Enabled:=true;
Button2.Enabled:=true;
Button5.Enabled:=false;
Button6.Enabled:=false;
Button7.Enabled:=false;
Button8.Enabled:=false;
Button9.Enabled:=false;
Button10.Enabled:=false;
with Frage[random(2)] do
begin
if schonGefragt=false and Kategorie=1 then
begin
Label1.Caption := Frage;
RadioButton1.Caption := Antworten[0];
RadioButton2.Caption := Antworten[1];
RadioButton3.Caption := Antworten[2];
RadioButton4.Caption := Antworten[3];
schonGefragt:=True;
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Add('Wie heißt der Palast der englischen Königsfamilie in London?',
'Hampton Court Palace','Tower of London','Buckingham Palace',
'Kensington Palace',3,1);
Add('Welche der folgenden Stätten ist keins der ursprünglichen sieben Weltwunder?',
'Die Pyramiden von Gizeh','Die chinesische Mauer','Der Koloss von Rhodos',
'Die hängenden Gärten von Babylon',2,1);
Add('Wie nennt man die Bewerbungsunterlage, mit der sich Models bei Agenturen präsentieren?',
'Setcard','Sedcard','Redcard','Zetcard',2,1);
Add('Welche Aufgabe musste Sisyphos in der griechischen Mythologie immer wieder erfüllen?',
'Wasser in einem löchrigen Krug transportieren','Unter Hunger Früchte ernten, wobei er diese nicht essen durfte',
'Gegen einen unbesiegbaren Stier kämpfen','Einen Felsbrocken einen Hang hinaufrollen',4,1);
Add('Welches der folgenden deutschen Bauwerke gehört nicht zum UNESCO-Weltkulturerbe?',
'Zeche Zollverein in Essen','Kölner Dom','Museumsinsel Berlin','Schloss Neuschwanstein in Bayern',4,1);
Add('Was ist keine Tempoangabe in der Musik?','Allegrettimo','Prestissimo','Allegro','Adagio',1,1);
end;
end.