|
2 / 2 / 1
Регистрация: 11.11.2016
Сообщений: 58
|
||||||
Условия не работают как хотелось бы01.10.2019, 09:02. Показов 2119. Ответов 29
Метки нет (Все метки)
Доброго времени суток!
Пожалуйста помогите нормализовать выполнение условий, проблема в том, что если при создании формы: edit1.Text=Чтение значения из файла и Button2.Caption:='ENG' то при выполнении процедуры, срабатывают два первых условия, хотя казалось бы Если у них разные по логике. Подскажите, где моя ошибка.
Благодарю.
0
|
||||||
| 01.10.2019, 09:02 | |
|
Ответы с готовыми решениями:
29
Как работают условия в среде Dev-C++?
Не работают условия |
|
Модератор
4115 / 2347 / 807
Регистрация: 15.11.2015
Сообщений: 9,352
|
||||||
| 01.10.2019, 09:11 | ||||||
|
Айстин, там стоит операция or:
Надо поменять на 'and'
0
|
||||||
|
2 / 2 / 1
Регистрация: 11.11.2016
Сообщений: 58
|
||
| 01.10.2019, 09:20 [ТС] | ||
|
P.S мне казалось что 'and', наоборот является или. Так как в одном из условий у меня есть 'and', и выполняется одно из условий, а вот если поставить or, то условие выполнится только если оба условия положительные
0
|
||
|
Модератор
4115 / 2347 / 807
Регистрация: 15.11.2015
Сообщений: 9,352
|
|
| 01.10.2019, 09:31 | |
|
Айстин, таблица истинности:
false and false = false false and true = false true and false = false true and true = true false or false = false false or true = true true or false = true true or true = true Результат or истина, если хотя бы один из операндов либо оба истина. Результат and истина, если оба операнда истинны. Добавлено через 8 минут Айстин, всё правильно. В первом if при выполнении условия меняется название кнопки и сохраняется параметр, следующее условие проверяет уже изменённые параметры. Нужно после end первого условия поставить else без двоеточия. Тогда, в принципе, и эти условия ещё раз проверять не нужно будет.
0
|
|
|
2 / 2 / 1
Регистрация: 11.11.2016
Сообщений: 58
|
||||||||||||
| 01.10.2019, 09:34 [ТС] | ||||||||||||
вот сейчас я у обоих условий поставил 'and' , и всё равно выполняются оба. Видите там после появления
0
|
||||||||||||
|
Модератор
4115 / 2347 / 807
Регистрация: 15.11.2015
Сообщений: 9,352
|
|||||||||||
| 01.10.2019, 09:38 | |||||||||||
|
Айстин, сделал вот так:
Добавлено через 1 минуту Зачем нужна эта проверка?
0
|
|||||||||||
|
3053 / 1672 / 657
Регистрация: 19.03.2019
Сообщений: 5,381
|
|||||||
| 01.10.2019, 09:43 | |||||||
|
хотя, на мой взгляд, лучше
0
|
|||||||
|
Модератор
4115 / 2347 / 807
Регистрация: 15.11.2015
Сообщений: 9,352
|
|
| 01.10.2019, 09:48 | |
|
Это понятно, что позволяет проверить. А у него получается, что если значение параметра совпадает, то с OR будут выполнены оба условия, а если значение отличается, то с AND условия не будут выполнены. Не совсем понятно зачем ему это, потому и спрашиваю.
0
|
|
|
2 / 2 / 1
Регистрация: 11.11.2016
Сообщений: 58
|
||||||||||||||||||
| 01.10.2019, 10:13 [ТС] | ||||||||||||||||||
|
edit1.Text может принять одно из трёх значений: 1. ReadString('Раздел', 'Название параметра', edit1.Text //принимает его при создании формы, если в .ini есть соответствующие записи 2. 'Укажите' //принимает его при нажатии кнопки, если в .ini нет соответствующих записей и язык приложения установлен на РУС 3. 'Specify' //принимает его при нажатии кнопки, если в .ini нет соответствующих записей и язык приложения установлен на ENG 1../2.. Соответственно при нажатии на языковую кнопку, если значение читается из файла, то меняется только caption кнопок и записывается значение языка в .ini 3../4.. При нажатии на языковую кнопку, если значений в файле нет, и значение Edit1.Text равно 'Specify', или равно 'Укажите', то меняется caption кнопок, значение edit1.Text, и записывается значение языка в .ini P.P.S. - в свою очередь начальное значение edit1.Text определяется при создании формы. Сейчас у меня вот что получилось (ужас, выполняется 1 условие, 3 и 4):
Добавлено через 4 минуты
0
|
||||||||||||||||||
|
Модератор
4115 / 2347 / 807
Регистрация: 15.11.2015
Сообщений: 9,352
|
||
| 01.10.2019, 10:21 | ||
|
Айстин, навскидку, в последнем сообщении в строках 16 и 18 такая же ошибка - текст в edit устанавливается в Specify и потом следующее условие срабатывает, хотя этого не нужно.
Добавлено через 1 минуту Решение: В 17 строке после end написать else без двоеточия. Добавлено через 2 минуты Айстин,
Добавлено через 2 минуты Вообще, Edit обычно используют для ввода. Пользователь там что-то сам должен писать? Если нет, то лучше использовать Label.
0
|
||
|
2 / 2 / 1
Регистрация: 11.11.2016
Сообщений: 58
|
||||||
| 01.10.2019, 10:48 [ТС] | ||||||
|
Добавлено через 6 минут
0
|
||||||
|
453 / 177 / 31
Регистрация: 04.08.2018
Сообщений: 709
|
||
| 01.10.2019, 12:04 | ||
|
0
|
||
|
2 / 2 / 1
Регистрация: 11.11.2016
Сообщений: 58
|
||
| 01.10.2019, 12:14 [ТС] | ||
|
По умолчанию, значение Edit1 равно 'Укажите', или 'Specify'. Т.е. как бы указывает пользователю что настроек нет, укажите их введя в Edit1.
0
|
||
|
Модератор
4115 / 2347 / 807
Регистрация: 15.11.2015
Сообщений: 9,352
|
|
| 01.10.2019, 12:24 | |
|
Айстин, что он вписывает туда? Название "профиля", что ли? Вот я запускаю программу и просто выбираю язык, не понимаю, зачем мне туда ещё что-то вписывать?
0
|
|
|
2 / 2 / 1
Регистрация: 11.11.2016
Сообщений: 58
|
||
| 01.10.2019, 12:31 [ТС] | ||
|
0
|
||
|
Модератор
4115 / 2347 / 807
Регистрация: 15.11.2015
Сообщений: 9,352
|
||
| 01.10.2019, 12:32 | ||
0
|
||
|
2 / 2 / 1
Регистрация: 11.11.2016
Сообщений: 58
|
||
| 01.10.2019, 12:37 [ТС] | ||
|
0
|
||
|
Модератор
4115 / 2347 / 807
Регистрация: 15.11.2015
Сообщений: 9,352
|
||
| 01.10.2019, 12:38 | ||
В общем, мы разобрались, почему выполняются оба условия и как это побороть. Будут ещё вопросы - задавайте.
0
|
||
|
2 / 2 / 1
Регистрация: 11.11.2016
Сообщений: 58
|
|||
| 01.10.2019, 13:01 [ТС] | |||
|
Не согласен, решения так и не было найдено, да и в любом случае остаётся непонятным почему, почему не работает and , собственно из за этого все проблемы.
0
|
|||
|
Модератор
4115 / 2347 / 807
Регистрация: 15.11.2015
Сообщений: 9,352
|
||||||||
| 01.10.2019, 13:14 | ||||||||
![]()
А само условие с and не сработает, если в файле найден параметр со значением, не равным значению в Edit. Добавлено через 2 минуты Лично я так и не понял логики смены языка. Стоит РУС, я нажимаю кнопку и если в Edit записано что-то отличное от значения в настройках, то язык не меняется, так что ли?
0
|
||||||||
| 01.10.2019, 13:14 | |
|
Помогаю со студенческими работами здесь
20
Условия не работают Почему не работают условия? Не работают условия Combobox1 Python 3. Не работают условия некорректно работают условия Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|