ich habe zwar gehofft drum herum zu kommen euch zu fragen, aber ich hab schon wieder ein Problem.
Ich will bei meinem Quiz eine Textdatei mit dem Namen des "Schülers/Spielers" als Name der Datei nehmen. Kein Problem.
Ich will dass in der ersten Zeile des Textfeldes "Dieser Test gehört xy xy.". Kein Problem.
Mein Problem beginnt jetzt.
Ich will nun nach jedem Prüfen der Antwort, sowohl die Frage, die Antwort und die Punktzahl speichern. Dabei aber die erste Zeile im Textfeld nicht löschen. Dass bekomme ich leider nicht hin.
Nächstes Problem besteht darin, dass 4 Fragen und Antworten so untereinander gespeichert werden sollen und am Ende die Gesamtpunktzahl.
Ganz vergessen, die Textdatei soll nach beenden der 4 Fragen, schreibgeschützt gemacht werden, dass es nicht mehr verfälscht werden kann.
Letztes Problem, die Antwort befindet sich in einem RadioButton, wie kann ich die Antwort aus dem RadioButton in die Textdatei speichern, bzw. wie kann ich auslesen welches der RadioButton aktiviert wurde und dies dann in die Textdatei schreiben.
Hier mal ein wenig Code an dem ich bastel:
Code: Alles auswählen
type
TFrage = record
quest: string[100];
a1, a2, a3, a4: string[50];
correct: integer;
end;
type
TErgebnisse = record
end;
var
Form8: TForm8;
datei: file of TFrage;
fragen: array[1..5] of TFrage;
datensatz: TFrage;
qnr, points, i,j: integer;
t:TextFile;
n,vn:string;
implementation
uses unit1;
{ TForm8 }
procedure TForm8.Button1Click(Sender: TObject);
begin
if (Form8.Edit1.Text = '') and (Form8.Edit2.Text = '') then
ShowMessage('Fehler! Erst den Namen und Vornamen eintragen.')
else
begin
n:=Edit2.Text;
vn:=Edit1.Text;
//Versuch die .txt datei zu lesen um zu schreiben
AssignFile(t, ''+n+'.'+vn+'.txt');
ReWrite(t);
//Testprozedur
WriteLn(t,'Test von '+n+', '+vn+'.' );
//Datei schließen
CloseFile(t);
Form8.Edit1.Enabled := False;
Form8.Edit2.Enabled := False;
Form8.Label2.Visible := True;
Form8.Label3.Visible := True;
Form8.RadioButton1.Visible := True;
Form8.RadioButton2.Visible := True;
Form8.RadioButton3.Visible := True;
Form8.RadioButton4.Visible := True;
Form8.BitBtn1.Visible := False;
Form8.Button2.Visible := True;
Form8.Image1.Visible := True;
Form8.Panel2.Visible := True;
qnr := 1;
points := 0;
assignfile(datei, 'informatik.db');
reset(datei);
i := 0;
seek(datei, 0);
while not EOF(datei) do
begin
seek(datei, i);
Read(datei, datensatz);
i := i + 1;
fragen[i].quest := datensatz.quest;
fragen[i].a1 := datensatz.a1;
fragen[i].a2 := datensatz.a2;
fragen[i].a3 := datensatz.a3;
fragen[i].a4 := datensatz.a4;
fragen[i].correct := datensatz.correct;
Form8.Label3.Caption := fragen[1].quest;
Form8.RadioButton1.Caption := fragen[1].a1;
Form8.RadioButton2.Caption := fragen[1].a2;
Form8.RadioButton3.Caption := fragen[1].a3;
Form8.RadioButton4.Caption := fragen[1].a4;
end;
end;
end;
procedure TForm8.Button2Click(Sender: TObject);
var
richtig: boolean;
begin
//Versuch die .txt datei zu lesen um zu schreiben
AssignFile(t, ''+n+'.'+vn+'.txt');
ReWrite(t);
//Testprozedur
WriteLn(t,'');
WriteLn(t,'Frage: '+fragen[qnr].quest );
WriteLn(t,'Antwort: ');
WriteLn(t,'Punkte: '+ inttostr(points));
//Datei schließen
CloseFile(t);
Form8.Button2.Enabled := False;
Form8.Button3.Visible := True;
richtig := False;
case fragen[qnr].correct of
4: if Form8.RadioButton4.Checked then
richtig := True;
3: if Form8.RadioButton3.Checked then
richtig := True;
2: if Form8.RadioButton2.Checked then
richtig := True;
1: if Form8.RadioButton1.Checked then
richtig := True;
end;
if richtig = True then
begin
points := points + 1;
Form8.Panel2.Visible := True;
Form8.Panel2.font.color := clLime;
Form8.Panel2.Caption := 'RICHTIG!';
end
else
begin
Form8.Panel2.Visible := True;
Form8.Panel2.Caption := 'FALSCH!';
Form8.Panel2.font.color := clRed;
end;
if qnr = 4 then
begin
Form8.Button4.Visible := True;
Form8.BitBtn1.Visible := True;
Form8.Button3.Visible := False;
end;
Form8.RadioButton1.Enabled := False;
Form8.RadioButton2.Enabled := False;
Form8.RadioButton3.Enabled := False;
Form8.RadioButton4.Enabled := False;
end;
procedure TForm8.Button3Click(Sender: TObject);
begin
Form8.Button2.Enabled := True;
Form8.Button3.Visible := False;
Form8.Panel2.Visible := False;
qnr := qnr + 1;
Form8.Label3.Caption := fragen[qnr].quest;
Form8.RadioButton1.Caption := fragen[qnr].a1;
Form8.RadioButton2.Caption := fragen[qnr].a2;
Form8.RadioButton3.Caption := fragen[qnr].a3;
Form8.RadioButton4.Caption := fragen[qnr].a4;
Form8.Image1.Visible := False;
Form8.RadioButton1.Checked := False;
Form8.RadioButton2.Checked := False;
Form8.RadioButton3.Checked := False;
Form8.RadioButton4.Checked := False;
Form8.RadioButton1.Enabled := True;
Form8.RadioButton2.Enabled := True;
Form8.RadioButton3.Enabled := True;
Form8.RadioButton4.Enabled := True;
end;

Ich hoffe Ihr könnt mir dabei helfen