Текущий архив: 2003.09.11;
Скачать: CL | DM;
Вниз
TCheckBox Найти похожие ветки
← →
_MAD_ (2003-08-30 16:59) [0]помогите плиз.
У меня на форме есть 3 чеквокса так вот нузно написать универсальный алгоритм чтобы если итое условие равно 0 тогда чекбокс получается анчект или наоборот и так далее.
трабл в том как сделать массв из имен чекбоксов и потом их использоватью если кто знает или может помочь буду очень благодарен.
ЗЫ: компоненты неприветствыются
← →
Song (2003-08-30 17:01) [1]TCheckBox(Sender).Checked:=Bool(i);
← →
_MAD_ (2003-08-30 17:58) [2]сорри я видимо неправильно сформулировал вопрос.
у меня есть 3 чекбокса и 3 условия. создаю цикл и если первое условие нас устраивает то чекбокс чекается если нет то нечекается и так далее.
ЗЫ: проблема в том что чекбоксов может быть 30-40 штук и для облегчения кода я думаю нужно использовать массив с их именами и соответственно при чеканье брать его имя по номеру из цикла и по этому имени его чекать
на этот раз кажется изложил все правильно
← →
Song (2003-08-30 18:04) [3]А условия у тебя где фиксируются? От руки в коде пишутся? Дело в том, что перечисление чекбоксов автоматизировать можно, а вот условия, зависит от того, как ты их реализовал. Приведи кусок своего кода.
← →
_MAD_ (2003-08-30 18:13) [4]const
keys : array [1..3] of string =("NoFavoritesMenu", "NoFind", "NoSMHelp");
var
i:integer;
begin
reg:=tregistry.Create;
try
reg.RootKey:=HKEY_CURRENT_USER;
if reg.OpenKey("\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explo rer",true) then
for i:=1 to 3 do
begin
if reg.ReadBool(keys[i])=1 then
вот как раз в этом месте и необходимо чтобы чекался итый чеквокс соответстующий итому ключу
end;
finally
Reg.CloseKey;
Reg.Free;
inherited;
end;
end;
← →
Song (2003-08-30 18:25) [5]Если CheckBox1 соответствует keys[1], а CheckBox2 - keys[2] и т.д.
тогда можно так:
For i:=1 to High(Keys) Do CheckBox(FindComponent("CheckBox"+IntToStr(i))).Checked:=Bool(Keys[i]) ;
← →
_MAD_ (2003-08-30 18:28) [6]спаисбо большое
← →
_MAD_ (2003-08-30 19:11) [7]простите за назойливость но у меня опять проблема на вот эту строку For i:=1 to High(Keys) Do CheckBox(FindComponent("CheckBox"+IntToStr(i))).Checked:=Bool(Keys[i]) ;
делфа пишет Undeclared identifier: "CheckBox" что делать
← →
Юрий Зотов (2003-08-30 19:15) [8]...do T CheckBox(FindComponent(...
← →
_MAD_ (2003-08-30 19:21) [9]спасибо все работает
← →
Мал0й (2003-08-30 19:22) [10]Возможно это решит проблему не только трех CheckBox-ов
Type CheckBox = Array [0..N] of TCheckBox;
Var MyCheckBox: CheckBox;
Страницы: 1 вся ветка
Текущий архив: 2003.09.11;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.007 c