Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 30.01.2008, 17:27   #1
GAGARIN-NEW
Познаю мир
ФорумчанинФорумчанин
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Адрес: глубин интернета
Сообщений: 387
Репутация: 42
Вопрос Поиск динамически созданного компонента

Необходимо найти компонент RichEditXX зная только Caption sTabSheet'а на катором этот ричэдит находится находится ...
Как это реализовать?
Помогите пожалуйста в написании функции каторая бы выдавала переменную типа tRichEdit ...

Всем спасибо !
__________________
---

Последний раз редактировалось GAGARIN-NEW; 30.01.2008 в 18:00.
GAGARIN-NEW вне форума   Ответить с цитированием
Старый 30.01.2008, 18:21   #2
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,840
Репутация: 6850
По умолчанию

Ну цикле перебери все РичЭдиты на форме, и проверь их ли родитель тот ТабЩит у которого такой капшн
Stilet вне форума   Ответить с цитированием
Старый 30.01.2008, 18:21   #3
Mitron
Форумчанин
 
Аватар для Mitron
 
Регистрация: 10.05.2007
Адрес: г.Курган
Сообщений: 118
Репутация: 30

icq: 489802858
По умолчанию

Взято с DelphiWorld
Код:
{Instead of writing: / Anstatt so was zu schreiben:}

 Edit1.Text := 'Text 1';
 Edit2.Text := 'Text 2';
 Edit3.Text := 'Text 3';
 Edit4.Text := 'Text 4';
 {...}
 Edit9.Text := 'Text 9';

 {...it's easier to write / ...geht's so einfacher:}

 { 
  Use the forms FindComponent to find a component on the form. 
  TypeCast the Result of FindComponent to the TComponent to be able to use it. 
}


 for i := 1 to 9 do
   TEdit(FindComponent('Edit'+IntToStr(i))).Text := 'Text' + IntToStr(i);

 {or/oder:}

 for i:= 1 to 9 do
   (Findcomponent('Edit'+IntToStr(i)) as TEdit).Text := IntToStr(i);



 { 
  Another example: find a component on any form with 
  a search string like this: 'MyForm10.Edit2' 

  Ein anderes Beispiel: 
  Eine Komponente auf irgendeiner Form finden mittels einer 
  solchen Zeichenfolge: 'MyForm10.Edit2' 
}

 function FindComponentEx(const Name: string): TComponent;
 var
   FormName: string;
   CompName: string;
   P: Integer;
   Found: Boolean;
   Form: TForm;
   I: Integer;
 begin
   // Split up in a valid form and a valid component name 
  P := Pos('.', Name);
   if P = 0 then
   begin
     raise Exception.Create('No valid form name given');
   end;
   FormName := Copy(Name, 1, P - 1);
   CompName := Copy(Name, P + 1, High(Integer));
   Found    := False;
   // find the form 
  for I := 0 to Screen.FormCount - 1 do
   begin
     Form := Screen.Forms[I];
     // case insensitive comparing 
    if AnsiSameText(Form.Name, FormName) then
     begin
       Found := True;
       Break;
     end;
   end;
   if Found then
   begin
     for I := 0 to Form.ComponentCount - 1 do
     begin
       Result := Form.Components[I];
       if AnsiSameText(Result.Name, CompName) then Exit;
     end;
   end;
   Result := nil;
 end;

 procedure TFrom1.Button1Click(Sender: TObject);
 var
   C: TComponent;
 begin
   C := FindComponentEx('MyForm10.Edit2');
   TEdit(C).Caption := 'Hello';
 end;
__________________
Задачи на заказ

Блажен тот, кто ничего не знает: он не рискует быть не понятым.
Mitron вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как динамически создать процедуры для подменю компонента TMainMenu Dimitriys Общие вопросы Delphi 9 13.01.2011 19:02
В чем проблема появления символа & в начале каждого заголовка итема созданного в рунтайте раздела меню? SkAndrew Общие вопросы Delphi 17 10.08.2008 21:44
Поиск динамически созданного компонента GAGARIN-NEW Компоненты Delphi 2 16.12.2007 18:07
Организовать ввод данных с файла созданного в первом задании и вывод их терминал. Saniok Помощь студентам 2 25.10.2007 22:25


08:40.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.