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

Вниз

case ... of   Найти похожие ветки 

 
Igit ©   (2003-10-23 13:24) [0]

хотелось бы
case Sender of
Form1.Button13 : lpszText:=Pchar("Exit");
Form1.Button12 : lpszText:=Pchar("Hide");
........................................
end;
но ругается, мол Ordinal type required.
приходться так:
if Sender =
Form1.Button13 then lpszText:=Pchar("Exit");
if Sender =
Form1.Button12 then lpszText:=Pchar("Hide");
...........................................

подскажите что делать?


 
Skier ©   (2003-10-23 13:28) [1]


> подскажите что делать?

Использовать св-во TButton.Tag


 
clickmaker ©   (2003-10-23 13:29) [2]

Раздать всем батонам тэги и дальше:

case TButton(Sender).Tag of
13:
12:
end;


 
Внук ©   (2003-10-23 13:31) [3]

Оператор case действительно употребим только для порядковых типов. Можно использовать свойство Tag и писать
case (Sender as TComponent).Tag of
1:
2:
...
А еще лучше ввести вместо 1,2,... перечислимый тип.


 
Skier ©   (2003-10-23 13:31) [4]

>Igit © (23.10.03 13:24)
А вообще расскажи про изначаньную задачу - что нужно сделать с кнопками ? Может быть найдётся решение поизящней...


 
Внук ©   (2003-10-23 13:34) [5]

:))))))))


 
han_malign ©   (2003-10-23 14:28) [6]

Form1.Button13.Tag:=integer(PChar("Exit"));//Tag = адрес строковой константы
...............
lpszText:=Pchar(TComponent(Sender).Tag);


 
Igit ©   (2003-10-23 14:42) [7]

Спасибо всем. Все работает.
>Skier © (23.10.03 13:31)
Мультиязычный интерфейс



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

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

Наверх




Память: 0.47 MB
Время: 0.03 c
14-8670
Думкин
2003-10-11 04:55
2003.11.03
С днем рождения! 11 октября.


7-8678
Эл
2003-08-24 19:40
2003.11.03
Получение информации о системе


4-8738
yong
2003-08-28 10:07
2003.11.03
Как запретить на время перерисовку окна.


14-8664
VID
2003-10-13 15:17
2003.11.03
ASDSee 6.0, Norton Utilities 2002 6.0


1-8396
Sandman25
2003-10-20 17:48
2003.11.03
Exe в 2 Mb - много или мало?