- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Контрольні питання
- •Контрольні питання
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.2: основні конструкції мови.
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.2: основні конструкції мови.
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.2: основні конструкції мови.
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.2: основні конструкції мови
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.2: основні конструкції мови
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.3: галуження і цикли
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.3: галуження і цикли
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.3: галуження і цикли
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.3: галуження і цикли
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.4: елементи інтерфейсу
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.3: галуження і цикли
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.4: елементи інтерфейсу
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.4: елементи інтерфейсу
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.4: елементи інтерфейсу
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.4: елементи інтерфейсу
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.4: елементи інтерфейсу
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.4: елементи інтерфейсу
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.4: елементи інтерфейсу
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.4: елементи інтерфейсу
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.5: основи створення прикладних застосувань
- •План заняття
- •Контрольні питання
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.5: основи створення прикладних застосувань
- •План заняття
- •Контрольні питання
- •Контрольні питання:
- •Необхідні теоретичні відомості для практичної роботи:
- •Контрольні питання:
- •Змістовий модуль 1: основні поняття та означення. Елементи мови. Керування процесом обчислень
- •Тема 1.5: основи створення прикладних застосувань
- •План заняття
- •Проект Delphi
- •Модулей в проект.
- •Контрольні питання
- •Змістовий модуль 2: процедурно-орієнтоване програмування. Програмування графіки
- •Тема 2.1: основи мови object pascal
- •План заняття
- •Контрольні питання
- •Контрольні питання
- •Контрольні питання
- •Змістовий модуль 2: процедурно-орієнтоване програмування. Програмування графіки
- •Тема 2.1: основи мови object pascal
- •План заняття
- •Контрольні питання
- •Змістовий модуль 2: процедурно-орієнтоване програмування. Програмування графіки
- •Тема 2.1: основи мови object pascal
- •План заняття
- •Контрольні питання
- •Контрольні питання
- •Функции преобразования в числовой формат и обратно
- •Контрольні питання
- •Змістовий модуль 2: процедурно-орієнтоване програмування. Програмування графіки
- •Тема 2.1: основи мови object pascal
- •План заняття
- •7.1. Простые типы
- •Контрольні питання
- •Контрольні питання
- •Змістовий модуль 2: процедурно-орієнтоване програмування. Програмування графіки
- •Тема 2.2: графіка, мультимедія та друк
- •План заняття
- •Контрольні питання
- •Контрольні питання
- •Змістовий модуль 2: процедурно-орієнтоване програмування. Програмування графіки
- •Тема 2.2: графіка, мультимедія та друк
- •План заняття
- •Контрольні питання
- •Змістовий модуль 2: процедурно-орієнтоване програмування. Програмування графіки
- •Тема 2.2: графіка, мультимедія та друк
- •План заняття
- •Контрольні питання
- •Контрольні питання
- •Змістовий модуль 2: процедурно-орієнтоване програмування. Програмування графіки
- •Тема 2.2: графіка, мультимедія та друк
- •План заняття
- •Контрольні питання
- •Печать с помощью объекта Printer
- •Подготовка и печать отчетов с помощью QuickReport — компоненты QuickRep, qrSubDetail, qrLabel, qrExpr, qrSysData, qrMemo, qrRichText, qrShape, qrImage
- •Контрольні питання
- •Змістовий модуль 3: масиви. Записи та множини
- •Тема 3.1: масиви
- •План заняття
- •Листинг 1. Инициализация и вывод массива
- •Ввод массива
- •Использование компонента StringGrid
- •Листинг 2. Ввод и обработка массива целых чисел
- •Листинг 3. Процедура обработки события OnKeyPress
- •Листинг 4. Ввод и обработка массива дробных чисел
- •Контрольні питання
- •Объявление записи
- •Инструкция with
- •Ввод и вывод записей в файл
- •Вывод записи в файл
- •Листинг 25. Добавление записей в файл
- •Чтение записи из файла
- •Листинг 26. Чтение записей из файла
- •Контрольні питання
- •Змістовий модуль 3: масиви. Записи та множини
- •Тема 3.3: множини
- •План заняття
- •Контрольні питання
- •Необхідні теоретичні відомості для практичної роботи:
- •Контрольні питання:
- •Змістовий модуль 3: масиви. Записи та множини
- •Тема 3.4: множини обовязкова контрольна робота №28
- •Змістовий модуль 4: файлові структури даних. Динамічні структури даних
- •Тема 4.1: робота з файлами
- •План заняття
- •Объявление файла
- •Назначение файла
- •Вывод в файл
- •Открытие файла для вывода
- •Листинг 20. Создание нового или замещение существующего файла
- •Листинг 21. Добавление в существующий файл
- •Ошибки открытия файла
- •Закрытие файла
- •Пример программы
- •Листинг 22. Простая база данных (запись в файл)
- •Ввод из файла
- •Открытие файла
- •Листинг 23. Обработка ошибки открытия файла (фрагмент программы)
- •Чтение данных из файла
- •Чтение чисел
- •Чтение строк
- •Конец файла
- •Листинг 24.. Чтение из файла
- •Контрольні питання
- •Змістовий модуль 4: файлові структури даних. Динамічні структури даних
- •Тема 4.1: файлові структури даних. Динамічні структури даних
- •План заняття
- •Контрольні питання
- •Указатели
- •Динамические переменные
- •Листинг 27. Создание, использование и уничтожение динамических переменных
- •Листинг 28. Добавление элемента в начало динамического списка
- •Упорядоченный список
- •Добавление элемента в список
- •Листинг 29. Добавление элементов в упорядоченный список
- •Удаление элемента из списка
- •Листинг 30. Удаление узла из списка
- •Контрольні питання
- •Необхідні теоретичні відомості для практичної роботи:
- •Контрольні питання:
- •Необхідні теоретичні відомості для практичної роботи:
- •Контрольні питання:
- •Змістовий модуль 4: файлові структури даних. Динамічні структури даних
- •Тема 4.2: динамічні структури
- •План заняття
- •Вариантные переменные
- •Контрольні питання
- •Const-параметры
- •Контрольні питання
- •Змістовий модуль 4: файлові структури даних. Динамічні структури даних
- •Тема 4.2: динамічні структури
- •План заняття
- •Способы вызова подпрограмм
- •Контрольні питання
- •Этапы разработки программы
- •Спецификация
- •Создание установочного диска
- •Алгоритм и программа
- •Контрольні питання
- •Этапы разработки программы
- •Спецификация
- •Создание установочного диска
- •Алгоритм и программа
- •Контрольні питання
- •Контрольні питання
- •Необхідні теоретичні відомості для практичної роботи:
- •Контрольні питання:
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Тема 6.2: Візуальні компоненти
- •План заняття
- •Контрольні питання
- •Распознавание источника события, нажатых кнопок и клавиш, координат курсора
- •События клавиатуры
- •Распознавание нажатых клавиш
- •Контрольні питання
- •Создание нового IntraWeb приложения
- •Редактирование главной формы
- •Написание обработчика события для кнопки
- •Запуск созданного приложения
- •Контрольні питання
- •Управляющие кнопки Button и BitBtn
- •Кнопка с фиксацией SpeedButton
- •Группы радиокнопок — компоненты RadioGroup, RadioButton и GroupBox
- •Контрольні питання
- •Листинг 28. Добавление элемента в начало динамического списка
- •Упорядоченный список
- •Добавление элемента в список
- •Листинг 29. Добавление элементов в упорядоченный список
- •Удаление элемента из списка
- •Листинг 30. Удаление узла из списка
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Упражнения. Совершенствование проекта
- •Контрольні питання:
- •Контрольні питання
- •Упражнения
- •Контрольні питання:
- •Змістовий модуль 6: програмування з графами. Вызуальны компоненти. Бази даних.
- •Тема 6.2: візуальні компоненти
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Тема 6.3: форми та меню
- •План заняття
- •Контрольні питання
- •Контекстное всплывающее меню — компонент PopupMenu
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Тема 6.4: обробка виключних ситуацій
- •План заняття
- •Конрольні питання
- •Упражнения. Совершенствование проекта.
- •Контрольні питання:
- •Змістовий модуль 6: програмування з графами
- •Тема 6.4: обробка виключних ситуацій
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Тема 6.5: організація прикладних застосувань
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Тема 6.5: організація прикладних застосувань
- •План заняття
- •Контрольні питанна
- •Змістовий модуль 6: програмування з графами
- •Тема 6.5: організація прикладних застосувань
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.5: організація прикладних застосувань
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.5: організація прикладних застосувань
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.5: організація прикладних застосувань
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.5: організація прикладних застосувань
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.5: організація прикладних застосувань
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Тема 6.6: основи баз даних
- •План заняття
- •Классификация баз данных
- •Локальная база данных
- •Удаленная база данных
- •Структура базы данных
- •Контрольні питання
- •Контрольні питання
- •Упражнения
- •Контрольні питання:
- •Змістовий модуль 6: програмування з графами
- •Тема 6.6: основи баз даних
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.6: основи баз даних
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.6: основи баз даних
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.6: основи баз даних
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.6: основи баз даних
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.6: основи баз даних
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Insert into Имя таблицы
- •Insert into Имя_таблицы
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
- •Рисование круга
- •Контрольні питання
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи обов’язкова контрольна робота №63
- •Змістовий модуль 6: програмування з графами. Візуальні компоненти. Бази даних
- •Тема 6.7: навігація по набору даних. Мова sql. Створення довідкової системи
- •План заняття
Контрольні питання:
Дайте поняття, що називається інтегрованим середовищем розробки Delphi.
Дайте поняття структурі редактора кода.
Дайте поняття структурі кода модуля.
Визначте, що називається програмним доступом до властивостей об’єктів.
Визначте, що називається програмним доступом до методів об’єктів.
Охарактеризуйте існуючі прийоми програмування.
АУДИТОРНЕ ЗАНЯТТЯ
ЗМІСТОВИЙ МОДУЛЬ 1: ОСНОВНІ ПОНЯТТЯ ТА ОЗНАЧЕННЯ. ЕЛЕМЕНТИ МОВИ. КЕРУВАННЯ ПРОЦЕСОМ ОБЧИСЛЕНЬ
ТЕМА 1.5: ОСНОВИ СТВОРЕННЯ ПРИКЛАДНИХ ЗАСТОСУВАНЬ
ПРАКТИЧНЕ ЗАНЯТТЯ №16
План заняття
Практична робота №2
Тема: Калькулятор
Мета: Створити програму, у якій буде створено калькулятор, котрий буде виконувати основні арифметичні дії, та мати вигляд схожий на калькулятор, який находиться у стандартних програмах Windows
У процесі виконання лабораторної роботи потрібно створити форму, помістити на неї вікно редагування TEdit, та дві панелі TPanel. Розмістити на панелях кнопки за допомогою яких Ви будете вводити у калькулятор цифри та кнопки арифметичних знаків. Також на TРanel потрібно розмістити кнопку “Зкид” та кнопку обчислення результату.
Напишіть процедури для всіх кнопок “+”, “-”, “*”, “/” та “=”. Також потрібно описати ситуацію коли користувач натискає на кнопки дій, не ввівши числа. Для цього ще потрібно додати процедури для всіх кнопок обчислень “+”, “-”, “*”, “/” та “=”.
У даній лабораторній роботі описано спосіб створення калькулятору, який виконує арифметичні дії над двома речовинними числами. Ввід чисел виконується кліком на кнопках калькулятора у спеціальне вікно. Також у лабораторній роботі показано спосіб обробки виключних ситуацій.
Звіт по роботі повинний містити теоретичні відомості зі створення проекту, розміщення на формі кнопок, написання процедур та їх обробку, відомості про процедуру при якій – при натисканні на кнопки калькулятора відповідні до цих кнопок числа будуть з`являтись у вікні редагування. Також у звіті потрібно описати процедуру виключних ситуацій (користувач не ввів числа, а натискає на кнопку арифметичної дії, або на кнопку обчислень результату).
Звіт також повинен утримувати у собі декілька малюнків форм цієї програми.
Необхідні теоретичні відомості для практичної роботи:
У цій вправі Ви створите калькулятор, що виконує основні арифметичні дії, уже більш схожий на той, котрий знаходиться в стандартних програмах Windows. Подивіться на рис. 1. і створіть подібну заготовку для Вашого проекту. У Рядку заголовка форми запишіть «Калькулятор-2».
Дайте формі ім'я FormCalculator2. Збережіть модуль і проект під іменами UnitCalculator2 і ProjectCalculator2.
Помістите на форму компонентів TEdit (вікно редагування). Помістіть на форму дві панелі TPanel. Розташуйте на двох панелях кнопки TSpeedButton як показано на рис. 1.
Дайте кнопкам імена відповідно до таблиці 1.
За допомогою групи кнопок на одній панелі Ви будете вводити у вікно цифри, десяткову кому і знак «мінус».
З цифр будуть утворюватися речовинні числа. За допомогою групи кнопок на іншій панелі Ви будете виконувати арифметичні дії над двома числами. На формі повинна бути ще кнопка «Зкид».
Рис. 1. Вікно форми “Калькулятор-2”
Цифри і знаки будуть вводитись у вікно тільки за допомогою кнопок калькулятора. Для того щоб не можна було вводити у вікно числа і букви з клавіатури, у властивості ReadОnly (тільки для читання) для об'єкта Editl виберіть: True (істина).
Клік на кнопці «1» вводить у рядок вікна Editl цифру «1». Це досягається за допомогою наступного оператора: Editl.Text:=Editl.Textn-'l'; (Цей оператор Ви напишете в тілі процедури для кліку на кнопці «1»)
Аналогічні оператори запишіть у процедурах для всіх кнопок уведення цифр і для знаків «,» і «-». Запустіть проект і спробуйте вводити цифри у вікно Edit1.
Таблиця 1. – Призначення кнопок “Калькулятор-2”
Призначення кнопок |
Назва (Name) | |
Ввід цифри “1” |
sb_1 | |
Ввід цифри “2” |
sb_2 | |
Ввід цифри “3” |
sb_3 | |
Ввід цифри “4” |
sb_4 | |
Ввід цифри “5” |
sb_5 | |
Ввід цифри “6” |
sb_6 | |
Ввід цифри “7” |
sb_7 | |
Ввід цифри “8” |
sb_8 | |
Ввід цифри “9” |
sb_9 | |
Ввід цифри “0” |
sb_0 | |
Ввід цифри “,” |
sb_Zpt | |
Ввід цифри “-” |
sb_Otric | |
Дія “Додавання” |
sb_Plus | |
Дія “Вирахування” |
sb_Minus | |
Дія “Множення” |
sb_Umnog | |
Дія “Розподілу” |
sb_Razd | |
Знак “Рівняється” |
sb_Result | |
Знак “Зкид” |
sb_Sbros |
Застосований оператор дозволяє додавати до вже написаної цифри наступну, створюючи число.
У програмі будуть використовуватись речовинні числа a, b і с.
а - перше число,
b - друге число,
с - результат дії.
Також у програмі буде використане ціле число d, що буде визначати, яка дія виконується над числами.
d = 1 – додавання;
d = 2 – вирахування;
d = 3 – множення;
d = 4 - розподіл.
Усі ці змінні варто оголосити в розділі оголошення змінних після службового слова var:
a, // перше число
b, // друге число с:Real; // результат
d:Integer; // визначник дії {d=1 - додавання, d=2 - вирахування,
d=3 - множення, d=4 - розподіл)
Кнопка « + » повинна перевести число, записане у вікні з рядкового формату в цифровий і привласнити перемінній а, значення цього числа; привласнити перемінній d значення «1» і звільнити вікно для набору наступного числа. От як це виглядає в процедурі для цієї кнопки:
a:=StrToFloat(Editl.Text); Editl.Text:=' ' ;
// після знака рівності набираються апострофи d:=l;
Перший оператор використовує функцію StrToFloat(), що перетворить рядок символів, що знаходяться в полі Editl, у речовинне число. Перемінній а привласнюється значення цього речовинного числа.
Другий оператор очищає поле Editl.
Третій оператор визначає вибір дії над числами. Напишіть самостійно процедури для інших кнопок дій.
Варто передбачити збій програми у випадку, якщо Ви натискаєте на кнопки дій, не ввівши числа.
Тоді процедура для кнопки « + » буде виглядати в такий спосіб:
procedure TFormCalculator2.sb_PlusClick(Sender: TObject);
begin
if (Editl.Text='') or
(Editl.Tехt 'натисни "Зкид". Уведи число!'} then Editl.Text:='Натисни "Зкид". Уведи число!' else
begin
a:=StrToFloat(Editl.Text);
Editl.Text:='';
d:=l;
sb_Zpt.Enabled:=True;
sb_0triс.Enabled:=True;
end;
end;
У цій процедурі два останніх оператори виключають кнопки «,» і «-», що знаходяться на цифровій панелі, тому що використовувати їх при наборі числа можна тільки один раз. Для запобігання помилки при вставці знаку «-» перед числом треба в процедуру для кожної цифри і знаку «,» додати наступний оператор:
sb_0tric.Enabled:=False;
Після застосування кнопок дій і кнопки «Зкид», кнопки «,» і «-» повинні знову бути доступними для застосування їх при введенні нового числа. Тому для всіх кнопок арифметичних дій і для кнопки “Зкид” треба в процедуру додати оператори, що включають кнопки «,» і «-»: sb_Zpt.Enabled:=True; sb_0tric.Enabled:=True;
Процедури для інших кнопок дій перепишіть за аналогією з цією процедурою.
Кнопка “=” повинна виконувати дії над двома числами і результат поміщати у вікно Editl. Запишіть для неї наступну процедуру з обліком того, що не можна поділяти на нуль:
procedure TFormCalculator2 . sb_RezultClick (Sender : TObject);
begin
b:=StrToFloat(Editl.Text);
if d=l then
begin
c:=a+b;
Editl.Text:=FloatToStr(c) ;
еnd;
else
if d=2 then
begin
c:=a-b;
Edit1.Text:=FloatToStr(c) ;
еnd;
else
if d=3 then
begin
c:=a*b;
Editl.Text:-FloatToStr(c) ;
еnd;
else
if (d=4) and (b0) then
begin
c:=a/b;
Editl.Text:-FloatToStr(c);
end;
end;
Кнопка «Зкид» служить для того щоб звільнити від запису вікно Editl. Процедура для цієї кнопки виглядає в такий спосіб:
procedure TFormCalculator2.sb_SbrosClick(Sender: TObject);
begin
Editl.Text:='';
sb_2pt.Enabled:=True;
sb_0tric.Enabled:=True;
end;
Збережіть зміни, запустіть проект. Калькулятор-2 готовий до роботи.