Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by jaenicke,
21. Okt 2012
Ja, du siehst das richtig was Pointer angeht. Ich habe z.B. immer einen Startpointer für den aktuellen Bereich und einen Laufpointer. Habe ich dann ein Element identifiziert, kopiere ich einfach ab dem Startpointer den String heraus. Die Länge bekomme ich durch die Differenz mit dem Laufpointer.
Auf diese Weise muss nur etwas kopiert werden, wenn ich auch etwas herauskopieren will.
Ein...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by jaenicke,
21. Okt 2012
Auweia, das ist aber auch bei weitem nicht so schwer wie du es jetzt gepostet hast. :shock:
Beispiel:var
MyString: String;
MyPtr: PChar;
begin
MyString := 'Hallo Welt';
MyPtr := PChar(MyString);
ShowMessage(Copy(MyPtr, 1, 5)); // 'Hallo'
Inc(MyPtr, 6);
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by jaenicke,
20. Okt 2012
Die schnellste Variante sind MMFs wie ich sie in meinem Programm auch nutze. ;-)
Schau es dir einfach mal an, das ist nicht so kompliziert.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by jaenicke,
20. Okt 2012
Ein Parser kann sehr gut mit Pointern arbeiten. Einen recht schnellen habe ich in meinem Registryeditor geschrieben:
http://www.delphipraxis.net/137675-regedit-xtreme-0-2-pre-alpha-vorschauversion-7-a.html
Der schafft das Lesen und Parsen eines Registry-Exportes mit ca. zwei Dritteln der sequentiellen Festplattengeschwindigkeit.
Ein anderer Parser, den ich beruflich für eine eigene...