-22 / 28 / 2
Регистрация: 17.03.2018
Сообщений: 758
|
|
1 | |
Если мне не нужно привязывать код к событию, то где размещать код?20.05.2018, 22:22. Показов 2512. Ответов 43
Метки нет (Все метки)
Кто-нибудь умный ответьте. Если мне не нужно привязывать код к событию. Если мне не нужно привязывать код к "кнопке", "мыши", "щелчкам", "кликам" и т.д.
Куда "втыкать" код, чтобы он исполнялся? Ответьте пож. умно, доходчиво и навсегда. Спасибо!
0
|
20.05.2018, 22:22 | |
Ответы с готовыми решениями:
43
Как в конфигураторе быстро найти код для нужно мне объекта? приведите мне пример программы (код), где имеется окно не стандартной формы (например круг) Вложенные циклы и итерации (нужно что бы последовательностью, нужно код усовершенствовать, ну и сам код проверить ) нужно отредактировать код, где то ошибка |
-22 / 28 / 2
Регистрация: 17.03.2018
Сообщений: 758
|
|
21.05.2018, 14:51 [ТС] | 21 |
Так как переменные динамически изменяются и каждые 500 ms читаются, то изменения с этим же интервалом и присваиваются. Например нашей varBool1.
Если я "впихну" код оператора сравнения в событие load_ form этот код исполнится толко один раз и дальнейшие динамические изменения переменной varBool1 будут программе "по баобабу". Что собственно и происходит. В методе Main Form() тоже самое. В том то и вопрос! Куда "засунуть" код? Кроме события таймера. В событие таймера, где собственно и "читаются" переменные я пробовал. Это работает. Но пихать весь код программы в событие таймера выглядит как-то очень непрофессионально. Должны быть другие "ходы".
0
|
182 / 145 / 94
Регистрация: 30.07.2013
Сообщений: 579
|
|
21.05.2018, 15:00 | 22 |
Сообщение было отмечено Bulky как решение
Решение
ответили же не раз. В цикл, вечный или условно вечный.
А если при этом надо чтобы основной поток не блокировался, то цикл в отдельном потоке запускается
1
|
-22 / 28 / 2
Регистрация: 17.03.2018
Сообщений: 758
|
|
21.05.2018, 15:13 [ТС] | 23 |
Так никто конкретно не говорил! Наверное ты да Usaga первые "доперли" в чем проблема.
Там в соседней ветке и здесь где-то в начале "зуб" давали, что без событий не обойтись. Это наверное те, кто разные вариации "калькуляторов" и "саперов" с утра до вечера пишут. Больше ничего не знают. Спасибо Usaga и meridbt Добавлено через 9 минут Собственно я уже пробовал поток для других целей. Сейчас займусь тестами.
0
|
[Bicycle Reinventor]
|
|
21.05.2018, 15:14 | 24 |
лолище.
Писать отдельный поток, который следит за состоянием переменных - то ещё изобретение. Поле класса, за которым нужно следить, сделать private, к нему написать public сеттер, внутри которого вызывать событие об изменении состояния поля. Кому нужно - подпишутся на событие и будут получать уведомления об изменении мгновенно, а не через 500 мс когда поток додумается до проверки.
3
|
-22 / 28 / 2
Регистрация: 17.03.2018
Сообщений: 758
|
|
21.05.2018, 15:16 [ТС] | 25 |
Браво! Еще один Не писатель "калькуляторов". Круть! Тоже попробую.
Спасибо. Прощаюсь до вечера. Нужно тестировать "насоветанное"
0
|
6510 / 4086 / 1606
Регистрация: 09.05.2015
Сообщений: 9,553
|
|
21.05.2018, 15:18 | 26 |
Каким образом они изменяются? Не сами по себе же... Почему нельзя создать событие изменения этих переменных? Зачем нужно каждые 500 мс что-то проверять, если можно делать это по факту изменения значения...
0
|
182 / 145 / 94
Регистрация: 30.07.2013
Сообщений: 579
|
||||||
21.05.2018, 15:22 | 27 | |||||
Bulky,
1
|
-22 / 28 / 2
Регистрация: 17.03.2018
Сообщений: 758
|
|
21.05.2018, 15:22 [ТС] | 28 |
@Someone007,
не заморачивайся и спасибо тебе за предыдущие ответы. Это top secret information. Оставим это за рамками этой дискуссии. Как уже писал выше, все , что связано с чтением is working great.
0
|
12505 / 8692 / 1310
Регистрация: 21.01.2016
Сообщений: 32,650
|
|
21.05.2018, 16:29 | 29 |
Bulky, если я правильно понял вашу хотелку, то проверку нужно выполнять там, где данные изменяются - в событии. Код, внезапно, можно поделить на методы и классы и в событии, где данные изменяются, вызывать метод с проверкой. Вам это уже предлагали и тоже не раз. И про сеттер уже говорили (я пример даже приводил) и про вызов метода.
Из того, что я наконец смог понять, таймеры и потоки тут вообще никаким боком и уже точно на "профессиональное" решение не тянут. Добавлено через 1 минуту Не по теме: И прекратите размером шрифта баловаться. Это не добавляет выразительности тексту, просто детский садик.
1
|
21.05.2018, 16:41 | 30 |
Вторая страница темы, а ясности совсем мало...
Тс, исходя из того, что вы рассказывали, могу предложить вам свою модель (даже две). Вариант №1. Стартует новый поток, в котором крутится цикл (вечный или условно вечный). Он что-то там делает, вычисляет... В классе, метод которого крутится в потоке есть (внезапно!) событие. В нужный момент в рабочем потоке, при вычислении, когда нам нужно сообщить что-то другому коду, бросается это событие. А внешний код подписан на это событие и как-то реагирует. Вариант №2. То же самое, только потока уже два, один-рабочий, как и выше, а второй после запуска стоит и ждет сигнала, чтобы что-то делать. Тут все основано не на событиях, а на межпотоковых сигнализирующих конструкциях (ManualResetEvent/AutoResetEvent). Выбирайте, что вам больше нравится.
0
|
12505 / 8692 / 1310
Регистрация: 21.01.2016
Сообщений: 32,650
|
|
21.05.2018, 16:47 | 31 |
insite2012, насколько я смог понять ТС-а, ему нужно делать проверки изменяемых в событии переменных, но наличие кода этих проверок в самом событии он причислил к непрофессонализму и ищет "красивое" решение.
0
|
12505 / 8692 / 1310
Регистрация: 21.01.2016
Сообщений: 32,650
|
|
21.05.2018, 16:55 | 33 |
insite2012, таймера и потоки там, где можно вызвать один метод в сеттере - это точно не про KISS.
0
|
-22 / 28 / 2
Регистрация: 17.03.2018
Сообщений: 758
|
|
21.05.2018, 17:34 [ТС] | 35 |
Хотелка это "калькулятор", а у меня суровая действительность. В событии timer_Tick там где код читается и изменяется, я сделал уже месяц назад.
И это работает. Но обрабатывать в этом событии сотню переменных, выглядит совсем непрофессионально. Хотя, чувствую другого выхода нет.
0
|
12505 / 8692 / 1310
Регистрация: 21.01.2016
Сообщений: 32,650
|
|
21.05.2018, 17:38 | 36 |
Bulky, какой "калькулятор"? Какая "действительность"? Уже третья страница, а вы так и не смогли объяснить, что вам надо.
0
|
-22 / 28 / 2
Регистрация: 17.03.2018
Сообщений: 758
|
|
21.05.2018, 17:48 [ТС] | 37 |
Неужели моя задача так сложна, что вы не можете понять, что мне нужно. Уже наверное десятый... Элементарные же вещи рассказываю.
Добавлено через 2 минуты Как еще объяснить, элементарные ведь вещи рассказываю. Или вы так и не смогли понять...
0
|
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,311
|
|
21.05.2018, 17:50 | 38 |
Вот это ваша проблема? У нее элементарное решение - реализуйте сеттер для вашего поля
varBool1 .
0
|
-22 / 28 / 2
Регистрация: 17.03.2018
Сообщений: 758
|
|
21.05.2018, 17:51 [ТС] | 39 |
Будь другом "прилепи" setter к коду, что в начале #14, да с комментами. Я не знаю как...Раз все так setter нахваливают.
0
|
12505 / 8692 / 1310
Регистрация: 21.01.2016
Сообщений: 32,650
|
|
21.05.2018, 17:54 | 40 |
Вы ничего не рассказываете. Вы одно по одному говорите: надо, чтобы код выполнялся постоянно вне события. Что под этим подразумевается вы так и не объяснили. А десять раз одно и тоже говорит не объяснение.
Добавлено через 45 секунд Пример кому был дан?
0
|
21.05.2018, 17:54 | |
21.05.2018, 17:54 | |
Помогаю со студенческими работами здесь
40
Мне нужно написать коды к этим задачам.( Все пишут в Паскале). Но если можете мне в Бейсике. Пожалуйста Проверьте, пожалуйста, код программы и исправьте, если нужно Проверьте запрос: нужно вывести все ,где код темы =1 Написать код дешифровщика для Delphi 7, если есть код шифровщика? Мне нужно закомментировать код ниже(под словом закомментировать я подразумеваю объяснить работу каждой строки) Я нашел как написать sqlite код словаря=>мне дальше нужно его как то прикрутить к делфи Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |