
[Main] Библиотека функций rFunc
       Версия 2.1.3 RC

    Библиотека представляет собой набор пользовательских (UDF) строковых,
битовых, числовых функций, а также для работы с датами и BLOBами. А также
ПАРСЕР, т.е. вычислитель выражений. Поддерживаются InterBase 4.2, 5.x, 6.0
(Windows, Linux), а также Firebird 1.x (Windows, Linux, FreeBSD) и Yaffil
1.x. В ее состав входит более 140 функций и "псевдофункций" (это когда
несколько строковых UDF имеют одну базовую функцию, в основном это функции
с именем LongXXXX). Библиотека написана на С++ и поставляется с исходными
текстами.

Порядок компиляции и установки описан в файле readme.txt (readme.koi8) из
состава дистрибутива.

[Image]функции           [Image]

Условные обозначения:

 Символ    Тип параметра
 f         DOUBLE PRECISION
 si        SMALLINT
 i         INTEGER

 d         DATE для IB4.2 и IB5.x
           TIMESTAMP для IB6 и выше
 c         CHAR(1)
 c"        CHAR(32)
 c*        VARCHAR(176)
 s         VARCHAR(255)
 S         VARCHAR(16383)
 s'        VARCHAR(8)
 s"        VARCHAR(31)
 s"'       VARCHAR(38)
           VARCHAR(8127) для IB4.2
 S**       VARCHAR(16383) для IB5.x и
           выше
 B         BLOB

                                  Версии
 Функция                       Тип                Возвращает
                                  IB*     rFunc**
 Числовые
 Abs(f)                        f                  Модуль числа

 Ceil(f)                       f                  Минимальное большее
                                                  целое
                                                  Максимальное меньшее
 Floor(f)                      f  4-7     1.0     целое

 MaxNum(f1, f2)                f                  Большее из чисел
 MinNum(f1, f2)                f                  Меньшее из чисел
 Power(f1, f2)                 f                  Число f1 в степени f2
                                                  Округленное значение f
 Round(f, i)                   f  4-7     1.1     до i знаков, причем при
                                                  i>0 округляется дробная
                                                  часть, а при i<0 - целая
                                                  Аналогично Round, но
                                                  если результат
 SoftRound(f, i)               f  4-7     1.5.0   округления равен 0, то
                                                  округление не
                                                  производится.
                                                  Если параметр имеет
                                                  значение NULL, то 0. Во
 Z(f)                          f  4-7     1.3.0   всех остальных случаях
                                                  возвращается то, что
                                                  передается.

 IIf(i1, i2, i3)               i  4-7     1.3.0   Если i1=0, то i3, в
                                                  остальных случаях - i2

 DIf(i, f1, f2)                f  4-7     1.3.0   Если i=0, то f2, в
                                                  остальных случаях - f1

 DZero(f1, f2, f3)             f  4-7     1.3.0   Частное f1 и f2. Если
                                                  f2=0, то возвращает f3.
                                                   Простенький анализатор
                                                        выражений.
                                                  Поддерживаемые функции и
                                                          операции
                                                  + - * /
                                                  Sin, Cos, tg, ctg,
                                                  ArсCos, ArcSin, ArcTg,
                                                  sh, ch, th,
                                                  exp, lh, lg, sqrt, sqr,
                                                  abs(x1)
                                                  sgn(x1) - знак числа x1
                                                  log(x1,x2) - логарифм x1
                                                  по основанию x2
                                                  power(x1,x2) -
 CalcExpr(S1, S2)                                 возведение x1 в степень
                                                  x2
 Например:                                        if(expr, x1, x2) - если
 CalcExpr('Sin(                f  4-7     1.3.0   expr=0, то x2, иначе x1
 Pi*:p11/3)*:P2',                                 Min(x1, ...) - минимум
 'P11=2;P2=10')                                   из чисел
                                                  Max(x1, ...) - максимум
                                                  из чисел
                                                  Sum(x1, ...) -
                                                  суммирование аргументов
                                                  Avg(x1, ...) - среднее
                                                  арифметическое
                                                  Pi - число Pi.

                                                       Для использования
                                                  переменных в выражении -
                                                  перед ними ставится
                                                  двоеточие, и они
                                                  описываются во втором
                                                  параметре (см. пример).
                                                  Проверка на корректность
                                                  заданного выражения.
 ExprIsValid(S1, S2)           i  4-7     1.3.0   Возвращает 0, если все
                                                  правильно, иначе - код
                                                  ошибки.
 Div(i1, i2)                   i  4-7     1.5.0   Целое частное i1 и i2

 Mod(i1, i2)                   i  4-7     1.5.0   Остаток от деления i1 на
                                                  i2

 InitRandom(i)                 i  4-7     2.0.0   Инициализация генератора
                                                  псевдослучайных чисел.

 GetRandom(i)                  i  4-7     2.0.0   Псевдослучайное число в
                                                  диапазоне 0..i.

 IEqual(i1, i2) [Image]        i  4-7     2.1.1   Проверка на равенство (1
                                                  означает "равно")

 Sign(f) [Image]               si 4-7     2.1.1   Знак числа (-1 если f<0,
                                                  0 если f=0, 1 если f>0).
 Sqrt(f) [Image]               f  4-7     2.1.3   Квадратный корень числа

 Exp(f) [Image]                f  4-7     2.1.3   Константа e возведенная
                                                  в степень f

 Log(f1, f2) [Image]           f  4-7     2.1.3   Логарифм числа f1 по
                                                  основанию f2

 Log10(f) [Image]              f  4-7     2.1.3   Десятичный логарифм
                                                  числа
 Ln(f) [Image]                 f  4-7     2.1.3   Натуральный логарифм

 E [Image]                     f  4-7     2.1.3   Константа E
                                                  (2.7182818284590451)
 Тригонометрические [Image]
 ACos(f)                       f                  Арккосинус
 ASin(f)                       f                  Арксинус
 ATan(f)                       f                  Арктангенс
 ATan2(f1, f2)                 f                  Арктангенс f1/f2
 Cos(f)                        f                  Косинус

 CosH(f)                       f  4-7     2.1.3   Гиперболический косинус
 Sin(f)                        f                  Синус
 SinH(f)                       f                  Гиперболический синус
 Tan(f)                        f                  Тангенс
 TanH(f)                       f                  Гиперболический тангенс

 Pi                            f                  Константа Pi
                                                  (3.1415926535897931)
 Строковые
 Chr(si)                       c  4-7     1.1     Символ по коду
 Ord(c)                        si 4-7     1.1     Код символа
 StrReplace(s1, s2, s3)        s          1.2.1
 LongStrReplace(S1, S**2,         4-7             Заменяет в строке s1
                               S          1.2.0   подстроку s2 на s3
 S**3)

 StrStuff(s1, i1, i2, s2)      s          1.0     В строке s1 удаляет i2
                                  4-7             символов, начиная с i1,
                                                  и вставляет на это место
 LongStrStuff(S1, i1, i2, S2)  S          1.2.0   s2
 LTrim(s)                      s          1.0
                                  4-7             Удаляют пробелы слева
 LongLTrim(S)                  S          1.2.1
 RTrim(s)                      s          1.0
                                  4-7             Удаляют пробелы справа
 LongRTrim(S)                  S          1.2.1
 StrLen(S)                     i  4-7     1.0     Длина строки
                                                  Позиция строки s1 в
 StrPos(s1, S2)                i  4-7     1.0     строке s2. Если не
                                                  найдено, то 0.
 StrRepeat(s, i)               s          1.0
                                  4-7             Дублирует строку s i раз
 LongStrRepeat(S, i)           S          1.2.1
                                                  Подстрока строки s,
                                                  начиная с символа i1 и
 SubStr(s, i1, i2)             s          1.0     длиной максимум i2.
                                                  i1 < 0 - отсчет
                                  4-7             происходит с конца
                                                  строки,
 LongSubStr(S, i1, i2)         S          1.2.1   i2 < 0 - выводятся
                                                  символы слева от точки
                                                  отсчета.
 Trim(s)                       s          1.0     Удаляют все пробелы
                                  4-7
 LongTrim(S)                   S          1.2.1   справа и слева
 CIf(i, s1, s2)                s                  Если i=0, то s2, в
                                  4-7     1.3.0
 LongCIf(i, S1, S2)            S                  остальных случаях - s1

 StrCount(s1, S2)              i  4-7     1.3.0   Количество вхождений s1
                                                  в S2
                                                  Количество слов в строке
                                                  S, разделенных символами
 WordCount(S, s", si)          i  4-7     1.3.0   из строки s". Если
                                                  si<>0, то несколько
                                                  разделителей подряд
                                                  считаются словом.
                                                  i-ое слово в строке S,
 WordNum(S, i, s", si)         s                  разделенных символами из

                                  4-7     1.3.0   строки s". Если si<>0,
                                                  то несколько
 LongWordNum(S, i, s", si)     S                  разделителей подряд
                                                  считаются словом.
 RLower(s)                     s          1.4.0   Строка в нижнем регистре
                                  4-7
 LongRLower(S)                 S          1.5.0   (WIN1251)
 RUpper(s)                     s          1.4.0   Строка в верхнем
                                  4-7
 LongRUpper(S)                 S          1.5.0   регистре (WIN1251)

 PadLeft(s, i, c)              s                  Дополняет строку s до
                                  4-7     2.0.0   длины i символом c
 LongPadLeft(S, i, c)          S                  слева.
 PadRight(s, i, c)             s                  Дополняет строку s до
                                  4-7     2.0.0   длины i символом c
 LongPadRight(S, i, c)         S                  справа.
 RLatin(s)                     s                  Заменяет символы из
                                  4-7     2.0.0   win1251 на "похожие" из
 LongRLatin(S)                 S                  латиницы.
 RTranslit(s)                  s                  Транслитерация из
                                  4-7     2.0.0
 LongRTranslit(S)              S                  win1251 в латиницу.
                                                  Сравнение строк (si<0 -
 StrCmp(S1, S2) [Image]        si 4-7     2.1.1   первая меньше, si=0 -
                                                  равны, si>0 - первая
                                                  больше)
 C(s) [Image]                  s                  Возращает пустую строку,
                                  4-7     2.1.1   если входящий параметр
 LongC(S) [Image]              S                  равен Null.

 CEqual(S1, S2) [Image]        i  4-7     2.1.1   Проверка равенства (1
                                                  означает равенство)

 RepeatTrim(s1, s2) [Image]    s                  Удаляет дубли символа s2
                                                  в строке s1.
 LongRepeatTrim(S1, S2)           4-7     2.1.1   Пример:
 [Image]                       S                  RepeatTrim('1223', '2')
                                                  = '123'

 ConvertSymbols(s1, s2, s3)                       Меняет символы из набора
 [Image]                          4-5     1.0     s2 на набор s3 в строке
                               i                  s1.
                                                  Пример:
 LongConvertSymbols(S1, s2,       4-7     2.1.1   ConvertSymbols('1+2=3',
 s3) [Image]                                      '123', 'abc') = 'a+b=c'
 Даты & Время

 DayPerMonth(i1, i2)           i  4-7     1.0     Число дней в i1 месяце
                                                  i2 года
                                                  День недели
 Dow(d)                        i  4-7     1.0     (1-Понедельник, ..,
                                                  7-Воскресенье)

 ExtractDate(d)                           1.2.3   Из даты+времени выделяет
                                                  чистую дату
                               d  4-7
 ExtractTime(d)                           2.0.0   Из даты+времени выделяет
                                                  чистое время
 Day(d)                           4-5     1.0
                               i                  День
 ExtractDay(d) [Image]            4-7     2.1.1
 Month(d)                         4-5     1.0
                               i                  Месяц
 ExtractMonth(d) [Image]          4-7     2.1.1
 Year(d)                          4-5     1.0
                               i                  Год
 ExtractYear(d) [Image]           4-7     2.1.1
 Hour(d)                          4-5     1.5.2
                               i                  Час
 ExtractHour(d) [Image]           4-7     2.1.1
 Minute(d)                        4-5     1.5.2
                               i                  Минута
 ExtractMinute(d) [Image]         4-7     2.1.1
 Second(d)                        4-5     1.5.2
                               i                  Секунда
 ExtractSecond(d) [Image]         4-7     2.1.1
 ExtractMillisecond(d) [Image] i  6-7     2.1.3   Миллисекунда

 WeekDay(d)                       4-5     2.0.0   День недели . (0 -
                               i                  Воскресенье, 1 -
                                                  Понедельник, ..., 6 -
 ExtractWeekDay(d) [Image]        4-7     2.1.1   Суббота)
 YearDay(d)                       4-5     2.0.0
                               i                  День года
 ExtractYearDay(d) [Image]        4-7     2.1.1
 Quarter(d)                    i  4-7     2.0.0   Квартал года
 FirstDayMonth(d)              d  4-7     2.0.0   Первый день месяца
 LastDayMonth(d)               d  4-7     2.0.0   Последний день месяца

 IsLeapYear(i)                 i  4-7     2.0.0   1 - високосный год, 0 -
                                                  невисокосный

 DaysBetween(d1, d2)           i  4-7     2.0.0   Количество дней между
                                                  датами

 DtIf(i, d1, d2)               d  4-7     2.0.0   Если i=0, то d2, в
                                                  остальных случаях - d1
                                                  Изменение даты на i1
 IncDate(d, i1, i2, i3)        d  4-7     2.0.1   дней, i2 месяцев, i3
                                                  лет.
                                                  Изменяет дату на i1
 IncDateTime(d, i1, i2, i3,                       дней, i2 месяцев, i3
 i4, i5, i6) [Image]           d  4-7     2.1.1   лет, i4 часов, i5 минут,
                                                  i6 секунд.
 MaxDate(d1, d2) [Image]       d  4-7     2.1.1   Большее из дат
 MinDate(d1, d2) [Image]       d  4-7     2.1.1   Меньшее из дат

 DtEqual(d1, d2) [Image]       i  4-7     2.1.1   Проверка равенства (1
                                                  означает равенство)
 Преобразования типов
                                                  Преобразование даты d в
                                                    строку по формату s.
                                                   Строки форматирования
                                                  (соответствуют с-функции
                                                         strftime):
                                                  %% - символ %,
                                                  %c - дата и время,
                                                  %x - дата,
                                                  %d - день месяца
                                                  (01-31),
                                                  %j - день года
                                                  (000-366),
                                                  %w - день недели (0-6),
                                                  0 - воскресенье,
 DateToStr(d, s)                                  %U - номер недели в году
                                                  (00-53), воскресенье -
 Например:                                        первый день недели,
 DateToStr('10.02.99','%d.%m.                     %W - номер недели в году
 %y') = '10.02.99'             s  4-7     1.0     (00-53), понедельник -
 DateToStr('10.02.04                              первый день недели,
 08:23','%d %B %Y, %X') =                         %a - краткое название
 '10 February 2004, 08:23:00'                     дня недели,
                                                  %А - полное название дня
                                                  недели,
                                                  %m - месяц (01-12),
                                                  %b - краткое название
                                                  месяца,
                                                  %B - полное название
                                                  месяца,
                                                  %y - год (00-99),    %Y
                                                  - четырехзначный год,
                                                  %X - время,
                                                  %H - час (00-23),   %I -
                                                  час (01-12),
                                                  %M - минута (00-59),
                                                  %p - AM или PM,
                                                  %S - секунда (00-59).

 EncodeDate(i1, i2, i3)        d  4-7     1.0     Дата по формату i1.i2.i3
                                                  = дд.мм.гггг

 EncodeDateTime(i1, i2, i3,                       Дата и время по формату
 i4, i5, i6)                   d  4-7     1.5.2   i1.i2.i3 i4:i5:i6 =
                                                  дд.мм.гггг чч:мм:сс

 DoubleToDate(f) [Image]       d  4-7     2.1.2   Преобразование числа в
                                                  дату.

 DoubleToTime(f) [Image]       d  4-7     2.1.2   Преобразование числа во
                                                  время.

 DateToDouble(d) [Image]       f  4-7     2.1.1   Преобразование даты в
                                                  число.

 TimeToDouble(d) [Image]       f  4-7     2.1.1   Преобразование времени в
                                                  число.
                                                  Преобразование числа f в
                                                    строку по формату s.
                                                   Строки форматирования
                                                      (как в c-функции
                                                         sprintf):
                                                     % [flags] [width]
                                                     [.prec] type_char
                                                  flags:
                                                    -   выравнивание влево
                                                    +   знак плюс или
                                                        минус в начале
                                                  пробелпробел вместо
                                                        плюса
                                                    #   альтерн.
                                                        преобразование:
                                                        0x (0X) впереди
                                                        для типов x,X
                                                        всегда десятичная
                                                        точка для e,E,f
                                                  width:
                                                    n   как минимум n
                                                        символов,
                                                        дополненных
                                                        пробелами
                                                    0n  как минимум n
                                                        символов,
                                                        дополненных нулями
 FloatToStr(f, s) [Image]                         prec:
                                                  (нет) 1 для типов
 Например:                                              d,i,o,u,x,X
 FloatToStr(13.5, '%7.3e') =                            6 для типов e,E,f
 '1.350e+01'                                            все значимые цифры
 FloatToStr(13.5, '%+7.3f') =                           для g,G
 ' +13.500'                                         .0  for d,i,o,u,x
 FloatToStr(13.5345, '%.5g') = s  4-7     2.1.1         types, precision
 '13.534'                                               set to default
 FloatToStr(13.5345, '%.5f') =                          for e,E,f types,
 '13.53450'                                             no decimal point
 FloatToStr(13, '%05X') =                           .n  для типов
 '0000D'                                                d,i,o,u,x - как
 FloatToStr(13, '%#04x') =                              минимум n цифр
 '0x0d'                                                 для типов e,E,f -
                                                        n цифр после
                                                        десятичной точки
                                                        для g,G - по
                                                        большей части n
                                                        значимых цифр
                                                  type_char:
                                                   d,i  целое десятичное
                                                        со знаком
                                                    o   целое восьмеричное
                                                        без знака
                                                    u   целое десятичное
                                                        без знака
                                                   x,X  целое
                                                        шестнадцатиричное
                                                        без знака
                                                    f   число со знаком в
                                                        форме [-]dddd.dddd
                                                    e   число со знаком в
                                                        форме [-]d.dddd
                                                        или e[+/-]ddd
                                                    g   число со знаком в
                                                        форме e или f,
                                                        основанное на
                                                        числе и точности
                                                   E,G  то же, что и e,g,
                                                        но с E в качестве
                                                        знака экспоненты
                                                  Преобразование целого
 IntToStr(i, s) [Image]        s  4-7     2.1.1   числа i в строку по
                                                  формату s (см.
                                                  FloatToStr)
                                                  Число словами (только
 NumInWords(i, c) [Image]                         WIN1251).
 Например:                                        c - род
 NumInWords(22, 'F') =         s  4-7     2.1.3   существительного:
 'Двадцать две'                                   N - Средний, M -
                                                  Мужской, F - Женский, P
                                                  - Множественное.
 BLOB
 B_Line(B, i)                  s
                                                  i-я строка B
 B_LongLine(B, i)              S
 B_Line_Count(B)               i                  Количество строк

 B_Max_Segment(B)              i                  Максимальная длина
                                                  сегмента

 B_Number_Segments(B)          i  4-7     2.0.0   Количество сегментов
                                                  Запись сегмента в
 B_Put_Segment(S)              B                  blob-поле (пример см. в
                                                  rtest.sql)
 B_SubStr(B, i1, i2)           s
                                                  Аналогичны SubStr
 B_LongSubStr(B, i1, i2)       S
 B_Total_Length(B)             i                  Количество байтов в B

 B_StrCmp(B1, B2) [Image]      si 4-7     2.1.2   Сравнение двух BLOBов.
                                                  Аналогична StrCmp

 B_StrPos(S, B) [Image]        si 4-7     2.1.2   Поиск подстроки в BLOB.
                                                  Аналогична StrPos

 B_TextPos(S, B) [Image]       si 4-7     2.1.2   Аналогична B_StrPos, но
                                                  регистронезависимая
 Битовые
 BitAnd(i1, i2)                i                  i1 and i2
 BitNot(i)                     i                  not(i)
 BitOr(i1, i2)                 i                  i1 or i2
 BitXor(i1, i2)                i                  i1 xor i2
                                  4-7     2.0.0
 GetBit(i1, i2)                i                  i2-й бит числа i1
                                                  Заменяет i2-й бит числа
 SetBit(i1, i2, i3)            i                  i1 на i3. i3 может
                                                  принимать значения 0 и
                                                  1.
 API
                                                  Добавление и изменение
                                                  свойств пользователя.
                                                  API InterBase. Добавляет
 Add_User(i, s1, s"2, s'3,                        (изменяет) пользователя
 s"4, s"5, s"6, s"7, s"8, s'9)                    с именем s''2 на сервере
                                                  s1 из UNIX-группы s''4.
 Например:                                        Соединение производится
 Add_User(1, 'ibserver',       i                  по протоколу i (1-TCPIP,
 'uname', 'password', '',                         2-NetBEUI, 3-SPX,
 'john', 'jr', 'Doe',             5-7     1.3.0   4-локально)
 'sysdba', 'masterke')                            пользователем s''8 с
                                                  паролем s'9. Параметры:
                                                  s'3 - пароль, s''5 -
                                                  имя, s''6 - отчество,
                                                  s''7 - фамилия.
 Modify_User(i, s1, s"2, s'3,                     Возвращает код
 s"4, s"5, s"6, s"7, s"8, s'9) i                  завершения
                                                  (0-нормальное).
                                                  Удаление пользователя.
                                                  API IB Database. удаляет
                                                  пользователя с именем
                                                  s''2 на сервере s1.
 Delete_User(i, s1, s"2, s"8,                     Соединение производится
 s'9)                          i  5-7     1.3.0   по протоколу i (1-TCPIP,
                                                  2-NetBEUI, 3-SPX,
                                                  4-локально)
                                                  пользователем s''8 с
                                                  паролем s'9.
                                                  Окно сообщения с
                                                  возможностью выбора. Не
                                  5-7             рекомендуется
 MsgBox(S1, s2, i)             i  только  1.3.0   использовать на
                                  Windows         удаленных серверах. API
                                                  Windows. Выводит окно с
                                                  заголовком s2 и текстом
                                                  S1.
 Специальные
 LibVersion [Image]            s  4-7     2.1.1   Версия библиотеки rFunc

 LibName [Image]               s  4-7     2.1.1   Имя библиотеки (всегда
                                                  "rfunc")

 EAN13cs(s) [Image]            si 4-7     2.1.1   Вычисляет контрольную
                                                  цифру EAN13.

 MD5Sum(S) [Image]             c" 4-7     2.1.3   Контрольная сумма строки
                                                  S по алгоритму MD5
                                                  Поблочное вычисление
                                                  контрольной суммы MD5.
                                                  Как использовать:
 MD5Init [Image]               c*                 - объявляем переменную
                                                  context CHAR(176) для
                                                  хранения промежуточного
                                                  результата работы;
                                                  - объявляем переменную
                                                  md5 CHAR(32) для
                                                  конечного результата;
                                                  - вызываем context =
 MD5Update(c*, S, i) [Image]   c* 4-7     2.1.3   md5Init();
                                                  - в цикле (ну или кому
                                                  как надо) вызываем
                                                  context =
                                                  md5Update(context, S,
                                                  SLen), где
                                                  context - понятно что,
                                                  S - очередная входная
 MD5Final(c*) [Image]          c"                 строка,
                                                  SLen - длина
                                                  обрабатываемой строки;
                                                  - вызываем md5 =
                                                  md5Final(context);

 CreateGUID [Image]            s"'4-7     2.1.3   GUID в текстовом
                                                  представлении
 Файловые [Image]
 Эти функции - дополнительные. Они не компилируются без установки
 специальной опции (смотри readme.txt). Используйте этот набор функций
 очень осторожно. Применение этих функций может повредить или удалить
 файлы на диске Вашего сервера.
                                                  Создает файл с именем s.
                                                  i - опции создания
 FCreate(s, i)                 i                  (сочетание FS_xxx).
                                                  Возвращает дескриптор
                                                  файла или отрицательное
                                                  число если ошибка.
                                                  Открывает файл с именем
                                                  s. Флаги доступа
                                                  определяются i1. i2 -
 FOpen(s, i1, i2)              i                  опции создания файла
                                                  (i1=FO_CREAT).
                                                  Возвращает дескриптор
                                                  файла или отрицательное
                                                  число если ошибка.
 FRead(i1, i2)                                    Читает i2 байт из файла
                               s          2.1.2   с дескриптором i1.
 LongFRead(i1, i2)
                                  4-7
                                                  Записывает байты из
                                                  строки S в файл с
 FWrite(i, S)                  i                  дескриптором i.
                                                  Возвращает количество
                                                  записанных байтов.
                                                  Устанавливает указатель
                                                  файла i1 в новую
 FSeek(i1, i2, i3)             i                  позицию, которая
                                                  находится в i2 байтах от
                                                  позиции файла заданного
                                                  i3.
                                                  Закрывает файл с
 FClose(i)                     i                  дескриптором i.
                                                  Возвращает 0.
 FRemove(s)                    i          2.1.3   Удаляет файл с именем s.
 FSize(s)                      i          2.1.3   Размер файла
                                                  Открыть только для
                                                  чтения .
 Функции-константы для                            Открыть только для
 параметра i1 функции FOpen:                      записи.
 FO_RDONLY                                        Открыть для чтения и
 FO_WRONLY                                        записи.
 FO_RDWR                                  2.1.2   Если файл не создан, то
 FO_CREAT                                         он создается.
 FO_TRUNC                      i  4-7             Если файл создан, он
 FO_EXCL                                          очищается.
                                                  Эксклюзивный доступ.
                                                  Только с FO_CREAT.
                                                  Указатель файла будет
 FO_APPEND                                2.1.3   установливаться в конец
                                                  файла перед каждой
                                                  записью в файл.
 Функции-константы для
 параметра i3 функции FSeek:
 FSEEK_SET                     i  4-7     2.1.2   Начало файла .
 FSEEK_CUR                                        Текущая позиция.
 FSEEK_END                                        Конец файла.
 Функции-константы для
 параметра i3 функции FOpen и
 i2 FCreate:
 FS_IREAD                      i  4-7     2.1.3   Владелец может читать
 FS_IWRITE                                        Владелец может изменять
 FS_IEXEC                                         Владелец может выполнять

* - Firebird 1.x и Yaffil 1.x считаются Interbase 6
** - Первое появление функции

[Image]история изменений [Image]

По всем вопросам, связанным с rFunc UDF Library, обращайтесь по адресу
rFunc@mail.ru или на форум.

[Image]
Copyright © 2003 Polaris Software
