Hallo,
wenn du schon einmal beim Überarbeiten bist, kannst du vielleicht auch die Stringvergleiche in die Klasse
TArtikel verschieben. Das könnte dann so oder ähnlich aussehen:
Delphi-Quellcode:
procedure TNonFoodList.Suchen(locNonFoodList: TNonFoodList; KeyWord: string);
var
Item: Pointer;
begin
for Item in Self do
if TArtikel(Item).ContainsKey(KeyWord) then
locNonFoodList.Add(TArtikel(Item));
end;
function TArtikel.ContainsKey (const aKey: string): Boolean;
begin
Result := ContainsText(ArtikelName, aKey)
or ContainsText(FloatToStr(Menge), aKey)
or ContainsText(FloatToStr(Preis), aKey)
or ContainsText(FloatToStr(Kosten), aKey);
end;
Gruß Hawkeye