Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы с If 
:(
    Опции темы
Addmin
Дата 6.4.2007, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 3.2.2006
Где: сослан в Сибирь

Репутация: нет
Всего: 15



Добрый день!

Допустим, в программе есть три CheckBox. Нужно описать случаи, когда CheckBox'ы неизвестно поставлены пользователем. Это я сделал. Но когда пытаюсь выполнить структуру if подобным способом:
Код


if (CheckBox6.Checked = False) and (CheckBox7.Checked = True) and (CheckBox8.Checked:= False) then


То компилятор "говорит" мне, что "Operator not applicable to this operand type". Но чем ему простой then не приглянулся?


--------------------
PM MAIL   Вверх
ama_kid
Дата 6.4.2007, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: 9
Всего: 95



CheckBox8.Checked:= False - откуда здесь присваивание?


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Addmin
Дата 6.4.2007, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 3.2.2006
Где: сослан в Сибирь

Репутация: нет
Всего: 15



Опа  smile  
ama_kid, большое спасибо - а я не увидел  smile 


--------------------
PM MAIL   Вверх
Yanis
Дата 6.4.2007, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 6
Всего: 111



Цитата(Addmin @  6.4.2007,  18:09 Найти цитируемый пост)
ama_kid, большое спасибо - а я не увидел

И сразу полез на форум жаловаться как тебя обижает компилятор smile


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Addmin
Дата 6.4.2007, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 3.2.2006
Где: сослан в Сибирь

Репутация: нет
Всего: 15



Yanis, привычка. smile В компиляторе соринку увижу, а в своём коде и бревна не замечу smile


--------------------
PM MAIL   Вверх
aktuba
Дата 6.4.2007, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 7
Всего: 38



Интересная конструкция CheckBox6.Checked = False =))))) а так не проще:
Код

if CheckBox7.Checked and (not CheckBox6.Checked)  and (not CheckBox8.Checked) then


Можно и дальше упростить...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
MetalFan
Дата 6.4.2007, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



aktuba, а можно и вообще без скобок)


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
aktuba
Дата 6.4.2007, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 7
Всего: 38



Цитата

aktuba, а можно и вообще без скобок) 


Цитата

Можно и дальше упростить...


 smile 


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Addmin
Дата 7.4.2007, 03:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 803
Регистрация: 3.2.2006
Где: сослан в Сибирь

Репутация: нет
Всего: 15



aktubaMetalFan, спасибо за предложение, но мне так привычнее, да, и, на мой взгляд, логичнее smile


--------------------
PM MAIL   Вверх
Alexeis
Дата 7.4.2007, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Addmin, я тоже не брезгаю расставлять лишние скобки, может для машины это и все равно, но зрительно раставление скобок в IF да и в других операторах облегчает восприятие.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Beltar
Дата 7.4.2007, 12:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 0
Всего: 7



Щаз без скобок!
Я иначе как if ((a=b) and (c=d)) не пишу, задолбывает вытье компилятора.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
aktuba
Дата 7.4.2007, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 7
Всего: 38



Beltar, тут немного другое. CheckBox7.Checked - это boolean и его не обязательно (а иногда, для меня, и вредно) писать как CheckBox7.Checked = True...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
ivan219
  Дата 7.4.2007, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 5
Всего: 12



А почему такая конструкция ведёт себя не коректно??? Или я что-то непонемаю smile 
Код

 if (CheckBox7.Checked) and not (CheckBox6.Checked  and CheckBox8.Checked) then

Поидеи 6 и 8 должны быть False потом not переведёт в True а условие срабатывае даже если один из 6 и 8 имеет False smile 
Получается что дальше
Код

if (CheckBox7.Checked) and (not CheckBox6.Checked)  and (not CheckBox8.Checked) then

упрастить уже нельзя?

Это сообщение отредактировал(а) ivan219 - 7.4.2007, 14:41
PM MAIL ICQ   Вверх
Alexeis
Дата 7.4.2007, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Цитата(ivan219 @  7.4.2007,  14:27 Найти цитируемый пост)
Поидеи 6 и 8 должны быть False потом not переведёт в True а условие срабатывае даже если один из 6 и 8 имеет False 

  Правильно если любой false, то все выражение false. not false = true.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1025 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.