Главная страница
    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.006 c
3-1225817639
pushkin42
2008-11-04 19:53
2009.08.16
Incorrect values within SQLDA structure при выполнении запроса


2-1245134982
vitalik200888
2009-06-16 10:49
2009.08.16
как поменять главную форму в delphi.


6-1205915538
grisme
2008-03-19 11:32
2009.08.16
Content-Length field


15-1245270610
Юрий
2009-06-18 00:30
2009.08.16
С днем рождения ! 18 июня 2009 четверг


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





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский