Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.10.24;
Скачать: [xml.tar.bz2];

Вниз

Как работать с 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.031 c
1-1097478037
Flying-home
2004-10-11 11:00
2004.10.24
Перехват события изменения размера колонки в ListView


4-1095749203
Users
2004-09-21 10:46
2004.10.24
Редакторы RC (аля Resource Workshop )


1-1097147871
lightix
2004-10-07 15:17
2004.10.24
Убить все приложения текущего юзера


14-1096736432
ArMellon
2004-10-02 21:00
2004.10.24
Заканчиваю работу над прогой и хотелось бы


11-1081782130
ГОСТЬище
2004-04-12 19:02
2004.10.24
Два таймера (независимо), да красивый текст.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский