![]() |
Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Hallo Kollegen,
wie kann ich das Erzeugungs- oder Änderungsdatum einer Datei (speziell einer *.jpg und *.bmp) ermitteln und neu festlegen? Vielen Dank E. B. |
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
|
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Danke,
Die Anwendung der Funktion
Delphi-Quellcode:
führt leider zur Fehlermeldung:
DateTimeString := GetFileTime(Filename);
...E2010 Incompatible Typen Cardinal und String Wie verwende ich die Funktionen GetFileTime und SetFileTime richtig ? Vielen Dank E. B. |
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Frag mal F1
|
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Zitat:
Delphi-Quellcode:
machen. Oder so ähnlich :stupid:
SystemTimeToDateTime(FileTimeToSystemTime(_FILETIME))
|
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
|
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Hallo Kollegen,
ich bin bei der Problemlösung rein zufällig auf eine interessante Beobachtung gekommen, die ich als Bug-Vermutung äußern möchte Hierzu zitiere ich mich erst mal selbst: Zitat:
![]() jedenfalls nach austauschen des Befehls ftCreationTime und ftLastWriteTime funktioniert es bei mir. Die vom Fotoapparat mit meinem Programm importierten Bilder erhalten nun ihren richtigen Bildnamen, der aus dem AufnahmeZeitpunkt gebildet werden soll. Also nochmals Danke. E. B. |
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Zitat:
Zitat:
Zitat:
Von was reden wir jetzt von den EXIF-Informationen oder von den dateisysteminformationen? Unabhängig davon hat das nichts mit XP oder Vista zu tun, sondern mit der Software, die die EXIF-Daten schreibt. |
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
|
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Hallo zusammen,
kann es sein, dass EccoBravo den Begriff "Erstellungsdatum" falsch interpretiert ? "Erstellungsdatum" meint doch die Dateierzeugung im Windows-Dateisystem und nicht den tatsächlichen Foto-Aufnahmezeitpunkt (Auslöserbetätigung !?!?!?). Der Zeitstempel des Foto-Aufnahmezeitpunkts steht meiner Meinung nach in den sog. EXIF-Daten des Bildes. Hoffe, dass ich EccoBravo mit meinem Kommentar nicht zu nahe getreten bin. Will nur helfen. Schöne Grüße, Do. |
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
prsearcher
Delphi-Quellcode:
:gruebel: :gruebel:
angemeldet: 29.06.2007
Beiträge: 1 |
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Wo ist das Problem?
|
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Zitat:
|
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Da gibt es kein Problem ich finds lustig :mrgreen: sehr zurückgehalten mit so einem Fachwissen
|
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Ihr mögt Euch über mich lustig machen, aber wenn Ihr Euch schon in mehreren Programmen mit solch einer Sache herumgeärgert habt, das auch noch auf mehreren Rechnern / Betriebssystemen / Fotoapparaten, dann würdet Ihr auch stutzig werden.
Und falls Ihr genau gelesen haben solltet, es war eine Bugvermutung und keine Bugbehauptung. Dann mal zur Begriffsbildung, ich bin es gewohnt, Sachen so zu bezeichnen, wie sie auch sind, Und die Dateien von denen ich spreche, entstehen im Fotoapparat, wenn ich auf den Auslöser drücke und nicht erst im Rechner beim Importieren, schliesslich liegen die Bilder auf den Fotoapparatestick als jpg und nicht als Schweizer Käse. Also um uns richtig zu verstehen, es war eine Beobachtung und ich fragte nach Leuten, den ähnliches aufgefallen ist. Und Exif hin und Exif her, entschuldigt bitte, ich konnte mir in meiner Einfältigkeit mit Internet-Hilfe nichts richtiges drunter vorstellen. Vielleicht hätte man sich für Erstellungsdatum und Änderungsdatum auch kompliziertere Begriffe aussuchen sollen, danm wäre es hier wohl nicht zu dieser Konsternation gekommen! Jedenfalls darf ich mich dann auch wundern, wenn ich unter ftCreateTime nicht das Datum der Aufnahme sondern das Überspieldatum auf den Rechner finde und unter ftLastWriteTime nicht das Datum des Importierens (das wäre eigentlich das letzte Schreiben gewesen) sondern das eigentliche Erstelldatum. Aber vielleicht lebe ich hier in einer verkehrten Welt! E. B. |
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Hallo EccoBravo, hier hat sich niemand über Dich lustig gemacht, das hast Du wohl in den falschen Hals bekommen. Und noch einmal zu Deinem Problem: das Erstellungsdatum ist ja das, an dem zu Deiner Datei (also dem Bild) ein Dateisystemeintrag angelegt wurde. Im Normalfall sollte es also das Datum sein, an dem das Bild auf Deinen Rechner kopiert wurde. Das von Dir gesuchte "Erstellungsdatum", an dem das Bild aufgenommen wurde, steht im Header der Bilddatei selbst, den sog. EXIF-Daten, die Du auf andere Weise auslesen musst. Ich hoffe, ich konnte den Sachverhalt korrekt und verständlich wiedergeben.
|
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Zitat:
Und ich denke das man hier gut aufgehoben ist wenn es um Fachfragen geht oder wenn ein Problem zu lösen ist Gruß Sascha |
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Danke DeddyH und fuknersascha,
was ich hier geäußert habe, da bitte ich um Nachsicht bei allen Lesern, ist eine Vermutung. Ich habe alle FileAttribute schon x-mal probiert, mit dem vorhin beschriebenen Resultat. Zu den Exif-Attributen werde ich mich morgen äußern, wenn ich dieses nochmal Mal auf meinem HomeRechner getestet habe. Ich glaube, in die Klapper zu müssen, wenn der x+1te Test nun ein anderes Ergebnis bringen sollte. Und dann einen Gruß an unseren Moderator Luckie - ![]() - auch in der Software gibt es Parallelen. Schließlich verwenden verschiedenen Programme auch mal das gleiche Betriebssystem und solche Querbeobachtungen helfen mitunter, im Puzzle der Softwarewelt Probleme zu erkennen. Gruß E. B. |
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Hi,
das Sortieren und Verarbeiten der Bilder erledige ich inzwischen auch automatisiert. Ich mache es etwa so:
Delphi-Quellcode:
Die Units dazu hab ich gefunden, als ich irgendeinem Link in der DP gefolgt bin. Ich glaub von hier:
ImgData := TImgData.Create;
try ImgData.BuildList := GenAll; ImgData.ProcessFile(Filename); if ImgData.HasEXIF then Date := ImgData.ExifObj.GetImgDateTime else if ImgData.HasIPTC then Date := ImgData.IptcObj.GetDateTime else Date := ImgData.FileDateTime; //Kopieren in Verzeichnis gemäß Datum //Weitere Verarbeitung, z. B. Rotation gemäß der //Exif-Daten finally ImgData.Free; end; ![]() Ich hab zwar glaub ich schon in der TImgData rumgefummelt, aber das Beispiel hier dürfte auch mit dem Original so funktionieren. Ansonsten habe ich die Erfahrung gemacht, dass beim Kopieren / Entpacken / ... immer nur das Datum der letzten Änderung auf den Wert der Originaldatei gesetzt wird, die anderen werden meist nicht beachtet (oder gar nicht erst im Archiv gespeichert). Beim Up/Download von Dateien nicht einmal das. Lade ich etwas auf einen FTP-Server hoch, so ist die "letzte Änderung" der Zeitpunkt des hochladens. Daher ist es eben sinnvoll, die direkt im Bild gespeicherten Daten zu verwenden. Mfg FAlter |
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Vielen Dank FAlter,
Deinen Tip werde ich nachher probieren. E. B. |
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Woher sollen wir hier wissen, dass du von den EXIF-Daten redest? Hier in dem Thread ging es die ganze Zeit um die Zeitstempel des Betriebssystems bzw. Dateisystems.
|
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
@Luckie: War wohl eine Verwechslung der Begrifflichkeiten, kann doch mal vorkommen :zwinker:
|
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Jupp, sage ich ja auch nichts gegen. Nur hat sich EccoBravo irgendwie angegeriffen gefühlt hatte ich das gefühl.
Aber genug jetzt, das ist ja nun geklärt. |
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
OkiDoki,
alles ist ausgesprochen und, denke ich, auch geklärt, Thema beendet, Die Fragerei geht in den nächsten Tagen auf höherem Niveau weiter. Grüße und seid nett zueinander Nachtrag: und das ist das aller wichtigste: ich habe mit diesem Thread mein Problem sehr gut lösen können, mir wurde geholfen und ich habe wieder etwas gelernt. Vielen Dank! E. B. |
Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Ist zwar schon ein paar Tage her ...
War ein Denkfehler, siehe ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:31 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-2025 by Thomas Breitkreuz