Ich denke es müsste eher heißen
Vocab.Repetitions := Vocab.Repetitions - 1;
Aber ich muss doch noch sagen bei welcher Vokabel er 1 vom Repetitions Wert abzieht, oder? Also:
Vocab[RandomNumber].Repetitions:= Vocab[RandomNumber].Repetitions - 1;
Außerdem fehlt noch der wichtigste Bestandteil von Allem: die LISTE!
Die ganzen Records bringen dir nix wenn du keine Liste hast.
Meinst du das mit Liste:
Delphi-Quellcode:
type
TVocab = record
German, English: string;
List: String;
Repetitions: Integer;
end;
Dann in FormCreate:
Delphi-Quellcode:
Vocabulary:= TStringList.Create;
Vocabulary.LoadFromFile('Vocabulary.txt');
RandomNumber:= random(Vocabulary.Count);
L_RemainingWords.Caption:= 'Verbleibende Vokabeln: '+IntToStr(Vocabulary.Count);
If GermanEnglish
Then
try
for i:= 0 to Vocabulary.Count - 1 do
Begin
//Vocab:= TVocab.Create;
Vocab.English:= Vocabulary.Names[i];
Vocab.German:= Vocabulary.ValueFromIndex[i];
Vocab.Repetitions:= RepititionValue[i];
//Vocab.SolvedCount:= 0;
List.Add(Vocab);
L_UnknownWord.Caption:= Vocab.English[RandomNumber];
L_CorrectAnswer.Caption:= '';
End;
finally
end
Hier wird doch für jede Vokabel der Repetitions Wert auf RepetitionValue gesetzt.
Code:
Vocab[RandomNumber].Repetitions:= Vocab.Repetitions[RandomNumber] - 1;
Also müsste er damit (wie gesagt) in OnClick vom Repepitions Wert der zufällig ausgewählten Vokabel 1 abziehen.