Delphi
1 урок «Разработка интерфейса программы»
Эту статью я взял с сайта:Фестеваля педагогических идей".
Автор статьи: Панов Сергей Иванович, учитель физики и информатики.
Оглавлени:1урок<<Разработка интерфейса программы.>>
2урок<<Написание процедур выполнения арефметических действий.>>
3урок<<Написание процедур вычесления основных функций.>>
4-5уроки<<Написание процедур работы с меню.>>
Задание. Разработать интерфейс программы «Стандартный калькулятор»
Необходимые объекты:
MainMenu – создание меню программы Label – надпись Edit – поле для ввода и вывода |
|
BitBtn – кнопка (настраивается цвет надписи на кнопке в отличие от Button) Image – вставка изображения |
Разработка интерфейса.
1. Создать форму.
Свойства формы.
Name: kalkul
Caption: Калькулятор
Color: цвет по желанию
BorderIcons: biMaximize – False, остальное True.
2. Разместить на форме объект Edit. Свойства: Name : Edit1, Text – пустая строка.
3. Разместить на форме соответствующее число кнопок.
– цифры от 0 до 9,
– знаки арифметических операций,
– знак «=»
– знаки функций (корень, синус, косинус и т.д.)
Объект – кнопка BitBtn.
Свойства:
Name – можно оставить по умолчанию
Caption – соответствующее выполняемой функции название
Font – шрифт и цвет шрифта по желанию
4. Поместить на форму изображение (если нужно), настроить цвет формы, шрифт, сделать соответствующие надписи на форме (если нужно).
Примерный вид интерфейса программы
2 урок «Написание процедур выполнения арифметических операций»
I. Написать процедуры ввода чисел. Для этого щелкнуть два раза по кнопке «1» (объект BitBtn1) и ввести следующий код:
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
edit1.Text:=edit1.Text+'1'
end;
Аналогично написать процедуры ввода остальных цифр и символа «,»
II. Создать процедуру очистки поля Edit1, кнопка «С» (объект BitBtn22)
procedure TForm1.BitBtn22Click(Sender: TObject);
begin
edit1.Clear
end;
III. Создать процедуры обработки нажатий кнопок «+», «–», «/», «*» и «=». Для этого необходимо сначала разобрать с учащимися алгоритм работы с калькулятором:
- Ввести число в поле Edit1. При этом в поле Edit1 число будет представлено как текстовая строка.
- Нажать кнопку «+». В процедуре обработки этой кнопки необходимо выполнить следующие действия:
- преобразовать эту строку в число с помощью функции StrToFloat;
- сохранить это число в переменной X;
- сохранить в переменной, например, kod код этой операции;
- очистить поле Edit1.
- Ввести второе число в поле Edit1.
- Нажать кнопку «=».В процедуре обработки этой кнопки необходимо выполнить следующие действия:
- преобразовать эту строку в число с помощью функции StrToFloat;
- сохранить это число в переменной Y;
- в зависимости от кода операции, сохраненной в переменной kod, выполнить арифметическую операцию, например, z:=x+y;
- преобразовать число, находящееся в переменной Z, в текст с помощью функции FloatToStr и вывести в поле Edit1.
IV. Что необходимо для реализации этого алгоритма?
1. Описать переменные X, Y, Z, kod. Описывать переменные будем в основной программе, модуле Unit, чтобы переменные могли действовать в любой процедуре (глобальные переменные).
var
Form1 : TForm1;
kod : char;
x, y, z : real;
2. Создать процедуры обработки нажатий кнопок «+», «–», «/», «*»
Например,
procedure TForm1.BitBtn17Click(Sender: TObject);
begin
x:= strtofloat(edit1.text);
kod := ‘+’;
edit1.Clear;
end;
Но что будет, если мы в поле Edit1 ничего не введем и нажмем кнопку «+»? Возникнет ошибка и программа завершится. Чтобы избежать этого надо проверить имеется ли в поле Edit1символы? И в зависимости от этого условия продолжить выполнять процедуру или вернуться к вводу данных. Следовательно, мы должны использовать алгоритмическую структуру «Ветвление».
Изучить с учащимися правила записи ветвления на языке Delphi.
Изменненая процедура обработки нажатия кнопки «+»
procedureTForm1.BitBtn17Click(Sender: TObject);
begin
ifedit1.Text<>'' thenx:=strtofloat(edit1.text);
kod := ‘+’;
edit1.Clear;
end;
Аналогично создатьпроцедуры обработки нажатий кнопок «–», «/», «*»
3. Создать процедуру обработки нажатия кнопки «=». В этой процедуре необходимо в зависимости от значения переменной kod выполнять четыре разных операции. Такая структура называется «Множественное ветвление» или «Выбор».
Изучить с учащимися правила записи структуры «Выбор» на языке Delphi.
procedure TForm1.BitBtn19Click(Sender: TObject); кнопка «=»
begin
if edit1.Text<>'' then y:=strtofloat(edit1.text); впеременную y кладем edit1.text
case kod of
'+': z:=x+y;
'-': z:=x-y
'*': z:=x*y;
'/': z:=x/y
end ;
edit1.Text:=floattostr(z) вывод в поле Edit1 значение переменной z
end;
3 урок «Написание процедур вычисления основных функций»
I. Создать процедуры вычисления функции «X в степени Y». Для этого необходимо:
1. Изучить тему «Циклы на языке Delphi».
2. Создать процедуру обработки нажатия кнопки «X в степени Y».
procedure TForm1.BitBtn24Click(Sender: TObject);
begin
x:= strtofloat(edit1.text);
kod := ‘^’;
edit1.Clear;
end;
3. Добавить в процедуру нажатия кнопки «=» следующий код
vark, y1:integer; /y1 – степень в которую возводим число x/
… /k– счетчик цикла/
'^': begin
y1:=strtoint( edit1.Text);
edit1.clear;
z :=1;
for k:=1 to y1 do
begin
z:=z*x
end
end
II. Создать процедуры вычисления остальных функций. При вычислении тригонометрических функций учесть, что компьютер работает с радианной мерой углов.
Например, процедура вычисления квадратного корня
procedure TForm1.BitBtn26Click(Sender: TObject); кнопка «корень»
begin
x:=strtofloat( edit1.Text);
edit1.clear;
z:=sqrt(x);
edit1.Text:=floattostr(z)
end;
Процедура вычисления функции sin
procedure TForm1.BitBtn11Click(Sender: TObject); кнопка «sin»
begin
x:=strtofloat(edit1.Text);
x:=(x*3.14)/180;
edit1.Clear;
z:=sin(x);
edit1.Text:=floattostr(z)
end;
4–5 урок. «Написание процедур работы с меню»
У любой программы имеется система меню, которая позволяет выполнять разные сервисные функции. Создадим для нашего калькулятора меню, которое будет состоять, например, из следующий пунктов: «Файл», «Правка», «Справка». Для этого: поместить на форму объект MainMenu (в любое место формы, этот объект будет невидим при выполнении)
- Два раза щелкнуть левой кнопкой мыши по этому объекту на форме.
- Выделить в появившейся форме пунктирное поле и в инспекторе объектов в свойство Caption ввести «Файл».
- Аналогично создать пункты меню «Правка» и «О программе».
- В меню «Файл» создать пункт «Выход», а в «Правка» - пункты «Копировать» и «Вставить».
- Закрыть форму создания меню.
procedure TForm1.N2Click(Sender: TObject); begin close end; |
procedure TForm1.N4Click(Sender: TObject); begin Edit1.CopyToClipboard; / копироватьвбуферобмена/ end; procedure TForm1.N5Click(Sender: TObject); |
Создание меню
Для создания справки создадим еще одну форму с именем Form2, на которой можно разместить справочные сведения и информацию об авторах программы. Для размещения текста можно воспользоваться объектом Memo, который представляет из себя почти готовый текстовый редактор, и объектом Image для размещения графики и фотографий. Для открытия формы воспользуемся командой Form2.ShowModal.
Процедура открытия формы «Справка»
procedure TForm1.N8Click(Sender: TObject);
begin
Form2.ShowModal Открытие формы «Справка»
end;
Скоро добавлю сюда ссылку на скачивание собственновво калькулятора.