![]() |
Identische Files erkennen
Hallo Freunde,
Delphi-Quellcode:
Gibt es eine Möglichkeit, aus den Dateivariablen den Dateinamen zu Extrahieren?
var
f1, f2: file of ...; begin assignFile(f1, DATEINAME_1); reset(f1); ... assignFile(f1, DATEINAME_2); //zu dieser Zeit ist DATEINAME_1 unbekannt reset(f2); ... closeFile(f1); closeFile(f2) end. Der genaue Name ist eigentlich unwichtig...ich muss nur überprüfen, ob die zweite Datei die selbe ist, wie die erste. Wichtig: die beiden Dateinamen existieren nicht zu gleichen zeit! (ich kann also nicht einfach, die beiden auf Gleichheit prüfen). Ich muss also (NUR) mit diesen Datei-Variablen arbeiten...wie verarbeitet die Pascal überhaupt? was steht alles hinter f1 und f2? Der Name (oder eine eindeutige Datei-ID, die für die beiden Variablen, die selbe wäre)? Wenn ja, wie kommt man an diese Informationen? Ich hoffe, dass ihr mir helfen könnt. Bin schon auf Antworten (und vor allem Hintergrund-Informationen) gespannt |
Re: Identische Files erkennen
suche hier im forum mal nach crc32 ;-)
das sollte deine wünsche zufrieden stellen ;-) eidt: hier mal ein gutes bsp solch einer anwendung von drd32! incl erstellen von sfv dateien: ![]() |
Re: Identische Files erkennen
Hallo,
nur als Hinweis: Dafür eignen sich Hashwerte ganz gut. Du erstellst einen Hash der ersten Datei (also einen String-Wert) und wenn es die zweite Datei gibt dort ebenfalls. Diese Strings kannst du dann problemlos vergleichen. Hash-Funktionen findest du in der DP oder natürlich auch im DEC. Grüße |
Re: Identische Files erkennen
Hashs zu verwenden halte ich an dieser Stelle für falsch. Richtig ist meiner Meinung nach
![]() Du kannst auch deine Datei-Variable nach TFileRec casten und dir dort Name anschauen - der Nachteil ist, dass das exakt der Name ist, der bei AssignFile angegeben wird, das kann sich also unterscheiden, falls du es einmal mit Pfad und einmal ohne angegeben hast. |
Re: Identische Files erkennen
du willst also nicht die Dateiihnalte vergleichen?
in NTFS (vorallem in Vista gibt es irgendwo eine nette API dafür) kann man Dateien eine eindeutige ID zuweisen lassen ... diese ID müßt man nur noch auslesen (sollte über das Handle möglich sein) und vergleichen. (aber IDs sind nur innerhalb einer Partition eindeutig ... müßte man nun also noch die Prattition/Laufwerk, wo die dateien drauf sind vergleichen) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:48 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