2020-08-01 00:13:27 +03:00
|
|
|
|
// Модуль Controls - Калькулятор
|
|
|
|
|
|
uses Controls,GraphWPF;
|
|
|
|
|
|
|
|
|
|
|
|
begin
|
|
|
|
|
|
Window.Title := 'Калькулятор с выводом в TextBox';
|
|
|
|
|
|
LeftPanel(150, Colors.Orange);
|
|
|
|
|
|
var tb := SetMainControl.AsTextBox;
|
|
|
|
|
|
tb.FontSize := 30;
|
|
|
|
|
|
var x := IntegerBox('X:');
|
|
|
|
|
|
var y := IntegerBox('Y:');
|
2020-08-01 11:29:09 +03:00
|
|
|
|
x.Value := Random(0,10);
|
|
|
|
|
|
y.Value := Random(0,10);
|
2020-08-01 00:13:27 +03:00
|
|
|
|
|
|
|
|
|
|
var cb := new ComboBoxWPF('Операция');
|
|
|
|
|
|
cb.AddRange('+','-','*','/');
|
|
|
|
|
|
|
2020-08-01 11:29:09 +03:00
|
|
|
|
var count := 0;
|
|
|
|
|
|
var sb := StatusBar;
|
|
|
|
|
|
sb.Text := 'Количество вычислений: ' + count;
|
|
|
|
|
|
|
2020-08-01 00:13:27 +03:00
|
|
|
|
var b := Button('+');
|
|
|
|
|
|
b.Click := procedure -> begin
|
2020-08-01 11:29:09 +03:00
|
|
|
|
case cb.SelectedText of
|
|
|
|
|
|
'+': tb.Println($'{x.Value} + {y.Value} = {x.Value + y.Value}');
|
|
|
|
|
|
'-': tb.Println($'{x.Value} - {y.Value} = {x.Value - y.Value}');
|
|
|
|
|
|
'*': tb.Println($'{x.Value} * {y.Value} = {x.Value * y.Value}');
|
|
|
|
|
|
'/': tb.Println($'{x.Value} / {y.Value} = {x.Value / y.Value}');
|
2020-08-01 00:13:27 +03:00
|
|
|
|
end;
|
|
|
|
|
|
x.Value := Random(0,10);
|
|
|
|
|
|
y.Value := Random(0,10);
|
2020-08-01 11:29:09 +03:00
|
|
|
|
count += 1;
|
|
|
|
|
|
sb.Text := 'Количество вычислений: ' + count;
|
|
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
Button('Очистить').Click := () -> begin
|
|
|
|
|
|
count := 0;
|
|
|
|
|
|
sb.Text := 'Количество вычислений: ' + count;
|
|
|
|
|
|
tb.Clear;
|
2020-08-01 00:13:27 +03:00
|
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
cb.SelectionChanged := procedure -> begin
|
2020-08-01 11:29:09 +03:00
|
|
|
|
b.Text := cb.SelectedText
|
2020-08-01 00:13:27 +03:00
|
|
|
|
end;
|
|
|
|
|
|
end.
|