English version of the description

Calculation of the 32-Bit CRC (Cyclic Redundancy Codes)

  Polynom: x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x^1+x^0
  Init   : 0
  XorOut : 0

  (c) 2000, Peter J. Haas, Barleben, Germany

    The use and modification are without restriction.
    The Author is interested an any modifications and extensions.

    The use in commercial software is permitted.

    When distribute source text with any modifications, the modification 
    and the origin of the original sources must be recognizable. 

    The functions in the available version come from Peter J. Haas,
    the assembler routines are based on an incorrect Pascal unit from
    unknown source, the other routines are based exclusively on
    algorithms from that down indicated sources and own ideas.


  Description: 
    In order to get a checksum compatible to PKZIP, the start-up value must 
    be -1 and the result must be inverted: 

      Not CalcCRC32(DWord(-1),@Puffer,SizeOf(Puffer));

    or
      CalcCRC32PKZIP(0,@Puffer,SizeOf(Puffer));

    Es besteht die Mglichkeit mit einer dynamisch erzeugten Lookup-Table
    zu arbeiten, dazu mu das Symbol Dynamic_CRC_Table definiert werden.

    It exists to operate the possibility with a dynamically produced Lookup
    Table, in addition the symbol Dynamic_CRC_Table must be defined.

  Remark:
    From compatibility to an older project a routine CRC32R is contained. 
    This routine produces an incorrect value. 

  Sources:
    - Earl F. Glynns, CRC-Project from http://www.efg2.com/lab/
    - ZLib-Sources
    - various CRC-Descriptions

  History:
    2000-06-26  Version 1.0
      - first publication

  Contact:
    EMail:     PeterJHaas@t-online.de,
    HomePage:  http://home.t-online.de/home/PeterJHaas/delphi.htm
}

// Switching on of this definition on reduces the code size by approx. 1024 bytes
{ $define Dynamic_CRC_Table}

Sorry for the bad English, the translation based on Babel Fish
http://babelfish.altavista.com/