Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
6 / 6 / 0
Регистрация: 03.06.2015
Сообщений: 66
1

Как сделать так чтобы можно было кликать по кнопке только 1 раз в день?

23.06.2017, 00:43. Показов 2157. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Хаи. Описал проблему уже в заголовке. Мне нужно чтобы button1 был активен, после нажатия на нее деактивировался до завтрашнего полдня.(12:00). как можно такое сделать. примерчик не помешал бы
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.06.2017, 00:43
Ответы с готовыми решениями:

Как сделать так чтобы можно было ввести только дату?
Вот основная форма: Вот форма при нажатии на кнопку "Добавить": Так вот мне нужно сделать так...

Как сделать так чтобы в QLineEdit можно было вводить только буквы
Как сделать так чтобы в QLineEdit можно было вводить только буквы а все остальные символы(цыфры и...

Как сделать так чтобы в textbox можно было вписать только буквы?
Private Sub Textbox1_Change() Textbox1.Value = ChangeFirstLiter(Textbox1.Value) If Textbox1 = ""...

Как сделать так, чтобы можно было закрыть только текущую Форму?
Доброго времени суток. Я использую Windows Forms и язык C# для написания не большого проекта....

4
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
23.06.2017, 11:50 2
Если работа идет на локальной системе, без использования удаленного сервера (для проверки даты и факта нажатия кнопки) - то практически никак, даже записывая в файл - человек его откроет, поменяет значение - и заново нажмет кнопку.
Овчинка выделки не будет стоить. Так что раскошельтесь на удаленное хранение информации. + Идентификация конкретного пользователя, который запускает приложение, так как куки, хеши, и всю остальную лабудень можно поменять в процессе передачи информации от клиента к серверу (при большом желании).
1
6 / 6 / 0
Регистрация: 03.06.2015
Сообщений: 66
23.06.2017, 18:07  [ТС] 3
Цитата Сообщение от hoolygan Посмотреть сообщение
человек его откроет, поменяет значение - и заново нажмет кнопку.
это вообще не проблема. Так как можно это проделать? идеи какие либо дайте а
0
557 / 534 / 225
Регистрация: 02.11.2016
Сообщений: 1,538
23.06.2017, 19:26 4
Лучший ответ Сообщение было отмечено prince_of_sheki как решение

Решение

Цитата Сообщение от prince_of_sheki Посмотреть сообщение
Так как можно это проделать?
Добавьте булеву переменную в программу. При нажатии на кнопку меняйте ее значение. К примеру, начальное значение false, при нажатии меняется на true. При каждом нажатии нужно вставить проверку на значение этой переменной. Если false, то выполняем действие, если true, то нет. Ну и периодически нужно делать проверку на то, наступил ли полдень следующего дня, чтобы сбросить значение. Проверку можно сделать при запуске программы, либо, если планируется достаточно длительное использование в рамках одного запуска проги, по таймеру. При закрытии программы переменную придется сохранять в файл/реестр/файл настроек программы. А при старте считывать ее. Задача то, в принципе, банальная... Единственная проблема только в том, что, как сказал hoolygan, пользователь может отредактировать файл или ключ реестра.

Добавлено через 1 минуту
ЗЫ А продвинутый пользователь сможет еще и вскрыть Ваш код и изменить его, чтобы можно было тыкать на кнопку хоть каждую секунду!
1
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
24.06.2017, 03:58 5
Shogun31337, не только файл. Это как раз пол беды, потому что файл можно шифровать. Главная проблема, которую нужно учесть - это время. Нужно время проверять не системное, а с удаленного сервера, но даже в этом случае есть шанс подмены и перехвата. Поэтому и писал, что эти данные нужно хранить удаленно.
Поскольку я в 90 % работаю с БД - то предпочитаю держать пользователей, и работу их именно в сиквеле.
Алгоритм на самом деле прост в этом случае. При запуске программы проверяем пользователя с любой системы, лишь бы централизовано, будь то AD, или бд. Далее в сиквеле сделал бы простую табличку с полями id пользователя, битовое поле сигнал о нажатии, и дата с временем.
Далее при входе пользователя проверять состояние битового поля и даты - этим включаю/отключаю кнопку. При нажатии делаем полезную работу и посылаем в бд сообщение о нажатии. Сервер пишет свое время, айдишку юзера и ставит поле в true. Главное отловить момент между полезным трудом и посылкой на сервер, обдумать момент обрыва связи, например, не выполнять действия, если связи нету, но это уже отдельно продумать, в зависимости от того, какое действие пользователь делает.
Поскольку поля ставятся на сервере - исключен вариант подмена времени и пользователя.
1
24.06.2017, 03:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.06.2017, 03:58
Помогаю со студенческими работами здесь

Не могу доделать Калькулятор( как сделать так чтобы запятую можно было писать 1 раз )
Помогите доделать калькулятор. Вроде всё работает, только вот не могу сделать так чтобы запятую...

Как сделать так чтобы в текстовом окне можно было вводить только цыфры и запятую?
Как сделать так чтобы в текстовом окне(textBox) можно было вводить только цыфры и запятую?...

Как сделать так чтобы можно было вводить разное количество букв, а не только пять?
string text = " АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"; Console.Write("Введите первую букву = ");...

Как сделать так, чтобы в строку редактирование (edit) можно было ввести только цифры и запятую?
Недавно начал изучать делфи, У меня вопрос, как можно сделать так чтобы в строку редактирования...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru