Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.08.16;
Скачать: [xml.tar.bz2];

Вниз

Обработка чекбоксов   Найти похожие ветки 

 
Нойвам   (2009-06-21 02:33) [0]

Добрый день, подскажите пожалуйста как правильно организовать проверку большого кол-ва checkbox`ов.
то есть я хочу сделать что то вроде этого:
for i:=1 to n do
if checkbox[i].Checked=true then label[i].Caption:="1" else label[i].Caption:="0";


 
Юрий Зотов ©   (2009-06-21 03:40) [1]

Вариант 1 - сделать массивы (один хранит CheckBox"ы, другой - Label"ы).

Вариант 2 - оставить CheckBox"ам и Label"ам имена по умолчанию, а для поиска и использовать FindComponent.

Вариант 3.  Назначить CheckBox"ам и Label"ам свойство Tag, а для поиска использовать цикл for i := 0 to ComponentCount - 1.

И еще можно варианты придумать. Все зависит от задачи - что в конечном счете нужно-то?


 
TIF ©   (2009-06-21 05:32) [2]

> проверку большого кол-ва checkbox`ов

Подозреваю, что вместо использования кучи вам было бы удобнее, проще и логичнее использовать компонент TCheckListBox

if CheckListBox1.State[i]=cbChecked then ля-ля-ля else тра-ля-ля;

А возможно, ещё и вместо label-ов использовать саму строку с "галочкой", которую мы щёлкаем:
CheckListBox1.Items[i]:="Чайник на плите: вкл.";
CheckListBox1.Items[i]:="Чайник на плите: выкл.";


;-)


 
Юрий Зотов ©   (2009-06-21 06:02) [3]


const
 OnOff: array[boolean] of string = ("выкл.", "вкл.");
// ==========
with CheckListBox1 do
 Items[i] := "Чайник на плите: " + OnOff[State[i] = cbChecked];

:o)


 
Юрий Зотов ©   (2009-06-21 11:43) [4]

Кстати, малюсенькая задачка для начинающих программеров (кто хочет, естественно) - сократить код в [3] и одновременно расширить его возможности.

Ув. профи, обратите внимание - для начинающих.
:о)


 
axis_of_evil ©   (2009-06-22 11:28) [5]

const
OnOff: array[TCheckBoxState] of string = ("выкл.", "вкл.", "заело");
// ==========
with CheckListBox1 do
Items[i] := "Чайник на плите: " + OnOff[State[i]];


так?
// я на полном серьезе отношу себя к начинающим, потому как программированием занимался сколь-либо серьезно три года назад -> i am a table %>


 
Ega23 ©   (2009-06-22 11:44) [6]


> i am a table %>


Ты - табличко?  :)))


 
brother ©   (2009-06-22 11:49) [7]

> Ты - табличко?  :)))

ну хоть не креведко)


 
axis_of_evil ©   (2009-06-22 12:06) [8]


> Ega23 ©   (22.06.09 11:44) [6]

стол %>


 
Юрий Зотов ©   (2009-06-22 14:10) [9]

> axis_of_evil ©   (22.06.09 11:28) [5]
> так?
Конечно.


 
axis_of_evil ©   (2009-06-22 14:11) [10]

спасибо, Юрий :>



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.08.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.048 c
15-1244755090
Германн
2009-06-12 01:18
2009.08.16
Вопрос к любителям смотреть кино в дороге.


4-1214376707
SVD
2008-06-25 10:51
2009.08.16
Характеристики сетевых адаптеров через WinPCap


15-1245181636
man from earth
2009-06-16 23:47
2009.08.16
а я например верю в лунатиков и в теории заговоров


15-1245405654
Tornado
2009-06-19 14:00
2009.08.16
.htacess запрет доступа


3-1221819683
Igor
2008-09-19 14:21
2009.08.16
Выгрузка данных из таблицы в Oracle





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский