Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: 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 вся ветка

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
4-1095509257
TopT
2004-09-18 16:07
2004.10.24
Как блокировать выключение экрана?


14-1096309493
Drakon
2004-09-27 22:24
2004.10.24
Опрос: Какой у вас принтер?


1-1097584518
Dixi
2004-10-12 16:35
2004.10.24
TProvider.ApplyUpdates


14-1096890677
Marker
2004-10-04 15:51
2004.10.24
Можно ли заставить Excel...


3-1096021162
Alexxxxxxxxxx
2004-09-24 14:19
2004.10.24
Как программно изменить значения параметров в BDE