штрих код

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

штрих код

Сообщение shady » 26.12.2005 (Пн) 18:22

привет всем.
нужно сделать штрих-код в отчете, это мне нужно на бланке наложенного платежа для почты, штрих код должен состоять из 14 знаков. помогите кто чем может если знает. может быть есть модуль какой-нить...
спасибо

Vinechka
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 381
Зарегистрирован: 10.05.2005 (Вт) 4:07
Откуда: Москва

Сообщение Vinechka » 26.12.2005 (Пн) 18:58

Самое нормальное, это определиться со стандартом штрих кода и найти шрифт, соответствующий этому стандарту (еще недавно бухгалтеру ставил шрифт такой, чтоб 1С со штрих кодами пахала, так что они есть - главное найти). В крайнем случае тогда можно найти тех. доки на штрих коды и уже зная расстояния и толщину линий... но шрифт удобнее ;)

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 26.12.2005 (Пн) 19:21

а откуда брали если не секрет? но мне нужно именно с 14 знаками. посмотрел сейчас в DataDynamic ActiveReport там есть такая фича как штрих-код, так вот теперь не догоню какой стиль надо поставить... :(

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 26.12.2005 (Пн) 19:36

ура... ДатаДинамик рулит! есть мой штрих код у них...

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 30.12.2005 (Пт) 10:49

снова поднимаю тему!
новая проблема о которой я почему-то забыл :(
в штрих коде нужно вычислить контрольный разряд, который вычисляется очень интересным способом
Для расчета контрольного разряда в EAN-8, EAN-13, ITF-14, включая и американские коды UPC, используется один и тот же алгоритм вычислений ("по модулю 10"):

Пронумеровать все разряды СПРАВА НАЛЕВО от 1 до 14, НАЧИНАЯ С ПОЗИЦИИ КОНТРОЛЬНОГО РАЗРЯДА (1-Й).

ШАГ 1: Начиная со 2-го сложить значения всех ЧЕТНЫХ разрядов.
ШАГ 2: Полученную сумму умножить на 3.
ШАГ 3: Начиная со 3-го сложить значения всех НЕЧЕТНЫХ разрядов.
ШАГ 4: Сложить результаты, полученные во 2 и 3 шагах.
ШАГ 5: Значение контрольного разряда является наименьшим числом, которое в сумме с величиной, полученной в шаге 4, дает число, кратное 10.


Все недоразумения при расчетах возникают, как правило, по причине того, что многие неосознанно неправильно нумеруют разряды слева направо. При нумерации СПРАВА НАЛЕВО нет разницы в порядке расчета контрольного разряда С для 8, 12, 13 или 14-разрядного кода:

кто если знает или реализовывал помогите пожалуйста

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 30.12.2005 (Пт) 11:58

И какие тут могут быть сложности?
Код: Выделить всё
Dim code(1 to 14) as Integer
Dim kr as Integer 'контрольный разряд
For x=2 to 14 step 2
    s1 = s1 + code(x)
next
For x=3 to 13 step 2
    s2 = s2 + code(x)
next
s = s1 * 3 + s2
А дальше решить уравнение :wink:
(s + kr) mod 10 = 0
Лучший способ понять что-то самому — объяснить это другому.

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 30.12.2005 (Пт) 14:47

нифига себе..
я правда вто только как придумал
Код: Выделить всё
chet = (CLng(Mid(barcod, 1, 1)) + CLng(Mid(barcod, 3, 1)) + CLng(Mid(barcod, 5, 1)) + CLng(Mid(barcod, 7, 1)) + CLng(Mid(barcod, 9, 1)) + CLng(Mid(barcod, 11, 1)) + CLng(Mid(barcod, 13, 1))) * 3
nechet = CLng(Mid(barcod, 2, 1)) + CLng(Mid(barcod, 4, 1)) + CLng(Mid(barcod, 6, 1)) + CLng(Mid(barcod, 8, 1)) + CLng(Mid(barcod, 10, 1)) + CLng(Mid(barcod, 12, 1))


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 82

    TopList  
cron