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:
ich suche gerade zum gleichen Thema und habe marabus Code ausprobiert:
Dabei entdeckte ich einen, schon früher mit anderen Programmen bemerkten Fehler:
Datum und Zeit werden mit Attribut, welches von ftCreationTime ausgelesen wird, nicht richtig wiedergegeben.
Die Aufnahmezeiten, die ich mit ftCreationTime auslese entsprechen nicht dem Zeitpunkt, zu dem die Foto gemacht wurden, sondern dem Zeitpunkt, zu dem die Fotos auf den Rechner überspielt wurden.
Das richtige korrekte Fotoaufnahmedatum lese ich mit ftLastWriteTime aus, also fälschlicherweise mit dem befehl, der das letzte Schreiben des Bildfiles tituliert (also dem Zeitstamp beim Kopieren).
Diese Beobachtung habe ich schon mit dem Fotoprogramm ACDSee gemacht, als ich die zu importierenden Fotos mit dem Aufnahmedatum umbenennen wollte. ACDSee benannte dann die Fotos nicht mit dem AufnahmeDatum um sondern mit dem Änderungs (also dem Zeitstämp des Importierens) um.
Ebenfalls die Verzeichnisnamen in der ACDSee Datenbank haben nicht das AufnahmeDatum sondern den ImportDatum zum Namen.
In ACDSee werden die richtigen Bildnamen erst durch die Umbenennungsfunktion nach Änderungsdatum beim Importieren richtig benannt.
Fazit der ganzen Beobachtung: AufnahmeDatum und Änderungsdatum sind in den jpg-BildHeadern vertauscht.
Diese gilt sowohl für XP home und Vista.
Dieses also eine Bug-Vermutung.
oder nachzulesen im Thread:
http://www.delphipraxis.net/internal...t.php?t=127336
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.