1
Ваши вопросы / Работа с архивом. Время наработки оборудования. Пример кода склонения "день"
« : 16 Февраля 2023, 15:43:24 »
Может будет кому-то полезно
Написал дополнение примера с руководства по скриптам: Работа с архивом. Время наработки оборудования
, для отображения времени наработки оборудования в днях, которое позволяет отображать в текстовом поле правильное склонение слова ДЕНЬ (дней, дня):
Написал дополнение примера с руководства по скриптам: Работа с архивом. Время наработки оборудования
, для отображения времени наработки оборудования в днях, которое позволяет отображать в текстовом поле правильное склонение слова ДЕНЬ (дней, дня):
Код: (delphi)
var
aText: TM_Text;
aDay, aDayWord: string;
aModDay10,aModDay100,aBetwDay: Integer;
function myFormat(AVal: Integer; aSymbols: Byte): string;
begin
Result := IntToStr(AVal);
while Length(Result) < aSymbols do
Result := '0' + Result;
end;
begin
if not (Sender is TM_Text) then Exit;
aText := TM_Text(Sender);
SetTimeFormat('hh:mm');
if YearOf(aText.AsDateTime) < 2022 then
begin
aBetwDay := DaysBetween(aText.AsDateTime, 0);
aDay := myFormat(aBetwDay, 3);
aModDay10 := aBetwDay Mod 10;
aModDay100 := aBetwDay Mod 100;
if (aModDay100>10) AND (aModDay100<15) then aDayWord:='дней'
else
case {DaysBetween(aText.AsDateTime, 0)} aModDay10 of
0,5..9: aDayWord:='дней';
1: aDayWord:='день';
2..4: aDayWord:='дня';
else aDayWord:='ошибка'
end;
aText.Text := aDay+' '+aDayWord+' '+ TimeToStr(aText.AsDateTime);
end else
aText.Text := 'подождите расчет';
end.