Kurioses Problem bei neuanlegen einer Datei.
Bevor ich eine neue Datei aus einem eigenen (KEIN ZIP oder so) Archiv als Vorlage extrahiere, prüfe ich ob diese Vorlage schon existiert und nicht verändert wurde.
Eigentlich ist an diesem Code ja nix falsch
&& existierende und geänderte Druckvorlage speichern?
Lo_Fso = CreateObject('Scripting.FileSystemObject')
IF Lo_FSO.FileExists(Lc_File)
Lo_Fil = Lo_Fso.GetFile(Lc_File)
IF Lo_Fil.DateCreated < Lo_Fil.DateLastModified
IF MESSAGEBOX("Änderung speichern", 32+4, "Druckformat wurde geändert") == 6
.Data_Save(Lc_File)
ENDIF
ENDIF
Lo_Fso.DeleteFile(FORCEEXT(Lc_File, "*"))
ENDIF
IF !Lo_FSO.FileExists(Lc_File) && Druckvorlage nochmals bereitstellen
SELECT * FROM (.ArchivAlias) INTO TABLE (Lc_File)
ENDIF
Unmittelbar danach wird diese Datei neu erstellt aber das "Lo_Fil.DateCreated" wird auf die Erstellunszeit der zuvor gelöschten Datei gestellt. das "Lo_Fil.DateLastModified" enspricht aber den Erstellungszeitpunkt.
Optimale Alternativlösung wäre, wenn ich nach dem extrahieren der Datei die beiden Zeitstempel auf den Wert stellen kann, der in meinem Archiv las letzte Speicherung eingetragen ist.
BTW: Ist nicht nur in W11, sondern auch auf W10 getestet
Nachtrag: hab soeben noch paar Tests gemacht
Wenn ich die zu löschende Datei per "DELETE FILE (FORCEEXT(Lc_File, "*")) RECYCLE" lösche, wird auch der Zeitstempel "DateCreated" auf den wert der Ersterstellung gesetzt.
Lösche ich die nun im Papierkorb stehenden Dateien und erstelle die neu, dann stimmt die Erstellungszeit wieder.
Dieser Beitrag wurde von Mike-Ao bearbeitet: 15. August 2024 - 00:48

Hilfe
Neues Thema
Antworten

Nach oben


