Hmm..
Was für ein Kuddelmuddel!
Letzter Versuch meiner seits...
Zitat:
Delphi-Quellcode:
type
TVocabulary = record
German : TStringList;
English : TStringList;
Repetitions : Integer;
end;
Bei 'Datenverarbeitung' mit mehren Datensätzen (ob dass nun 2 Wörter hier sind, oder ganze Datensätze mit diversen Feldern) gibt es 'immer' nur 'eine' Liste, welche eine beliebige Anzahl von Datensätzen enthält!
Wenn hier im Thread von Records gesprochen wurde, dann sind diese 'Records' jeweis 'ein' Datensatz in der Liste.
Somit
Delphi-Quellcode:
TVocabulary = record
German : String;
English : String;
Repetitions : Integer;
end;
Dies geht übrigens auch als Classe (Object):
Delphi-Quellcode:
TVocabulary = class
German : String;
English : String;
Repetitions : Integer;
end;
Egal ob ObjectList oder StringList, dies sind 'Listen' welche Datensätze (Objecte) enthalten.
Alternativ kannst Du auch ein
TVocabularyList = Array of TVocabulary
verwenden.
Jedoch ist das Löschen von einem Datensatz in diesem Array etwas aufwändiger als bei einer ObjectList.
Denn dann musst Du die verbleibenden Einträge in deinem Array in ein neues, verkleinertes umkopieren und nur den zu löschenden weglassen..
Ich hatte in meinem Beispiel TObjectList verwendet mit Objecten, statt Records, da da die Bearbeitung (löschen) einfach geht.
Hier kümmert sich die TObjectList selber um das Händling..
In meiner
Unit habe ich nur die TObjectList leicht geändert/erweitert, um einfacher auf die Objecte zugreifen und hinzufügen zu können.
Ich werde Dir hier nun kein Beispielprogramm mit Arrays vorkauen...