Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Много одинаковых объектов


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. Смотреть справку.


Наверх

Титульная страница Поиск, карта сайта Написать письмо