Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.10.2013, 15:43
Andrey_Ryzhov Andrey_Ryzhov вне форума
Прохожий
 
Регистрация: 02.09.2013
Адрес: Новгородская обл. пгт Пролетарий
Сообщения: 10
Версия Delphi: Lazarus, ECDXE3
Репутация: 10
По умолчанию Проверка CheckBox`ов

Здравствуйте. Пишу тест на XE3, там вопрос и 5 вариантов ответа, 2 из них правильные. Делаю проверку Chek`ов черех if, 1 и 2 чекбоксы - правильный ответ (соответственно только 1 или только 2 или все кроме 1го или все кроме 2го или просто все кроме 1 и 2 - неправильный ответ). Вроди все получилось, но вот проблема.. если выбрать все и 1 или все и 2, то ответ помечается правильным (а вообще то он не правильный), то есть при проверке, игнорируется 1 или 2 чекбоксы. Объясните мне что не так, или я опять много чего тут накуролесил...
собственно кусочек кода...
Код:
procedure TForm3.Button1Click(Sender: TObject);
var TF: TextFile;
    LN: string;
begin
if CheckBox1.Checked = true and CheckBox2.Checked = true and CheckBox3.Checked = false and CheckBox4.Checked = false and CheckBox5.Checked = false then
begin
Form1.Panel2.Color:= clGreen;
LN:= 'YES';
 assignfile (TF, form4.SaveDialog1.FileName);
 append (TF);
 writeln (TF, LN);
 CloseFile (TF);
end
 else
 begin
Form1.Panel2.Color:= clRed;
 LN:= 'NO';
 assignfile (TF, Form4.SaveDialog1.FileName);
 append (TF);
 writeln (TF, LN);
 CloseFile (TF);
 end;
end;
Буду очень признателен за помощь...
Ответить с цитированием
  #2  
Старый 12.10.2013, 17:01
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Разделите операторы скобками : (...) and (...). Кстати, удивительно что вообще без них работает, должна выскакивать ошибка, хотя может в ХЕ всё и по-другому, семёроводу это не ведомо

Добавлено немного позже:

Используйте лучше такую рабочую конструкцию
Код:
...
if    (CheckBox1.Checked) and
      (CheckBox2.Checked) and
  (not CheckBox3.Checked) and
  (not CheckBox4.Checked) and
  (not CheckBox5.Checked) then... 
...

Последний раз редактировалось Alegun, 12.10.2013 в 17:14.
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Andrey_Ryzhov (12.10.2013)
  #3  
Старый 12.10.2013, 17:13
Andrey_Ryzhov Andrey_Ryzhov вне форума
Прохожий
 
Регистрация: 02.09.2013
Адрес: Новгородская обл. пгт Пролетарий
Сообщения: 10
Версия Delphi: Lazarus, ECDXE3
Репутация: 10
По умолчанию

Спасибо огромное! Да в XE3 не на что не ругается, даже не предупреждает... Просто раньше на 7 сидел... да вот интерфейс там уже не тот.. хотя версия, проверенная временем. Я с неё все равно не съеду, с неё начал, просто новое-то надо узнавать. Разделить их скобками... вот я не подумал то... Ну теперь буду умнее, спасибо.

Понятно. Тоже хвучит неплохо... и эту опробую.

Последний раз редактировалось M.A.D.M.A.N., 12.10.2013 в 19:39.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 19:38.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter