![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Штрих-код, SQL
NewN © (2003-08-04 12:40:00)
BDE, Локальный SQL:
Необходимо в таблице сформировать поле для штрих-код - (строка из 18 символов).
В него надо включить 2-3 числа. можно преобразовать число в строку, но как сделать что бы строка получалась нужной длины, т.е. дополнялась пробелами или нулями, чтобы каждое встало на свой место?
cast(<Число1> as Char(8)) + cast(<Число2> as Char(8)) - получится "23", если Число1=2, Число2=3, а надо "0000000200000003".
FORMAT("00000000", <ЧИСЛО>)Не работает, пишет Capability not supported.
NewN (2003-08-04 14:22:00) [1]
Всё, вопрос закрыт, неожиданно выяснилось, что там ещё и уникальный код для каждой записи надо формировать в эту же таблицу, так что без цикла всё равно не обойтись.
Спасибо всем, кто откликнулся.
sniknik (2003-08-04 13:45:00) [2]> Если не на SQL, то надо в цикле,
зачем в цикле?
st:= IntToStr(i);
( "0", 18-Length(IntToStr(i)> Если не на SQL, то надо в цикле,
зачем в цикле?
st:= IntToStr(i);
..Params[0].Value:= StringOfChar("0", 18-Length(IntToStr(i)))+st;
в дельфях возможностей побольше чем в локал sql.
кстати у тебя щтрихкод как число в программе обрабатывается? что с префиксами/постфиксами работать не должно, даже теоретически? а если так то зачем поле длинной 18 а не 13(EAN13 максимум для товара (если не брать Code128 ets. но они на товарах не встречаются))?
NewN (2003-08-04 13:34:00) [3]
>>Mike1 Kouzmine1 (04.08.03 13:14)
Если не на SQL, то надо в цикле, по времени получаенся намного дольше, вместо несколько секунд - несколько минут, хотелось бы на SQL, если можно.
Mike1 Kouzmine1 (2003-08-04 13:14:00) [4]
А не на SQL религия не позволяет?
NewN (2003-08-04 13:13:00) [5]
>>NAlexey © (04.08.03 12:58)
А как это сделать на SQL, я не знаю.
NAlexey (2003-08-04 12:58:00) [6]
Не видно проблемы... Тебе известно позиция числа в строке? Если да просто вставляй нужное число в нужную позицию строки.