-22 / 28 / 2
Регистрация: 17.03.2018
Сообщений: 758
|
|
1 | |
Если мне не нужно привязывать код к событию, то где размещать код?20.05.2018, 22:22. Показов 2509. Ответов 43
Метки нет (Все метки)
Кто-нибудь умный ответьте. Если мне не нужно привязывать код к событию. Если мне не нужно привязывать код к "кнопке", "мыши", "щелчкам", "кликам" и т.д.
Куда "втыкать" код, чтобы он исполнялся? Ответьте пож. умно, доходчиво и навсегда. Спасибо!
0
|
20.05.2018, 22:22 | |
Ответы с готовыми решениями:
43
Как в конфигураторе быстро найти код для нужно мне объекта? приведите мне пример программы (код), где имеется окно не стандартной формы (например круг) Вложенные циклы и итерации (нужно что бы последовательностью, нужно код усовершенствовать, ну и сам код проверить ) нужно отредактировать код, где то ошибка |
5 / 5 / 5
Регистрация: 28.01.2017
Сообщений: 30
|
|
20.05.2018, 23:05 | 2 |
Сообщение было отмечено Bulky как решение
Решение
Пример бы сказали .
Инициализируешь класс,метод и т д и он выполняется )))) А если речь о WinForms есть Aplication Idle, тыкаешь в него код и он исполняется всегда , когда приложение переходит в ожидание .
1
|
-22 / 28 / 2
Регистрация: 17.03.2018
Сообщений: 758
|
||||||
20.05.2018, 23:22 [ТС] | 3 | |||||
вот простенький код. Как работать c переменной вне event handlers?
0
|
5 / 5 / 5
Регистрация: 28.01.2017
Сообщений: 30
|
|
20.05.2018, 23:52 | 4 |
Никак , присвоив значение переменной завершается исполнения основной ветви кода , CLR не может исполнять код в бесконечной цикличности . Далее все подкручено на ивентах и изменить ты сможешь ее только при исполнении (вызове) события .
0
|
6510 / 4086 / 1606
Регистрация: 09.05.2015
Сообщений: 9,553
|
|
20.05.2018, 23:58 | 5 |
Чтобы ответить на ваш вопрос, нужно сначала узнать когда вам нужно выполнять этот самый код, например при запуске приложения? при первом открытии формы? периодически каждые Х секунд/минут и т.д.
А тот пример выше вообще не имеет смысла без контекста...
0
|
-22 / 28 / 2
Регистрация: 17.03.2018
Сообщений: 758
|
|
21.05.2018, 00:21 [ТС] | 6 |
то есть вне обычных events наш общий друг timer_tick?
Добавлено через 7 минут при запуске приложения - я знаю какб расписано во всех книгах для Чайников. при первом открытии формы - тоже расписано в книгах для Чайников.
0
|
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
|
|
21.05.2018, 00:45 | 7 |
Сообщение было отмечено Bulky как решение
Решение
В основной метод Main(), код будет выполняться, так работают все приложения в принципе
Добавлено через 1 минуту нужен таймер пихай таймер в Main() нужно ожидание действий юзера пихай соответствующий код в Main() нужен отдельный поток который будет что-то делать пихай его вызов в Main() и ожидай выполнения окна - это такой же код в Main() как и всё остальное, просто чуть сложней (крутит цикл ждет событий вызывает обработчики)
0
|
3564 / 2505 / 1174
Регистрация: 14.08.2016
Сообщений: 8,214
|
|
21.05.2018, 02:15 | 8 |
расслабтесть...ТС ничего не понимает ни в событиях, ни в делетагах, ни в C#, ни в программмировании как таковом...
0
|
12505 / 8692 / 1310
Регистрация: 21.01.2016
Сообщений: 32,650
|
|
21.05.2018, 07:31 | 9 |
Мне кажется, что вы это сами придумали про "закрученность".
Есть основной поток (начинающийся в Main), есть возможность порождать свои потоки, есть события. Этого за глаза для решения всех возможных задач. От вас хотелось бы услышать суть вашей проблемы.
1
|
-22 / 28 / 2
Регистрация: 17.03.2018
Сообщений: 758
|
|
21.05.2018, 08:29 [ТС] | 10 |
@Diamante. Например, m0nax и Usaga обмолвились об отдельном потоке. Почитал, -кажись это то, что нужно.
Жаль ты об этом не обмолвился. наверное threads тоже в стадии изучения?
0
|
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,311
|
|
21.05.2018, 10:06 | 11 |
Bulky,
Можно в сетер засунуть, переменная изменяется - код выполняется. А вообще, вы хотите модель прерываний как в микроконтроллерах что ли? Можно попытаться смоделировать с помощью двух потоков, наверное. Почему же? Каждый язык имеют свою модель, парадигму программирования. Здесь все закручено вокруг событий. В питоне вокруг словарей, например. Никто против этого не бунтует. Выбирайте соответствующий инструментарий.
0
|
-22 / 28 / 2
Регистрация: 17.03.2018
Сообщений: 758
|
|
21.05.2018, 11:11 [ТС] | 12 |
Можно по подробнее про сетер? Как это правильно по английски ? Я бы почитал.
Как это сделать с помощью двух потоков, тоже интересно.
0
|
12505 / 8692 / 1310
Регистрация: 21.01.2016
Сообщений: 32,650
|
||||||
21.05.2018, 11:17 | 13 | |||||
Bulky, вы так и не озвучили чего хотите добиться)
1
|
-22 / 28 / 2
Регистрация: 17.03.2018
Сообщений: 758
|
|||||||||||
21.05.2018, 13:46 [ТС] | 14 | ||||||||||
Вне скобок таймера. Переменные видимы, спасибо Diamant. Но то ли код не могу заставить выполняться циклически, то-ли значения в переменных уже не изменяются динамически. Не знаю. Хотелось бы исполнить код (ниже). Но события у меня для него нет и не нужно. Нужно чтобы этот кусок исполнялся постоянно. "Засунуть" опять в метод Timer -глупо. Я могу это сделать там же где это читается в timer1_tick, с таким же успехом. Не может такого быть в таком мощном языке, что для этого весь исполняемый код нужно "пихать" в метод таймера. Понимаю, когда нужно "читать" циклично переменные. Но для дальнейшей работы с ними неужто ничего не придумано кроме "кнопочно -мышинных" событий.
0
|
[Bicycle Reinventor]
|
|
21.05.2018, 13:47 | 15 |
Вангую предысторию:
Человек где-то выложил свой код, где у него есть подписка на событие button_click(s, e), и внутри хэндлера макаронный код на 350 строчек. Ему сказали: "Ай-ай-ай, так делать нельзя, нельзя привязывать код к событию". А он теперь сидит и думает: "Если не в подписчике на событие, то где мне размещать код?". Ответ - вынести код в отдельный метод, а в хэндлере события вызывать этот метод.
1
|
-22 / 28 / 2
Регистрация: 17.03.2018
Сообщений: 758
|
|
21.05.2018, 13:56 [ТС] | 16 |
Кроме "вангую" ничего не понял. И то догадка. Если по русски не можешь нормально. Напиши по английски. Возможно пойму.
0
|
677 / 479 / 216
Регистрация: 06.09.2013
Сообщений: 1,311
|
|
21.05.2018, 14:05 | 17 |
Зачем он должен выполняться постоянно?
Я уже писал в соседней теме вам: реализуйте метод set свойства valueBool0 и при изменении делайте что хотите.
0
|
12505 / 8692 / 1310
Регистрация: 21.01.2016
Сообщений: 32,650
|
|
21.05.2018, 14:06 | 18 |
Сообщение было отмечено Bulky как решение
Решение
Ну так для этого есть отдельный поток, в котором вы можете завести вечный цикл (с проверкой условий выхода из оного, конечно) и вечно что-то делать.
Но у меня есть подозрение, что это не то, что вам надо. А что вам надо из примера выше не ясно. Добавлено через 46 секунд Bulky, вы можете словами описать логику, которую хотите получить? Без примеров странного кода, чисто словами, но подробно?
1
|
-22 / 28 / 2
Регистрация: 17.03.2018
Сообщений: 758
|
||||||
21.05.2018, 14:35 [ТС] | 19 | |||||
Создан класс и не один, но они подобные. Переменных разного типа задекларировано в нем много.
В методе timer_tick они читаются специальным отдельным методом, с интервалом, допустим 500 ms. И там же присваиваются другим переменным как в коде ниже. [CSHARP] valueBool0 = tr.varBool0CSHARP] Все описанное выше работает превосходно. Каким способом мне работать дальше. Например, для упрощенки возьмем valueBool0? Мне например нужно, где-то в теле кода исполнить оператор if/ else Не раз, например при запуске программы, Не раз, например при инициализации формы, а постоянно, пока открыто окно программы или формы, как хотите это называйте. Например
0
|
12505 / 8692 / 1310
Регистрация: 21.01.2016
Сообщений: 32,650
|
|
21.05.2018, 14:39 | 20 |
Bulky, что подразумевается под "постоянно"? В мире программирования нет такой вещи, как "постоянно". Есть или реакция на какое-то событие или некий вечный (или не очень) цикл. Ваше "постоянно" не особо хорошо описывает этот момент.
0
|
21.05.2018, 14:39 | |
21.05.2018, 14:39 | |
Помогаю со студенческими работами здесь
20
Мне нужно написать коды к этим задачам.( Все пишут в Паскале). Но если можете мне в Бейсике. Пожалуйста Проверьте, пожалуйста, код программы и исправьте, если нужно Проверьте запрос: нужно вывести все ,где код темы =1 Написать код дешифровщика для Delphi 7, если есть код шифровщика? Мне нужно закомментировать код ниже(под словом закомментировать я подразумеваю объяснить работу каждой строки) Я нашел как написать sqlite код словаря=>мне дальше нужно его как то прикрутить к делфи Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |