Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2008, 11:11   #1
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Сообщений: 392
Плохо Модернизировать код, сделать его быстрее

zvyk:=TCheckListBox.Create(Self);
Zvyk.Parent:=Panel1;
zvyk.ParentColor:=True;
zvyk.Font.Size:=14;
zvyk.Left:=68;
zvyk.Top:=200;
zvyk.Items.Add('1');
zvyk.Items.Add('2');
zvyk.Items.Add('3');
zvyk.Items.Add('4');
zvyk.Items.Add('5');

далее

procedure TForm2.Proverka7Click(Sender:Tobjec t);
begin
if (zvyk.Checked[0])
and not (zvyk.Checked[1])
and not (zvyk.Checked[2])
and (zvyk.Checked[3])
and not (zvyk.Checked[4])
then
showmessage('Молодец')
else showmessage('Внимательно прочитай задание');
end;

Каким образом можно сделать проверку лучше? помогите пожалуйста.
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума Ответить с цитированием
Старый 02.11.2008, 11:57   #2
Arkuz
Форумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Сообщений: 540
По умолчанию

Дайте исходник посмотреть...

Может через конструкцию CASE OF получится?

Последний раз редактировалось Arkuz; 02.11.2008 в 12:06.
Arkuz вне форума Ответить с цитированием
Старый 02.11.2008, 12:12   #3
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Сообщений: 392
По умолчанию

выше же исходник...
каким образом (с case?) можно выполнять проверку отмечены ли итемы галочкой по-другому, и если 0 и 3 итемы отмечены, а остальные нет?
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума Ответить с цитированием
Старый 02.11.2008, 12:16   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Например, можно пойти по такому пути - обрабатывать событие CheckListBox1ClickCheck и соответствующим образом изменять значение некоей переменной, пусть CHK. Величина изменения разная для всех итемсов и равна двойке в степени (индекс итемса).
То есть, если изменяется состояние zvyk.Checked[3], то если CHECKED - CHK:=CHK+8, если NOT CHECKED, то CHK:=CHK-8.
Тогда ваш анализ сведется к такому:
Код:
if CHK=9 then
showmessage('Молодец') else 
showmessage('Внимательно прочитай задание');

Последний раз редактировалось mihali4; 02.11.2008 в 12:19.
mihali4 вне форума Ответить с цитированием
Старый 02.11.2008, 12:29   #5
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Сообщений: 392
По умолчанию

а если мне надо писать какой итем неправильно отметили, а я не хочу писать:
s:='';
if (zvyk.Checked[1])=true then s:=s+'Не правильно отметили 1 итем';
if (zvyk.Checked[2])=true then s:=s+'...';
if s<>'' then
showmessage(s)
else showmessage('OK');

можно сделать по-другому?
Программирование - это великое искусство... Такое же как например и живопись!
Rusl92 вне форума Ответить с цитированием
Старый 03.11.2008, 19:23   #6
Izhic
Форумчанин
 
Аватар для Izhic
 
Регистрация: 08.10.2008
Сообщений: 668
По умолчанию

ИМХО добавлятьлучше так Memo1.Lines.AddStrings();

Вы определитесь чего хотите. Мона как вариант, как в JS все ответы в массив загнать и проверять по массиву. правильных ответов. Тогда через цикл.
Don't worry be happy
Izhic вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нашёл код не поможете доработать его eldar Работа с сетью в Delphi 6 24.01.2010 21:27
Как можно быстрее прочитать данные Bagirli Общие вопросы Delphi 6 18.10.2008 11:31
Предлагаю модернизировать структуру форумов Aero_cobra О форуме и сайтах клуба 12 12.03.2008 14:26
Как запустить приложение, дождаться его исполнения и только потом выполнять код? il76 Win Api 6 19.07.2007 14:00
Как при скрытом чужом окне сделать его дочерние окна(сообщения) видимыми ? Starwarrior Win Api 1 20.03.2007 09:51