Программирование для Android и работа с датчиками в среде Delphi 11. Виталий Иванович Донцов. Читать онлайн. Newlib. NEWLIB.NET

Автор: Виталий Иванович Донцов
Издательство: Издательские решения
Серия:
Жанр произведения:
Год издания: 0
isbn: 9785006566965
Скачать книгу
доступны вращение и анимации.

      Свойство Sender: TObjectОтправитель») присутствует у всех компонентов, хотя редко используется. Но бывает полезно, например, узнать от какого типа источника происходит событие:

      if (Sender is TButton) then ShowMassage («Click from Button»);

      Или для разного действия при получении события OnClick от разных источников:

      if Sender = Button1 then …… else ………..

      Или для получения одного результата для разных компонентов: в Events на событие 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 существует множество компонентов и еще больше свойств и методов, но далеко не все они