Вниз
Скачать: 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.014 c
1-8418
senya
2003-10-24 15:30
2003.11.03
ShowModal


1-8541
Романов Р.В.
2003-10-22 10:30
2003.11.03
SelectDirectory with Create


1-8510
MaG
2003-10-23 19:29
2003.11.03
Резка Формы


1-8487
Mag
2003-10-24 17:32
2003.11.03
Бегущая строка


1-8419
Fedja
2003-10-22 13:11
2003.11.03
Место формы




   Наверх