
22.02.2009, 11:40
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме: 811764
Репутация:
119
|
|
знаний по делфи у меня мало, хватило только на это:
Код:
function hash_1(var arKey:Pointer, nKeyLength:integer) : LongInt;
var h: longint;
arEnd: Pointer;
begin
h:=5831;
@arEnd := arKey + nKeyLength;
while(arKey < arEnd) do
begin
h:= h + (h Shl 5);
h:= @arKey++;
end;
result:=h;
end.
function hash_2(var arKey:Pointer, nKeyLength:integer) : LongInt;
var h: longint;
arEnd: Pointer;
begin
h:=5831;
@arEnd := arKey + nKeyLength;
while(arKey < arEnd) do
begin
h: = h + (h Shl 5);
h: = h Xor @arKey++;
end;
result:=h;
end.

|
|
|