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

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



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

превратить Single в Integer); также можно использовать для выделения целой части Trunc (x) и дробной части Frac (x); Ceil (X) – до целого в большую сторону; Floor (X) – до целого в меньшую сторону;

      Для ряда функций нужно добавить пакет math в User начала программы. Доступны многие математические функции, в том числе: абсолютное значение abs (х), квадрат sqr (x) и корень квадратный из х: sqrt (x); для степенной функции преобразование: xn = exp (n*ln (x); корень n-й степени из x = exp (1/n*ln (x), хотя имеется также и функция возведения XY: Power (x,y):

      var

      Z: Real;

      begin

      Z:= Power (0.25, 0.5); {Z:= 0.5}

      end;

      Функция получения вероятного числа: Random (n), по умолчанию пустые скобки () – вероятное число от 0 до 1; при «n» целочисленном – целочисленное значение от 0 до «n-1».

      Символы представлены типом Char: Type: Char = #0..#255; Char:= «3». Код символа можно узнать по функции Chr (n). Код ANSI: #0…255, UNICODE: первые 256 символов = ANSI. Chr (66) = B; Char 67) = C.

      var

      myChar: Char;

      begin

      myChar:= «G»; // Назначение из символьной константы

      ShowMessage («Символ G = ' + myChar); // Видим: «Символ G = G»

      myChar:= #65; // Назначение из целочисленной константы

      ShowMessage («#65 = ' + myChar); // Получаем «#65 = А»

      end;

      Присваивание значения требует двоеточия перед равенством: n:= 10; обычное равенство (=) используется в булевых значениях сравнения (true/false): if n = 10 then… Неравенство: X <> Y.

      Массивы: важная часть программ для накопления данных.

      Могут быть:

      – одномерные: Mas: array [1…100] of String; //все начинаются с 1.

      – многомерныe: Ar: array [0..9] of array [0..9] of integer;

      – динамический массив: D: array of real.

      Перед использованием динамического массива устанавливается его длина (начинается с 0): setLeangth (D,20). Закрытие массива: D_M: =nil. элементы массива начинаются с 0, исключая строковой массив, начинающийся с 1.

      Доступ к массиву по его индексу: n:= D [21]; соответственно присваивание значения элементу массива: D [21]:=n. Для заполнения массива обычно применяется конструкция цикла:

      for n:= 1 to 100 do

      begin

      D [n]:= n-1; //Нумерует компоненты массива D [100] с 0

      end;

      Можно найти максимальное и минимальное значение и среднее по массиву: MaxIntVal (D); MinVal (D): double); Mean (D):double), копировать массив в другой с компонента: D:= copy (D, 0, 20) и др.

      Строки: ShortString: 255 символов и занимает в памяти

      2 байта; String = AnsiString: 1031 символ. AnsiString или WideString содержат большое количество символов. В типе AnsiString символы кодируются в коде ANSI, а в типе WideString в коде Unicode. Общим типом является тип String. String [n] длин строки.

      Со строками можно проводить множество операций:

      – найти в строке субстроку, ее индекс: n:= Pos (subStr, str);

      – копировать строку str c позиции index и числом знаков count: str1:= copy (str, index, count);

      – удалить часть строки по индексу delete (str, index, count);

      – вставить субстроку: insert (str1, str0, index);

      – длину строки можно узнать как: length (str).

      Для выравнивания строк полезна функция вставки пустых символов: StringOfChar (»», count); если использовать моноширинный шрифт, то получим идеально выровненные в столбик строчки.

      SelStart и SelLength устанавливают позицию 1-го символа и длину записи, SelText