Delphi-PRAXiS
Seite 8 von 11   « Erste     678 910     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Elemente aus TStringList in Laufzeit entfernen (https://www.delphipraxis.net/198592-elemente-aus-tstringlist-laufzeit-entfernen.html)

hoika 22. Nov 2018 15:59

AW: Elemente aus TStringList in Laufzeit entfernen
 
Hallo,

Repetitions: Integer;

Vocab.Repetitions[RandomNumber]


Was soll der Compiler dann machen, wenn das mit [] auf eine Integer-Variable zugreifst.

Und weiter oben hast Du ja korrekt benutzt
Vocabulary[RandomNumber]

Es müsste also heißen:
Vocabulary[RandomNumber].Repetitions:= Vocabulary[RandomNumber].Repetitions-1;

KetchUp 22. Nov 2018 16:06

AW: Elemente aus TStringList in Laufzeit entfernen
 
Ah, Probier ich gleich mal.

DieDolly 22. Nov 2018 17:21

AW: Elemente aus TStringList in Laufzeit entfernen
 
Zitat:

Zitat von hoika (Beitrag 1418813)
Vocabulary[RandomNumber]

Es müsste also heißen:
Vocabulary[RandomNumber].Repetitions:= Vocabulary[RandomNumber].Repetitions-1;

Ich denke es müsste eher heißen
Delphi-Quellcode:
              Vocab.Repetitions := Vocab.Repetitions - 1;
Außerdem fehlt noch der wichtigste Bestandteil von Allem: die LISTE!
Die ganzen Records bringen dir nix wenn du keine Liste hast.

KetchUp 22. Nov 2018 17:47

AW: Elemente aus TStringList in Laufzeit entfernen
 
Zitat:

Zitat von DieDolly (Beitrag 1418823)
Ich denke es müsste eher heißen
Delphi-Quellcode:
              Vocab.Repetitions := Vocab.Repetitions - 1;

Aber ich muss doch noch sagen bei welcher Vokabel er 1 vom Repetitions Wert abzieht, oder? Also:

Delphi-Quellcode:
Vocab[RandomNumber].Repetitions:= Vocab[RandomNumber].Repetitions - 1;
Zitat:

Zitat von DieDolly (Beitrag 1418823)
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.

DieDolly 22. Nov 2018 17:49

AW: Elemente aus TStringList in Laufzeit entfernen
 
Zitat:

Meinst du das mit Liste:
Nein.

Zitat:

Aber ich muss doch noch sagen bei welcher Vokabel er 1 vom Repetitions Wert abzieht, oder?
Das passiert eben mit der Liste.

KetchUp 22. Nov 2018 17:54

AW: Elemente aus TStringList in Laufzeit entfernen
 
Zitat:

Zitat von DieDolly (Beitrag 1418829)
Nein.

Dann weiß ich nicht mehr weiter :?

KetchUp 22. Nov 2018 22:14

AW: Elemente aus TStringList in Laufzeit entfernen
 
Könnt ihr mir einen Tipp geben wie ich die Liste erstelle?

PS: Upps, wollte keinen Doppelpost machen.

EWeiss 23. Nov 2018 11:11

AW: Elemente aus TStringList in Laufzeit entfernen
 
Zitat:

Zitat von KetchUp (Beitrag 1418859)
Könnt ihr mir einen Tipp geben wie ich die Liste erstelle?

PS: Upps, wollte keinen Doppelpost machen.

Delphi-Quellcode:
Vocabulary:= TStringList.Create;


gruss

KetchUp 23. Nov 2018 13:06

AW: Elemente aus TStringList in Laufzeit entfernen
 
Zitat:

Zitat von EWeiss (Beitrag 1418905)
Delphi-Quellcode:
Vocabulary:= TStringList.Create;

Aber das hab ich doch schon.

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.SolvedCount:= 0;
          Vocab.German:= Vocabulary.ValueFromIndex[i];
          Vocab.Repetitions:= RepititionValue[i];
          List.Add(Vocab);

          L_UnknownWord.Caption:= Vocab.English[RandomNumber];
          L_CorrectAnswer.Caption:= '';
        End;
      finally
    end
Brauche ich denn Vocab:= TVocab.Create; , List.Add(Vocab); und Vocab.SolvedCount ?

Ich müsste doch alles damit regeln können.
Delphi-Quellcode:
  type
    TVocab = record
    German, English: string;
    Repetitions: Integer;
  end;

DieDolly 23. Nov 2018 13:17

AW: Elemente aus TStringList in Laufzeit entfernen
 
Zitat:

Zitat von EWeiss (Beitrag 1418905)
Zitat:

Zitat von KetchUp (Beitrag 1418859)
Könnt ihr mir einen Tipp geben wie ich die Liste erstelle?

PS: Upps, wollte keinen Doppelpost machen.

Delphi-Quellcode:
Vocabulary:= TStringList.Create;


gruss

Es ist eine Liste gemeint, um die Records aufzunehmen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:46 Uhr.
Seite 8 von 11   « Erste     678 910     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz