Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 14.02.2012, 20:05
apc700 apc700 вне форума
Прохожий
 
Регистрация: 24.02.2010
Сообщения: 7
Репутация: 10
По умолчанию Как объединить 2 формы?

Помогите, пожалуйста, я новичек. У меня есть, 2 формы, Form1 и From2 , на первой расположен Timer1. На втором 2-3 radiobutton которые изменяют Timer1.interval. ну точнее настройки таймера. Как мне связать эти две формы, что бы работало? Спасибо!
Ответить с цитированием
  #2  
Старый 14.02.2012, 20:18
t116 t116 вне форума
Новичок
 
Регистрация: 29.06.2011
Адрес: Луганск
Сообщения: 92
Версия Delphi: Delphi7
Репутация: выкл
По умолчанию

Пропиши в
unit1

Код:
var
  Form1: TForm1;

implementation

uses Unit2;

Последний раз редактировалось t116, 14.02.2012 в 20:22.
Ответить с цитированием
Этот пользователь сказал Спасибо t116 за это полезное сообщение:
apc700 (14.02.2012)
  #3  
Старый 14.02.2012, 20:21
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Код:
procedure TForm1.Button1Click(Sender : TObject);
begin
  Form2.ShowModal;
  if Form2.RadioButton1.Checked Then Timer1.Interval := 1000;
  if Form2.RadioButton2.Checked Then Timer1.Interval := 10000;
  if Form2.RadioButton3.Checked Then Timer1.Interval := 100000;
end;

Вообще, я предпочитаю у таких форм делать метод execute, который и возвращает нужное значение. В твоем случае что-то типа такого (и заместо отдельных RadioButton использовать RadioGroup:
Код:
function TForm2.Execute(var AInterval) : Boolean;
begin
  Result := ShowModal = mrOK;
  If Result Then
    Begin
      Case RadioGroup1.ItemIndex Of
        0 : AInterval := 1000;
        1 : AInterval := 10000;
        2 : AInterval := 100000;
        Else AInterval := 1000; // на всякий случай
    End;
end;

Тогда код выше будет такой:

Код:
procedure TForm1.Button1Click(Sender : TObject);
var
  AInt : Integer;
begin
  if Form2.Execute(AInt) Then Timer1.Interval := AInt;
end;
Ответить с цитированием
Этот пользователь сказал Спасибо lmikle за это полезное сообщение:
apc700 (14.02.2012)
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:53.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025