AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wie kann ich Erzeugungsdatum einer Datei ermitteln ?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann ich Erzeugungsdatum einer Datei ermitteln ?

Ein Thema von EccoBravo · begonnen am 28. Apr 2008 · letzter Beitrag vom 25. Mai 2008
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#1

Wie kann ich Erzeugungsdatum einer Datei ermitteln ?

  Alt 28. Apr 2008, 10:45
Hallo Kollegen,

wie kann ich das Erzeugungs- oder Änderungsdatum einer Datei (speziell einer *.jpg und *.bmp) ermitteln und neu festlegen?

Vielen Dank

E. B.
Wahre Aussage :=
Katzen, die bellen sind keine Kaninchen.

Der Kreisverkehr ist eine spezielle Form der Einbahnstraße
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#2

Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?

  Alt 28. Apr 2008, 10:47
Moin,

MSDN-Library durchsuchenGetFileTime und MSDN-Library durchsuchenSetFileTime dürften dir weiterhelfen
  Mit Zitat antworten Zitat
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#3

Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?

  Alt 28. Apr 2008, 11:05
Danke,

Die Anwendung der Funktion

DateTimeString := GetFileTime(Filename); führt leider zur Fehlermeldung:

...E2010 Incompatible Typen Cardinal und String

Wie verwende ich die Funktionen GetFileTime und SetFileTime richtig ?

Vielen Dank

E. B.
Wahre Aussage :=
Katzen, die bellen sind keine Kaninchen.

Der Kreisverkehr ist eine spezielle Form der Einbahnstraße
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?

  Alt 28. Apr 2008, 11:06
Frag mal F1
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#5

Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?

  Alt 28. Apr 2008, 11:09
Zitat von EccoBravo:
Wie verwende ich die Funktionen GetFileTime und SetFileTime richtig ?
Glaube du musst
SystemTimeToDateTime(FileTimeToSystemTime(_FILETIME)) machen. Oder so ähnlich

  Mit Zitat antworten Zitat
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#6

Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?

  Alt 28. Apr 2008, 12:12
moin,

schon mal gesucht?


http://www.delphipraxis.net/internal...ht=getfiletime



raik
verhältnisse die einem nicht passen,
muss man verändern oder verlassen
  Mit Zitat antworten Zitat
Benutzerbild von EccoBravo
EccoBravo

Registriert seit: 19. Okt 2004
Ort: Neuruppin
524 Beiträge
 
Delphi 2007 Architect
 
#7

Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?

  Alt 28. Apr 2008, 13:58
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.
Wahre Aussage :=
Katzen, die bellen sind keine Kaninchen.

Der Kreisverkehr ist eine spezielle Form der Einbahnstraße
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?

  Alt 28. Apr 2008, 14:44
Zitat von EccoBravo:
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 ist schon richtig. Wann wurde die Datei auf der Festplatte erzeugt und der Eintrag im dateisystem gemacht? Richtig, als die Datei kopiert wurde. Zu diesem Zeitpunkt wurde sie auf deiner Festplatte erzeugt.

Zitat:
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).
Entweder verstehe ich dich nicht oder du irrst dich. Hast du die Datei kopiert und dannach nicht mher angefasst, entspricht das Kopierdatum dem ftLastWriteTime Zeitpunkt.

Zitat:
Fazit der ganzen Beobachtung: AufnahmeDatum und Änderungsdatum sind in den jpg-BildHeadern vertauscht.
Diese gilt sowohl für XP home und Vista.
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?

  Alt 28. Apr 2008, 14:49
Habe das hier mal benutzt

Erstellungsdatum von Dateien ermitteln

Gruß Sascha
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von prsearcher
prsearcher

Registriert seit: 29. Jun 2007
4 Beiträge
 
Delphi 5 Enterprise
 
#10

Re: Wie kann ich Erzeugungsdatum einer Datei ermitteln ?

  Alt 28. Apr 2008, 14:53
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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz