Veröffentlicht 7. Juli 200520 j Hallo, wie kann ich (mit Hilfe von MFC) von eine Datei die Details (Dateiname, Größe, Typ) lesen bzw. verändern.
7. Juli 200520 j 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?
7. Juli 200520 j Autor 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 ??
7. Juli 200520 j 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.
18. Juli 200520 j Autor 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
18. Juli 200520 j 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);
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.