Einzelnen Beitrag anzeigen

HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
969 Beiträge
 
Delphi 6 Professional
 
#31

AW: Elemente aus TStringList in Laufzeit entfernen

  Alt 17. Nov 2018, 19:49
Hmm..

Zitat:
Die müssen variabel sein.
Du musst du ja auch selber reinladen. Das war nur ein Beispiel.
Du kannst 99% von meinem Code übernehmen. Du musst sie nur selber reinladen.

Ungefähr so

Delphi-Quellcode:
try
 Vocabulary:= TStringList.Create;
 Vocabulary.LoadFromFile('Vocabulary.txt');
 
 for i := 0 to Vocabulary.Count - 1 do
  begin
   Vocab := TVocab.Create;
   Vocab.SolvedCount := 0;
   Vocab.German := Vocabulary.Names[i];
   Vocab.English := Vocabulary.ValueFromIndex[i];
   VokabelListe.Add(Vocab);
  end;
finally
 Vocabulary.Free;
end;
Umd das vielleicht noch zu verdeutlichen, schön in eine Ladeprocedure verpackt:

Delphi-Quellcode:
procedure LoadVocab(VokabelListe : TList<TVocab>);
var
  tmpVocabulary : TStringList;
  Vocab : TVocab;
begin
  try
   tmpVocabulary:= TStringList.Create;
   tmpVocabulary.LoadFromFile('Vocabulary.txt');
 
   for i := 0 to Vocabulary.Count - 1 do
    begin
     Vocab := TVocab.Create;
     Vocab.SolvedCount := 0;
     Vocab.German := tmpVocabulary.Names[i];
     Vocab.English := tmpVocabulary.ValueFromIndex[i];
     VokabelListe.Add(Vocab);
    end;
  finally
   tmpVocabulary.Free;
  end;
end;
(Ungetestet, nur so hingeschrieben )

@KetchUp

Oder wenn Du unbedingt mit der StringList weiter arbeiten möchtest, dann solltest Du dir erstmal über einen grundsätzlichen Ablauf klar sein..

z.B.:

FormCreate
-> Laden der Vokabelliste in die StringList

Im (wahrscheinlich) ButtonClick
-> Prüfen/Arbeiten MIT der Stringliste
-> Nicht wieder neu laden, wozu auch, ist ja bereits

FormClose
-> Mit .Free die Stringliste wieder freigeben (aufräumen!!)
  Mit Zitat antworten Zitat