Die HashString.dll errechnet die Hash-Summe für Strings. Somit müssen bei Vergleichen nicht die Strings verglichen werden (= langsam), sondern nur LongInts.
Die verwendete Technik arbeitet sehr schnell und ist relativ sicher gegenüber Kollisionen. Mein Tool XChange arbeitet mit dieser Methode und verwaltet 50000 (eher kurze) Strings, ohne dass eine Kollision stattfinden würde. Ist also mindestens ideal für wenige und mittlere String-Mengen.
Download: http://frabbing.net/HashStringDll.zip
ZitatAlles anzeigenFunktion:
HashString(
Zeiger auf einen String oder Speicher
Länge des Strings oder 0 (erwartet bei 0 abschliessendes Nullbyte)
)Ergebnis: Berechnete Hash-Summe als LongInt (oder bei Fehler -1, kommt nur vor bei Stringlänge = 0)
Beispiele:
----------HashString(bereich#,128)
HashString(Addr(text$),Len(text$))
HashString(Addr(text$),0)