Это калькулятор, нужно объяснить для чего нужна переменная B, я сказал преподавателю что если у нас false, значит идёт ввод чисел, а когда у нас true, то идёт действие, преподаватель сказал что нет, B используется ещё до действий
var
Form1: TForm1;
B:Boolean;
D:Integer;
X:Real;
implementation
{$R *.dfm}
procedure TForm1.Button10Click(Sender: TObject);
begin
If B Then Edit1.Text:='';
B:=False;
If (Edit1.Text<>'0') or (Edit1.text='') Then
Edit1.Text:=Edit1.Text+'0';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
If B Then Edit1.Text:='';
B:=False;
Edit1.Text:=Edit1.Text+'1';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
If B Then Edit1.Text:='';
B:=False;
Edit1.Text:=Edit1.Text+'2';
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
If B Then Edit1.Text:='';
B:=False;
Edit1.Text:=Edit1.Text+'3';
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
If B Then Edit1.Text:='';
B:=False;
Edit1.Text:=Edit1.Text+'4';
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
If B Then Edit1.Text:='';
B:=False;
Edit1.Text:=Edit1.Text+'5';
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
If B Then Edit1.Text:='';
B:=False;
Edit1.Text:=Edit1.Text+'6';
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
If B Then Edit1.Text:='';
B:=False;
Edit1.Text:=Edit1.Text+'7';
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
If B Then Edit1.Text:='';
B:=False;
Edit1.Text:=Edit1.Text+'8';
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
If B Then Edit1.Text:='';
B:=False;
Edit1.Text:=Edit1.Text+'9';
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
X:=StrToFloat(Edit1.Text);
D:=1;
B:=True;
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
X:=StrToFloat(Edit1.Text);
D:=2;
B:=True;
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
X:=StrToFloat(Edit1.Text);
D:=3;
B:=True;
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
X:=StrToFloat(Edit1.Text);
D:=4;
B:=True;
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
Case D of
1: If Edit1.Text<>'0' then Edit1.Text:=FloatToStr(X/StrToFloat(Edit1.Text))
Else
Begin
Edit1.Text:=’ Делить на ноль нельзя!!!';
B:=True;
End;
2: Edit1.Text:=FloatToStr(X*StrToFloat(Edit1.Text));
3: Edit1.Text:=FloatToStr(X-StrToFloat(Edit1.Text));
4: Edit1.Text:=FloatToStr(X+StrToFloat(Edit1.Text));
End;
B:=True;
end;
procedure TForm1.Button17Click(Sender: TObject);
begin
If Edit1.Text<>'' then
Edit1.Text:=Edit1.Text+',';
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
X:=0;
B:=False;
D:=4;
Edit1.Text:='';
end;
end.
Другие языки программирования и технологии
Объяснить что делает переменная в коде на delphi
Любой калькулятор при нажатии цифровой кнопки должен решить следующую проблему: надо ли очистить текущее отображение и отобразить значение цифровой кнопки или же надо добавить значение цифровой кнопки к текущему отображению. Условно говоря, если на экране "8" и пользователь нажимает "7", то что должно получиться, "7" или "87"? Переменная B как раз предназначена для решения этой проблемы.
Значение B = true обозначает состояние после вычисления выражения (должно получиться "7"), B = false обозначает состояние ввода числа (должно получиться "87").
(Button17Click - поздняя вставка? Почему она не следует логике цифровых кнопок?)
Значение B = true обозначает состояние после вычисления выражения (должно получиться "7"), B = false обозначает состояние ввода числа (должно получиться "87").
(Button17Click - поздняя вставка? Почему она не следует логике цифровых кнопок?)
Судя по всему, тут задумана проверка ввода числовых значений. Почему кнопок на форме калькулятора (!) больше десятка понять не могу. Возможно скрин формы может как-то прояснить..
Как по мне - жесть. Разгадывать чужой код и все подлянки его автора такое себе занятие. Он издевается : "Скажи мне, что я думаю"
Как по мне - жесть. Разгадывать чужой код и все подлянки его автора такое себе занятие. Он издевается : "Скажи мне, что я думаю"
Bekbolat Koptileuov
Надо полагать, с первой по десятую цифры 1..0, 11-14 арифметические действия, 15 - кнопка "равно", 17 - очистка, а 16 - ХЗ
Vik Ch
Есть предположение что B=true то очищается поле

Анекдот в тему (делать надо все самому, тогда вопросов не будет):
Уехала жена в командировку. Через 2 дня муж ей пишет SMS: "Где все ложки, ножи и вилки?", жена в ответ: "Спи дома!". Он ничего не понимает, но ждёт ещё 2 дня и опять пишет SMS: "Где все ложки, ножи и вилки?", жена в ответ: "Спи дома!".
Через неделю возвращается жена домой, муж её встречает злой с вопросом, куда она дела все ложки, ножи и вилки. Жена берёт его за руку, ведёт в спальню и стягивает с кровати покрывало, а там лежат ложки, ножи и вилки!
-Я же говорила тебе - спи дома!
Vik Ch
Так нам и не надо было делать, преподаватель дал лист с кодом и сказал объяснить как работает код и что делают переменные
Похожие вопросы
- Помогите с кодом в Delphi, пожалуйста!
- Нужен код под delphi 7, которая будет определять серийный номер винчестера в XP и Vista ...Куплю
- Что не так с кодом pascal/delphi
- Объясните, что делает программа на Си.
- Как сложить переменную ? Delphi 7 Что никто не знает ответа что ли ?Н
- Объясните задачу Delphi. Задача сделана только код я не понимаю!!!!
- Рекурсия поиск на Delphi в цикле WHILE - исправьте код ?
- Согласны с этим - Глубинные причины ненависти к Delphi/Pascal ?
- Объясните этот код, я знаю что он сортирует две переменные, но не понимаю как. И так важна эта тема в программировании ?
- Delphi, переводчик, помогите с кодом!!