Открыть второе окно с кнопками - PascalABC.NET
Формулировка задачи:
Требуется в процедуре Myclick, чтобы выходило второе окно, в котором будут выведены результаты x1,x2,x3 и добавлено 3 кнопки (например "Вывести результаты расчета x1")
Возожно ли это
и что означает строчка
Листинг программы
- tb.Dock := DockStyle.Fill;
Листинг программы
- {$apptype windows}
- {$reference 'System.Windows.Forms.dll'}
- {$reference 'System.Drawing.dll'}
- uses
- System.Windows.Forms, System.Drawing;
- uses FormsABC;
- type
- MyForm = System.Windows.Forms.Form;
- var
- I:boolean=false;
- s := new RealField('Введите исх. данные');
- f1 := new FlowBreak;
- ok := new Button ('Сделать расчет');
- tb: TextBox;
- function CalcIntegral(s: real);
- begin
- x1:=s+1;
- x2:=s+3;
- x3:=s+4;
- end;
- procedure MyClick;
- begin
- var res := CalcIntegral(s.Value);
- tb.Text:='';
- tb.AddLine(Format('Ответ: {0}', x1));
- end;
- procedure InitControls;
- begin
- MainForm.Title := 'Расчет';
- MainForm.SetSize(700, 450);
- MainForm.CenterOnScreen;
- mainPanel.Dock := DockStyle.Left;
- mainPanel.Width := 150;
- ok.Click += MyClick;
- ParentControl := MainForm;
- tb := new TextBox;
- tb.Dock := DockStyle.Fill;
- end;
- begin
- InitControls;
- end.
Решение задачи: «Открыть второе окно с кнопками»
textual
Листинг программы
- procedure MyClick;
- begin
- var SecondForm := new Form;
- SecondForm.ClientSize := new System.Drawing.Size(200, 100);
- var b1 := new System.Windows.Forms.Button;
- b1.Text := 'x1';
- b1.Bounds := new System.Drawing.Rectangle(10, 50, 50, 20);
- var b2 := new System.Windows.Forms.Button;
- b2.Text := 'x2';
- b2.Bounds := new System.Drawing.Rectangle(70, 50, 50, 20);
- var b3 := new System.Windows.Forms.Button;
- b3.Text := 'x3';
- b3.Bounds := new System.Drawing.Rectangle(130, 50, 50, 20);
- var box := new System.Windows.Forms.TextBox;
- box.Dock := DockStyle.Top;
- SecondForm.Controls.Add(b1);
- SecondForm.Controls.Add(b2);
- SecondForm.Controls.Add(b3);
- SecondForm.Controls.Add(box);
- var res := CalcIntegral(s.Value);
- tb.Text:='';
- tb.AddLine(Format('Ответ: {0}', x1));
- SecondForm.ShowDialog;
- end;
Объяснение кода листинга программы
- Создается новое окно второго уровня (SecondForm) с указанными размерами.
- Создаются три кнопки (b1, b2, b3) с текстом и координатами на втором окне.
- Создается объект типа TextBox (box) и его свойства устанавливаются так, чтобы он находился в верхней части второго окна.
- Кнопки (b1, b2, b3) добавляются в коллекцию элементов управления второго окна.
- Объект box также добавляется в коллекцию элементов управления второго окна.
- Задается значение переменной res результатом вычисления интеграла функции с заданными параметрами.
- Значение переменной s не определено, поэтому предполагается, что оно будет получено из другого источника данных.
- В текстовое поле (tb) добавляется строка с форматированным текстом, содержащим результат вычисления интеграла (res) и значение переменной s.
- Второе окно (SecondForm) отображается в диалоговом режиме, что означает, что оно будет закрыто после того, как пользователь нажмет кнопку
ОК
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д