unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TVokabeltrainer =
class(TForm)
b_next: TButton;
b_Cheat: TButton;
b_submit: TButton;
l_frage: TLabel;
l_checkup: TLabel;
l_antwort: TLabel;
l_losungdirekt: TLabel;
RadioGroup1: TRadioGroup;
OpenDialog1: TOpenDialog;
l_loesung: TEdit;
ListBox1: TListBox;
l_Check: TLabel;
VocListe: TButton;
l_cheat: TLabel;
procedure FormCreate(Sender: TObject);
procedure b_submitClick(Sender: TObject);
procedure b_nextClick(Sender: TObject);
procedure b_CheatClick(Sender: TObject);
procedure VocListeClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
const
max=8;
var
Vokabeltrainer: TVokabeltrainer;
datei: TextFile;
DateiName:
string;
a_vok:
Array[1..max]
of String;
// hier werden die Vokabeln/Fragen gespeichert
a_antwort:
Array[1..max]
of String;
// hier werden die Antwortmöglichkeiten gespeichert
a_richtig:
Array[1..max]
of String;
i: Integer;
implementation
{$R *.dfm}
procedure TVokabeltrainer.FormCreate(Sender: TObject);
begin // Vokabeln, Antwortmöglichkeiten und richtige Antworten werden hier ausgegeben
if MessageDlg('
Bitte wählen sie jetzt eine Vokabel-Liste zum Üben aus',mtInformation, [mbOK], 0) =mrYES
then
l_cheat.Visible:=false;
//zeigt die Cheat option NOCH nicht an
if OpenDialog1.Execute
then { Dialog zum Dateiöffnen anzeigen }
begin
AssignFile(Datei, OpenDialog1.FileName);
{ Datei ausgewählt }
Reset(datei);
Readln (Datei, a_vok[i]);
//Readln(datei, dateiname); { Erste Zeile der Datei lesen }
Readln (Datei, a_antwort[i]);
Readln (Datei, a_antwort[i+1]);
Readln (Datei, a_antwort[i+2]);
Readln (Datei, a_richtig[i+3]);
radiogroup1.items[0]:=a_antwort[i];
radiogroup1.items[1]:=a_antwort[i+1];
radiogroup1.items[2]:=a_antwort[i+2];
l_frage.caption:='
Übersetze ' + a_vok[i];
end;
end;
procedure TVokabeltrainer.VocListeClick(Sender: TObject);
begin // Vokabeln, Antwortmöglichkeiten und richtige Antworten werden hier ausgegeben
if OpenDialog1.Execute
then { Dialog zum Dateiöffnen anzeigen }
begin
AssignFile(Datei, OpenDialog1.FileName);
{ Datei ausgewählt }
Reset(datei);
Readln (Datei, a_vok[i]);
//Readln(datei, dateiname); { Erste Zeile der Datei lesen }
Readln (Datei, a_antwort[i]);
Readln (Datei, a_antwort[i+1]);
Readln (Datei, a_antwort[i+2]);
Readln (datei, a_richtig[i+3]);
radiogroup1.items[0]:=a_antwort[i];
radiogroup1.items[1]:=a_antwort[i+1];
radiogroup1.items[2]:=a_antwort[i+2];
l_frage.caption:='
Übersetze ' + a_vok[i];
end;
end;
procedure TVokabeltrainer.b_submitClick(Sender: TObject);
// überprüft die Antwort aus dem Auswahlmenü
begin
If (Radiogroup1.itemindex=-1)
and (l_loesung.text='
')
then // keine Antwort angegeben
begin
l_checkup.caption:='
Bitte eine Auswahl treffen';
l_checkup.font.color:=clblack;
end
else
If (radiogroup1.items:=a_richtig[i+3])
or (l_loesung.text:=a_richtig[i])
then // richtige Antwort
begin
l_checkup.caption:='
Richtig!';
l_checkup.font.color:=clgreen;
end
else // falsche Antwort
begin
l_checkup.caption:='
Falsch!';
l_checkup.font.color:=clred;
end;
end;
procedure TVokabeltrainer.b_nextClick(Sender: TObject);
begin // nächste Frage anzeigen
//i:=random(max)+1;
l_frage.caption:='
Vokabel: ' + a_vok[i];
radiogroup1.items[0]:=a_antwort[i+1];
radiogroup1.items[1]:=a_antwort[i+2];
radiogroup1.items[2]:=a_antwort[i+3];
radiogroup1.itemindex:=-1;
l_checkup.caption:='
';
l_loesung.Text:='
';
end;
procedure TVokabeltrainer.b_CheatClick(Sender: TObject);
begin // gibt die richtige Lösung aus
l_cheat.caption:='
How about: ' + a_antwort[a_richtig[i+4]] ;
l_cheat.font.color:=clblack;
l_cheat.font.size:=16;
l_cheat.font.size:=16;
end;
end.