AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Erstellt (am) einer Datei ändern

Ein Thema von ---Bernhard--- · begonnen am 5. Okt 2004 · letzter Beitrag vom 9. Okt 2004
Antwort Antwort
Seite 2 von 2     12   
sCrAPt
(Gast)

n/a Beiträge
 
#11

Re: Erstellt (am) einer Datei ändern

  Alt 6. Okt 2004, 16:50
Wo ist dann das Dateisystem? (Soll ich dazu einen neuen Thread eröffnen?) Das Datum wird doch wohl kaum in der Datei gespeichert, oder?

http://og4all.de/s.jpg, sCrAPt
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Erstellt (am) einer Datei ändern

  Alt 6. Okt 2004, 16:53
Moin Scrapt,

da das Thema als solches schon recht komplex ist, und somit die Diskussion umfangreicher ausfallen könnte, wäre ein neuer Thread wohl wirklich besser.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von ---Bernhard---
---Bernhard---

Registriert seit: 26. Dez 2003
Ort: Abensberg
111 Beiträge
 
Delphi 2006 Professional
 
#13

Re: Erstellt (am) einer Datei ändern

  Alt 6. Okt 2004, 22:39
So, jetzt hab ich leider nochmal ein Problem...
Das ändern des Datums einer Datei auf der Festplatte geht zwar jetzt ohne Probleme, aber das ändern auf meinem MP3-(USB)-Stick leider nicht.
Die Funktion gibt immer false zurück (==> nicht erfolgreich). Lesen klappt aber ohne Probleme.
Ich habe den Code von Tubos genommen ( http://www.delphi-source.de/tipps/dateien/?id=80 ).

Hoffe, ihr könnt mir auch bei diesem Problem weiterhelfen...
Danke im Vorraus

Bernhard

PS: Evtl. liegt es daran, dass der Code die Funktion "SetFileTime" von der unit Windows benutzt.

[edit]Benutze WinXP (NTFS) und der Stick ist FAT[/edit]
Bernhard Doll
Das Leben ist ein sch*** Spiel... aber eine super Grafik!!
http://www.doll-online.net
  Mit Zitat antworten Zitat
Benutzerbild von ---Bernhard---
---Bernhard---

Registriert seit: 26. Dez 2003
Ort: Abensberg
111 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Erstellt (am) einer Datei ändern

  Alt 8. Okt 2004, 16:33
Kann mir denn keiner helfen?
Bernhard Doll
Das Leben ist ein sch*** Spiel... aber eine super Grafik!!
http://www.doll-online.net
  Mit Zitat antworten Zitat
sCrAPt
(Gast)

n/a Beiträge
 
#15

Re: Erstellt (am) einer Datei ändern

  Alt 8. Okt 2004, 21:53
Meine bescheidenen aber vieleicht nicht korrekten Vermutungen:
  • Der Stick gibt der Funktion keinen Schreibzugriff
  • Die Funktion funktioniert auf einen FAT-System nicht
  • Der Stick simuliert nur ein FAT-System
Für Alle 3 Vermutungen hätte ich aber keine Lösung :(

http://www.og4all.de/s.jpg, sCrAPt
  Mit Zitat antworten Zitat
Benutzerbild von ---Bernhard---
---Bernhard---

Registriert seit: 26. Dez 2003
Ort: Abensberg
111 Beiträge
 
Delphi 2006 Professional
 
#16

Re: Erstellt (am) einer Datei ändern

  Alt 9. Okt 2004, 11:37
Hi, ich bin’s noch mal.

Hab jetzt bisschen was geändert und herausgefunden, dass er den Pfad nicht gemocht hat. Hab den jetzt geändert und jetzt geht es wieder. Habe den Fehler am Anfang nicht bemerkt gehabt weil es beim Laden keine Probleme gab.

Danke noch mal für eure Hilfe!
Bernhard Doll
Das Leben ist ein sch*** Spiel... aber eine super Grafik!!
http://www.doll-online.net
  Mit Zitat antworten Zitat
Vader

Registriert seit: 6. Mai 2003
804 Beiträge
 
Delphi 6 Enterprise
 
#17

Re: Erstellt (am) einer Datei ändern

  Alt 9. Okt 2004, 12:38
hallo hab den beitrag von delphi-source.de gelesen und hätte da eine frage,
wie rufe ich diese funktion auf die die dateieigenschaften ändern soll ?

In folgender Prozedur wird dargestellt, wie diese drei Daten eines Ordners oder einer Datei auch geändert werden können
Code:
function ChangeFileDate(const path: string; const Creation, LastAccess,
  LastWrite: TDateTime): Boolean;
var
  hFile: THandle;
  ftCreationUTC, ftLastAccessUTC, ftLastWriteUTC: TFileTime;
  ftCreationLocal, ftLastAccessLocal, ftLastWriteLocal: TFileTime;
  stCreationLocal, stLastAccessLocal, stLastWriteLocal: TSystemTime;
begin
  result := false;
  hFile := CreateFile(PChar(path), GENERIC_READ or GENERIC_WRITE, 0, nil,
  OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0);
  if (hFile <> INVALID_HANDLE_VALUE) then
    try
      //Umwandlung von TDateTime in Systemzeitformat
      DateTimeToSystemTime(Creation, stCreationLocal);
      DateTimeToSystemTime(LastAccess, stLastAccessLocal);
      DateTimeToSystemTime(LastWrite, stLastWriteLocal);
      //Umwandlung von Systemzeitformat in lokales Dateizeitformat
      if (SystemTimeToFileTime(stCreationLocal, ftCreationLocal)) and
      (SystemTimeToFileTime(stLastAccessLocal, ftLastAccessLocal)) and
      (SystemTimeToFileTime(stLastWriteLocal, ftLastWriteLocal)) then begin
        //Umwandlung von lokalem Dateizeitformat in Weltzeit
        if (LocalFileTimeToFileTime(ftCreationLocal, ftCreationUTC)) and
        (LocalFileTimeToFileTime(ftLastAccessLocal, ftLastAccessUTC)) and
        (LocalFileTimeToFileTime(ftLastWriteLocal, ftLastWriteUTC)) then begin
          result:=SetFileTime(hFile, @ftCreationUTC, @ftLastAccessUTC, @ftLastWriteUTC);
        end;
      end;
    finally
      CloseHandle(hFile);
    end;
end;

mfg vader
  Mit Zitat antworten Zitat
Benutzerbild von ---Bernhard---
---Bernhard---

Registriert seit: 26. Dez 2003
Ort: Abensberg
111 Beiträge
 
Delphi 2006 Professional
 
#18

Re: Erstellt (am) einer Datei ändern

  Alt 9. Okt 2004, 19:33
Schau dir doch die Deklaration der Funktion an:
Code:
function ChangeFileDate(const path: string; const Creation, LastAccess,
  LastWrite: TDateTime): Boolean;
Also z.B. so:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var erstellung, zugriff, schreibzugriff: TDateTime;
begin
  erstellung := StrToDateTime('01.01.2004 12:00');
  zugriff := StrToDateTime('01.01.2004 12:00');
  schreibzugriff := StrToDateTime('01.01.2004 12:00');
  ChangeFileDate('c:\temp\test.bmp', erstellung, zugriff, schreibzugriff);
end;
Bernhard
Bernhard Doll
Das Leben ist ein sch*** Spiel... aber eine super Grafik!!
http://www.doll-online.net
  Mit Zitat antworten Zitat
Vader

Registriert seit: 6. Mai 2003
804 Beiträge
 
Delphi 6 Enterprise
 
#19

Re: Erstellt (am) einer Datei ändern

  Alt 9. Okt 2004, 19:50
hallo bernhard,

herzlichen dank,so funzt es
mfg vader
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 03:24 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