Delphi: реальности программирования для смартфонов. Виталий Иванович Донцов. Читать онлайн. Newlib. NEWLIB.NET

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

      Для копирования текста используют CopyToClipBorad, для вставки Paste, для замены символов StringReplace (). Перед копированием целесообразно выделить текст для копирования; так, Memo.CopyToClipBorad ничего не копирует, для копирования всего содержимого компонента Memo нужно предварительно выделить его содержимое:

      Memo.SelectAll;

      Memo.CopyToClipBorad

      Перевод каретки: string1 + #13#10 + string2 (перевод каретки и конец строки с переносом string2 на другую строку).

      Изменение типов проводится очень часто, обычно для передачи строкового значения в числовое и наоборот, используют: StrToInt; InToStr; StrToFloat (str); для форматирования: FloatToStrF (n, ffGeneral или ffFixed, count знаков всего, count знаков после зпт). Вместо Float используют Double.

      Дата и Время. Имеется значительное число возможностей работы с датой, но обычно достаточно узнать настоящую дату DateToStr (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.3 имеется такой же компонент, как и ранее: Timer, запускающийся при присвоении функции Timer. Enable:= true и выключаемый присвоением …false; имеет единственное действие, повторяемое через задаваемый промежуток времени (в мСек). Однако, кроме малой точности (50 мСек) при достаточно нагруженной программе он действует крайне медленно, может тормозить в 2 раза и несколько секунд включаться, так что практически мало пригоден (хотя вне Android работает вполне точно и хорошо). Для получения времени между 2-мя событиями в Delphi 10.3 удобнее всего использовать функции даты-времени:

      Разница 2-х времен в Сек:

      // На Кнопку Start

      var

      str, h, m, s: String;

      t1:Integer;

      begin

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

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

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

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

      t1:= StrToInt (h) *3600 + StrToInt (m) *60+ StrToInt (s); //Текущее время в сек

      Edit1.Tex:= IntToStr (t1);

      end;

      // На Кнопку Stop

      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);

      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;

      5. Вкладки компонентов

      Базовые компоненты находятся на вкладке Standard, вкладка Additional используется значительно меньше, так как ее элементы практически дублируют