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.
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?
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 ??
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.
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
bigpoint Geschrieben 18. Juli 2005 Autor Geschrieben 18. Juli 2005 Fehler gefunden, ich musste noch m_mtime m_atime richtig setzen
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);
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden