dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VB.NET сохранение файла при закрытии крестом.

VB.NET сохранение файла при закрытии крестом.

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 18.01.2018, 14:54
VB.NET сохранение файла при закрытии крестом.
gizmo_zx
 
Проектировщик ЭО,ЭМ, ЭОС
 
Нижний Новгород
Регистрация: 18.07.2007
Сообщений: 209
Отправить сообщение для gizmo_zx с помощью ICQ Отправить сообщение для gizmo_zx с помощью Skype™

gizmo_zx вне форума Вставить имя

Бодрого дня.
Может у кого есть готовое решение?
Если файл был открыт более 30 мин, при закрытии его крестом (выбран без сохранения) сохранить копию по месту расположения файла с расширением ".bak+"
Просмотров: 2476
 
Непрочитано 25.01.2018, 15:10
#21
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 5,238


Ну и про идентификацию файла тоже не забывайте: если в проектах файлы называете однотипно, то вполне вероятно совпадение имен файлов из разных проектов с затиранием предыдущей копии в папке теневых копий. Проще всего создавать структуру папок, аналогичную структуре на сервере - это несколько строчек добавит в код. Естественно, не всю структуру папок сервера - а где только были измененные пользователем файлы.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 25.01.2018, 15:11
#22
gizmo_zx

Проектировщик ЭО,ЭМ, ЭОС
 
Регистрация: 18.07.2007
Нижний Новгород
Сообщений: 209
Отправить сообщение для gizmo_zx с помощью ICQ Отправить сообщение для gizmo_zx с помощью Skype™


Я костыли нашел!!!

Код:
[Выделить все]
Function GetLispSym(symbolName As String) As Variant 'Retrieves a variable from ACAD (LISP)
Dim sym, VL As Object

Set VL = CreateObject("VL.Application.16")
Set sym = VL.ActiveDocument.Functions.Item("read").funcall(symbolName)
GetLispSym = VL.ActiveDocument.Functions.Item("eval").funcall(sym)
Set VL = Nothing
Set sym = Nothing
End Function

Private Sub AcadDocument_BeginDocClose(Cancel As Boolean)
    Dim i, i2, i3, i4, ig, igt, igr As Integer
    Dim sysVarTime_open, sysVarTime_open2, filename As String
    'Dim Variable1 As String
    sysVarTime_open = GetLispSym("USERS2") ' чтение переменной LISP

            i = Val(Mid(sysVarTime_open, 10, 1))
            i2 = Val(Mid(sysVarTime_open, 11, 1))
            i3 = Val(Mid(sysVarTime_open, 12, 1))
            i4 = Val(Mid(sysVarTime_open, 13, 1))
            ig = i * 1000 + i2 * 100 + i3 * 10 + i4
            
            sysVarTime_open2 = Str(Time)

            i = Val(Mid(sysVarTime_open2, 1, 1))
            i2 = Val(Mid(sysVarTime_open2, 2, 1))
            i3 = Val(Mid(sysVarTime_open2, 4, 1))
            i4 = Val(Mid(sysVarTime_open2, 5, 1))
            igt = i * 1000 + i2 * 100 + i3 * 10 + i4
    
    
            igr = igt - ig
    ThisDrawing.Utility.Prompt "VBA: USERS2=" & igr & vbCrLf
End Sub
В автозагрузке :
Код:
[Выделить все]
(setq  USERS2 (getvar "CDATE"))
; Хранение даты открытия файла
gizmo_zx вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 25.01.2018, 15:27
#23
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 5,238


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

----- добавлено через ~18 мин. -----
По сути, есть три связанные задачи:
1. Создание теневой копии файла на случай забывчивости сохранения.
2. Создание при сохранении пользователем вместо *.bak группы файлов с %Имя файла%_%Дата_время%.dwg. Чтобы в случае проблем с чертежом или не знающим чего само хочет руководством/заказчиком можно было всегда откатиться назад.
3. Подмена автосохранения опять же осмысленным %Имя файла%_%Дата_время%.dwg.

Даже после скачка курса стоимость дискового пространства гораздо меньше стоимости работы проектировщиков, чтобы его экономить.
Сергей812 вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VB.NET сохранение файла при закрытии крестом.

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос имени редактировавшего при закрытии dwg файла Raznouh AutoCAD 16 02.11.2015 05:02
Проблемный файл, не работает буфер обмена и сохранение файла KOT404 AutoCAD 26 13.01.2014 07:58
Помогите отключить принудительное сохранение при закрытии файла! Gizmo2k AutoCAD 7 27.07.2011 10:45
Как отключить автосохранение при закрытии файла? fenix72 AutoCAD 2 25.10.2010 11:24
Как отключить создание каждый раз нового файла .bak при нажатии на кнопку "Сохранить" или при закрытии любого файла .dwg в Автокад 2008? gve2005 AutoCAD 4 30.10.2009 10:30

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||