Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> UDF библиотеки, Что посоветуете? 
:(
    Опции темы
StayAtHome
Дата 19.2.2005, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Домосед
**


Профиль
Группа: Участник
Сообщений: 456
Регистрация: 26.1.2004
Где: Украина

Репутация: нет
Всего: 16



Начал было писать собственные UDF-ки, но времени маловато, а ньюансы там есть. Посоветуйте хорошую UDF библиотеку желательно с исходниками. Пока что мне нужны ф-и обработки строк и даты/времени.
На IBase.ru надыбал FreeUDF, но что-то мне подсказывает, что она не совсем поддерживает кириллицу...
PM MAIL WWW ICQ YIM   Вверх
Alex
Дата 19.2.2005, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 7
Всего: 162



а можно узнать, что за такие задачи у вас, что вам так udf понадобились?


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
StayAtHome
Дата 20.2.2005, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Домосед
**


Профиль
Группа: Участник
Сообщений: 456
Регистрация: 26.1.2004
Где: Украина

Репутация: нет
Всего: 16



smile Да не то что бы так понадобились. Ну к примеру получить из полных фамилии, имени и отчества -- инициалы. Или к примеру -- разницу в днях между двумя датами. Или -- сумма прописью. И т. д.
А что?
PM MAIL WWW ICQ YIM   Вверх
Alex
Дата 20.2.2005, 01:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 7
Всего: 162



Цитата(StayAtHome @ 20.2.2005, 00:58)
Ну к примеру получить из полных фамилии, имени и отчества -- инициалы.

Только что у себя в программе писал:
Код
...
(v.fam || ' ' || UPPER(SUBSTRING(v.imja from 1 for 1)) || '. ' || UPPER(SUBSTRING(v.otsh from 1 for 1)) || '.') as Fam
...

Добавлено @ 01:09
Цитата(StayAtHome @ 20.2.2005, 00:58)
Или к примеру -- разницу в днях между двумя датами.

На ibase вроде была библиотека работы с датами.

Цитата(StayAtHome @ 20.2.2005, 00:58)
Или -- сумма прописью.

Прейдется помойму самому писать. Или спросить у Петровича у него помойму есть готовая.


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
StayAtHome
Дата 20.2.2005, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Домосед
**


Профиль
Группа: Участник
Сообщений: 456
Регистрация: 26.1.2004
Где: Украина

Репутация: нет
Всего: 16



Цитата
(v.imja from 1 for 1)

Опять я документацию не дочитал.... Что это?
А есть "стандартная" ф-я для поиска вхождения подстроки в строку?
PM MAIL WWW ICQ YIM   Вверх
Alex
Дата 20.2.2005, 01:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 7
Всего: 162



Цитата
SUBSTRING( <string expr> FROM <pos> [FOR <length>])
Internal function implementing the ANSI SQL SUBSTRING() function. It will return a stream consisting
of the byte at <pos> and all subsequent bytes up to the end of the string. If the option FOR <length>
is specified, it will return the lesser of <length> bytes or the number of bytes up to the end of the
input stream.
The first argument can be any expression, constant or identifier that evaluates to a string.
<pos> must evaluate to an integer.
<pos> starts at 1, like other SQL commands.
Neither <pos> nor <length> can be query parameters.
Because <pos> and <length> are byte positions, the identifier can be a binary blob, or a sub_type 1
text blob with an underlying one-byte-per-character charset. The function currently does not handle
text blobs with Chinese (2 byte/char maximum) or Unicode (3 byte/char maximum) character sets. For
a string argument (as opposed to a blob), the function will tackle ANY charset.
Available in SQL and DSQL.
UPDATE ATABLE
SET COLUMNB = SUBSTRING(COLUMNB FROM 4 FOR 99)
WHERE ...
Please refer also to the section on External Functions (UDFs) following this, for details of changes and
additions to external substring functions in the standard UDF library.

Добавлено @ 01:34
Цитата(StayAtHome @ 20.2.2005, 01:19)
А есть "стандартная" ф-я для поиска вхождения подстроки в строку?

Извлечение подстроки из строки.


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
StayAtHome
Дата 20.2.2005, 02:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Домосед
**


Профиль
Группа: Участник
Сообщений: 456
Регистрация: 26.1.2004
Где: Украина

Репутация: нет
Всего: 16



Я неточно выразился. Как найти позиуцию первого символа искомой подстроки?
PM MAIL WWW ICQ YIM   Вверх
Alex
Дата 20.2.2005, 02:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 7
Всего: 162



Помойму SQL это тебе не позволит сделать, но я могу ошибаться.


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
StayAtHome
Дата 20.2.2005, 03:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Домосед
**


Профиль
Группа: Участник
Сообщений: 456
Регистрация: 26.1.2004
Где: Украина

Репутация: нет
Всего: 16



Ну вот. Потому я и спрашиваю ваши рекомендации по поводу UDF библиотек. Есть какая-то "стандартная" де-факто (типа RX lib)? На Ibase.ru дофига всего, но пробовать каждую не охота. Кто чем пользутеся? Или может есть толковая дока по написанию собственных UDF? Опять таки на IBase.ru -- старенькие статьи.
PM MAIL WWW ICQ YIM   Вверх
Alex
Дата 20.2.2005, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 7
Всего: 162



Цитата(StayAtHome @ 20.2.2005, 03:00)
Или может есть толковая дока по написанию собственных UDF? Опять таки на IBase.ru -- старенькие статьи.

Из док я знаю на ibase статья: Как научиться писать UDF для InterBase за 21 мин старенькая, но от этого она не стала менее полезной, плюс в ней есть ссылка на одну библиотеку http://www.ibase.ru/download/tbudf.zip. Скачай, я думаю, она тебя устроит процентов на 90%


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Fiyanov
  Дата 12.7.2011, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 255
Регистрация: 19.4.2007
Где: Kazakhstan->Te mirtau

Репутация: нет
Всего: 2



Подниму тему... Есть InterBase или 2007 или 2009. Есть Delphi 7. Пытаюсь сделать запрос с SUBSTRING ругаеться на слово FROM.
Захожу в IB Expert та же история. UDF писать нет желания. В чём может быть проблема? Делаю то же самое с ФИО... то есть нужны инициалы.
Нашёл rFunc. Но хотелось бы без него...

Это сообщение отредактировал(а) Fiyanov - 12.7.2011, 16:07
PM MAIL ICQ   Вверх
Akella
Дата 12.7.2011, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Создай новую тему и опиши нормально, по-человечески, проблему. Чтобы тут никто не угадывал, что и как ты там делаешь и какие у тебя ошибки.
PM MAIL   Вверх
Frees
Дата 12.7.2011, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 1
Всего: 54



Цитата(Fiyanov @  12.7.2011,  19:03 Найти цитируемый пост)
Подниму тему... Есть InterBase или 2007 или 2009. Есть Delphi 7. Пытаюсь сделать запрос с SUBSTRING ругаеться на слово FROM.Захожу в IB Expert та же история. UDF писать нет желания. В чём может быть проблема? Делаю то же самое с ФИО... то есть нужны инициалы.Нашёл rFunc. Но хотелось бы без него...

http://firebirdsql.su/doku.php?id=substring


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0541 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.