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

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

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

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

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

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

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

4
360 / 287 / 76
Регистрация: 21.06.2016
Сообщений: 1,115
23.06.2017, 11:50
Если работа идет на локальной системе, без использования удаленного сервера (для проверки даты и факта нажатия кнопки) - то практически никак, даже записывая в файл - человек его откроет, поменяет значение - и заново нажмет кнопку.
Овчинка выделки не будет стоить. Так что раскошельтесь на удаленное хранение информации. + Идентификация конкретного пользователя, который запускает приложение, так как куки, хеши, и всю остальную лабудень можно поменять в процессе передачи информации от клиента к серверу (при большом желании).
1
 Аватар для prince_of_sheki
6 / 6 / 0
Регистрация: 03.06.2015
Сообщений: 66
23.06.2017, 18:07  [ТС]
Цитата Сообщение от hoolygan Посмотреть сообщение
человек его откроет, поменяет значение - и заново нажмет кнопку.
это вообще не проблема. Так как можно это проделать? идеи какие либо дайте а
0
 Аватар для Shogun31337
557 / 534 / 225
Регистрация: 02.11.2016
Сообщений: 1,538
23.06.2017, 19:26
Лучший ответ Сообщение было отмечено 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
Shogun31337, не только файл. Это как раз пол беды, потому что файл можно шифровать. Главная проблема, которую нужно учесть - это время. Нужно время проверять не системное, а с удаленного сервера, но даже в этом случае есть шанс подмены и перехвата. Поэтому и писал, что эти данные нужно хранить удаленно.
Поскольку я в 90 % работаю с БД - то предпочитаю держать пользователей, и работу их именно в сиквеле.
Алгоритм на самом деле прост в этом случае. При запуске программы проверяем пользователя с любой системы, лишь бы централизовано, будь то AD, или бд. Далее в сиквеле сделал бы простую табличку с полями id пользователя, битовое поле сигнал о нажатии, и дата с временем.
Далее при входе пользователя проверять состояние битового поля и даты - этим включаю/отключаю кнопку. При нажатии делаем полезную работу и посылаем в бд сообщение о нажатии. Сервер пишет свое время, айдишку юзера и ставит поле в true. Главное отловить момент между полезным трудом и посылкой на сервер, обдумать момент обрыва связи, например, не выполнять действия, если связи нету, но это уже отдельно продумать, в зависимости от того, какое действие пользователь делает.
Поскольку поля ставятся на сервере - исключен вариант подмена времени и пользователя.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.06.2017, 03:58
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru