Hallo! Kennt jemand ein Progrämmchen, das das Datum einer Datei verändern kann. Ich habe es probiert mit der Funktion "FileSetDate" von CBuilder aber es hat nicht funkionniert. Die Funktion liefert immer den Fehlercode 87???? void __fastcall TForm1::Button1Click(TObject *Sender) { short age; int iFileHandle; int error_code; age = (1999<<9) | (12<<5)|6; age = 0xFFFF; if ((iFileHandle = FileOpen("sample.doc", fmOpenRead)) == NULL) MessageBox(0,"","error by opening the file",0); else { error_code = FileSetDate(iFileHandle, age); if(error_code) MessageBox(0,"","FileSetDate error",0); FileClose(iFileHandle); } } MFG laspalmas
die api Funktion für windows ist SetFiletime. Bist du dir bei FileSetDate sicher das die Datei offen sein kann? dann Beim schliesen wird ja das LastAccessTime neu gesetzt. Weche Zeit möchtest du überhaupt setzten? CreationTime, astAccessTime, LastWriteTime ?
hatte ich ja glatt übersehen: short age; age = (1999<<9) | (12<<5)|6; age = 0xFFFF; das Passt doch alles nicht zusammen? Bei welchem System wird dann die Zeit als Short gespeichert? Dann Überschreibt das age = 0xFFFF; die andere Berechnung. (1999<<9) Sollte auch nicht mehr in Short reinpassen.
Danke für die schnelle Antwort. laut Builderhilfe: Age ist der Zeitstempel, welcher der angegeben Datei zugewiesen werden soll.Ich bin davon ausgegangen dass es ein Dos-Datum ist. Beim close bleibt das Datum unverändert. Sorry das "age = 0xFFFF;" war nur ein patch habe ich vergessen. Mir war wichtig zuerst zu sehen ob sich was tut und est dann kann ich das Datum richig einstellen. Ich möchte ein beliebiges Datum reinschreiben. Ich versuche es mal mit SetFileTime. Gruß
Vielen Danke "Angst". Es hat funktionniert. Ich hatte keine Angst beim Installieren des "Edit Date" ;-) Gruß laspalmas
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.