HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

CRC számítás


A Delphi rejtett képességei 3. rész

Példaprogram letöltése

12901 bájt

A Delphi unit-jai között találunk egy olyan algoritmust, mely képes CRC értéket számítani. Ezt felhasználva nekünk már csak az a teendőnk, hogy készítsünk hozzá egy komponenst, mellyel egyszerűbben felhasználhatjuk ezt az algoritmust és így már akár egy adott memóriaterület, akár egy állomány CRC értékét könnyedén megtudhatjuk.
A mellékelt példaprogram megnyitása előtt a CRC.pas-ban lévő komponenst telepítenie kell a Delphi alá.

A Delphi CD-jén, ahol az elmúlt hetekben bemutatott állomány tömörítő algoritmus is megtalálható, szintén ott kapott helyett a CRC ellenőrző algoritmus is. Az \Info\Extras\Zlib\Src könyvtárban találunk egy crc32.c állományt. Igaz, hogy az algoritmus C nyelvű, de egyszerűsége miatt ebből könnyedén készíthetünk egy Delphi komponenst.

A komponens Execeute eljárását meghívva egy memória terület ellenőrző összegét állíthatjuk elő. Hogy előzőleg mit töltöttünk erre a memória területre, az nyilvánvalóan tetszőleges. Első paraméteréként ennek a memóriaterületnek a címét kell átadnunk. Második paraméterben pedig a terület méretét adjuk meg bájtban.

Ha egy állomány tartalma alapján számított CRC számra vagyunk kíváncsiak, akkor a FileCRC eljárást kell meghívnunk. Paraméterként a kérdéses állomány nevét adjuk át.

Mindkét esetben a Value property-ből tudhatjuk meg a CRC számot.

Megvalósításhoz az Execute eljárásban bájtonként végigmegyünk a kapott memória területen és minden bájtra elvégezzük a CRC számítást a Delphi CD-jén található algoritmus segítségével, melyet a Calculate nevű belső függvényünk valósít meg.

A FileCRC szintén az Execute-t használja fel, annyi csak a különbség, hogy az állomány számára először lefoglalunk egy memória terület, majd betöltjük a teljes állományt, végül az Execute-t meghívjuk átadva az állományt tartalmazó memóriaterületet.

Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 177. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |