Вниз
Скачать: CL | DM;

Как работать с CheckBox ами в виде массива   Найти похожие ветки 

 
АП   (2004-10-09 23:13) [0]

У меня на форме есть, к примеру 8 CheckBox и 8 Memo, как работать с ними как с масивом, или чем-то подобным, например я хочу их разом невидимыми сделать, или часть CheckBox отключить, например,4. Каждый разписать CheckBox1.enabled:=false... не хочется. В книжках пытался порыться,  за 15 минут почти ни чего не нашол, Скорей всего это что-то просте, кто знает, ответте.


 
Defunct ©   (2004-10-09 23:16) [1]

Да это проблема..

хотите совет, чем больше думаете над красотой кода, тем выше вероятность, что программа либо не будет написана, либо будет уже никому не нужна.


 
Defunct ©   (2004-10-09 23:19) [2]

> за 15 минут почти ни чего не нашол

за 15 минут можно было написать все необходимые комбинации залочивания CheckBox"ов

Procedure Lock4;
Begin
 CheckBox1.Enabled := False;
 CheckBox2.Enabled := False;
 CheckBox3.Enabled := False;
 CheckBox4.Enabled := False;
End;

и т.д.


 
АП   (2004-10-09 23:25) [3]

Для Memo я извернулся. как-то, методом тыка..., но всё равно, что-то не то. Хотелось бы узнать, какому элементу массва какая фигня соответствует
for i:= 5 to 4+kotv[k] do
begin
(controls[i] as TMemo).visible:=true;

with (controls[i] as TMemo) do begin
SelStart:=0;
SelLength:=200;
SelText:=ms[k,i-5];
end;


 
GuAV ©   (2004-10-09 23:27) [4]

как вариант...
procedure EnableControls(const C: array of TControl; Value: Boolean);
var I: Integer;
begin
 for I:=Low(C) to High(C) do
   C.Enabled:=Value;
end;

...

EnableControls(CheckBox2, CheckBox4);


 
GuAV ©   (2004-10-09 23:29) [5]

FindChildControl(CheckBox+IntToStr(I)) as TCheckBox

*********

if controls[i] is TCheckBox
with TCheckBox(controls[i]) do
if Name=CheckBox1


 
olookin ©   (2004-10-09 23:30) [6]

А не проще проверять через Controls наличие объекта заданного типа и делать с ним все?


 
АП   (2004-10-09 23:31) [7]

Ok, попробую, хоть в Delphi почти не секу, (на ПасКале7.0 сижу), но ыглядит нормально


 
XM   (2004-10-10 00:11) [8]

procedure EnableControls(const C: array of TControl; Value: Boolean);
var I: Cardinal;
begin
for I:=Low(C) to High(C) do
  C[I].Enabled:=Value;
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: -0.976 c
1-1097240952
Megabyte
2004-10-08 17:09
2004.10.24
Конструкция "Case n of"


14-1097150551
Lool
2004-10-07 16:02
2004.10.24
Еще одна задача


4-1095869036
Антон
2004-09-22 20:03
2004.10.24
GDI: как узнать высоту текстового блока, если ширина задается


14-1096620095
KilkennyCat
2004-10-01 12:41
2004.10.24
вот еще попробовал писательством заняться...


14-1095511217
Fallen Angel
2004-09-18 16:40
2004.10.24
Проблемы с XP




   Наверх