Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.05;
Скачать: CL | DM;

Вниз

Пересечение классов   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.02 c
3-1092301654
Pyton
2004-08-12 13:07
2004.09.05
Редактирование и удаление записей


14-1092737617
Sandman25
2004-08-17 14:13
2004.09.05
Инопланетяне


1-1092635057
r9000
2004-08-16 09:44
2004.09.05
Преобразование времени


3-1092049604
Guma
2004-08-09 15:06
2004.09.05
Помогите с запросом в SQL Server-е


3-1092032920
Korvin
2004-08-09 10:28
2004.09.05
Изменение списка полей в TTable





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский