Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: Для новичков > исключить дублирование в ComboBox'ах |
Автор: Dmitry1987 5.1.2013, 10:43 |
Помогите с алгоритмов, что-то не пойму как сделать. Есть 3 ComboBox'а ComboBox1: не выбрано 1 2 3 ComboBox2: не выбрано 1 2 3 ComboBox3: не выбрано 1 2 3 Нужно сделать, чтобы, например, при выборе в ComboBox2 значения 3 это значение должно пропасть из ComboBox1 и ComboBox3 (т.е. нужно сделать так, чтобы значения в ComboBox'ах не дублировались, если в одном из ComboBox'ов выбрано какое-то значение, то его нельзя было бы выбрать в других ComboBox'ах). |
Автор: Данкинг 5.1.2013, 11:18 |
Проходи циклом по другому комбику, сравнивай значения, и удаляй, если совпало. |
Автор: skyboy 5.1.2013, 11:21 |
подумай над тем, что должно происходить, если выбираешь в первом "1" и такое же значение уже было выбрано во втором. либо во втором надо менять на "не выбрано", либо на первое подходящее из "не выбранных нигде". решение в общем виде довольно простое: onchange для каждого из комбобоксов выбери одну и ту же функцию. эта функция принимает в качестве параметров комбобокс, в котором произошло событие. то есть, ты можешь в функции-обработчике пробежаться по всем комбобоксом и в случае совпадения значения что-то сделать. причем, сделать не в комбобоксе, который только что менял(что сделало бы использование интерфейса адом), а в каком-то другом, совпадающем |
Автор: Dmitry1987 5.1.2013, 13:30 | ||||
Такого быть не должно - это ошибочная ситуация. Сделал, вроде работает. Гляньте, может что не предусмотрел или что-то можно оптимизировать
|