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

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

Как можно показать n кнопок на панеле [D7, XP]


Страницы:   1 2 3

Любитель ©   (2006-12-18 11:22:00) 

Как можно показать n кнопок на панеле.
n - вводиться пользователем.


SergP   (2006-12-23 10:39:00) [1]

> [46] Anatoly Podgoretsky ©   (23.12.06 09:59)
> > SergP  (23.12.2006 8:56:45)  [45]
>
> Какие именно?
> Но CheckBox здесь не уместен, тут должен быть RadioBox


да я вижу что он здесь неуместен.
Но ведь Любитель что-то сильно привязался к этим чекбоскам, вот и захотелось ему задать такой вопрос, чтобы он сам это понял...


Anatoly Podgoretsky   (2006-12-23 09:59:00) [2]

> SergP  (23.12.2006 8:56:45)  [45]

Какие именно?
Но CheckBox здесь не уместен, тут должен быть RadioBox


SergP   (2006-12-23 08:56:00) [3]

> [25] Любитель   (21.12.06 12:51)
> Тьфу ты совсем запутался
>
>
> procedure TForm1.Button8Click(Sender: TObject);
> begin
> if CheckBox1.Checked then
> Button1.Visible:=True;
> if CheckBox2.Checked then
> Begin
> Button1.Visible:=True;
> Button2.Visible:=True;
> end;
> if CheckBox3.Checked then
> begin
> Button1.Visible:=True;
> Button2.Visible:=True;
> Button3.Visible:=True;
> end;
>
>
> Сделать по короче
> что бы при выборе определенного CheckBox N показывались
> N кнопок
>
> begin
> Button[N].Visible:=True;


А если выбрано несколько чекбоксов, то чего должно показываться?
:-)))


Ega23   (2006-12-21 16:01:00) [4]


> параноидальное условие. Работает со 100% гарантией даже
> в военное время.
>


Чё, правда?


Anatoly Podgoretsky   (2006-12-21 15:31:00) [5]

Ну мы так и делаем, не каждый же день такие развлечение, просто непонятно твое удивление в [38].


Любитель   (2006-12-21 15:29:00) [6]

>Сергей М. [39]
>Не я сам не программер

>Anatoly Podgoretsky ©   (21.12.06 15:20) [41]
> Любитель  (21.12.2006 14:59:38)  [38]
>Сегодня ты у нас штатный шут, это у тебя класно получается, вот народ и >веселится.

Ну пусть повеселяться


Anatoly Podgoretsky   (2006-12-21 15:20:00) [7]

> Любитель  (21.12.2006 14:59:38)  [38]

Сегодня ты у нас штатный шут, это у тебя класно получается, вот народ и веселится.


_RusLAN   (2006-12-21 15:07:00) [8]

>[33]
>параноидальное условие. Работает со 100% гарантией даже в военное время.


Сергей М.   (2006-12-21 15:05:00) [9]


> Вот как его укоротить


Ножовкой. По Паскалю.
В кр.случае - тяпкой. Огородной.

Ты программер или где ?)


Любитель   (2006-12-21 14:59:00) [10]

> novill [37]

не понял


novill   (2006-12-21 14:56:00) [11]

> [36] Любитель   (21.12.06 14:52)

А вы чей виртуал? Веселите образцово!


Любитель   (2006-12-21 14:52:00) [12]

> Ega23 это все понятно и если представить что будет кнопок так 20 и больше так сколько строк получиться в коде только на это

Вот как его укоротить


Anatoly Podgoretsky   (2006-12-21 13:36:00) [13]

> Ega23  (21.12.2006 13:23:33)  [33]

Мне тоже понравилось :-)


novill   (2006-12-21 13:29:00) [14]

> [32] Anatoly Podgoretsky ©   (21.12.06 13:17)

"... Неправильно ты, дядя Федор, бутерброд ешь." (с)матроскин


Ega23   (2006-12-21 13:23:00) [15]


> А я бы написал
>
> Button1.Visible := CheckBox1.Checked;
> Button2.Visible := CheckBox2.Checked;
> Button3.Visible := CheckBox3.Checked;
>
> И в других местах аналогично


Да, но посмотри насколько мой вариант круче.
Подумал, можно его ещё обогатить:

if CheckBox1.Checked=True then
begin
Button1.Visible:=True;
end
else
if CheckBox1.Checked=False then
 begin
  Button1.Visible:=False;
 end;
else
  raise Exception.Create('Unknown value');


Anatoly Podgoretsky   (2006-12-21 13:17:00) [16]

> Ega23  (21.12.2006 13:07:30)  [30]

А я бы написал

Button1.Visible := CheckBox1.Checked;
Button2.Visible := CheckBox2.Checked;
Button3.Visible := CheckBox3.Checked;

И в других местах аналогично


novill   (2006-12-21 13:17:00) [17]

> [30] Ega23 ©   (21.12.06 13:07)
))))))))))))) Гениально! Ты уже можешь преподавать программирование, просветляя юные умы!


Ega23   (2006-12-21 13:07:00) [18]


> я о [25] спрашивал, а не о [23] :)


Ну там много чего не хватает. Я бы так написАл:

procedure TForm1.Button8Click(Sender: TObject);
begin
if CheckBox1.Checked=True then
begin
 Button1.Visible:=True;
end
else
if CheckBox1.Checked=False then
 begin
   Button1.Visible:=False;
 end;

if CheckBox2.Checked=True then
Begin
 Button1.Visible:=True;
 Button2.Visible:=True;
end
else
if CheckBox2.Checked=False then
 begin
  Button1.Visible:=False;
  Button2.Visible:=False;
 end;

if CheckBox3.Checked=True then
begin
 Button1.Visible:=True;
 Button2.Visible:=True;
 Button3.Visible:=True;
end
else
if CheckBox3.Checked=False then
 begin
  Button1.Visible:=False;
  Button2.Visible:=False;
  Button3.Visible:=False;
 end;

end;


novill   (2006-12-21 12:59:00) [19]

> [28] Ega23 ©   (21.12.06 12:57)
>
> > Ega23, крайне интересует твое цензруное мнение о [25]
>
>
> Ну как минимум procedure TForm1.B_init; переписать.

я о [25] спрашивал, а не о [23] :)


Ega23   (2006-12-21 12:57:00) [20]


> Ega23, крайне интересует твое цензруное мнение о [25]


Ну как минимум procedure TForm1.B_init; переписать.


Страницы:   1 2 3

Наверх

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