- Delphiartiklar, tips, forum, länksamling - 

      

START | DELPHI | LÄNKARGÄSTBOK 




 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: 1355
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; 
 

 
 
© Copyright 2005 - Staffan Berg
- Alla rättigheter förbehålles -