Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Interbase. Шаблон в процедуре для заполнения нулями до нуж. длины [D5, IB5.x]


The X ©   (2004-02-27 10:30:00) 

Добрый день, ув. Мастера!
Значит так, мне надо преобразовать вывод данных строкового типа с помощью строковой функции в процедуре Interbase.
Пример:
Данные в таблице | Нужный вид строки
---------------------------------
1              |000001
2              |000002
10             |000010
150            |000150
123569         |123569
---------------------------------
Т.е. с помощью строковой функции нужно дополнить исходную строку нулями до указанной длины. Здесь длина 6. Я нашел ф-цию LPAD - она добавляет дополнительные строки слева, но Interbase в UDF не поддерживает эту ф-цию.
Посоветуйте, кто чего знает.
С ув. The X.


Карелин Артем   (2004-02-27 15:04:00) [1]

Как я понял из SQL.RU надо на клиенте дельфовском это дело.


Johnmen   (2004-02-27 14:52:00) [2]

Хм... LizaX :)))


VLAD-MAL   (2004-02-27 12:19:00) [3]

Interbase в UDF не поддерживает эту ф-цию.

Это как? Что, исходников нету, что ли?

А если самому написать?

А вообще нафиг такой гемор на серваке, если не секрет?


Карелин Артем   (2004-02-27 10:55:00) [4]

Если клиен на дельфи писан, то DisplayFormat св-во у поля.


Johnmen   (2004-02-27 10:53:00) [5]

>The X ©   (27.02.04 10:47) [5]

1. Берешь библиотеку из поставки IB ib_udf.dll, или бесплатную, но весьма грамотную, rfunc.dll.
2. Попробуй сначала п.1, как наиболее простой и быстрый. (Ну лень мне...:))
3. Самый долгий, но самый верный. Не знаю подробностей, ничего не посоветую...


The X   (2004-02-27 10:47:00) [6]

Johnmen ©  

Если можно, поподробнее по каждому из пунктов.
ГОРЮ!!!
Спасибо огромное!!!


The X   (2004-02-27 10:47:00) [7]

Карелин Артем ©

Как?


Карелин Артем   (2004-02-27 10:46:00) [8]

На клиенте сделать нужный формат вывода.


The X   (2004-02-27 10:44:00) [9]

Спасибо!
Какие еще предложения?


Johnmen   (2004-02-27 10:44:00) [10]

1. Взять UDF из нормальной библиотеки.
2. Извращенческий способ (если надо, приведу).
3. Пересмотреть концепцию целиком, чтобы не надо было вообще делать такую ерунду...


Карелин Артем   (2004-02-27 10:40:00) [11]

Пиши хранимую процедуру, в которой будет что-то типа:
if (i>9 and i<100) then s='0000'||cast (i as varchar(2))


Наверх

Титульная страница Поиск, карта сайта Написать письмо