Реферат: Калькулятор на VB - это легко
Статья имеет две редакции: для начинающих осваивать язык и для тех у кого не только аббревиатура VBне вызывает вопросов, но и более-менее владеющих им.
В данной редакции от читателя требуется знание VB на достаточно хорошем уровне, что означает владение навыками визуального программирования, событийно-управляемого программирования и конечно «основных» операторов языка. Предлагается один из способов поиска решения подобных задач.
Первый шаг или интерфейс пользователя
Здесь особо ничего фантазировать не надо, а просто вспомнить, как выглядит обычный калькулятор, какие кнопки у него и каково их назначение. У меня получилось так:
Инструмент CommandButton содержит такие интересующие нас свойство и событие, которые дают нам полную ясность его выбора. Аналогичное можно сказать и про инструмент Label . Декоративный инструмент Line необязателен.
Для понимания моего программного кода вам надо будет согласиться со следующими именами представленных объектов и их свойствами:
· Форме присвоим имя Calculator .
· Кнопки с цифрами образуют массив кнопок Knopki индексы, которых совпадают с их надписями.
· Кнопка точка - это объект с именем Tochka , aкнопка изменения знака числа [+/-] - Plusmin .
· Кнопки арифметических операций имеют общее имя Operacia , но проиндексированы. Причём кнопка с надписью + имеет индекс 4, кнопка со знаком минус - индекс 2, кнопка "разделить" - 0, а кнопка соответствующая умножению - 5.
· Кнопка "сброс"[С] - Sbros .
· Кнопка "очистить"[CE] - Ochistka .
· Кнопка "удалить"[<-] Udalit.
· Кнопка "равно" [=] -Ravno.
· Единственная метка называется Tablo (и далее - индикатор отображения вычислений будем называть "табло").
В соответствие с рисунком измените свойство Caption всех объектов. Так, например, для объекта Tablo его значением будет 0.и свойство Font : FontSize = 14. Для всех кнопок свойство Style имеет значение 1-Graphical. Свойство TabStop всех объектов – False.
Свойство формы KeyPreview обязано иметь значение True. Ведь надо же пользователю предоставить возможность вычислять с клавиатуры!
А BorderStyle - 1-FixedSingle.
Немалая часть проекта уже завершена ... Продолжим работу!
Второй шаг или "как заставить эту штуковину работать?!!"
Прежде чем писать обработчики событий для данных элементов управления "возьмём в руки" обычный калькулятор и выясним "механизм" его работы. И сразу же можем сказать, что у него три состояния: включён, выключен и первоначальная готовность. Все эти состояния считайте уже написаны (они обеспечиваются открытием и закрытием окна приложения и значением свойства Caption метки Tablo )!
Далее, выясним какие действия может осуществлять пользователь над кнопками нашей вещицы и что же при этом происходит на табло?
а) Нажатие на одну из цифр - на табло справа к уже имеющемуся числу прибавляется нажатая цифра. Однако если данное число ноль, его заменяет введённая цифра.
б) Нажатие точки - изменений на табло нет.
в) Нажатие плюс/минус - на табло слева к уже имеющемуся числу прибавляется минус или убирается.
г) Выбор одной из арифметических операций - возможное вычисление значения предыдущей операции с отображением его на табло.
д) Вычислить (кнопка равно) - на табло может отобразиться результат заданной операции.
е) Удаление "последней" цифры числа - на табло удаляется "последняя" цифра.
ж) Очистить (кнопка CE) - на табло "исчезает" набранное число и "превращается" в ноль!
з) Сброс - на табло ноль.
--> ЧИТАТЬ ПОЛНОСТЬЮ <--