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

Читать онлайн.
Название Программирование для Android и работа с датчиками в среде Delphi 11
Автор произведения Виталий Иванович Донцов
Жанр
Серия
Издательство
Год выпуска 0
isbn 9785006566965



Скачать книгу

Для Single: x:=Round (x). Для преобразования строки/байты в UTF-8:

      bytes:= TEncoding.UTF8.GetBytes (str);

      str:= TEncoding.UTF8.GetString (bytes);

      TEncoding.ANSI.GetString (Byte);//String из Byte

      Строки Java. Для обращения к Java напрямую используют модуль Uses Androidapi. Helpers. Так можно преобразовывать строки:

      function JStringToString (const JStr: TJString): String;

      function StringToJString (const Str: String): JString;

      То же для StrToJCharSequence и StrToJURI.

      Дата и Время. Имеется значительное число возможностей работы с датой, но обычно достаточно узнать настоящую дату DateToStr (Now): и текущее время: TimeToStr (Now) и DateTimeToStr (Now).

      Форматы представления даты:

      dd/mm/yy hh: mm: ss = 09/02/49 01:02:03 mmm = Feb

      mmmm = February ddd = Tue

      dddd = Tuesday ddddd = 09/02/2049

      dddddd = 09 February 2049 hhampm = 01AM

      t = 01:02

      tt = 01:02:03

      dd/mm/yyyy = 09/02/2049

      dd/mm/yy hh: mm: ss = 09-02-49 01_02_03 mmm = FEB

      mmmm = FEBRUARY ddd = WED

      dddd = WEDNESDAY

      ddddd = 09-FEB-49

      dddddd = WEDNESDAY 09 of FEBRUARY of 1949

      hhampm = 01morning t = 01_02_03

      tt = 01 _ 02 _ 03. 004

      dd/mm/yyyy = 09-02-1949

      Для отсчета времени в Delphi 10—12 имеется такой же компонент, как и ранее: Timer, запускающийся при присвоении функции Timer. Enable:= true и выключаемый …false; имеет единственное действие, повторяемое через задаваемый промежуток времени (в мСек). Однако, кроме малой точности (50 мСек) при достаточно нагруженной программе он действует крайне медленно, так что практически часто мало пригоден (хотя вне Android работает вполне точно и хорошо). Для получения времени между 2-мя событиями удобнее использовать функции даты-времени:

      var // На Кнопку Start

      str, h, m, s: String; t1:Integer;

      begin

      str:= DateTimeToStr (Now); // Начальное время

      h:= Copy (str,, 2);// Отсекаем Дату и сразу берем Часы

      m:= Copy (str, 15, 2);

      s:= Copy (str, 18, 2);

      t1:= StrToInt (h) *3600 + StrToInt (m) *60+ StrToInt (s);

      Edit1.Text:= IntToStr (t1); //Текущее время в сек

      end;

      var // На Кнопку Stop

      str, h, m, s: String; t, t1, t2:Integer; begin

      str:= DateTimeToStr (Now); // Конечное время h:= Copy (str,12,2);

      m:= Copy (str,15,2);

      s:= Copy (str,18,2);

      t2:= StrToInt (h) *3600 + StrToInt (m) *60+ StrToInt (s); t1:= StrToInt (Edit1.text);

      t:= t2 – t1;

      Edit3.Text:= IntToStr (t); // Итоговое прошедшее время

      end;

      Можно также использовать функцию разбора времени:

      var

      Hour, Min, Sec, Msec: Word;

      begin

      DecodeTime (Now, Hour, Min, Sec, Msec);

      Edit1.Text:= IntToStr (Hour) +IntToStr (Min) +IntToStr (Sec) + IntToStr (Msec);

      end;

      в мСек:= Hour*60*60*1000 + Min*60*1000 + Sec*1000 + Msec;

      TGUID

      GUID (Globally Unique Identifier) в Delphi является8-битным идентификатором и используется для уникальной идентификации объектов или компонентов приложения. Обычно представляется в формате шестнадцатеричного числа из 32 цифр, разделенных дефисами. В Windows редактор библиотеки типов автоматически генерирует GUID для новых интерфейсов; также можно сгенерировать GUID, нажав CTRL + SHIFT + G. Пример с GUID:

      var

      MyGuid1: TGUID;

      begin

      // Создание нового GUID из строки текста

      MyGuid1:= StringToGUID (» {00020400-0000-0000-C000—000000000046}»);

      //Отображение в Memo заданного GUID

      Memo1.Lines.Add («Заданный GUID: ' + GUIDToString (MyGuid0));

      end;

      Пример создания Массива (на 2 элемента):

      const

      MyGuid1 =» {99BDAB12-B1B6—41B0—9BF1—2C1DB3D8EC70}»;

      MyGuid2 =» {8C7CD303—8D81—469B-99ED-E1F163E9036F}»;

      const

      MyArray: