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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
1-33550
titnn
2003-08-29 03:33
2003.09.11
как зеркально переставить биты ...


9-33414
BANick
2003-03-08 13:18
2003.09.11
Как отрендерить опенгл на принтер?


1-33669
Михаил. Т
2003-08-29 16:16
2003.09.11
TAction


1-33663
Dimaz-z
2003-08-29 22:55
2003.09.11
Как узнать из программы когда она была скомпилирована?


9-33419
VEG
2003-03-08 12:26
2003.09.11
Режим эмуляции





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