Поддержка / Donate
 

WebMoney

Яндекс.Деньги

SMS.Копилка
Деньги@Mail.ru
Rupay
E-gold
PayPal

 

Благодарю за поддержку!

Лента RSS - Новости сайта Новости сайта
Лента RSS - Новости форума Новости форума
Добавить в закладки и поделиться Bookmark and Share

 

Архив исходников

 


Automatic translation

 
English German French
Italian Spanish Portuguese
Greece Japan Chinese
  Korean  

  

 

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Прочитать данные из другого дочернего окна

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

type
   TMDIChildForm = class(TForm)
     Edit1: TEdit;
   private
     { Private declarations }
     procedure ReadDataFromOtherMDIChildForm;
   end;

 var
   MDIChildForm: TMDIChildForm;

 implementation

 {$R *.DFM}

 uses
   MainForm;
   // Property FormStyle of this form is fsMDIForm 

procedure TMDIChildForm.ReadDataFromOtherMDIChildForm;
 var
   i: Integer;
   DataFromOtherForm: string;
 begin
   // Suppose you have created three different MDIChild forms of the same type, 
  // each with the following caption: "aaa", "bbb", "ccc". 
  // You are currently on form with caption "aaa" and want to read data 
  // contained on form with caption "ccc". 
  // You can find here the code, you have to use the "as" clause and 
  // properties MDIChildCount and MDIChildren: 

  // First you have to find where the form "ccc" is in memory; 
  for i := 0 to MDIForm.MDIChildCount - 1 do
   begin
     if (Pos('ccc', MDIForm.MDIChildren[i].Caption)  0) then
       Break;
   end;
   // Check to see if the form is the last on MDIChildren array and 
  // correct I variable 
  if (i = MDIChildCount) then Dec(i);
   // I variable contains the index of the form with caption 'ccc' 

  if (Pos('ccc', MDIForm.MDIChildren[i].Caption)  0) then
   begin
     // If the form with caption 'ccc' exists then you access data and show it 
    // The following line of code is very interesting, look at the "as" clause, 
    // if you have different types of MDIChild forms, you simply change 
    // the type of form after the "as" clause 
    // The data you want is contained on Edit1.Text 
    with (MDIForm.MDIChildren[I] as TMDIChildForm).Edit1 do
       DataFromOtherForm := Text;
     ShowMessage(DataFromOtherForm);
   end;
 end;



Источник - Проект "Delphi World" © Выпуск 2002 - 2004
Автор проекта: Акулов Николай



   Rambler's Top100             Яндекс цитирования