Вниз
Скачать: 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.025 c
14-1106509925
Чеширский_Кот
2005-01-23 22:52
2005.02.13
Является ли склонность к чему-либо признаком деградации?


14-1106428212
Гарилла
2005-01-23 00:10
2005.02.13
Кто и чем занимается?


3-1105650552
Scained
2005-01-14 00:09
2005.02.13
КАК СВЯЗАТЬ ТАБЛИЦУ С ЗАПИСЬЮ!


4-1104014253
AGAMEMNUM
2004-12-26 01:37
2005.02.13
список задач


14-1106574573
}|{yk
2005-01-24 16:49
2005.02.13
Никто не знает, как в TeX сделать обтекание картинки текстом?




   Наверх