|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.10.2017, 08:49 | #1 |
Пользователь
Регистрация: 20.09.2012
Сообщений: 17
|
Вычисление с помощю цикла
Здравствуйте, У меня такой вопрос. Есть несколько качеств, каждое качество вычисляется путем перемножения Edit и сомбобокса,а ответ идет в label.
Каждое качества имеет по edit, сомвовох и label. Вот код для вычисления одного из качеств. Суть вопроса состоит в том как сделать все это через цикл, а не заниматься копипастом? procedure TForm6.Button1Click(Sender: TObject); var a,b,c:real; begin a:=strtofloat(edit1.Text); b:=a*strtofloat(combobox1.items[combobox1.ItemIndex]); label6.Caption:=floattostrf(b,ffFix ed,0,2); |
19.10.2017, 09:26 | #2 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
Ну можно создать для каждого качества свои контроли со своими именами.
например : свойство 1 = prop1, label_prop1, edit_prop1, combox_prop1 свойство n = propn, label_propn, edit_propn, combox_propn затем в цикле произвести поиск нужных контролов на форме и обработать данные из них. поиск наверное как то так будет выглядеть: Код:
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
19.10.2017, 09:54 | #3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Несколько - это сколько? Наверняка лучше использовать какой-то табличный объект. Да и имена типа edit1 это бутерброд, который всегда падает маслом вниз ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
19.10.2017, 09:58 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
согласен с советом WorldMaster, можно переименовать контролы так, чтобы они были связаны именами.
допустим, что они называются Для Свойства1: edit1 combobox1 label_prop1 Для Свойства2: edit2 combobox2 label_prop2 и т.д. тогда все их можно легко вычислить в таком цикле: Код:
|
19.10.2017, 10:12 | #5 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Если таких комбинаций реально много, я бы не поленился написать свой Control, который будет интегрировать кнопку, метку, комбо и эдит.
Но можно с этим не заморачмваться, а просто создавать нужные кнопку, метку, комбо и эдит динамически, одновременно занося их в массив (или в TList, кому как больше нравится). При этом у кнопки выставить значение Tag, равное индексу в массиве. Это даст возможность в обработчике кнопки взять этот Tag и сразу получить доступ к метке, комбо и эдиту по этому индексу. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Использование оператора цикла c пред- или постусловием (вычисление суммы ряда) | replaced | Помощь студентам | 1 | 30.01.2015 18:51 |
избавиться от цикла for или ускорить вычисление | AlexVI | Visual C++ | 0 | 09.02.2012 16:06 |
алгоритмы нахождения эйлерова цикла и гамильтонова цикла в графе. | Necare | Помощь студентам | 0 | 15.11.2011 18:26 |
Вычисление суммы членов ряда, используя оператора цикла с предусловием WHILE | SeeJay | Помощь студентам | 3 | 17.02.2010 21:30 |
Переход от цикла к циклу не выходя из цикла (без multithreading) | Qousio | Общие вопросы C/C++ | 2 | 16.05.2009 09:27 |