für ein Projekt, brauche ich unbedingt Assoziative. Alles was ich dazu bisher gefunden habe, basiert auf schleifen. Die sind jedoch für mich zu langsam.
Zum Problem:
Ich habe genau 15 Objekt Listen. Dort speichere ich ein bestimmen eigenen Typ ab. z.b. TPLTestItem.
Alle Einträge haben unter anderem eine ID. Die ist einmalig.
Nun habe ich verschiedene ID-Listen. Wo nur die id's drin stehen. z.b. pl01, pl02, pl03.
Davon habe ich sehr sehr sehr viele. Zu viele um per Schleife ständig in meinen 15 Listen zu suchen.
Ich dachte an Pointer. Aber ich weiß noch nicht genau wie das gehen soll.
mit Property hätte ich ja schon mal einen string ähnlichen zugrieff:
Code: Alles auswählen
TMyClass ....
property StringItem[const aString:String] read GetStr write SetStr.
procedure TMyClass.GetStr(const aText:String)
begin
//....
end;
Über StringItem kann jetzt z.b. so zugegriffen werden:
writeln(StringItem['pl01']);
Problem ist hier, in GetStr und SetStr müsste ich über eine schleife jeweils die passende Index Nummer finden. Aber das währe mir zu langsam.
Ich hoffe ihr könnt das Problem nach vollziehen. Gibt es dafür eine Möglichkeit ? Eventuell könnte ich auch die Index Nummer berechnen. Allerdings sind die Objekte nicht immer gleich groß. Besitzen aber immer die gleichen Variablen.
Ich weiß das Delphi keine "echten" Assoziative wie in PHP, Perl unterstützen. Ich glaube fast ohne eine schleife ist sowas nicht möglich.