Последняя версия DataExpress 3 beta от 11 августа 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

IDDT Идентификатор по времени и дате.

Расширение функционала и существующих возможностей программы с помощью модулей выражений и плагинов от сторонних разработчиков.
Аватара пользователя
SirWolf
Интересующийся
Сообщения: 186
Зарегистрирован: Вс апр 16, 2017 9:17 am
Откуда: Краснодар

IDDT Идентификатор по времени и дате.

Сообщение SirWolf » Чт авг 09, 2018 9:31 pm

Простенький код для получения уникального ключа из даты и времени.

Код: Выделить всё

{@function
OrigName=IDDT
Name=IDDT
Args=dt
Result=n
Group=Идентификаторы
Description=Функция преобразует дату и время в ключ для сравнения.
<br>
<br>IDDT ([Поле Даты],[Поле Времени]) результат число
<br>Из 09.08.2018 21:28:22 получим 20180809212822
@}

function IDDT (DT,TM:variant):int64;
var
mn,yr,dy,df,tf:string;
begin
if (DT = null) or (TM = null ) then exit;
df:=StringReplace(datetostr(DT),'.','',[rfReplaceAll]);
tf:=StringReplace(timetostr(TM),':','',[rfReplaceAll]);
delete(df,3,6);
dy:=df;
df:=StringReplace(datetostr(DT),'.','',[rfReplaceAll]);
delete(df,1,4);
yr:=df;
df:=StringReplace(datetostr(DT),'.','',[rfReplaceAll]);
delete(df,1,2);
delete(df,3,4);
mn:=df;
result:=strtoint64(yr+mn+dy+tf);
end;


Теперь уже знаю про таймштамп.