bigpoint Geschrieben 7. Juli 2005 Geschrieben 7. Juli 2005 Hallo, wie kann ich (mit Hilfe von MFC) von eine Datei die Details (Dateiname, Größe, Typ) lesen bzw. verändern. Zitieren
Klotzkopp Geschrieben 7. Juli 2005 Geschrieben 7. Juli 2005 Die Länge einer Datei bekommst du mit CFile::GetLength. Name und Typ brauchst du nicht zu "lesen", die brauchst du doch schon, um die Datei zu identifizieren. Umbenennen kannst du eine Datei mit CFile::Rename. Die Größe der Datei kannst du nicht ändern, ohne den Inhalt zu ändern. Wozu auch? Zitieren
bigpoint Geschrieben 7. Juli 2005 Autor Geschrieben 7. Juli 2005 Erst mal Danke, Die Größe der Datei kannst du nicht ändern, ohne den Inhalt zu ändern. Wozu auch? das ist klar, kann ich aber Erstellung bzw. Änderungsdatum ändern ?? Zitieren
Klotzkopp Geschrieben 7. Juli 2005 Geschrieben 7. Juli 2005 kann ich aber Erstellung bzw. Änderungsdatum ändern ??Ja. Falls du auch wissen willst, wie: CFile::SetStatus. Es wäre vermutlich hilfreich, wenn du dir selbst die Member von CFile etwas genauer ansiehst. Dann brauchst du nicht wegen jeder neuen Eigenschaft nachzufragen. Zitieren
bigpoint Geschrieben 18. Juli 2005 Autor Geschrieben 18. Juli 2005 Ja. Falls du auch wissen willst, wie: CFile::SetStatus. Es wäre vermutlich hilfreich, wenn du dir selbst die Member von CFile etwas genauer ansiehst. Dann brauchst du nicht wegen jeder neuen Eigenschaft nachzufragen. hm... also ich habe versucht die Änderungsdatum von einem Word Dockument so zu ändern: CFile file; CFileStatus filestatus; CTime time; time.Format("12.12.2004"); filestatus.m_ctime = time; try{ file.SetStatus(spath,filestatus); }catch(CException e){ AfxMessageBox(e.GetErrorMessage(sfehler,255)); } [/PHP] leider bricht das Programm bei SetStatus (AfxTimeToFileTime(status.m_mtime, &lastWriteTime)) ab Zitieren
bigpoint Geschrieben 18. Juli 2005 Autor Geschrieben 18. Juli 2005 Fehler gefunden, ich musste noch m_mtime m_atime richtig setzen Zitieren
Klotzkopp Geschrieben 18. Juli 2005 Geschrieben 18. Juli 2005 CFileStatus enthält noch mehr Informationen als nur den Erstellungszeitpunkt. Die musst du auch setzen. Am einfachsten erreichst du das, indem du den Status ausliest (CFile::GetStatus), dann das Erstellungsdatum änderst und den Status wieder setzt. Übrigens: SetStatus und GetStatus sind statische Methoden, für die brauchst du keine Instanz von CFile. DU kannst sie direkt so aufrufen: CFile::SetStatus(spath,filestatus); Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.