![]() |
Delphi-Version: 10.2 Tokyo
Compiler erkennt TFileStream nicht
Hallo,
ich habe gerade eine Unit für ein altes Projekt neu geschrieben und habe auch gleich ein Problem damit. Es geht um die Berechnung der CRC32 und MD5 Prüfsumme für Dateien. Den Code zur Errechnung der MD5 Daten habe ich von hier: ![]() Die Funktion habe ich praktisch komplett übernommen, nur den Namen etwas geändert (in MD5File)... Die Units IdHashMessageDigest und idHash habe ich im Interface deklariert. Probleme gibt es nur bei dieser Funktion. Und zwar erkennt der Compiler den Typ "TFileStream" darin nicht. DIe Fehlermeldung ist E2003: Undeklarierter Bezeichner: 'TFileSTream' Dabei ist TFileStream doch aus der Unit System, und müsste auf jeden Fall gefunden werden! |
AW: Compiler erkennt TFileStream nicht
TFileStream ist aus der Unit System.Classes
|
AW: Compiler erkennt TFileStream nicht
Und bei MD5 nimmt man die vorhanden Funktionalität aus der mitgelieferten Unit Sytem.Hash.
Die URL hat ein Codebeispiel den man bei alten Delphi-Versionen nutzen musste. |
AW: Compiler erkennt TFileStream nicht
ok.
Gibt es auch eine implementierte Funktion, um eine CRC32-Checksumme für Dateien zu erstellen? |
AW: Compiler erkennt TFileStream nicht
Die ist in der Unit pngimage, funktioniert aber nur mit TMemoryStream und dessen Erben (TBytesStream und TStringStream). Einen TFileStream kann man natürlich schnell in einen TMemoryStream kopieren, aber der hat auch LoadFromFile, von daher braucht man das nicht.
Delphi-Quellcode:
function CRC32(Stream: TMemoryStream): Cardinal;
var Bytes: PNGImage.pByteArray; begin Bytes := Stream.Memory; Result := not PNGImage.update_crc(not 0, Bytes, Stream.Size); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz