Форум: "Основная";
Текущий архив: 2005.02.13;
Скачать: [xml.tar.bz2];
ВнизУзнать программно , если такой метод или нет ? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.045 c