AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Elemente aus TStringList in Laufzeit entfernen

Ein Thema von KetchUp · begonnen am 16. Nov 2018 · letzter Beitrag vom 25. Nov 2018
Antwort Antwort
KetchUp

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

AW: Elemente aus TStringList in Laufzeit entfernen

  Alt 17. Nov 2018, 13:40
Woher kommt WordCount, das darf maximal Vocabulary.Count - 1 sein.
WordCount wird unter "FormCreate" auf 3 Festgelegt (nur zum testen). Es sind auch genau 3 Vokabeln in der TXT-Datei die im Moment so aussieht:

Code:
black=schwarz
red=rot
blue=blau
In FormCreat steht noch folgendes damit die erste Vokabel sofort bei Programmstart angezeigt wird:

Code:
 WordCount:= 3;
 RandomNumber:= random(WordCount);                  

    try
      Vocabulary:= TStringList.Create;                
      Vocabulary.LoadFromFile('Vocabulary.txt');      

      L_UnknownWord.Caption:= Vocabulary.ValueFromIndex[RandomNumber];
      L_CorrectAnswer.Caption:= '';

      finally
      Vocabulary.Free;
    end

Wenn Du aber erst eine Zufallszahl im Bereich bis WordCount "würfelst", aber WordCount zufällig größer als Vocabulary.Count - 1 ist, kann es sporadisch Fehler geben.
Der Fehler tritt IMMER auf. Das ist ja das Komische.



Die Vokabeln für jede einzelne Abfrage neu zu laden, halte ich nicht für so eine besonders gute Idee.
Jap, das hab ich mir auch gedacht, ist aber im Moment die einzige Möglichkeit das Programm zum Laufen zu bekommen
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#2

AW: Elemente aus TStringList in Laufzeit entfernen

  Alt 17. Nov 2018, 13:50
gelöscht

Geändert von DieDolly (18. Nov 2018 um 13:21 Uhr)
  Mit Zitat antworten Zitat
KetchUp

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

AW: Elemente aus TStringList in Laufzeit entfernen

  Alt 17. Nov 2018, 14:00
[QUOTE=DieDolly;1418306]
Zitat:
Beispielhaft das Record
Delphi-Quellcode:
TVocab = record
 German, English: string;
end;
Beim Laden des Programms erzeugst du für jede Vokabel ein Record und packst sie alle in eine Liste.
Danke für den Tipp, ich hab zwar keine Ahnung von Records, werde mich aber jetzt mal einlesen.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#4

AW: Elemente aus TStringList in Laufzeit entfernen

  Alt 17. Nov 2018, 14:02
Es wird sich lohnen. Das sage ich immer wieder.
Am besten gleich richtig machen denn sonst wirst du deinen Code später hassen.

Stell dir ein Record vor wie eine Kiste für Schrauben. In der Kiste gibt es Fächer für jede Schraubenart. Deine Kiste heißt TVocab (wovon du eine "Instanz" erstellst die dann in die Liste [die Liste ist dein Schrank wo all die Kisten drin sind] kommt) in deine Kiste kann zwei Arten von Schrauben fassen: Deutsche und Englische. Das sind natürlich Strings.

http://www.delphibasics.co.uk/Article.asp?Name=Records
https://stackoverflow.com/questions/...ist-of-records
  Mit Zitat antworten Zitat
KetchUp

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

AW: Elemente aus TStringList in Laufzeit entfernen

  Alt 17. Nov 2018, 14:09
Funktioniert das noch mit der TStringList? Denn ich muss die Vokabeln während der Laufzeit entfernen können und jeder Vokabel eine Variable zuordnen können um zu überprüfen, wie oft sie schon richtig eingegeben wurde.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#6

AW: Elemente aus TStringList in Laufzeit entfernen

  Alt 17. Nov 2018, 14:12
gelöscht

Geändert von DieDolly (18. Nov 2018 um 13:21 Uhr)
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#7

AW: Elemente aus TStringList in Laufzeit entfernen

  Alt 17. Nov 2018, 14:24
Heute will ich mal nett sein. Hier ein Beispiel mit generischer TList und Klasseninstanzen.
Gelöscht weil der TE sich nur für deine StringListe interessiert

Geändert von DieDolly (18. Nov 2018 um 13:20 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:10 Uhr.
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-2025 by Thomas Breitkreuz