stify"> Коротко пояснимо, що ми зробили. При натисканні на кнопку ми зберігаємо значення введеного числа у змінній I, потім змінної mode присвоюємо значення дії. Тепер у нас є всі необхідні дані для обробки події OnClick для кнопки "=". p align="justify"> procedure TForm1.ButtonRezultClick (Sender: TObject); mode of
: begin: = StrToFloat (Edit1.Text);: = i + p;. Text: = FloatToStr (r);;
: begin: = StrToFloat (Edit1.Text);: = ip;. Text: = FloatToStr (r);;
: begin: = StrToFloat (Edit1.Text);: = i * p;. Text: = FloatToStr (r);;
: begin: = StrToFloat (Edit1.Text);: = i/p;. Text: = FloatToStr (r);;;;
Створимо обробник для кнопки С (Скидання):
procedure TForm1.ButtonResetClick (Sender: TObject);. Text: ='';: = 0; i: = 0; p: = 0;;
Щоб при появі вікна калькулятора фокус був переданий вікна введення напишемо обробник OnShow для Form1.
procedure TForm1.FormShow (Sender: TObject);
edit1.SetFocus;
end;
Аналогічним чином, зробимо так, щоб при натисканні кнопок В«=В» і В«СВ», а також кнопок математичних операцій, фокус передавався вікна введення.
Виконати самостійно
(створення простенького калькулятора):
1. Налаштувати параметри форми таким чином, щоб розміри вікна не можна було змінити і кнопка "Розгорнути/Maximize /В» була відсутня.
2. Додати кнопку В«,В» для введення роздільник між цілою і дробовою частиною числа. Для цього в обробник OnClick кнопки додамо:
if pos (',', edit1.Text) <> 0 then exit// якщо символ В«,В» у рядку вже є
else edit1.Text: = edit1.Text + ','
3. Додати кнопку В«+/-В» для зміни знаку числа на протилежний.
procedure TForm1.BitBtn2Click (Sender: TObject); s: string;: = Edit1.Text; s [1] = '-' then delete (s, 1,1) else ('-' , s, 1);. Text: = s;
end;
4. Заборонити введення з клавіатури в текстове вікно будь-яких символів крім цифрових і В«-В» (мінус), В«,В» (кома) - дивимося в конспект лекцій.
5. Створити кнопки для наступних математичних операцій:
В· зведення в ступінь r: = exp (p * ln (i));
В· цілочисельне ділення (div) і залишок від ділення (mod) - для перетворення типів використовувати функцію round;
В· зведення в квадрат (sqr);