Dass du alle Daten in Records bereits im Speicher hast ist doch eigentlich was cooles. Das mit der
SQL-Datenbank war sicher gut gemeint, aber nur um Sortierung/Gruppierung nicht selbst machen zu müssen würde ich das jetzt auch als Overkill empfinden.
Mit den in Delphi enthaltenen Bordmitteln macht das Filtern, Gruppieren und sonstiges aber auch wirklich keinen Spaß. Ich würde dir
wirklich empfehlen, dir mal die
Spring4D-Bibliothek für Delphi anzuschauen, die darin enthaltenen Collections sind großartig und erinnern mit ihren Möglichkeiten zur Filterung und Sortierung an LINQ aus .NET.
Hier ein Beispiel für deine Autos:
Delphi-Quellcode:
bmws := autos.Where(
function(const auto: TAuto): Boolean
begin
Result := (auto.Marke = 'BMW');
end
);
Oder du willst nur wissen, ob von den BMWs wenigstens einer defekt ist:
Delphi-Quellcode:
bmws.Any(
function(const auto: TAuto): Boolena
begin
Result := (auto.Notiz = 'Defekt')
end
)
Um ein paar vernünftige Collections mit den Möglichkeiten kommt man mittelfristig eigentlich nicht umher, haben andere Programmiersprachen ja auch schon direkt in ihrer Standardbibliothek. Wärmste Empfehlung: Schau dir Spring4D mal an, danach weißt du nicht mehr, wie du jemals ohne konntest.