Вниз
Скачать: 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.024 c
3-1105622498
Russko
2005-01-13 16:21
2005.02.13
IBDataSet1.Insert


1-1107035146
Руслана
2005-01-30 00:45
2005.02.13
Вопрос по вызову программы из трея.


1-1107245661
denis24
2005-02-01 11:14
2005.02.13
удаление нескольких строк в gridview


1-1106881630
gsformat
2005-01-28 06:07
2005.02.13
как отловить утечку памяти


14-1106337070
olookin
2005-01-21 22:51
2005.02.13
Есть у кого склонность сыграть в шахматы на netcenter.pogo.com?




   Наверх