Вихідні тексти delphi

Калькулятор на Делфі

Для того, щоб навчитися писати програми на Delphi одних книг мало. Знання приходять разом з практикою.
Новачкові в Delphi складно освоїтися і написати що-небудь. Треба починати з простих програм. І так, пишемо калькулятор.

Частина перша: створюємо і облагороджуємо форму програми.

Відкриваємо Delphi, File => New application. Бачимо перед собою віконця Form1 і Unit1.pas. Зараз ми будемо працювати з Form1.
По-перше, зменшуємо розмір форми. Нам не потрібно величезне вікно. Далі накидаємо на неї кнопки.
На це етапі необхідно як би бути архітектором, розставляти компоненти так, щоб і виглядало красиво, і було зручно для користувача.
Редагуємо, прикрашаємо, міняємо розмір і стиль шрифту. У підсумку отримуємо щось на зразок цього:

Ставимо у Edit1 властивість ReadOnly = true, щоб користувач не тикав туди і не писав нічого зайвого.
Також клацаємо на вкладку Win32 на палітрі компонентів, шукаємо там XPmanifest і просто закидаємо його на форму. Це потрібно для того, щоб наші кнопочки взяли красиву форму і стиль.
Встановлюємо у Form1 властивість BorderStyle в bsSingle, щоб у нашого калькулятора ніхто не зміг змінювати розмір, розтягуючи за краї.
Редагуємо у форми властивості VertScrollBar і HorzScrollBar. Ставимо їм Visible = false. Так як вони можуть проявитися на деяких темах Віндовс.
У BorderIcons прибираємо biMinimize і biMaximize.
отримуємо:

Частина друга: пишемо програмний код.
Затискаємо клавішу Shift і виділяємо все числові кнопки на формі. від нуля до дев'яти. Тепер клацаємо на вкладку Events в інспекторові об'єктів, і тиснемо два рази на onclick.
Ми отримали загальний обробник події onclick. Це потрібно, щоб не писати обробник для кожної кнопки окремо.
Тепер на мусите знати, скільки на яку кнопку натиснув користувач. Для цього у нас є така корисна штука, як Sender.
Прописуємо локальну змінну типу byte, обізву її btn. Після begin пишемо:


В результаті змінна btn у нас дорівнює значенню натиснутою кнопки.
Перевіряємо значення Edit1.text. Якщо воно дорівнює нулю, то стираємо нуль і вписуємо туди значення натиснутої кнопки. Інакше приписуємо справа:


А тепер давайте подумаємо, як буде відбуватися розрахунок. Користувач вводить значення, тисне на кнопку з днем ​​операції, потім вводить ще одне значення і тисне на "дорівнює". Так?

Створюємо обробники для операцій множення, ділення, вирахування і складання.
Прописуємо глобальну змінну, яка буде як би зберігати в собі обрану операцію.
Ще одна глобальна змінна нам знадобиться для зберігання першого введеного значення.
У обробнику для операцій записуємо все туди. У ньому також очищаємо Edit1.

Тепер пишемо обробник для кнопки "=".
Перевіряємо, яку операцію ми вибрали. Витягуємо з Edit1 друге значення.
Виробляємо обрану операцію. Не забуваємо про прості правила. Наприклад, не можна ділити на нуль.
Результат повертаємо в Edit1.

Припустимо, якщо користувач помилився при введенні значення, необхідно дати йому можливість прати дані з Edit1.
Для цього створюємо обробник у Form1 - onkeypress.
Наприклад, стирання буде відбуватися при натисканні на BackSpace.
Значення char цієї клавіші одно - # 8.

Для коректної роботи необхідно поставити у Form1 властивість KeyPreview в true.

Схожі статті