Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
|
Re: Variable mit mehreren Werten vergleichen ohne "OR&a
28. Nov 2006, 12:22
JumpTable[AnsiIndexText(s, ['rohr', 'schraube', 'schraubendreher'])];
und ja ist sehr schnell da nur ein Lookup in einer festen Tabelle entsteht und dann ein call ausgeführt wird. Schneller als jede CASE OF Abfrage.
AnsiIndexText() kannte ich noch garnicht, in D5 gibts die noch nicht. Hast du mal in die Implementierung geschaut wie Borland die Suche implementiert hat ?
Jetzt müsste man noch eine Funktion schreiben die den CALL der durch den Compiler erzeugt wird ersetzt durch einen CALL zu einer nested Procedure. Dadurch ist es möglich die Procedures lokal und nested zu codieren und innerhalb dieser Procedures kann man auf den übergeordneten Stack zugreifen. Also wie gewohnt bei nested Funktionen. Das macht dann den Source noch übersichtlicher.
Gruß Hagen
|