Форум программистов, компьютерный форум, киберфорум
Наши страницы
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Август_раш
7 / 2 / 0
Регистрация: 30.07.2013
Сообщений: 93
1

Триальная версия программы

15.08.2013, 08:43. Просмотров 1252. Ответов 20
Метки нет (Все метки)

День добрый...Подскажите возможно ли в Access, сделать триалку, т.е допустим ставим определенную дату и как время подошло к этой дате, пользователю выходит сообщение о том что пробная версия закончилась
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2013, 08:43
Ответы с готовыми решениями:

Версия программы
Я написал функцию, которая при компиляции программы увеличивает число на 1 в файле version.txt. Как...

Демо-версия программы
Ребят. нужно сделать демо-версии моей программы (связана с базой SQL Server) на C#, но увы,...

Демо-версия программы
Вобщем задача такая- программа должна отработать на компьютере ровно 30 минут , после должно...

Своя версия программы rm
Всем привет, нужно написать такую программу: Напишите свою версию программы rm, используя вызов...

Демо версия программы
Хочу сделать программу на Ассемблере. Сама программа создаёт файл и выводит на экран "Привет мир!"....

20
ltv_1953
Эксперт MS Access
13868 / 6138 / 1247
Регистрация: 21.06.2012
Сообщений: 11,146
15.08.2013, 08:59 2
Возможно. Вариантов много. Прописываете дату в некую таблицу, свойство ... (как больше нравится).
1. При открытии базы в открытии стартовой форме или в AutoExec сравниваете текущую дата с прописанной.
2. В каждую форму в ее открытие прописываете такую проверку.
0
Agapov_stas
3338 / 1756 / 83
Регистрация: 05.08.2010
Сообщений: 4,460
Завершенные тесты: 1
15.08.2013, 10:04 3
Цитата Сообщение от Август_раш Посмотреть сообщение
допустим ставим определенную дату и как время подошло к этой дате
Обходится очень просто, - меняя дату на ПК.
Если именно по дате прям уж хочется, то сверять дату интернета а не системную.
Я обычно делаю на количество запусков(+ естественно защита от Shift и mde)

P.S. если работа студенту, то я обычно даже не делаю защиты ни по дате ни по количеству запусков. Достаточно при запуске БД выводить сообщение о том, что разработчик Вы(Shift + MDE остается). Вряд ли студент понесет с данным сообщением работу преподавателю
0
Август_раш
7 / 2 / 0
Регистрация: 30.07.2013
Сообщений: 93
15.08.2013, 10:12  [ТС] 4
Цитата Сообщение от Agapov_stas Посмотреть сообщение
Обходится очень просто, - меняя дату на ПК.
Так то да...Ну постоянно дату менять тоже не вариант

Если именно по дате прям уж хочется, то сверять дату интернета а не системную.
Я обычно делаю на количество запусков(+ естественно защита от Shift и mde)
защита от Shift у меня уже сделана,. mde если честно только видел краем глаза, как делается еще не изучал (да и считаю что mde делать нужно, когда проект будет полностью готов)

Можете примеры: сверять дату интернета и количество запусков показать
0
15.08.2013, 10:12
Agapov_stas
3338 / 1756 / 83
Регистрация: 05.08.2010
Сообщений: 4,460
Завершенные тесты: 1
15.08.2013, 10:18 5
Цитата Сообщение от Август_раш Посмотреть сообщение
Ну постоянно дату менять тоже не вариант
Почему же постоянно? Достаточно один раз сменить на месяц/2 недели назад. И все.
Цитата Сообщение от Август_раш Посмотреть сообщение
mde если честно только видел краем глаза, как делается еще не изучал
Делается в три клика мышью(Сервис-->Служебные программы-->Создать MDE файл)
Цитата Сообщение от Август_раш Посмотреть сообщение
Можете примеры: сверять дату интернета и количество запусков показать
Сверку с датой в интернете так сходу не найду, но примеров очень много в интернете.
А по количеству записей:
1. Создаете свойство с именем "myProperty". Выполняется один раз при создании.
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
Public Sub crProperty()
    Dim prp As Property
    Set prp = CurrentDb.CreateProperty("myProperty", dbInteger, 0)
    CurrentDb.Properties.Append prp
End Sub

