Форум: "Начинающим";
Текущий архив: 2012.01.29;
Скачать: [xml.tar.bz2];
ВнизКак применить FindComponent на дочерних окнах Найти похожие ветки
← →
rammic © (2011-10-18 14:06) [0]Прошу помощи у мастеров.
Если я пишуkZ[i]:= StrToFloat(TEdit(FindComponent("Edit" + IntToStr(i))).Text);
и эти Edit-ы находятся главной форме, то все получается.
Что нужно сделать, чтобы из главной формы видеть компоненты, которые
находятся на дочерних формах?
← →
Медвежонок Пятачок © (2011-10-18 14:11) [1]вызывать файнд не у главной а у дочерних форм
← →
rammic © (2011-10-18 14:16) [2]А как тогда заполнить массив который находится на главной форме данными
из Edit-ов которые находятся на дочерней форме ?
← →
Медвежонок Пятачок © (2011-10-18 14:17) [3]массив не находится на главной форме.
← →
rammic © (2011-10-18 14:22) [4]Он переменная процедуры главной формы
← →
Медвежонок Пятачок © (2011-10-18 14:23) [5]и чего?
в него нельзя писать/читать после этого?
← →
rammic © (2011-10-18 14:29) [6]Можно, но неохота писать двадцать строк kZ[1]:= FloatToStr(Form2.Edit1.Text)
← →
Медвежонок Пятачок © (2011-10-18 14:31) [7]не пиши если неохота.
вдруг массив сам заполнится.
← →
rammic © (2011-10-18 14:34) [8]Так может или не может FindComponent видеть компоненты на дочерних окнах? Вряд-ли он заполнится сам
← →
Медвежонок Пятачок © (2011-10-18 14:40) [9]Ты нажми F1 и узнаешь, может или не может.
Это не абстрактная волшебная функция поиска.
Это метод класса.
У тебя он вызывается у главной формы и ищет компоненты которыми она владеет. Других не ищет потому что там где она их ищет - их нет.
← →
rammic © (2011-10-18 14:45) [10]Спасибо, Так что, нет другого способа заполнить массив кроме как
писать 20 строк?
← →
Медвежонок Пятачок © (2011-10-18 14:47) [11]А зачем тебе знать ответ, если ты читать не умеешь?
>вызывать файнд не у главной а у дочерних форм
← →
rammic © (2011-10-18 14:52) [12]А как передать эти данные в процедуру главной формы?
← →
Медвежонок Пятачок © (2011-10-18 14:54) [13]А как ты сейчас "передаешь" содержимое Edit1 c Form2?
kZ[1]:= FloatToStr(Form2.Edit1.Text)
Трудностей нет?
← →
rammic © (2011-10-18 14:55) [14]Имел ввиду StrToFloat
← →
Медвежонок Пятачок © (2011-10-18 15:00) [15]пятьдесят
← →
rammic © (2011-10-18 15:03) [16]Загадочный ответ
← →
Медвежонок Пятачок © (2011-10-18 15:09) [17]>kZ[1]:= FloatToStr(Form2.Edit1.Text)
Ты до эдита, принадлежащего другой форме сумел добраться?
Сумел.
Так в чем твоя проблема вызвать метод файндкомпонет у этой же Form2?
← →
rammic © (2011-10-18 15:20) [18]Моя проблема в том, что массив kZ - переменная процедуры главной формы
и я не знаю как передать в него то, что файнд найдет в Edita-x Form2.
Понимаю, что проблема совсем глупая, но я не могу ее решить
← →
rammic © (2011-10-18 15:22) [19]Может из процедуры главной формы писать Form2.FindComponent?
← →
Ega23 © (2011-10-18 15:26) [20]
> Может из процедуры главной формы писать Form2.FindComponent?
Попробуй, в чём проблема-то? Получится - хорошо. Не получится - тоже результат.
← →
Медвежонок Пятачок © (2011-10-18 15:30) [21]и я не знаю как передать в него то, что файнд найдет в Edita-x Form2.
Пипец. Здесь, значит, еще знаешь
>kZ[i]:= StrToFloat(TEdit(FindComponent("Edit" + IntToStr(i))).Text);
А здесь уже разрыв шаблона?
kZ[i]:= StrToFloat(TEdit(Form2.FindComponent("Edit" + IntToStr(i))).Text);
← →
rammic © (2011-10-18 15:33) [22]Спасибо, прошу прощения за полное отсутствие смекалки
← →
Anatoly Podgoretsky © (2011-10-18 16:00) [23]FindControl у соответствующего контейнера или рекурсия.
← →
Плохиш © (2011-10-18 20:24) [24]Может орешник востановить?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2012.01.29;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.004 c