Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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, 12:57   #2
Arkuz
Мозголом
ФорумчанинФорумчанин
 
Аватар для Arkuz
 
Регистрация: 22.09.2007
Адрес: Ставропольский край
Сообщений: 466
Репутация: 24

icq: 398608504
По умолчанию

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

Может через конструкцию CASE OF получится?
__________________
В каждом из нас спит Гений, и с каждым днём всё крепче!
*** EVERYBODY LIES ***

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

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

Например, можно пойти по такому пути - обрабатывать событие 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 в 13:19.
mihali4 вне форума   Ответить с цитированием
Старый 02.11.2008, 13:29   #5
Rusl92
Форумчанин
 
Аватар для Rusl92
 
Регистрация: 30.03.2008
Адрес: город Москва
Сообщений: 392
Репутация: 47
По умолчанию

а если мне надо писать какой итем неправильно отметили, а я не хочу писать:
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, 20:23   #6
Izhic
Участник клуба
 
Аватар для Izhic
 
Регистрация: 08.10.2008
Адрес: localhost
Сообщений: 667
Репутация: 226

skype: izhicgo
По умолчанию

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

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

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


13:49.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru