rUtils.pas |
Функции и процедуры, не связанные с БД. |
Даты |
function AdaptedDateStr(Date: TDateTime): string | Строка даты с заменой имени месяца на род. падеж. |
function rDayOfWeek(dDate: TDateTime): Integer | День недели (учитывает опцию WEEK_MONDAY) |
function DaysOfMonth(Date: TDateTime): Integer | Количество дней в месяце. |
function MaxDate(const D: array of TDate): TDate | Выбор максимальной даты из списка. |
function MinDate(const D: array of TDate): TDate | Выбор минимальной даты из списка. |
Строки |
function AddSlash(Path: string): string | Добавление \ в конец строки. |
function AddFirstToList(List, S: String; Delim: String): String | Добавление элемента S в начало строки-списка List c разделителем Delim. |
function ChangeEndStr(Dest,Delim,Source: string): string | Замена конца строки Dest после разделителя Delim на Source. |
function ConvertCodes(Source: string): string | Преобразование \n, \r, \t, \NNN в соответсвующие символы. |
function ConvertSymbols(S, Source, Target: string): string | Замена символов в строке S из одного набора (Source) на символы из другого (Target). |
function FormatFIO(S: string): string | Форматирование полного ФИО в инициалы. |
function GetDelimCount(S: String; Delims: TCharSet): Integer | Количество разделителей Delim в строке S. |
function ListToStr(List: TList; Delim: String): String | Преобразование TList в строку с разделителем Delim. |
function MoneyInWords(Sum: Extended; MainCur, SecCur: TCurrencyNames; Gender: TGenders; Decimals: Integer): string | Представление денежной суммы Sum прописью с точностью до Decimals дробных знаков, причем MainCur - старшая валюта, SecCur - младшая ден.единица. Gender - род старшей валюты. |
function NumInWords(Sum: Extended; Gender: TGenders): string | Преобразование целой части числа Sum в строку прописью. Gender - род числительного (например, ОДНА ложка, но ОДИН стакан). |
function NumSomething(Num: Integer; Something: String; IncludeNum: Boolean = True): String; function NumSomething(Num: Integer; Something: TCurrencyNames; IncludeNum: Boolean = True): String | Формирует строки типа "5 байтов" или "2 байта". Например: NumSomething(3, 'пирог,пирога,пирогов') = '3 пирога' |
function PosR(C: Char; S: String): Integer | Позиция символа C в строке S, начиная с последнего |
function PosWordDelims(Srch, S: String; Delims: TCharSet): Integer | Позиция обрамленной разделителями Delims подстроки Srch в строке S |
function RightCopy(S: String; N: Integer): String | N последних символов из строки S |
function StrToDateFix(const S: string): TDateTime; function StrToTimeFix(const S: string): TDateTime; function StrToDateTimeFix(const S: string): TDateTime; function DateToStrFix(Date: TDateTime): string; function TimeToStrFix(Time: TDateTime): string; function DateTimeToStrFix(DateTime: TDateTime): string; function StrToFloatFix(const S: string): Extended; function FloatToStrFix(Value: Extended): string; function FormatFloatFix(const Format: string; Value: Extended): string; | Семейство функций для преобразования дат и чисел в строки и наоборот, но без учета текущих настроек Windows. Используются разделители DateSeparatorFix, TimeSeparatorFix, ShortDateFormatFix, ShortTimeFormatFix, DecimalSeparatorFix. |
function StrTrunc(Source: string; Len: Integer; TermStr: string): string | Обрезание строки Source c добавлением в конец строки TermStr до длины Len. |
function Stuff(S: string; Index,Count: Integer; Source: string): string | Вставка подстроки Source в строку S с заменой Count символов, начиная с Index. |
function TestNum(Num: Integer): Integer | Определение попадания числа Num в диапазон TCurrencyNames. |
Числа |
function DivZero(X, Y: Extended; DefValue: Extended): Extended | Защищенное деление (если делитель =0, то возвращается DefValue). |
function fRound(X: Extended; Precision: Integer): Extended | Округление числа Value до Precision знаков. Если Precision - отрицательный, то округляется целая часть. |
function IncCycle(var Value: Integer;const Offset, MinValue, MaxValue: Integer): Integer | Циклический инкремент Value с шагом Offset в пределах диапазона [MinValue, MaxValue]. |
function RaisePower(Value,Power: Integer): Integer | Возведение числа Value в степень Power. |
function fPower(Value, Power: Extended): Extended |
function Sign(Value: Extended): Integer | Знак числа. 1 - >0, 0 =0, -1 - <0. |
function SoftRound(X: Extended; Precision: Integer): Extended | Округление как и fRound, но если получается 0, то остается исходное число. |
ОС |
procedure ExitOS(Flag: UINT) | Выключение или перезагрузка ОС (Flag = EWX_xxxx, см. ExitWindowsEx) |
function GetOSUser: string | Имя текущего пользователя Windows. |
function GetVersionInfo(VerList: TStrings; FileName: String): Boolean | Загрузка VersionInfo в VerList из файла FileName. |
function SeparateVersion(Version: String; var MS, LS: DWORD): Boolean | Разделение версии вида XX.XX.XX.XX на старшую и младшую части. |
procedure SetOSTime(D: TDateTime) | Установка системного времени. |
Разное |
function AssignList(Dest, Source: TList): Integer | Копирует элементы TList из Source в Dest. |
procedure CopyObject(Source, Dest: TObject) | Копирует свойства объекта из Source в Dest. |
function IIF(Switch: Boolean; Var1,Var2: Variant): Variant; function IIF(Switch: Boolean; Var1,Var2: String): String; | Выбор из двух значений. Если Switch=True, то возвращается первое. |
function GetRealIndex(Items: TStrings; FirstIndex: Integer; S: string): Integer | Определение правильного индекса в списке Items строки S с учетом регистра символов, начиная с индекса FirstIndex. |
function CompareVar(Var1, Var2: Variant): Integer | Сравнение двух Variant'ов. 1 - Var1>Var2, 0 - Var1=Var2, -1 - Var1<Var2. Следует учитывать, что varEmpty < varNull. |