![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.09.2009
Сообщений: 23
|
![]()
Доброго времени суток комрады
Задача: Написать функцию кортой будет передаваться имя динамически созданного элемента Edit (форма на котором расположен Edit то же созданна динамически) которарая будет возвращать значение введенное пользователем в этот Edit. Решение: Function TForm1.ReadEdit(NameEdit:string):st ring; begin Result:=NameEdit.Text; end; Delphi соответственно ругается: [DCC Error] Unit1.pas(476): E2018 Record, object or class type required Вот собственно и вопрос как мне обратиться к этому Edit правильно? P.S. В инете накопал как можно положить в эдит надпись путем создания обработчика события элемента типа FormCreate или OnClick, но это не совсем то что я хочу сделать т.к. пользователь не должен кликать по элементу а должен нажать кнопку обработчик кторой считает данные из всех Edit на форме.
С уважением добрый парень-убийца…
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
FindControl
или Controls[i] (естественно как св-ва TForm) поищите, на форуме есть примеры. только может всетаки лучше запомнить где то сам Эдит? а то ресурсы тратить... Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 07.12.2008
Сообщений: 244
|
![]() Код:
|̲̅̅●̲̅̅|̲̅̅=̲̅̅|̲̅̅●̲̅̅]
|
![]() |
![]() |
![]() |
#4 | ||
Пользователь
Регистрация: 13.09.2009
Сообщений: 23
|
![]()
Все вынужден сдаться и снова простить помощи
![]() Цитата:
Цитата:
Код:
![]() ![]() ЗЫ в функцию передаю значение Edit1 и заранее знаю что элемент с таким именем на форме есть. У нас принято оформлять код специальным тэгом - кнопочка "#". Модератор
С уважением добрый парень-убийца…
Последний раз редактировалось mihali4; 31.12.2009 в 01:28. |
||
![]() |
![]() |
![]() |
#5 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Кто такой "ActiveMDIChild"?
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 13.09.2009
Сообщений: 23
|
![]()
Так ладно давайте начнем сначала
![]() Вот собственно все что я смог написать на данный момент Смысл програмки простой (она кстати MDI я забыл сказать): есть строка которая содержит описание формы (эелементы, их положение итд). По этому описанию програмулина создает дочернюю форму, после создания пользователь вбивает нужные ему значения и жмет кнопку, программа считывает что вбил пользователь и создает Word докумен вставляя в нужные места значения введенные пользователем (правда для Word я еще толком ничего не реализовал) так собственно проблема в том что создать форму я смог а вот считать данные из динамически созданых на ней Edit-ов не могу ![]() Я так уже понимаю что мне нужно выяснить Handel Edit-а и обратится к нему? Но не пойму как это сделать (функция чтения из Edit в самом низу)
С уважением добрый парень-убийца…
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 13.09.2009
Сообщений: 23
|
![]()
Докопался до следующего:
Что бы обратиться к компоненту программно создаваемого дочернего окна MDI приложения нужно сотварить что то типа: Код:
![]() Вот пример моей функции: Код:
![]() А вот если я кидаю на родительскую форму Edit и пушу: Код:
Код:
![]() P.S. Уважаемые гуру я конечно понимаю что подобные элементарные для вас вопросы уже достали. Но неужели никто не может снизайти с небес и набрать на клавиатуре пару сток для новичка? Заранее благодарен тем кто ответит.
С уважением добрый парень-убийца…
Последний раз редактировалось Grandistok; 05.01.2010 в 19:52. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
повторяю еще раз, может вы всетаки лучше заведете массив для новых эдитов?(пусть как член класса дочерней формы)
ну и наверно соответственно методы создания/удаления/нахождения? (перебрать массив проще чем все компоненты) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 13.09.2009
Сообщений: 23
|
![]()
Забил на MDI переделал все в стандартный SDI интерфейс все стало на свои места
![]() Подскажите теперь как выяснить есть ли на TPanel какие либо элементы если я незнаю ни тип ни имя эти элементов?
С уважением добрый парень-убийца…
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 13.09.2009
Сообщений: 23
|
![]()
Забил на MDI переделал все в стандартный SDI интерфейс все стало на свои места
![]() Подскажите теперь как выяснить есть ли на TPanel какие либо элементы если я незнаю ни тип ни имя эти элементов?
С уважением добрый парень-убийца…
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Событие OnDrawColumnCell для динамически созданного грида | Pavka | Помощь студентам | 7 | 19.11.2009 14:15 |
Как отловить Events динамически созданного компонента? | W0LF | Общие вопросы Delphi | 2 | 06.11.2009 20:35 |
Как создать обработчик событий для динамически созданного объекта | Лукманов Александр | Общие вопросы Delphi | 1 | 22.03.2009 22:05 |
Поиск динамически созданного компонента | GAGARIN-NEW | Общие вопросы Delphi | 2 | 30.01.2008 17:21 |
Поиск динамически созданного компонента | GAGARIN-NEW | Компоненты Delphi | 2 | 16.12.2007 17:07 |