Einzelnen Beitrag anzeigen

Majortomster

Registriert seit: 11. Mai 2005
27 Beiträge
 
#9

Re: Arrays, dynamisch-->statisch

  Alt 3. Jun 2005, 14:08
Danke für die vielen Tipps, aber all dies löst mein Problem leider nicht.
Im Einzelnen:
1. Wenn ich SetLength() auf ein dynamisches Array anwende, dann wird es trotzdem nicht zu einem statischen --> unbrauchbar für FindKey()
2. Move-Funktion --> kopiert doch nur Bytes von einem Speicherbereich in einen anderen, damit könnte ich das statische Array zwar füllen, dies löst aber nicht das Problem, wie ich dieses Array denn erstmal "erschaffen" soll (wie gesagt, dessen Größe steht erst zu Laufzeit fest)
3. in for-schleife das statische Array füllen --> siehe Punkt 2.
4. Eigene FindKey-Methode schreiben --> Möglich, aber dann könnte ich auch gleich die Locate-Methode benutzen, die ein dynamisches Array akzeptiert. Ich MUSS aber FindKey benutzen, da es hundert mal schneller ist als Locate. (in eigenen Tests mit einer großen Abfrage-Schleife in einer Paradox-Datenbank: Locate 13:23 Minuten, FindKey 6:33 Minuten

Also nochmal zusammengefasst:
Ich habe ein dynamisches Array (of Variant), dessen Größe erst zur Laufzeit feststeht (max. 10 bis 12 Elemente).
Dieses stellt Zeilenwerte dar, die ich in einer Tabelle finden muss.
Mittels Locate problemlos möglich - aber extrem langsam.
Mittels FindKey wesentlich schneller, aber diese Methode will unbedingt ein statisches Array.
Wie?
  Mit Zitat antworten Zitat