Аттачи: сохранить дату изменения файла при извлечении на диск

  • Автор темы zum
  • Дата начала
Статус
Закрыто для дальнейших ответов.
Z
#1
собственно извлекается вложение
после чего дата изменения файла, дата создания ставится текущим временем.
Что в принципе не прально, мы жеж там ниче не меняли...
Как быть? Надо чтобы дата изменения осталась как во вложении
Код:
	Set rtitem = Doc.getfirstitem( "attFile" )
If ( rtitem.Type = RICHTEXT ) Then
Forall pfile In rtitem.EmbeddedObjects
If ( pfile .Type = EMBED_ATTACHMENT ) Then
Filename = Dir+fsep+pfile .Name
Call pfile .extractfile ( Filename )
End If
End Forall
End If
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 585
271
#2
всё логично - произошла запись в ФС - она это зафиксировала
 
F

FixeR

#3
zum
После извлечения можно менять дату создания и модификации файла.
См. функцию SetFileTime.
 
Z
#4
всё логично - произошла запись в ФС - она это зафиксировала
ну какбы да.
но по идеи идет же копирование.
аналогичное выделить старый файлик скопировать в другое место.
И при этом файлик 2, не будет иметь дату изменения - текущую дату.

Ну тут проблема ясна: лотус тупо его пишет заново из ресурсов.
Но как быть если мне нужна именно та дата изменения, что была в исходном файлике?

как это можно победить?


Добавлено:
zum
После извлечения можно менять дату создания и модификации файла.
См. функцию SetFileTime.
спасибо) то что надо наверно

А если система не виндовая?
А лотусовыми средствами?
 
F

FixeR

#5
zum
Лотус, кажется, может только прочитать дату функцией FileDateTime.
Да, вариант только под винду.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 585
271
#6

nvyush

Lotus team
22.04.2009
2 317
0
#7
Странно, уишное сохранение вложения дату создания не меняет...
 

nvyush

Lotus team
22.04.2009
2 317
0
#9
Попробовал такой код:
Код:
	Const fname = "файла.имя"
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim eo As NotesEmbeddedObject

Set db = session.Currentdatabase
Set doc = db.Getdocumentbyid("NoteID")
Set eo = doc.GetAttachment(fname)
Call eo.Extractfile("C:/" + fname)
Дата файла — как у вложения. Версия клиента 8.0.1, 8.5.3

PS Может антивирь чудит.
 

Мыш

Премиум
12.02.2008
1 097
10
#10
но по идеи идет же копирование.
Ну это спорный вопрос :) Файл же НЕ существовал на уровне ОС до его детача, правильно? Т.е., создается новый. Другое дело, что Лотус может, и в самом деле, проставлять дату...
 
Z
#11
Ну это спорный вопрос :) Файл же НЕ существовал на уровне ОС до его детача, правильно? Т.е., создается новый. Другое дело, что Лотус может, и в самом деле, проставлять дату...
ну да можно и поспорить. вот когда вы копируете с удаленной машины что-нибудь у вас в системе этого тоже нет, но тем не менее даты не поменяются.
хотя как бы тоже создается новая КОПИЯ файла.
так и не разобрался. Провериил на 2х машинах - даты меняются... дело вряд ли в антивире...
Мб настройки лотусевые какие? Гугл молчит.
 

nvyush

Lotus team
22.04.2009
2 317
0
#12
Провериил на 2х машинах - даты меняются... дело вряд ли в антивире...
Тогда может быть "вирус бродит по Европе"?
Добавлено
Ещё версия — может быть ОС чудит? Я тестил на XP.
 
Статус
Закрыто для дальнейших ответов.