Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
crossius, ну так для этого при запуске программы поставьте проверку из ветки реестра данных, если ветка пуста - запись текущего времени, если что то там есть, проверить прошел ли час, если он прошел, то не чего не делаем, иначе - выход В каждом человеке солнце. Только дайте ему светить.(с)Сократ
готового варианта разумеется нет. это каждый делает под себя сам. Проблема имеет два пути реализации. 1 - проверять локальное время на компе. После каждой посылки ставить метку времени на компе (в файл, реестр), например номер часа в который произведена посылка. Перед каждой посылкой проверять метку и сравнивать номер часа в ней с локальным временем (см. глобальные переменные [Hour] и другие относящиеся ко времени в справке), если метка меньше то разрешать отправку.
Тут еще две проблемы. 1) локальное время можно открутить назад. 2) можно изменить или удалить метку В первой проблеме поможет второй путь реализации:
2 - проверять время онлайн, например запрашивая содержимое сайта со счетчиком времени и доставать оттуда текст времени.
Во второй проблеме поможет шифрование или такое видоизменение метки, которое понимается только в вашем проекте, это уже дело за вами. При удалении или неправильном изменении метки извне, программа не должна ничего отправлять. Но тут есть еще проблема, при первом запуске когда метка еще не существует ее нужно создать и при этом разрешить отправку. Так что ничего не мешает удалять метку и программа будет думать что метка еще не создана и отправлять спам.
В общем, проблему хорошо спрятать метку времени, что для триала, что в вашем случае решить нереально, любой мало-мальски продвинутый юзер в состоянии мониторить чего куда пишет любая программа. Так что я даже не знаю как толково решить этот вопрос. Как задавать вопросы
"Мало-мальски" не в состоянии, а вот действительно продвинутый... Все зависит от степени "продвинутости".
Нужно исходить из того, что идеальных защит нет, и вопрос взлома любой защиты это всего-лишь вопрос времени, желания и способностей хакера.
Но, от обычных (не продвинутых) пользователей..
В общем случае, проблему хранения метки времени можно попытаться решить через индивидуальный активационный файл, который может быть привязан к конкретному компьютеру (например, через серийный номер тома) и который можно активировать только один раз и только в определнную дату (срок), в него же записать дату, время и код активации, а в последствии заносить время последнего запуска. Файл должен быть шифрованным (даже текстовым), и высылаться по запросу на конкретное имя.
Запускаем программу, файла нет или код активации не совпадает, вообще ничего не прочитать? Бай-бай...
Правда во всем этом есть неудобство - регистрационную базу пользователей придется вести. Как минимум.
Да и если юзверь винт форматнет...
Да и сомнительно, что найдутся воодушевленные юзвери, которым, для подачи заявки, нужно будет ещё и активироваться. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
1 - проверять локальное время на компе. После каждой посылки ставить метку времени на компе (в файл, реестр), например номер часа в который произведена посылка. Перед каждой посылкой проверять метку и сравнивать номер часа в ней с локальным временем (см. глобальные переменные [Hour] и другие относящиеся ко времени в справке), если метка меньше то разрешать отправку.
то о чем - Вы говорите: сможете написать подробный код (не получается у меня использовать Setvar и Def.var
Quote (DEMBEL)
Нужно исходить из того, что идеальных защит нет, и вопрос взлома любой защиты это всего-лишь вопрос времени, желания и способностей хакера.
Нет, защита не нужна, так как программа обычна - и не востребованна.
- Главно затруднить условия пользователю отправлять непрерывно сообщения.
Добавлено (13 Марта 2012, 16:53) ---------------------------------------------
Quote (MicroCip)
1 - проверять локальное время на компе. После каждой посылки ставить метку времени на компе (в файл, реестр), например номер часа в который произведена посылка. Перед каждой посылкой проверять метку и сравнивать номер часа в ней с локальным временем (см. глобальные переменные [Hour] и другие относящиеся ко времени в справке), если метка меньше то разрешать отправку.
то о чем - Вы говорите: сможете написать подробный код (не получается у меня использовать Setvar и Def.var
Quote (DEMBEL)
Нужно исходить из того, что идеальных защит нет, и вопрос взлома любой защиты это всего-лишь вопрос времени, желания и способностей хакера.
Нет, защита не нужна, так как программа обычна - и не востребованна.
- Главно затруднить условия пользователю отправлять непрерывно сообщения.
Добавлено (13 Марта 2012, 16:56) --------------------------------------------- Сорри за 2 сообщение. Интернет вылетел - думал не дошло.
- Главно затруднить условия пользователю отправлять непрерывно сообщения.
тогда просто запоминайте время последней отправки, если оно больше текущего значит пользователь открутил время назад, если меньше менее часа то не разрешать отправку. Используйте конвертацию времени в число для сравнения DateToNum и встроенные глобальные переменные времени типа [Time] или [Hour], метку пишите просто в реестр с минимальным шифрованием каким-нибудь. возможно кто-нибудь потом набросает какой-нибудь код для примера если не получится... Как задавать вопросы
.установка важных переменных SetVar "[RegKey1]" "Software\MyProg\StartDate" SetVar "[MaxDays]" "30"
.конвертирование текущей даты в цифровой формат DateToNum "![DayNum]/[MonthNum]/[Year]" "d/m/y" "[Today]"
.проверка реестра на существующую начальную дату RegistryRead "HKEY_CURRENT_USER" "[RegKey1]" "[StartDate]" If "[StartDate]" "<>" "" .дата существует, это означает, что программа использовалась прежде, сравниваем с текущей датой SetVar "[DaysUsed]" "([Today]-[StartDate])+1" If "[DaysUsed]" ">" "[MaxDays]" .max число дней превышено, программа закрывается SetVar "[DaysLeft]" "0" AlertBox "Извините" "Время работы программы истекло!" Exit "" "" Else SetVar "[DaysLeft]" "[MaxDays]-([Today]-[StartDate])" EndIf Else .это первое использование, сохраним текущую дату в реестре как дату начала RegistryWrite "HKEY_CURRENT_USER" "[RegKey1]" "[Today]" SetVar "[DaysLeft]" "[MaxDays]" SetVar "[DaysUsed]" "1" EndIf
ShowErrors "True"
Добавлено (13 Марта 2012, 17:16) --------------------------------------------- Но это отсчет времени по дням
Нет, защита не нужна, так как программа обычна - и не востребованна.
- Главно затруднить условия пользователю отправлять непрерывно сообщения.
Тогда все упрощается.
Quote (crossius)
Но это отсчет времени по дням
А переделать в часы и минуты сложно разьве? crossius, посмотрите вот эту тему, и в частности пример в сообщении №53. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
crossius, по указанным вам ссылкам вполне достаточно информации для того, чтобы сделать то, что вы желаете, надо всего-лишь немного поработать. Или вам нужен готовый к употреблению код? - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Так. я все сделал по функции sendMail - все работает
то не должно возникать трудностей с тем, что вам нужно для ограничения по времени запуска.
Quote (crossius)
Запустили программу - время было 15:20
поработали и закрыли в 15:25
Записали в "секретный" текстовой файл время.
Quote (crossius)
Затем если откроют в 15:26 .
Запустили программу, сравнили время в "секретном" файле с текущим, если разница менее одного часа, то:
Quote (crossius)
выходило окно - Отправлять сообщения раз в 1 час.
Quote (crossius)
А если откроют в 16:20 - то программа позволяла работать дальше.
То и делать ничего не надо, т.е. работаем дальше.
Предельно просто.
Все, что вам, нужно изучить, если не знаете (что очень странно, учитывая создание успешной отправки писем), это - работу с файлами чтение/запись.
На этом ресурсе не принято давать готовые решения по первому запросу. Поверьте - для этого есть основания и горький опыт. Сначала, покажите что вы пытались сделать, а мы поможем (чем сможем) или направим в нужное русло. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Этот "сырец" ни о чем не говорит по части того, что вам требуется сейчас. Покажите код, который вы пытались (если пытались) написать для реализации задуманного.
Весь исходник, разумеется, не нужен.
Добавлено (13 Марта 2012, 18:41) --------------------------------------------- И ещё одно замечание: мы не запускаем ЕХЕ-файлы, если отсутствует исходник и нет уверенности в его "надежности". И это тоже урок, полученный горьким опытом.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
crossius, вот (в прикреплении) возможное решение. Запустите проект дважды. Имейте ввиду, что это только, своего рода, направление, и код нужно дорабатывать с учетом перехода суток.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Если кто-то задолбался класть голый pub проект в архив только лишь для того чтобы прикрепить его на форум, можно прикреплять pub игнорируя алерт при добавлении файла.
crossius, еще как вариант, напишите в кнопке отправки сообщения:
метка состоит как видите из даты конвертированной в число и номера часа, из условий сравнения видно когда можно выполнить отправку. При переходе суток и дат проблем вроде как не должно быть т.к. учитывается дата...
При первом запуске параметра в реестре нет, поэтому при чтении вылезет ошибка. Чтобы этого избежать, заранее еще при установке программы нужно посчитать и прописать метку, либо зайти в опции проекта -> Доступ -> снять галочку Показывать сообщения об ошибках. Как задавать вопросы
Если кто-то задолбался класть голый pub проект в архив
Распространение файлов в сети посредством архивов считается хорошим тоном. Да и вообще, что значит "задолбался"? Неужели так сложно архивировать файл.
Quote (DEMBEL)
RegistryWrite
DEMBEL, ты решил научить людей чужие компы засирать?
В принципе, ничего плохого в записи в Реестр нет, если уметь правильно с ним работать.
Quote (DEMBEL)
зайти в опции проекта -> Доступ -> снять галочку Показывать сообщения об ошибках.
Примечание: это отключит вывод сообщений об ошибках по всему проекту. Правда, его, можно, когда надо, включить. Чтобы оперативно включать/отключать сообщения об ошибках следует воспользоваться командой ShowErrors.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Если кто-то задолбался класть голый pub проект в архив только лишь для того чтобы прикрепить его на форум, можно прикреплять pub игнорируя алерт при добавлении файла.
Удали этот совет, я это делал специально! Очень много проблем потом с такими редкими файлами... Поэтому, архивируйте обязательно!!!
Совершенно верно! - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
При переходе суток и дат проблем вроде как не должно быть т.к. учитывается дата...
хотя нет, в таком случае в 23ч одного дня будет скажем 4823223, а в 2ч следующего - 482332, а нужно чтобы метка увеличивалась по мере времени... плюсовать часы тоже не поможет... так что можно просто оставить дату, без часа, и тогда отправка будет раз в сутки. Как задавать вопросы
Ему не раз в сутки, а раз в час надо, поэтому наиболее рациональным будет комбинированный способ, т.е. DateToNum для подсчета дней (индикация перехода суток) плюс предложенный мной способ. Только дни надо считать отдельно от секунд, а при подсчете секунд учитывать "остаток" если день увеличился. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Наконец то я в своем репертуаре. ))) Надоело на трезвую жизнь смотреть. Одни серые тона.)))
Выскажу свое мнение, мож не догоня как всегда.))) Зачем дни считать? Если надо не раньше часа? 10 сегодня и 10 завтра, это не одно и то же. Получается нужны часы и минуты. Если часы разные, сравниваем минуты. Если часы одинаковые, то час точно не прошел. )))
Блин... Какое это блаженство бухать.... Закурил сигаретку... Не понравилось. Уже не то...
Добавлено (14 Марта 2012, 13:09) --------------------------------------------- Никогда не смотрю на замечания, репутацию... Сейчас глянул, подумал сколько штрафных балов будет если контроль потеряю . Гляжу, сообщений 2999. Дума 3000 надо с пользой создать. Это оно. Пользы много?
Есть кто? А поговорить?
Добавлено (14 Марта 2012, 13:10) --------------------------------------------- Ха, не вышло 3000 ое.
Блин... Какое это блаженство бухать.... Закурил сигаретку... Не понравилось. Уже не то...
Хреново, конечно, но я очень хорошо тебя понимаю (в смысле сигаретки, а не бухалова). А вкус сигаретки по-началу не тот, естесственно, но это от силы день-два. mishem, но продержался ты где-то месяца 3-4 получается. Что ж, теперь опыт есть...
Добавлено (14 Марта 2012, 13:25) ---------------------------------------------
Quote (mishem)
Зачем дни считать? Если надо не раньше часа?
А затем, что может быть 23.50 13-го, и 00.05 14-го.
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
А затем, что может быть 23.50 13-го, и 00.05 14-го.
я о
Quote (Peter)
а при подсчете секунд учитывать "остаток" если день увеличился.
секунды вообще не о чем... День сравнивать конечно надо. Если дни одинаковы, часы одинаковы, ретурн. Если дни разные, ретурн, запуск программы. Если дни одинаковы, часы разные, ретурн, запуск программы. ну и т.д. Не хочешь читать хелп?
Как-раз "о чем", просто остаток времени плюсуется к новому значению, т.к. нужна разница, а не просто время.
Quote (mishem)
Если дни разные, ретурн, запуск программы.
Ага, отписАл чувак письмишко в один день, а потом - Return! И так до бесконечности...
- А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Ну хорошо, а если нужно не раз в час, а раз в полчаса, раз в три часа?... К тому же, тогда чувачелло может первую серию спама отправить 1 марта в 13.55, а вторую 1 марта в 14.05.
Тот вариант (с подсчетом секунд) ориентирован именно на "через час" (или через нужный промежуток времени) без привязки к конретному значению часа или дня, и потому - универсален. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться