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

Вниз

Узнать программно , если такой метод или нет ?   Найти похожие ветки 

 
Derevyanniy kak Rels   (2005-01-26 16:29) [0]

то-есть если я делаю так :

for i:=0 to Form1.ControlsCount-1 do
begin
  if Form1.Controls[i] is TEdit then
    begin
       (Form1.Controls[i] as TEdit).Text := "Hello World :)";
    end;
end;

а вот мне лень, допустим, сидеть и писать что этот конрол относится к такому типу итд итп .

Возможно проверить программно  что есть какой метод Text
и запихать в него текст .


 
TUser ©   (2005-01-26 16:32) [1]

Text в данному случае, - это не метод, а свойство. В данном случае проверить можно, используя RTTI. Собственно, is его и использует.

PS. [0] намного проще и разумнее, ИМХО.


 
GuAV ©   (2005-01-26 16:35) [2]

Derevyanniy kak Rels   (26.01.05 16:29)


> метод Text

Это св-во.


> Возможно проверить программно

Нет. Но можно проверить есть ли оно в Published.


>   if Form1.Controls[i]

В прочем для данной задачи проверять незачем, у любого TControl есть св-во Text.


 
GuAV ©   (2005-01-26 16:36) [3]

TUser ©   (26.01.05 16:32) [1]
PS. [0] намного проще и разумнее, ИМХО.


Зависит от задачи.


 
KSergey ©   (2005-01-26 16:36) [4]

> Derevyanniy kak Rels   (26.01.05 16:29)
> Возможно проверить программно  что есть какой метод Text

Читай про RTTI (узнать можно только для published методов, Text - оно)

Однако код проще ну никак не получится ;)

for i:=0 to Form1.ControlsCount-1 do
begin
 if Form1.Controls[i] is TEdit then
      TEdit(Form1.Controls[i]).Text := "Hello World :)";
end;


И никаких as тут уже не надо - уже же проверили, что это точно TEdit или наследник


 
KSergey ©   (2005-01-26 16:37) [5]

> [4] KSergey ©   (26.01.05 16:36)

Таки проглядел, что и оставшиеся begin/end нафиг не нужны...


 
jack128 ©   (2005-01-26 16:38) [6]

PropInfo := GetPropInfo(Sender, "Text");
if Assigned(PropInfo) then
 SetStrProp(Sender, PropInfo, "Hello World");


 
Derevyanniy kak Rels   (2005-01-26 16:39) [7]

Да оговорчка вышла , это не метод а св-во .
просто изначально я вообщем имел ввиду .


И никаких as тут уже не надо - уже же проверили, что это точно TEdit или наследник


аха , это просто скорее привычка :)



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

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

Наверх




Память: 0.48 MB
Время: 0.025 c
1-1106734580
SashkoSoft
2005-01-26 13:16
2005.02.13
ресурсы в dll-ке


3-1105430335
AleKo
2005-01-11 10:58
2005.02.13
HalcyonDataSet кто сталкивался.


14-1106428193
AZ
2005-01-23 00:09
2005.02.13
Фильмы катастроф - добро или зло?


1-1106891691
Tornado
2005-01-28 08:54
2005.02.13
Перебор пунктов меню


1-1107106394
Pointer
2005-01-30 20:33
2005.02.13
преобразования...