Einzelnen Beitrag anzeigen

KetchUp

Registriert seit: 16. Nov 2018
31 Beiträge
 
#74

AW: Elemente aus TStringList in Laufzeit entfernen

  Alt 22. Nov 2018, 17:47
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.

Geändert von KetchUp (22. Nov 2018 um 17:52 Uhr)
  Mit Zitat antworten Zitat