Ich habe keine Ahnung, wie rechnerintern Speicherplatz für if...then verwendet wird.
Bei ca. 60 if...then-Zeilen habe ich keine Probleme. Bei längeren "Listen" kommt die
Zuordnung außer Tritt. Wahrscheinlich müsste der Speicherbedarf vorstrukturiert werden, oder?
Nein - es ist das menschliche Hirn, das aus dem Tritt kommt und den Code nicht mehr überblickt.
Du möchtest eine eindeutige Zuordnung schaffen zwischen Suchbegriff und Dateiname. Klassisch könnte man hier ein Dictionary verwenden. Etwas - billiger - aber auch nicht schlecht: TStringList. Auch diese bietet eine Zuordnung zwischen Name und Wert an und der kannst Du sogar sagen, was bei Duplikaten passieren soll.
Davon abgesehen, dass das IF absolut zuverlässig funktioniert, ist es die falsche Herangehensweise bei diesem Problem - weil der Code ein unwartbares Monstrum wird. Das siehst Du ja jetzt schon.
Daniel R. Wolf
mit Grüßen aus Hamburg