Hallo,
du könntest eine Art von Problemliste erstellen, in der die Position der "Problemfälle" in deiner Vokabelliste bzw deiner ListBox steht.
Delphi-Quellcode:
...
private
ProblemListe: TList;
ProblemPos: ^Integer;
public
...
procedure TForm2.FormCreate(Sender: TObject);
begin
ProblemListe:= TList.Create;
randomize;
end;
procedure TForm2.FormDestroy(Sender: TObject);
var
i: integer;
begin
for i := 0 to Pred(ProblemListe.Count) do
begin
ProblemPos := ProblemListe.Items[i];
Dispose(ProblemPos);
end;
ProblemListe.Free;
end;
procedure TForm2.eingabeKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
if eingabe.text=loesung then
bewertung.caption:='richtig'
else
begin
bewertung.caption:='falsch';
New(ProblemPos);
ProblemPos^ := 2;//Beispiel (Position in der ListBox)
ProblemListe.Add(ProblemPos);//Problem Position hinzufügen
end;
naufgabe.setfocus;
end;
end;
procedure TForm2.naufgabeClick(Sender: TObject);
var i,art:integer;
begin
listbox1.Items.LoadFromFile('vokabel.txt');
if ProblemListe.Count> 0 then
begin
i:= Random(ProblemListe.Count);
//panel1.Caption:=listbox1.Items.Strings[PInteger(ProblemListe.Items[i])^];
panel1.Caption:=listbox1.Items.names[PInteger(ProblemListe.Items[i])^];
loesung:=listbox1.Items.ValueFromIndex[PInteger(ProblemListe.Items[i])^];
end;
...
end;