Forum: Programmieren allgemein
by Schorschi5566,
16. Jun 2011
Echt? Habe im Code genau 2x "" gefunden und da habe ich es ersetzt.
Wenn du die Stelle meinst: pcPattern := @Pattern;
pcText := @Text;
da habe ich auch so keine Calls mehr drin und 'ne Änderung auf PCHar(Pointer(Text/Pattern)) + Offset bringt 'ne Verschlechterung der Laufzeit. :?
Forum: Programmieren allgemein
by Schorschi5566,
16. Jun 2011
Danke, hab's direkt oben eingebaut. :)
Die Good-Table dürfte auch eins zu groß sein, weil bei GoodTable ein Vollmatch vorliegt. Mache ich später noch...muss aber los. ;)
Forum: Programmieren allgemein
by Schorschi5566,
15. Jun 2011
Hallo Himitsu,
bin mir gerade nicht sicher ob wir von der selben Codestelle reden. :) NextStep war ja in der Hauptschleife.
Kann man natürlich ohne Goto machen, aber so wie es da steht, würde ich sagen stimmt es und da hilft auch kein Continue. Aber ich verwende Continue eigentlich nie. Continue setzt doch die aktuelle Schleife fort ohne den Rest der Schleife zu durchlaufen, oder? Wäre in...
Forum: Programmieren allgemein
by Schorschi5566,
14. Jun 2011
Hallo Himitsu,
da hast du aber übersehen, dass Goto Nextstep an das Ende der äußeren Schleife springt, oder? :)
Forum: Programmieren allgemein
by Schorschi5566,
14. Jun 2011
@Deep-Sea:
@jbg:
Danke, das war mir neu. :)
@all:
Ich hab mal den "goto-verseuchten" Teil umgeschrieben. ;)
// Good-Suffix-Table vorwärts
Forum: Programmieren allgemein
by Schorschi5566,
14. Jun 2011
Bin guten Argumenten gegenüber immer aufgeschlossen.
Aber vorhandenen, funktionierenden Code der schönen Struktur wegen zu verlangsamen oder unnötig auszuweiten, widerstrebt mir. ;)
Forum: Programmieren allgemein
by Schorschi5566,
14. Jun 2011
Hallo Deep-Sea,
Danke für den Hinweis.
Fragt sich, was die Ord-Funktion mit Codes über 65535 macht. Wenn einfach weiter gezählt wird, müsste man nur die Arraygröße im Constructor anpassen.
Grüße,
Uwe
Forum: Programmieren allgemein
by Schorschi5566,
14. Jun 2011
Hehe, ich hab's doch gewußt. Na ein Verkünder der "einzigen, reinen Wahrheit", meldet sich halt immer zu Wort. Hat ja oft schon religiöse Züge. Und viele der Verkünder verwenden hemmungslos Break, Exit und try-except-Blöcke (am besten über drei Bildschirmhöhen hinweg). :lol:
Wieso leider und gruselig? Effizient, würde ich sagen. Aber ich will mich nicht mit fremden Federn schmücken. Der...
Forum: Programmieren allgemein
by Schorschi5566,
13. Jun 2011
Hallo Armin,
Danke für den Tipp. Die Generics gibt's auch schon in D2010 aber vermutlich wird ein Suchvorgang über TDictionary länger dauern als auf die Art, wie ich es jetzt mache.
Im Prinzip tut nur das Initialisieren des 64k-Array richtig weh. :D Also lässt man es weg bzw. macht es nur einmal im Constructor. Anschließend werden bei einer neuen Suche nur die Positionen im Array wieder...
Forum: Programmieren allgemein
by Schorschi5566,
13. Jun 2011
Hallo Gausi,
Stimmt, wer sucht schon nach "supersupe". :lol:
Ich hab's jetzt doch mal mit einem 64K-Array probiert. Wenn man ausnutzt, dass das Array zu 0 initialisiert wird, ist die Performance doch recht gut.
// Sprungtabelle für Bad-Character
SetLength(FBadTable, 65536);