![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Много одинаковых объектов
Philipp © (2008-05-06 11:40:00)Добрый день помогите пожалуйста!
На форме есть 164 RadioButton: RadioButton1,...,RadioButton64
В соответствии с ними заполняется массив mas
следующим образом:
if RadioButton32.Checked=True then mas[32]:=1
else mas[32]:=0;
Не хочется руками 164 раза писать одно и тоже.
Вопрос: как организовать цикл типа
for i:=1 to 164 do
Begin
if RadioButton i .Checked=True then mas[i]:=1
else mas[i]:=0;
end;
Спасибо!
app (2008-05-06 14:09:00) [1]> Philipp (06.05.2008 13:19:12) [12]
Прочитать в обязательном порядке, до тех пор воздержаться от задания вопросов в публичном форуме
http://www.podgoretsky.com/cgi-bin/dlcounter/npscnt?file=http://podgoretsky.com/ftp/Language/nps/howtoask.html&file_id=howtoask
Anatoly Podgoretsky (2008-05-06 14:07:00) [2]> Philipp (06.05.2008 13:19:12) [12]
Видишь ли твой запрос был бы нормален, если бы ты работал со службой поддержки, но к сожелению здесь публичный форум и каждый имеет право писать, то что он считает нужным, а не то, что считает вопрошающий, здесь он проситель, а не заказчик.
ANB (2008-05-06 13:44:00) [3]
> Достаточно if true
Достаточно if :)
> Philipp (06.05.08 13:19) [12]
Грубить на этом ресурсе не принято.
А 164 радиобаттона заменяются одной радиогруппой. Это не басик.
Ega23 (2008-05-06 13:39:00) [4]
> Господин Ega23, кроме своего "фи", ничего, по моему вопросу,
> сказать не можете.
у тебя в целом написано if true=true. Зачем? Достаточно if true
Можно пойти дальше:
if (((if RadioButton32.Checked=True)=True)=True) and (1=1) and (0<>1) then ...
Kolan (2008-05-06 13:32:00) [5]Тебе мозго пытаются поправить, а ты сопротивляешься. Программу со 164 радио кнопками можно выбросить неглядя.
Philipp (2008-05-06 13:19:00) [6]Уважаемый Anatoly Podgoretsky!
Я не просил Вас комментировать свою задачу, а попросил помочь в 1 вопросе. Вы считаете что спустя 8 лет после окончания института у человека не может возникнуть необходимость, написать к.л. приложение, и знания полученные в ВУЗе(если их не применять на практике) не забываются?. Могу Вас поздравить,у Вас хорошая память. Вы, как и Господин Ega23, кроме своего "фи", ничего, по моему вопросу, сказать не можете.Я Вашего мнения не спрашивал.
Еще раз спасибо всем, кто написал по теме!
Reindeer Moss Eater (2008-05-06 12:07:00) [7]for i := 0 to pred(controlscount) do
if Controls[i] is TRadioButton then with TRadiobutton(Controls[i]) do mas[tag] := ord(checked);
Anatoly Podgoretsky (2008-05-06 12:06:00) [8]> Philipp (06.05.2008 12:04:06) [6]
Отлично и ты вместо объяснения задачи хочешь рассказать нам как неправильно делаешь.
А задача курсовая
Anatoly Podgoretsky (2008-05-06 12:06:00) [9]> Ega23 (06.05.2008 12:02:05) [5]
Да тут все заливная рыба.
Ega23 (2008-05-06 12:05:00) [10]
> к сожалению так поставлена задача
"Не верю!" (с)
Reindeer Moss Eater (2008-05-06 12:05:00) [11]это классика, а не фукакаягадость :)))
Philipp (2008-05-06 12:04:00) [12]to Anatoly Podgoretsky
к сожалению так поставлена задача
Ega23 (2008-05-06 12:02:00) [13]
if RadioButton32.Checked=True
фу какая гадость....
Anatoly Podgoretsky (2008-05-06 11:53:00) [14]Да еще и продублированых массивом и почему то Integer;
Philipp (2008-05-06 11:52:00) [15]Все сделал, всем огромное спасибо!
PS
164 радиобаттона Это не жесть, а извращение:)
jack128_ (2008-05-06 11:47:00) [16]
var
I: Integer;
Comp: TComponent;
begin
for I := 1 to 164 do
begin
Comp := Self.FindComponent('Radiobutton' + IntToStr(I));
if Comp is TRadioButton then
mas[I] := IfThen(TRadioButton(Comp).Checked, 1, 0);
end;
end;
PS - а вообще 164 радиобаттона на форме - это жесть.
ANB (2008-05-06 11:44:00) [17]У формы есть поле Controls. Смотреть справку.