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

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



Память: 0.46 MB
Время: 0.022 c
14-1106428212
Гарилла
2005-01-23 00:10
2005.02.13
Кто и чем занимается?


10-1083047420
JibSkeart
2004-04-27 10:30
2005.02.13
Внутри СОМ не ловит события WaitForMultipleObjects почему ?


14-1106739159
ПЛОВ
2005-01-26 14:32
2005.02.13
Чем открыть *.LDF и *.MDF


1-1106946843
Bobby Digital
2005-01-29 00:14
2005.02.13
Hint


6-1101480735
Muhan
2004-11-26 17:52
2005.02.13
Как выудить данные с интернет страницы с помощью ссылки в Делфи




   Наверх