Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.035 c
1-1106841288
SMT
2005-01-27 18:54
2005.02.13
Вывод на форму немецких букв - умлаутов


1-1106819778
Viktop
2005-01-27 12:56
2005.02.13
Коды клавиш


4-1103460003
Игореня
2004-12-19 15:40
2005.02.13
Процессы


1-1107169060
Garry_c
2005-01-31 13:57
2005.02.13
MessageBox


1-1107245589
MakedoneZ
2005-02-01 11:13
2005.02.13
Насчет Table.FieldCount(помогите с куском пргораммы)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский