Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
ВнизПересечение классов Найти похожие ветки
← →
HSD (2004-08-15 23:55) [0]Приветствую эксперты.Тут я делаю так:
procedure ListUser(Lb2:TListBox);
begin
lb2.items.add("1");
end;
вызываю так - ListUser(Lb2);
НО так как я не передаю другие обьекты(боксы),
то нашел так делать-
procedure TForm1.ListUser;
begin
lb2.items.add("1");
end;
+TForm1 в раздел private
вызываю так - ListUser;
незнаю правельно ли? с точки зрения ресурсов,
но работает и удобнее
решил таким образом добавить процедуры пересекающие
с VCL -то же работает
TReadd = class
tabl:byte;
procedure Read(CB1,CB2:TCheckBox;
RadioGroup1:TRadioGroup;
E:TSpinEdit;
lbss:TListBox);
end;
procedure TReadd.Read(CB1,CB2:TCheckBox;
RadioGroup1:TRadioGroup;
E:TSpinEdit;
lbss:TListBox);
begin
end;
,но попытка сделать упрощенную запись,
как ListUser(Lb2); => ListUser;
неудается приходется так :
вызов
CLA.Read(CB1,CB2,RadioGroup1,E,lbss);
хотелось бы так CLA.Read;
как описать незнаю(в книгах нет такого)
procedure TForm1.Read(CB1,CB2:TCheckBox;
RadioGroup1:TRadioGroup;
E:TSpinEdit;
lbss:TListBox);
TReadd = class
tabl:byte;
Read; //??? = TForm1.Read
end;
← →
Fay © (2004-08-16 02:40) [1]Бредятина какая-от. Можно повторить понятнее?
← →
Fay © (2004-08-16 02:41) [2]В смысле "... какая-то" 8)
← →
KSergey © (2004-08-16 07:28) [3]Короче вроде отдаленно понимаю о чем речь. Был тут недавно треп по поводу кольцевых ссылок.
Из общих соображений:
Можно спорить о производительности и ее необходимости в конкретном месте, однако лучше, если программа будет читабельнее и легче поддаваться модификации, чем выигрыш в 2 милисекунды (где эти милисекунды действительно не критичны).
А легче понимать и модифицровать функцию, параметры которой четко понятны и видны, чем ту, в которой есть жуткие завязки на другие модули.
← →
HSD (2004-08-19 13:40) [4]Хотел сделать упрощенную запись вызова функции,т.е
procedure ListUser(Lb2:TListBox);
свел к
procedure TForm1.ListUser;
по этому вызов проще:ListUser;
не надо указывать обьект.
------------------------------------------
Вот и хотел упростить это
TReadd = class
procedure Read(CB1,CB2:TCheckBox;
RadioGroup1:TRadioGroup;
E:TSpinEdit;
lbss:TListBox);
чтоб вызвать как нибудь так:
ASA:=TReadd.create;
ASA.Read; без указания обьектов
Но видимо тут не получится так
← →
TUser © (2004-08-19 13:48) [5]Получится, если написать код.
PS. За последний месяц - по моему ИМХО самый крутой пример того, как можно в топике выразить свои мысли предельно непонятно. Уж извини.
← →
HSD (2004-08-19 14:05) [6]>выразить свои мысли предельно непонятно.
да давно я не сидел в инете...извините!
и писал всегда так длинно,что запарило,а
в чужих исходниках ничего подобного нет,
покрайне мере которые я видел
procedure Read(Sender:TObject);
{(CB1,CB2:TCheckBox;
RadioGroup1:TRadioGroup;
E:TSpinEdit;
lbss:TListBox);}
← →
TUser © (2004-08-19 14:12) [7]Дальше обычно пишут var или begin. Еще варианты - Type, const, procedure, function, label. На выбор.
← →
HSD (2004-08-19 14:15) [8]знаю это обьявление
TReadd = class
Count:word;
procedure Read(Sender:TObject);
end;
procedure Read(Sender:TObject);
begin
if Count>0 then CB1.checked:=true;
....
lbss.items.Add("sss");
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.041 c