Показать сообщение отдельно
  #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;
Ответить с цитированием