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

Вниз

Имена компонентов....   Найти похожие ветки 

 
Manulo ©   (2002-10-22 11:19) [0]

Фишка такая, в проекте используеться 8 ServerSocket... Понятное дело, множество функций и процедур касательно этих компонент очень сильно перекликаються друг с другом... Отличие сосотоит только в том, какая именно компонента используется в данной процедуре. Например:


procedure btnClick (Sender ...);
var i : byte;
begin
i:=StrToInt(Edit1.text);
case i of
1 : ServerSocket1.open;
2 : ServerSocket2.open;
3 : ServerSocket3.open;
4 : ServerSocket4.open;
5 : ServerSocket5.open;
6 : ServerSocket6.open;
7 : ServerSocket7.open;
8 : ServerSocket8.open;
end;
end;

Так вот вопрос, как можно избежать повторения одних и тех же строк, отличающихся по сути только именем компонента? То есть как сделать некую процедуру ServerSocketOpen (i : byte);, которая по указанному ключу активировала компонент ServerSocketN, где вместо N -- ключ, передаваемый в процедуру?


 
Skier ©   (2002-10-22 11:20) [1]

>Manulo
FindComponent(...) ?


 
Smithson ©   (2002-10-22 11:26) [2]

Создай массив var Sockets: Array[1..8] of TserverSocket и дальше твой case превратиться в
i:=StrToInt(Edit1.text);
Sockets[I].Open;



 
Manulo ©   (2002-10-22 11:32) [3]

Хорошо, допустим компонент я нашёл, а как получить доступ к его свойствам (Я не имею в виду свойства типа Create, Destroy, который из определения присущи любому компоненту, а именно его личные свойства, как в данном случае процедура Open


 
Skier ©   (2002-10-22 11:36) [4]

>Manulo
Кастинг ? :)


 
Peter Gluhiy ©   (2002-10-22 11:43) [5]

Manulo © (22.10.02 11:32)
TServerWinSocket(Component).Open


 
Manulo ©   (2002-10-22 11:43) [6]

Skier
Это ты такой лаконичный, или просто решил поза!!!вать? :)
Поподробнее можна?


 
Skier ©   (2002-10-22 11:44) [7]

>Manulo
Peter Gluhiy © (22.10.02 11:43)


 
Manulo ©   (2002-10-22 14:12) [8]

Peter Gluhiy
Skier

Дякую, Хлопці (укр.) -- пасибки, Мастера :)



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

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

Наверх




Память: 0.48 MB
Время: 0.051 c
8-101381
Ptushenko Denis
2002-07-06 13:56
2002.10.31
Подскажите как определить скока минут длится песня ?


3-101064
mike-d
2002-10-12 12:40
2002.10.31
DLL и текущий Database


14-101503
Anatoly Podgoretsky
2002-10-12 08:04
2002.10.31
Именинники 12 октября


7-101539
Seldon
2002-08-24 21:25
2002.10.31
PC Speaker


4-101562
---Vect----
2002-09-18 09:52
2002.10.31
Как выгрузить из памяти Dll?