2. Далее при открытии главной формы проверяете значение свойства и добавляете к нему единицу. После достижения указанного значения(например 3 раза) выдаете сообщение(ну или просто закрываете БД)
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Form_Load()
DoCmd.SelectObject acTable, "Таблица", True
DoCmd.RunCommand acCmdWindowHide
DoCmd.ShowToolbar ("Menu Bar"), acToolbarNo
DoCmd.ShowToolbar ("Database"), acToolbarNo
DoCmd.ShowToolbar ("Web"), acToolbarNo
DoCmd.ShowToolbar ("Formatting (Form/Report)"), acToolbarNo
DoCmd.ShowToolbar ("Form View"), acToolbarNo
 
    Dim prp As Property, db As Database
    Set db = CurrentDb
    Set prp = db.Properties("myProperty")
    
    If prp.Value > 3 Then
    MsgBox ("Данная БД разработана на заказ!Обратиться к разработчику можно по электронной почте EMail: Тут Ваша почта...")
    DoCmd.Quit
    Else
    prp.Value = prp.Value + 1
    End If
End Sub
1
ltv_1953
Эксперт MS Access
13868 / 6138 / 1247
Регистрация: 21.06.2012
Сообщений: 11,146
15.08.2013, 10:20 6
Цитата Сообщение от Agapov_stas Посмотреть сообщение
Обходится очень просто, - меняя дату на ПК.
Вот этого делать не стоит, с большой вероятность начнутся проблемы с софтом, на который ограниченная по времени лицензия. В нем, как правило, зашита проверка на не уменьшение системной даты в последовательности вызовов. Можно и в свою программу такую проверку встроить.
0
Agapov_stas
3338 / 1756 / 83
Регистрация: 05.08.2010
Сообщений: 4,460
Завершенные тесты: 1
15.08.2013, 10:23 7
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Вот этого делать не стоит, с большой вероятность начнутся проблемы с софтом, на который ограниченная по времени лицензия.
Пока проблем не было. И я говорю о возможности, а не о "стоит или не стоит".
Тем более сейчас речь идет о MS Access(или Вы о нем же?).
0
ltv_1953
Эксперт MS Access
13868 / 6138 / 1247
Регистрация: 21.06.2012
Сообщений: 11,146
15.08.2013, 10:37 8
Нет. Речь о других программах. Были проблемы у ушлых пользователей с антивирусами и другими, с ограниченной по времени лицензией. Первый раз с такой защитой у MS столкнулся, когда смотрел пробную версию Висты и у NOD была. С тех пор менять системную дату не рискую. Т.е. речь о том, что изменив системную дату ушлый пользователь скорей всего получит проблемы с другим софтом.
1
Август_раш
7 / 2 / 0
Регистрация: 30.07.2013
Сообщений: 93
15.08.2013, 10:40  [ТС] 9
Даже если пользователь поменяет дату на компе, и перестанет работать какая то еще программа(не Access), "ему хошь не хошь" придется поменять ее обратно, чтобы заработали другие программы

Добавлено через 2 минуты
согласен с ltv_1953,
0
Agapov_stas
3338 / 1756 / 83
Регистрация: 05.08.2010
Сообщений: 4,460
Завершенные тесты: 1
15.08.2013, 10:40 10
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Нет. Речь о других программах.
Что ж, пока, видимо, мне везло. Никаких проблем не встречалось.
Но, спасибо за опыт, буду иметь ввиду.
0
Август_раш
7 / 2 / 0
Регистрация: 30.07.2013
Сообщений: 93
15.08.2013, 10:44  [ТС] 11
Agapov_stas, ваш пример конечно изучу (по количеству запусков) интересный вариант, но все же нужно по определенной дате , так как просчитать количество входов до поставленной даты не реально, а нужно чтобы через месяц она перестала работать
0
ltv_1953
Эксперт MS Access
13868 / 6138 / 1247
Регистрация: 21.06.2012
Сообщений: 11,146
15.08.2013, 10:46 12
Цитата Сообщение от Август_раш Посмотреть сообщение
"ему хошь не хошь" придется поменять ее обратно, чтобы заработали другие программы
Если бы просто дату поменять, софт приходилось переустанавливать, сначала вычистив упоминания о нем в реестре.
0
mobile
Эксперт MS Access
24630 / 13438 / 2853
Регистрация: 28.04.2012
Сообщений: 14,734
15.08.2013, 10:50 13
По опыту знаю, что очень низка вероятность того, что сворованная программа будет безошибочно работать у кого-либо, кроме заказчика. Все-таки не коробочная версия, полноценного тестирования не проходила. Поэтому в коммерческом плане выгоднее не делать защит, кроме как от дурака. Пусть воруют . Если интересно, к тебе же прибегут за дополнениями и исправлениями.
0
Agapov_stas
3338 / 1756 / 83
Регистрация: 05.08.2010
Сообщений: 4,460
Завершенные тесты: 1
15.08.2013, 10:59 14
Цитата Сообщение от Август_раш Посмотреть сообщение
но все же нужно по определенной дате
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
Option Compare Database
Const strDate = "15.08.2013"
 
Private Sub Form_Load()
If strDate < Date Then
MsgBox ("Плати деньгу!")
DoCmd.Quit
End If
End Sub

Но, как уже и говорил, обходится легко.
0
Август_раш
7 / 2 / 0
Регистрация: 30.07.2013
Сообщений: 93
15.08.2013, 11:33  [ТС] 15
Цитата Сообщение от ltv_1953 Посмотреть сообщение
Если бы просто дату поменять, софт приходилось переустанавливать, сначала вычистив упоминания о нем в реестре.
Да и с таким сталкивался, очень печально , особенно если программа тяжелая и очень долго ставится

Добавлено через 16 минут
Цитата Сообщение от Agapov_stas Посмотреть сообщение
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
Option Compare Database
Const strDate = "15.08.2013"
 
Private Sub Form_Load()
If strDate < Date Then
MsgBox ("Плати деньгу!")
DoCmd.Quit
End If
End Sub

Но, как уже и говорил, обходится легко.
А как сделать что бы из таблички бралась дата Например: (Табл: "Сертификат" код, ДатаСертификата)
а табличку скрыть, чтобы пользователь вообще думал что такой нет, если вдруг все таки откроет программу каким либо способом
0
Agapov_stas
3338 / 1756 / 83
Регистрация: 05.08.2010
Сообщений: 4,460
Завершенные тесты: 1
15.08.2013, 11:49 16
Цитата Сообщение от Август_раш Посмотреть сообщение
А как сделать что бы из таблички бралась дата Например: (Табл: "Сертификат" код, ДатаСертификата)
Visual Basic
1
2
3
4
5
6
Private Sub Form_Load()
If CurrentProject.Connection.Execute("Select Top 1 ДатаСертификата From Сертификат").Fields(0) < Date Then
MsgBox ("Плати деньгу!")
DoCmd.Quit
End If
End Sub
1
CountMay
6 / 6 / 0
Регистрация: 27.01.2012
Сообщений: 28
15.08.2013, 11:52 17
Можно предложить иной вариант для развития trial версии - ставить просто ограничение на число записей. Так или иначе Ваша программа создаёт какую-то таблицу, данные и т.п. Сделать программное ограничение - не более, например, 100 записей в таблице. Хотите больше - платите, тогда за малую сумму разрешит 1000 записей, за бОльшую - сколько угодно и т.п.
1
Август_раш
7 / 2 / 0
Регистрация: 30.07.2013
Сообщений: 93
15.08.2013, 12:02  [ТС] 18
Цитата Сообщение от CountMay Посмотреть сообщение
Можно предложить иной вариант для развития trial версии - ставить просто ограничение на число записей. Так или иначе Ваша программа создаёт какую-то таблицу, данные и т.п. Сделать программное ограничение - не более, например, 100 записей в таблице. Хотите больше - платите, тогда за малую сумму разрешит 1000 записей, за бОльшую - сколько угодно и т.п.
Тоже интересно, как вариант
0
ltv_1953
Эксперт MS Access
13868 / 6138 / 1247
Регистрация: 21.06.2012
Сообщений: 11,146
15.08.2013, 12:05 19
Другой вариант с датой - писать ее не в таблицу, а в доп. свойства стартовой формы (tag). И проверять при открытии. Добраться до такой даты в откомпилированной базе будет очень сложно.
Visual Basic
1
2
3
4
5
6
Private Sub Form_Open(Cancel As Integer)
    If Date > CVDate(Me.Tag) Then
        Cancel = True
        Application.Quit
    End If
End Sub
1
Август_раш
7 / 2 / 0
Регистрация: 30.07.2013
Сообщений: 93
15.08.2013, 14:40  [ТС] 20
Простите еще за вопрос
Может конечно я уже загоняться стал...(Просто интересно стало, да и научиться хочется).. как сделать, чтобы сообщение бралось из таблицы
Visual Basic
1
MsgBox ("из таблицы")
(Табл: "Сертификат" код, ДатаСертификата, Сообщение)
И вот что в этом сообщение написано будет выдавать пользователю
0
15.08.2013, 14:40
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.08.2013, 14:40

Обновление программы, версия
Ребят как можно реализовать так, чтобы рядом не было файлика типа ver.txt, а все было прямо в...

Триал версия программы
Всем привет. Как создать триал версию программы на сишарпе? Надеюсь, что такое триал объяснять не...

Portable версия программы
Появилась нужда создать портабл версию программы...что бы не мусорила в системе и не сохраняла лог)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru