1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#pragma once
typedef struct
{
wchar_t Alignment; // Выравнивание. L - к левой границе, R - к правой.
uint16_t Interval; // Расстояние, на которое граница строки отстоит от левого края фрейма.
wchar_t *String; // Собственно строка.
} RowItemInfo;
/* Функция разбирает строку и возвращает список тегов и соответствующих им строк.
Аргументы:
InputString - строка для разбора;
RowItemsList - список найденных элементов.
Возвращаемое значение - количество элементов в списках. */
uint16_t GetRowItems(wchar_t *InputString, RowItemInfo **RowItemsList);
/* Функция возвращает количество дней в указанном месяце указанного года. */
uint8_t DaysInMonth(uint8_t Month, uint16_t Year);
// Функция определяет день недели по дате
// 7 - ВС, 1 - ПН и т. д.
uint8_t DayOfWeek(uint8_t Day, uint8_t Month, uint16_t Year);
/* Аргументы:
Value - количество байт;
Unit - единицы измерения (0 - байты, 1 - килобайты, 2 - мегабайты, 3 - автоматически);
Buffer - адрес строки для записи результата;
Size - размер буфера.
Возвращаемое значение: требуемый размер буфера. */
size_t GetFormattedTraffic(uint32_t Value, uint8_t Unit, wchar_t *Buffer, size_t Size);
size_t GetDurationFormatM(uint32_t Duration, wchar_t *Format, wchar_t *Buffer, size_t Size);
signed short int TimeCompare(SYSTEMTIME st1, SYSTEMTIME st2);
|