Здравствуйте, друзья. Вот и закончились новогодние каникулы, и даже Старый Новый год уже встретили, пора продолжать учиться. Сразу беру быка за рога - сегодня проект "Калькулятор" будет доведён до конца (не совсем, но об этом позже) и подготовлен к тому, чтобы сделать из него инсталлятор. То есть, пакет установщика Windows, который позволит устанавливать эту программу на любой компьютер.
О начале работы над проектом я рассказала в предыдущих статьях (ссылки в конце), и остановилась на том моменте, что в калькуляторе всё работает, только не хватает защиты. Во-первых, щёлкнув мышкой на текстовом окне, которое используется для вывода, мы имеем возможность вводить в него данные с клавиатуры, и не только цифры, но и буквы (в принципе, любой текст). В калькуляторе эта возможность явно лишняя. Это задача номер один.
И во-вторых, мы можем делить на ноль. Программа при этом зависает, по понятным причинам. Значит, нужно, чтобы при попытке разделить на ноль, работа программы приостанавливалась, появлялось сообщение об ошибке, а после исправления ошибки программа продолжала работать. Это - задача номер два.
И это первый этап работы над любой программой - постановка задачи и формирование ТЗ (технического задания).
Приступим. Первая задача решается просто - в окне дизайна нужно выделить текстовое поле на форме, а затем в окне свойств изменить значение свойства Enabled с True на False.
Всё, ввод данных в текстовое поле заблокирован . А вывод работает, в чём просто убедиться, запустив программу.
То же самое можно сделать программным путём, изменив свойство текстового поля вот такой строкой кода:
Vyvod.Enabled = False
Только размещать её нужно в соответствующем месте:
Но вообще - чем решение проще, тем оно лучше. Да, это ещё одна из житейских мудростей - причём, если мне проще применить первый вариант, то кому-то более простым может показаться второй.
Вторая задача (защита от деления на ноль) несколько сложнее. Сначала составим алгоритм, то есть порядок действий компьютера при делении, с учётом особенностей нашего калькулятора.
- Получить делимое
- Получить идентификатор 4 (вводится при нажатии на калькуляторе клавиши деления)
- Получить делитель
- Проверить, не равен ли делитель нулю
- Если равен - вывести сообщение об ошибке и приостановить работу
- Если не равен - выполнить операцию деления и вывести результат
Это второй этап разработки любой программы - алгоритмизация.
А поскольку с оператором If мы уже знакомы - его и используем (точнее, блок If - Else). И ещё - окно вывода сообщений MessageBox (MsgBox), которое вы наверняка уже встречали, если, конечно, пользуетесь Windows.
Это все те сообщения, которые появляются, когда "что-то идёт не так", и закрыть такое сообщение можно только нажатием кнопки "ОК" в самом окне сообщения, то есть, MessageBox специально создан для важной информации. Чаще всего таким способом сообщается об ошибках.
Последние два абзаца тоже можно отнести к этапам разработки - выбор способа решения поставленной задачи и инструментов для этого решения.
Ну а теперь, собственно , можно и к написанию кода приступить - это следующий этап, самый интересный... И самый короткий. 80-90% времени работы над любой программой занимает именно предварительная подготовка, а также последующее тестирование и исправление ошибок, а вовсе не написание кода.😪
К счастью, мой проект довольно простой, и ошибок удалось избежать.😊
А вот и сам код, два варианта (нужная часть на рисунках выделена красным).
Этот вариант работает так:
Если делитель равен нулю, выполняются операции после If (выводится сообщение об ошибке), а то, что после Else - не выполняется. А если не равен - выполняется то, что после Else.
И второй вариант, где конструкция If - Else работает идентично первому, но проверять будем не равенство, а неравенство - то есть, если делитель нулю не равен, будет выполнен код после If. В своём калькуляторе я использую именно этот вариант, хотя по сути они равнозначны и результат выдают одинаковый.
Вот теперь всё, калькулятор готов. Запускаем, и смотрим на видео, как он работает:
И на этом торжественном моменте я и закончу сегодняшнюю запись "Дневника...". А следующая будет о том, как сделать из проекта Visual studio установочный пакет, чтобы разработанную программу можно было установить на другой компьютер.
P.S. А почему калькулятор готов, да не совсем - ну так его ещё совершенствовать и совершенствовать. И главное - он должен работать не только от мышки, но и от клавиатуры...