home *** CD-ROM | disk | FTP | other *** search
- Unit STI_STRU;
-
- Interface
-
- function STI_StructHash(Var Data; Size : word) : word;
- function STI_StructCompare(var Data1,Data2; Size : word) : Boolean;
- procedure STI_StructSwap(var Data1,Data2; Size : word);
-
-
- Implementation
-
- {---------------------------------------------------------------------------}
-
- procedure STI_StructSwap(var Data1,Data2; Size : word);
-
- Var
- Dummy1 : array[1..65535] of byte absolute Data1;
- Dummy2 : array[1..65535] of byte absolute Data2;
- DummyB : Byte;
- Loop : word;
- begin
- for Loop := 1 to Size do
- begin
- DummyB := Dummy1[Loop];
- Dummy1[Loop] := Dummy2[Loop];
- Dummy2[Loop] := DummyB;
- end
- end;
-
- {---------------------------------------------------------------------------}
-
- function STI_StructCompare(var Data1,Data2; Size : word) : Boolean;
-
- Var
- Dummy1 : array[1..65535] of byte absolute Data1;
- Dummy2 : array[1..65535] of byte absolute Data2;
- Loop : Word;
-
- begin
- STI_StructCompare := TRUE;
- for Loop := 1 to Size do
- if Dummy1[Loop] <> Dummy2[Loop] then
- begin
- STI_StructCompare := FALSE;
- Exit;
- end;
- end;
-
- {---------------------------------------------------------------------------}
-
- function STI_StructHash(Var Data; Size : word) : word;
-
- Var
- Temp : longint;
- Loop : word;
- Dummy : array[1..65535] of byte absolute Data;
-
- begin
- Temp := 0;
- for Loop := 1 to Size do
- Temp := Temp + Dummy[Loop];
- STI_StructHash := (Temp mod Size);
- end;
-
- {---------------------------------------------------------------------------}
-
- begin
- end.