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: array [0..1] of TGUID = (MyGuid1, MyGuid2);

begin

***************

end;

Элемент массива можно создать и запитать им, например, элемент ALRealToAudio из AudioLab, который может получать данные из массива:

x:= StrToInt(Memo2.Lines [i]);

MyArray[0].Create (x);

ALRealToAudio1.InputPins.Pins[0].IsConnectedByIDs (MyArray);

Целый ряд компонентов имеет выход с GUID, что позволяет им взаимодействовать также и с заранее не определенными данными компонентов.

7. ВКЛАДКИ КОМПОНЕНТОВ

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


Компонент Таблица представлен во вкладке Grids двумя таблицами – обычной строковой StringGrid и Grid в котором можно использовать самые разные типы данных и вставлять другие компоненты, также отдельный компонент Заглавие – Header.


Желание разнообразить возможности рисования обернулись их резким усложнением, однако, появилась вкладка Shapes, где представлены различне компоненты: прямоугольник, круг, овал, дуга, линия, подпись и другие типичные элементы рисунков, свойства которых можно задавать программно и рисовать или создавать графики. Компоненты графиков представлены PlotGrid с сеткой и осями координат, на котором фактически нужно рисовать график вручную, а также обычным Chart из TeeChartLite группы.


Вкладку Effects, задуманная для придания красивого вида элементов, использовать можно разве, чтобы сделать хоть как-то видимым компонент Edit. Различные эффекты мигания, скручивания, жалюзи и пр., как и ротация, доступная практически для всех элементов, предназначены для анимации (как и вкладка Animations, вкладка Styles и вкладки для 3D вида компонентов), к которой сам Delphi как раз не предназначен, и работать на смартфоне будет медленно, для прикладных программ это вооб ще дурной тон.