Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: -0.982 c
14-8589
Max Zyuzin
2003-10-15 14:08
2003.11.03
McAfee pro v7.02


3-8289
MV-GROB
2003-10-09 19:02
2003.11.03
Ошибка Index not found ? при попытке update dBase


3-8310
Юрий_48
2003-10-13 13:58
2003.11.03
DataSet без связи с БД


14-8614
ИМХО
2003-10-14 11:18
2003.11.03
Светлана Владимирская


1-8383
Igit
2003-10-22 16:51
2003.11.03
FileToStream в Delphi




   Наверх