Библиотека функций rFunc
для IB DataBase (история изменений) |
Версия 2.0.1.2 20.07.2001
--------------
1. Добавлена incdate(date, dd, mm, yy) - изменение даты на заданное количество
дней, месяцев, лет. Допустимы любые сочетания, инкремент и декремент, например,
select IncDate('11.07.2001', -17, 14, -2), IncDate('11.07.2001', 0, 12, 0)
from rdb$database
2. Исправлена Quarter.
Версия 2.0.0.2 31.05.2001
--------------
1. Добавлена работа с blob-полями.
b_number_segments - количество сегментов,
b_max_segment - максимальная длина сегмента,
b_total_length - количество байтов,
b_line_count - количество строк (!!! не зависит от того,
есть ли последний перевод строки !!!),
b_substr, b_longsubstr - аналогичны строковым, только работают с blob-полями,
b_line, b_longline - выдает строку из blob-поля по номеру,
b_put_segment - запись сегмента в blob-поле (пример смотри в rtest.sql),
2. Расширение использования Функции substr:
m < 0 - отсчет происходит с конца строки,
n < 0 - выводятся символы слева от точки отсчета.
Например:
select job_title, substr(job_title, -2, -3) from job
Manager age
Engineer nee
3. Добавлены функции генерации псевдослучайного числа:
initRandom - инициализация генератора псевдослучайных чисел,
getRandom - получение слудующего псевдослучайного числа.
(!!! Наличие параметров в обеих вызовах функций обусловлено разницей в работе
функций
под Win32 и Linux !!!).
4. Добавлены функции для работы с датами:
yearday, weekday - номер дня в году и в неделе,
quarter - выдает квартал из даты,
firstdaymonth, lastdaymonth - первый и последний день месяца датой,
isleapyear - високосный ли год,
daysbetween - количество дней между датами.
5. Замена malloc на ib_util_malloc для IB5.x и выше.
6. Добавлены функции работы с битовыми полями:
getBit, setBit,
bitAnd, bitOr, bitXor, bitNot.
7. Все функции разнесены по модулям:
rblob - работа с blob-полями,
rcalc - парсер,
rdatetime - работа с датами,
rmath - математические,
rmisc - разное,
rsecurity - системные,
rstring - строковые.
8. CSTRING(255) заменено в объявлениях на CSTRING(256), CSTRING(16383) на CSTRING(16384)
9. Поддержка IB 6.0, Firebird 0.9
10. Добавлена dtif - аналог iif, только работает с датами.
11. Добавлены
padright, padleft, longpadright, longpadleft - дополнение строки до заданной
ширины
указанным символом.
rtranslit, longrtranslit - транслитерация из win1251 в латиницу.
rlatin, longrlatin - замена символов из win1251 на "похожие" из латиницы.
12. Изменены rupper, rlower для ускорения работы;
strcount - были перепутаны местами входные параметры.
13. Добавлен rtest.sql - скрипт для тестирования и демонстрации работы библиотеки.
Версия 1.5.2 10.03.2000
------------
1. Добавлена поддержка Linux.
2. Все объявления int в функциях заменены на long.
3. Добавлены
EncodeDateTime - собирает дату со временем;
Hour, Minute, Second - вывод часов, минут, секунд из даты
extracttime - оставляет только время без даты.
Версия 1.5.1 17.02.2000
------------
1. Исправлены
SubStr - нельзя было вырезать последний символ из строки.
Версия 1.5.0 20.01.2000
------------
1. Добавлены
SoftRound - округление с заданной точночтью, только если результат
округления - не ноль;
Div - целая часть от деления;
Mod - остаток от деления;
LongRUpper, LongRLower - перевод регистра для кодировки WIN1251 длинных
строк.
Версия 1.4.0 27.11.99
------------
1. Добавлены rUpper, rLower
2. Изменены типы параметра flag на SMALLINT для
WordNum, LongWordNum, WordCount
Версия 1.3.2 17.11.99
------------
1. Исправлены ltrim, rtrim, trim
Версия 1.3.1 16.11.99
------------
1. Исправлены функции:
SubStr
2. Для работы с функциями add_user, modify_user, delete_user
под IB 4.2 необходимо иметь клиента поновее :)
Будьте внимательны с паролем, он должен быть не более 8 символов.
Версия 1.3.0 12.11.99
------------
1. Добавлены функции:
Z - обнуление пустого значения
dif, iif, cif - реализация iif с разными типами параметров
DZero - деление со значением по-умолчанию
StrCount - количество вхождений подстроки в строку
WordCount(s, delims, flag) - Количество слов в строке
s - строка
delims - разделители
flag - считать ли несколько разделителей вместе пустой строкой
WordNum - N-е слово в строке
Просто вызов API функций. Требует передачи имени и пароля
администратора.
add_user - добавление пользователя
modify_user - изменение параметров пользователя
delete_user - удаление пользователя
MsgBox(lpText, lpCaption, Flags) - Выводит окно сообщения
с
возможностью выбора. НЕ РЕКОМЕНДУЕТСЯ ИСПОЛЬЗОВАНИЕ на сервере :)
CalcExpr(s, inVar) - Простенький анализатор выражений.
+ - * /
Стандартный набор математических функций:
Sin, Cos, tg, ctg, AcrCos, ArcSin, ArcTg, sh, ch, th,
exp, lh, lg, sqrt, sqr, abs
sgn - знак числа
log - логарифм по произвольному основанию
power - возведение в степень
if(expr, x1, x2)
Min(x1, ...) - с неограниченным количеством параметров
Max(x1, ...)
Sum(x1, ...) - Суммирование аргументов
Avg(x1, ...) - Среднее арифметическое
Pi - предопределенная переменная.
Для использования переменных в выражении - перед ними
ставится двоеточие,
и они описываются во второй строке (см. пример).
ExprIsVal(s, inVar) - Проверка на корректность заданного выражения.
Пример использования:
CalcExpr('Sin( Pi*:p11/3)*:P2', 'P11=2;P2=10')
Версия 1.2.3 26.03.99
------------
1. Добавлена функция ExtractDate.
Версия 1.2.2 22.03.99
------------
1. Исправлен глючок в Round.
Версия 1.2.1 18.02.99
------------
1. В вызовах функций работы с длинными строками тип строк изменен на
CSTRING(16383).
2. Исправлены функции LongStrStuff, LongStrReplace.
3. Добавлены функции StrReplace и LongStrRepeat.
4. Изменены параметры функций:
StrLen, StrPos - c CSTRING(255) на CSTRING(16383)
SubStr - c SMALLINT на INTEGER.
5. Добавлены "псевдофункции" LongLTrim, LongRTrim, LongTrim,
LongSubStr.
6. Исправлен rfunc.bor.
Версия 1.2.0 10.02.99
------------
Добавлены функции LongStrStuff, LongStrReplace.
Версия 1.1 05.10.98
----------
Исправлена StrStuff.
Добавлены функции Ord, Chr, Round.
Версия 1.0
----------
Исправлена для использования в IB 5.x.
Copyright © 2001 Polaris Software