Программирование для Android и работа с датчиками в среде Delphi 11 - страница 10

Шрифт
Интервал


на событие OnClick (или OnChange и т.п.) из выпадающего списка для нескольких компонентов выбрать нужный: например, Button1Click, с выполняемым везде кодом.

Или: Button2.OnClick (Sender); для Button1 – выполнит Button2.


Например, для приложения «ШкольныйКалькулятор» за счет свойства Sender можно значительно сократить код. Для функции power (степенная функция) в Uses ввести модуль Math.

Введем глобальную переменную S1:String; к которой можно будет иметь доступ из разных участков программы. Сбросим на Форму кнопки-числа и поставим их Text от 0 до 9, а также кнопку-сброс «C» (от Clear) и вспомогательное Edit2.

Для Button1Click:

with (Sender as TButton) do

begin

if Edit1.Text = «0» then Edit1.Text:= Text

else Edit1.Text:= Edit1.Text + Text; // Ввод числа

end;

Для остальных кнопок 2…9 и 0 введем ссылку: в Events на OnClick: Button1Click; // Ввод числа с любой кнопки

Теперь нажатие на любую кнопку-число отправит ее Text (0…9) в Edit1.Text.

Введем кнопки-действия: +, -, *, /, sqr, sqrt и power, sin, cos, Tan, Ln, Log. Для каждой определим сходный код:

S1:=Edit1.Text; // Первое число в глобальную переменную

Edit3.Text:= Button16.Text; // Выводим знак операции

Edit1.Text:= ' '; // Очищаем Edit1 от 1го числа для второго

Button21.OnClick (Sender); // Ссылка на действия с числами


Свойство Sender позволяет перейти на Button2, где имеет место код для всех действий:

//Если операция над 1-м числом – квадратный корень и др.

if Edit3.Text = ’sqrt’ then // Если первым вычисляем корень

begin

Edit2.Text:= «1»;

Edit1.Text:= FloatToStr (sqrt (StrToFloat (s1)));

s1:= Edit1.Text;

EXIT;

end;


//Если 1-е число из 2-х чисел

if Edit2.Text = «1» then

begin

Edit1.Text:= ' '; // Очищаем Edit1 от 1го числа для второго

Edit2.Text:= «2»; // Отмечаем следующее нажатие как 2-е

EXIT;

end

else // Если 2-е число введено

begin

if Edit3.Text = '+' then Edit1.Text:= FloatToStr (StrToFloat (s1) + StrToFloat (Edit1.Text));

************************

Введем также операции с памятью: M+, M-, MR, MC и возможность вводить тригонометрические функции: град или Пи.

В итоге мы имеем простейший калькулятор, который, однако, с высокой точностью производит необходимые операции.


Рис. 14. Программа для смартфона «Школьный калькулятор»


Рис. 15. Инспектор свойств компонентов.

5. Типы программ в DelpHi Android

В Delphi Android существует множество компонентов и еще больше свойств и методов, но далеко не все они нужны в обычном программировании. Можно выделить несколько типов программ в зависимости от задач и сложности.