Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение динамически созданного элемента. Как??? 
:(
    Опции темы
ivan219
  Дата 30.5.2007, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 5
Всего: 12



Код

type
  TEditGroup = class(TCustomControl)
  private
      FEdit: Array of TEdit;
.
.
.
    for I:=0 to FEditList.Count-1 do
     begin
      FEdit[I]:=TEdit.Create(Self);
      FEdit[I].Parent:=Self;
      FEdit[I].Top:=FTop;
      FEdit[I].Text:='0';
      FEdit[I].OnChange:=EOnChange;
.
.
.
.


Как узнать в какой из всех Edit в водится текст???

Это сообщение отредактировал(а) ivan219 - 30.5.2007, 20:00
PM MAIL ICQ   Вверх
Romikgy
Дата 30.5.2007, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 4
Всего: 146



имхо можно tag заюзать smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
MetalFan
Дата 30.5.2007, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



Цитата(ivan219 @  30.5.2007,  19:58 Найти цитируемый пост)
Как узнать в какой из всех Edit в водится текст

в EOnChange Sender'ом будет  smile 

Это сообщение отредактировал(а) MetalFan - 30.5.2007, 20:24


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Sunvas
Дата 30.5.2007, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 2
Всего: 89



Определяешь имя/таг  Sender-а и будет тебе радость.


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
ivan219
  Дата 31.5.2007, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 5
Всего: 12



Цитата(Romikgy @  30.5.2007,  20:18 Найти цитируемый пост)
имхо можно tag заюзать

Если без Sender готов выслушать.

Цитата(MetalFan @  30.5.2007,  20:23 Найти цитируемый пост)
в EOnChange Sender'ом будет

Это я знаю но вот Sender мне ненравится.

Цитата(Sunvas @  30.5.2007,  23:05 Найти цитируемый пост)
Определяешь имя/таг  Sender-а и будет тебе радость.

Нет мне достаточно только Name но вот только нехочу сним связыватся.

Мне нужен вареант без Sender smile 
PM MAIL ICQ   Вверх
Sunvas
Дата 31.5.2007, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 2
Всего: 89



Цитата(ivan219 @  31.5.2007,  18:05 Найти цитируемый пост)
Это я знаю но вот Sender мне ненравится.

Это принципиально, или вызвано какими-то особенностями программы?
По любому в процедуру что-то нужно передавать, т.к. сама процедура не знает кто ее вызывает. Проще всего передавать Sender, но если хочется экотики, то можно отслеживать активный контрол во время выполнения процедуры, потом узнавать, что это кнопка...


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Lexicss
Дата 31.5.2007, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 16.8.2006
Где: Беларусь, Минск

Репутация: нет
Всего: 1



Ну если ты хочешь без Sender, то создать ещё по циклу процедуры EOnChange на каждый объект TEdit.
--------------------
Бери от жизни всё.
PM MAIL WWW ICQ Skype   Вверх
ivan219
Дата 31.5.2007, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 5
Всего: 12



Цитата(Sunvas @  31.5.2007,  18:20 Найти цитируемый пост)
Это принципиально, или вызвано какими-то особенностями программы?

Пишу компонент и если создавать его обычным способом то проблем нет
Код

FEdit[I].Name:=Name+IntToStr(I);

а вот если его динамически то предётся присваевать ему имя в противном случае будет совпадение имён Edit у разных компонентов.
Ну вобщемто это неудобством назвать трудно просто думал может другой способ есть smile 

Цитата(Lexicss @  31.5.2007,  19:49 Найти цитируемый пост)
Ну если ты хочешь без Sender, то создать ещё по циклу процедуры EOnChange на каждый объект TEdit.

И как мне вот этот код:
Код

procedure TEditGroup.EOnChange(Sender: TObject);
begin
  if FBlock then Exit;
  EditCh(Sender);
  if Assigned(FOnChange) then FOnChange(Self);
end;

Присвоить всем динамически созданным Edit и чтобы каждый думал что это его и путаници небыло???
Код

 EditCh(Sender); //Здесь можно передавать и Index Edit

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0830 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.