Einzelnen Beitrag anzeigen

Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Performance: Welche Methode ist besser für Dateiverwaltu

  Alt 27. Jun 2008, 22:13
Nimm an, dass alle deine Strings maximal 7 Zeichen lang sind - bei Dateiendungen ist das meiner Ansicht nach durchaus praktikabel.

Delphi-Quellcode:
type
TExtStringArray = array[0..(MaxWord div 8 - 1)] of String[7];
PExtStringArray = ^TExtStringArray;

var ExtStrings: PExtStringArray; Str: TIPCStream;
begin
//initialisieren...

ExtStrings := Str.Memory;
end;
Jetzt kannst du direkt auf ExtStrings zugreifen und musst gar nichts mehr mit Str machen. Das einzige Problem liegt in der Threadsicherheit, aber auch das lässt sich lösen, indem man das Längen-Feld des Shortstrings als Flag missbraucht (0 = leer, andernfalls belegt).
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat