This repository has been archived by the owner on Jan 31, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changes.koi8
287 lines (283 loc) · 12.2 KB
/
changes.koi8
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
====================================================================
Файл changes
Библиотека функций для InterBase.
История изменений.
Copyright 1998-2003 Polaris Software
http://rfunc.sourceforge.net
mailto:rFunc@mail.ru
====================================================================
Условные обозначения:
+ добавлено
- удалено
# изменено
* исправлены ошибки
====================================================================
Версия 2.1.4.1 RC2 xx.xx.2004
--------------
1.+ Функция BCCheckDigit - контрольная цифра в EAN-8, EAN-13 и EAN-14 (ITF-14),
включая и американские коды UPC-A и UPC-E.
2.* В парсере abs заменена на fabs.
3.* Некоторые BLOB-функции (b_substr, b_line) неверно работали с BLOBами с размером
сегмента 65535.
Версия 2.1.3.1 RC 25.11.2003
--------------
1.# Теперь память для результирующей строки выделяется ровно столько, сколько нужно.
2.* Исправлена WordCount, теперь верно возвращает количество слов при
третьем параметре равным единице.
3.* Исправлена StrStuff LongStrStuff, не удалялся последний символ из
входной строки.
4.+ Функция b_TextPos - аналог b_StrPos, только поиск регистронезависимый.
5.+ Функция fRemove - удаление файла.
6.+ Тригонометрические функции - acos, asin, atan, atan2, cos, cosh,
sin, sinh, tan, tanh, а также sqrt, exp, log, ln, log10.
7.* Исправлена ExprIsValid. Наблюдалась потеря коннекта, если проверялось выражение
с неверным параметром.
8.# Добавлен параметр mode в функции fopen для маски при создании файла.
9.+ Константы для работы с файлами:
fo_append - запись в конец файла для функции fopen.
fs_iread, fs_iwrite, fs_iexec - биты доступа на чтение/запись/выполнение владельца файла
при создании. (Функции fcreate, fopen с режимом FO_CREAT.)
10.+ Математические константы: e, pi.
11.+ Функция ExtractMillisecond для версии IB6 и выше.
12.+ Функция md5sum - высчитывает контрольную сумму входной строки по алгоритму MD5.
13.+ Функции md5Init, md5Update, md5Final для поблочного вычисления md5 контрольной суммы.
14.* Изменен тип второго параметра в функции NumInWords на строковый (грамматический род).
Допустимые значения: N - Средний, M - Мужской, F - Женский, P - Множественное.
15.+ Добавлена функция CreateGUID. Формат результата зависит от параметра
компиляции RGUID_WIN_STYLE. По-умолчанию используется формат linux.
16.* Изменен формат файлов сборки. Теперь все настройки вынесены в
rfunc.conf. Внимание! Действуют настройки по-умолчанию!
17.+ Функция fSize - размер файла.
.
Версия 2.1.2.4 Beta2 20.10.2003
--------------
1.+ Функция b_StrCmp - сравнение двух строковых BLOB.
Возвращает:
-1 - первый меньше,
0 - равны,
1 - первый больше.
2.+ Функция b_StrPos - поиск подстроки в BLOB.
BLOB читается сегментами размера b->blob_max_segment + strlen(s) + 1L
в процессе поиска.
3.+ Функции DoubleToDate и DoubleToTime - преобразование числа в дату и время.
4.+ Файловые функции: fcreate, fopen, fread, fwrite, fseek, fclose.
5.+ Функции-константы для режимов открытия файлов:
fseek_cur, fseek_end, fseek_set
fo_rdonly, fo_wronly, fo_rdwr
fo_creat, fo_trunc, fo_excl
.
Версия 2.1.1.1 Beta 11.06.2003
--------------
1.# Переписана IncDate. Теперь она работает так:
- сначала изменяется год, затем месяц, затем день;
- если изначальная дата была последним днем месяца, то после изменения года и месяца
она вновь делается послежним днем месяца, а уж потом прибавляются дни;
- если после изменения года и месяца день больше, чем максимальное число дней в месяце,
то день устанавливается последним днем месяца.
2.+ Функция StrCmp(str1, str2) - сравнение двух строк.
3.+ Функции C, LongC - выдает пустую строку, если значение поля Null, либо саму строку, если она не Null.
4.+ Функции MaxDate и MinDate - большая и меньшая даты соответственно.
5.+ Теперь можно скомпилировать функции дат для IB6, указав -DCOMPILE_DATETIME в make-файле.
6.+ Функции iEqual(i1, i2), dtEqual(dt1, dt2), /*??? dEqual(d1, d2), пока закомментанрил для вещественных чисел*/
cEqual(str1, str2) - проверка на равенство.
7.+ Функции FloatToStr(d, fmt), IntToStr(d, fmt) - форматирование вещественного и целого числа.
8.# Поддержка украинских букв "iI⌡⌠≤≥" в функциях rUpper, rLower, rTranslit, rLatin.
9.* Исправлены b_SubStr, b_LongSubStr, SubStr, StrRepeat, LongStrRepeat. В некоторых местах
оператор return ""; заменен на более подходящий по смыслу.
10.* Импорт точек входа из gds32 идет по именам, а не по номерам.
11.* Используется ib_util.h из каталога $(IBASE)/include. Исправлен параметр запуска implib для него.
12.* Исправлены ошибки объявления функций Chr, b_SubStr, b_LongSubStr, b_Line, b_LongLine.
добавлен параметр FREE_IT.
13.+ Для всех функций "разбора" дат добавлены декларации функций вида
ExtractXXXX (например, ExtractDay, ExtractMonth). Это то же самое,
что и Day, Month и т.д. Их можно использовать во всех версиях Interbase.
ExtractXXXX - это полные аналоги функции EXTRACT(XXXX FOR date) в диалекте 3.
14.+ Функция IncDateTime, чтобы можно было к дате прибавить ещё и время, кроме собственно даты.
15.+ Функция Sign - знак числа.
16.* Исправлен парсер, не верно работала функция "IF".
17.+ Функция NumInWords - число прописью в win1251.
18.+ Функции RepeatTrim и LongRepeatTrim - удаляют в слове дублирование переданного символа.
19.+ Функции ConvertSymbols и LongConvertSymbols - Замена символов в строке из одного набора на символы из другого.
20.# b_Line, b_LongLine теперь не выводит в строке символы с кодом 0x0D и 0x0A.
21.* Исправлена CalcExpr, была ошибка при передаче параметров.
22.+ make файлы для Solaris и FreeBSD.
23.* Исправлены все функции, возвращающие дату. Где это возможно - задействуется входной параметр, где нет - добавлено FREE_IT в объявление функции.
24.+ Функции TimeToDouble и DateToDouble - преобразование времени (даты) в вещественное число.
25.# Изменены make-файлы, чтобы можно было собрать с библиотекой fbclient.
26.+ Функция EAN13cs - подсчет 13-й цифры кода EAN13.
.
Версия 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 - количество дней между датами,
ExtractTime - оставляет только время без даты.
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 - вывод часов, минут, секунд из даты
.
Версия 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
------------
1.+ Функции LongStrStuff, LongStrReplace.
.
Версия 1.1 05.10.98
----------
1.* Исправлена StrStuff.
2.+ Функции Ord, Chr, Round.
.
Версия 1.0
----------
1.* Исправлена для использования в IB 5.x.
.
Версия 0.5
----------
Явилась на свет.