const
INTERVAL_sql_mh = 7200; // Интервал таймера запись моточасов в секундах
var
aSeconds_sql_mh: Int64;
{ эта подпроцедура выполняет запрос на вставку в БД значения переменной vrTemperature }
procedure Writesqlmh;
var
SQLinsert_pt3_mh,
a_pt3_kr11mh, a_pt3_kr12mh, a_pt3_kr13mh, a_pt3_kr14mh,
a_pt3_kr21mh, a_pt3_kr22mh, a_pt3_kr23mh, a_pt3_kr24mh,
a_pt3_kr31mh, a_pt3_kr32mh, a_pt3_kr33mh, a_pt3_kr34mh,
a_pt3_kr41mh, a_pt3_kr42mh, a_pt3_kr43mh, a_pt3_kr44mh,
a_pt3_kr51mh, a_pt3_kr52mh, a_pt3_kr53mh, a_pt3_kr54mh,
a_pt3_kr61mh, a_pt3_kr62mh, a_pt3_kr63mh, a_pt3_kr64mh,
a_pt3_pr1_12mh, a_pt3_pr1_34mh,
a_pt3_pr2_12mh, a_pt3_pr2_34mh,
a_pt3_pr3_12mh, a_pt3_pr3_34mh,
a_pt3_pr4_12mh, a_pt3_pr4_34mh,
a_pt3_pr5_12mh, a_pt3_pr5_34mh,
a_pt3_pr6_12mh, a_pt3_pr6_34mh
: string;
begin
//{ Переводим в строку каждую переменную}
a_pt3_kr11mh := QuotedStr(pt3_kr_1_1_mh.AsStr);
a_pt3_kr12mh := QuotedStr(pt3_kr_1_2_mh.AsStr);
a_pt3_kr13mh := QuotedStr(pt3_kr_1_3_mh.AsStr);
a_pt3_kr14mh := QuotedStr(pt3_kr_1_4_mh.AsStr);
a_pt3_kr21mh := QuotedStr(pt3_kr_2_1_mh.AsStr);
a_pt3_kr22mh := QuotedStr(pt3_kr_2_2_mh.AsStr);
a_pt3_kr23mh := QuotedStr(pt3_kr_2_3_mh.AsStr);
a_pt3_kr24mh := QuotedStr(pt3_kr_2_4_mh.AsStr);
a_pt3_kr31mh := QuotedStr(pt3_kr_3_1_mh.AsStr);
a_pt3_kr32mh := QuotedStr(pt3_kr_3_2_mh.AsStr);
a_pt3_kr33mh := QuotedStr(pt3_kr_3_3_mh.AsStr);
a_pt3_kr34mh := QuotedStr(pt3_kr_3_4_mh.AsStr);
a_pt3_kr41mh := QuotedStr(pt3_kr_4_1_mh.AsStr);
a_pt3_kr42mh := QuotedStr(pt3_kr_4_2_mh.AsStr);
a_pt3_kr43mh := QuotedStr(pt3_kr_4_3_mh.AsStr);
a_pt3_kr44mh := QuotedStr(pt3_kr_4_4_mh.AsStr);
a_pt3_kr51mh := QuotedStr(pt3_kr_5_1_mh.AsStr);
a_pt3_kr52mh := QuotedStr(pt3_kr_5_2_mh.AsStr);
a_pt3_kr53mh := QuotedStr(pt3_kr_5_3_mh.AsStr);
a_pt3_kr54mh := QuotedStr(pt3_kr_5_4_mh.AsStr);
a_pt3_kr61mh := QuotedStr(pt3_kr_6_1_mh.AsStr);
a_pt3_kr62mh := QuotedStr(pt3_kr_6_2_mh.AsStr);
a_pt3_kr63mh := QuotedStr(pt3_kr_6_3_mh.AsStr);
a_pt3_kr64mh := QuotedStr(pt3_kr_6_4_mh.AsStr);
a_pt3_pr1_12mh := QuotedStr(pt3_pr_1_12_mh.AsStr);
a_pt3_pr1_34mh := QuotedStr(pt3_pr_1_34_mh.AsStr);
a_pt3_pr2_12mh := QuotedStr(pt3_pr_2_12_mh.AsStr);
a_pt3_pr2_34mh := QuotedStr(pt3_pr_2_34_mh.AsStr);
a_pt3_pr3_12mh := QuotedStr(pt3_pr_3_12_mh.AsStr);
a_pt3_pr3_34mh := QuotedStr(pt3_pr_3_34_mh.AsStr);
a_pt3_pr4_12mh := QuotedStr(pt3_pr_4_12_mh.AsStr);
a_pt3_pr4_34mh := QuotedStr(pt3_pr_4_34_mh.AsStr);
a_pt3_pr5_12mh := QuotedStr(pt3_pr_5_12_mh.AsStr);
a_pt3_pr5_34mh := QuotedStr(pt3_pr_5_34_mh.AsStr);
a_pt3_pr6_12mh := QuotedStr(pt3_pr_6_12_mh.AsStr);
a_pt3_pr6_34mh := QuotedStr(pt3_pr_6_34_mh.AsStr);
//{ Формируем запрос к БД }
SQLinsert_pt3_mh := 'INSERT INTO `server_otkorm`.`pt3_motorhours`
(`kr_1_1mh`,`kr_1_2mh`,`kr_1_3mh`,`kr_1_4mh`,
`kr_2_1mh`,`kr_2_2mh`,`kr_2_3mh`,`kr_2_4mh`,
`kr_3_1mh`,`kr_3_2mh`,`kr_3_3mh`,`kr_3_4mh`,
`kr_4_1mh`,`kr_4_2mh`,`kr_4_3mh`,`kr_4_4mh`,
`kr_5_1mh`,`kr_5_2mh`,`kr_5_3mh`,`kr_5_4mh`,
`kr_6_1mh`,`kr_6_2mh`,`kr_6_3mh`,`kr_6_4mh`,
`pr_1_1-2mh`,`pr_1_3-4mh`,
`pr_2_1-2mh`,`pr_2_3-4mh`,
`pr_3_1-2mh`,`pr_3_3-4mh`,
`pr_4_1-2mh`,`pr_4_3-4mh`,
`pr_5_1-2mh`,`pr_5_3-4mh`,
`pr_6_1-2mh`,`pr_6_3-4mh`)
VALUES (' + a_pt3_kr11mh + ', ' + a_pt3_kr12mh + ', ' + a_pt3_kr13mh + ', ' + a_pt3_kr14mh + ',
' + a_pt3_kr21mh + ', ' + a_pt3_kr22mh + ', ' + a_pt3_kr23mh + ', ' + a_pt3_kr24mh + ',
' + a_pt3_kr31mh + ', ' + a_pt3_kr32mh + ', ' + a_pt3_kr33mh + ', ' + a_pt3_kr34mh + ',
' + a_pt3_kr41mh + ', ' + a_pt3_kr42mh + ', ' + a_pt3_kr43mh + ', ' + a_pt3_kr44mh + ',
' + a_pt3_kr51mh + ', ' + a_pt3_kr52mh + ', ' + a_pt3_kr53mh + ', ' + a_pt3_kr54mh + ',
' + a_pt3_kr61mh + ', ' + a_pt3_kr62mh + ', ' + a_pt3_kr63mh + ', ' + a_pt3_kr64mh + ',
' + a_pt3_pr1_12mh + ', ' + a_pt3_pr1_34mh + ',
' + a_pt3_pr2_12mh + ', ' + a_pt3_pr2_34mh + ',
' + a_pt3_pr3_12mh + ', ' + a_pt3_pr3_34mh + ',
' + a_pt3_pr4_12mh + ', ' + a_pt3_pr4_34mh + ',
' + a_pt3_pr5_12mh + ', ' + a_pt3_pr5_34mh + ',
' + a_pt3_pr6_12mh + ', ' + a_pt3_pr6_34mh + ')';
//{ Отправляем запрос на выполнение }
RunSQL(SQLinsert_pt3_mh, nil, 1);
end;
begin
//{ если vrTimer ещё не инициализирована, то инициализируем её и прерываем скрипт }
if pt3_timer_sql_mh.Value < 1 then
pt3_timer_sql_mh.Value := Now;
//{ получаем кол-во секунд с последнего срабатывания таймера }
aSeconds_sql_mh := SecondsBetween(Now, pt3_timer_sql_mh.AsDateTime);
//{ если прошло больше, чем INTERVAL секунд с последнего срабатывания таймера }
if aSeconds_sql_mh >= INTERVAL_sql_mh then
begin
Writesqlmh; // вызываем подпроцедуру вставки в БД
pt3_timer_sql_mh.Value := Now;
end;
end.