Forum
Grundkurs
»Introduktion
»Snabbguide
»Komponenter
»Händelser
»Strängar
»Räkna med Delphi »Egna
typer
»Selektion
»Iteration
»Menyer
»Funktioner
»Arraystrukturer
Tips & Tricks
»Nya tips
»Blandat
»Databaser
»Filer
»Forms
»Grafik
»Internet
»Komponenter
»Matematik
»Multimedia
»Objekt/ActiveX
»Skrivare
»Strängar
»System
»Mest lästa tips
Artiklar
»Delphi och ADO
»Bygga en DLL
»Skapa en enkel rapport
»Hantera registret
»Enheter, units
»Klassen TCanvas
»Använd LookUp Controls
Nya
tips
Lägg
till tips
Delphilänkar
Gästbok
|
|
Hashfunktion
|
Kategori: Strängar
Inlagt: 2007-01-01
Läst: 1415
Inlagt av: Albin
|
Beskrivning |
Här följer ett exempel på en hashfunktion som återfinns i dbtables.pas.
|
Kod |
function GetHashCode(Str: PChar): Integer; var Off, Len, Skip, I: Integer; begin Result := 0; Off := 1; Len := StrLen(Str); if Len < 16 then for I := (Len - 1) downto 0 do begin Result := (Result * 37) + Ord(Str[Off]); Inc(Off); end else begin //Only sample some characters Skip := Len div 8; I := Len - 1; while I >= 0 do begin Result := (Result * 39) + Ord(Str[Off]); Dec(I, Skip); Inc(Off, Skip); end; end; end;
|
|
|