t - перетворення рядка в ціле значення. p align="justify"> Для реакції на конкретний тип виняткової ситуації застосовується блок try .. except. У найпростішому вигляді синтаксис його наступний: <0ператори, які можуть викликати виняткову ситуацію>
<Оператори>;;
Виконання блоку починається з секції try. За відсутності виняткових ситуацій тільки вона і виконується. Секція except отримує управління у разі якщо вони виникли. Наприклад: = 5/0;
showmessage ( Ділити на нуль не можна! );;
Хід роботи
. Розмістимо на формі 2 компоненти Panel, 16 компонентів Button і віконце редагування Edit. Розташуємо їх на формі наступним чином. br/>В
Розміри панелей і кнопок можуть бути довільними, в даному прикладі були використані наступні параметри:
Panel1Panel2Button ... Width-180Width-70Width-50Height - 235Height - 235Height - 50
Очистимо властивість Text компонента Edit1, а властивостей Caption компонентів задамо відповідні значення.
. Отже, приступимо до коду. Додамо в наш код 4 глобальних змінних. p align="justify"> var: TForm1;, p, r: real;
// вони будуть зберігати числа введені користувачем (i-значення першого введеного числа, р - другого, r - отриманий результат): integer;
// режим калькулятора (помножити, розділити і т.д)
Мінлива mode буде містити числове значення дії: 1 - додаток, 2 - віднімання, 3 - розподіл, 4 - множення.
. Тепер приступимо до наших кнопках. У кожної цифрової кнопці опрацюємо подія OnClick. Код буде ідентичний для всіх цифрових кнопок (від 1 до 10-й). Наведемо приклад коду для першої кнопки (цифра 1):
procedure TForm1.Button1Click (Sender: TObject);
edit1.Text: = edit1.Text + '1 ';//для всіх інших кнопок замінюйте 1 на потрібне вам число
end;
Далі пишемо обробники OnClick для кнопок операцій.
Для кнопки В«+В»: TForm1.ButtonPlusClick (Sender: TObject);: = StrToFloat (Edit1.Text);: = 1;
Edit1.Text: ='';// це дві одинарні лапки
end;
Для кнопки В«-В»
procedure TForm1.ButtonMinusClick (Sender: TObject);: = StrToFloat (Edit1.Text);: = 2;. Text: ='';;
Для кнопки В«*В»
procedure TForm1.ButtonMultiplyClick (Sender: TObject);: = StrToFloat (Edit1.Text);: = 3;. Text: ='';;
Для кнопки В«/В»
procedure TForm1.ButtonDIVClick (Sender: TObject);: = StrToFloat (Edit1.Text);: = 4;. Text: ='';;