Виталий Донцов – Программирование для Android и работа с датчиками в среде Delphi 11 (страница 5)
Могут быть:
– одномерные:
– многомерныe:
– динамический массив:
Перед использованием динамического массива устанавливается его длина (начинается с 0):
Доступ к массиву по его индексу: n:= D [21]; соответственно присваивание значения элементу массива: D [21]:=n. Для заполнения массива обычно применяется конструкция цикла:
Можно найти максимальное и минимальное значение и среднее по массиву:
Строки:
2 байта; String = AnsiString: 1031 символ.
Со строками можно проводить множество операций:
– найти в строке субстроку, ее индекс:
– копировать строку
– удалить часть строки по индексу
– вставить субстроку:
– длину строки можно узнать как:
Для выравнивания строк полезна функция вставки пустых символов:
Для копирования текста используют
Перевод каретки:
Изменение типов проводится очень часто, обычно для передачи строкового значения в числовое и наоборот, используют: StrToInt; InToStr; StrToFloat (str); для форматирования: FloatToStrF (str, ffGeneral или ffFixed, count знаков всего, count знаков после запятой. Для 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
function JStringToString (const JStr: TJString): String;
function StringToJString (const Str: String): JString;
То же для
Дата и Время. Имеется значительное число возможностей работы с датой, но обычно достаточно узнать настоящую дату
Форматы представления даты:
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 имеется такой же компонент, как и ранее:
var // На Кнопку Start
str, h, m, s: String; t1:Integer;
begin
str:=
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 // На
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);