powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Отрисовка штриховых кодов
4 сообщений из 29, страница 2 из 2
Отрисовка штриховых кодов
    #35331761
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 dGrichine
Ходил я по этой ссылке, нашел (кажись) алгоритм обработки сторки перед печатью.
А вот где бы взять файлик шрифта, чтобы отображать эту строку (на подобие того, что лежит в архиве (см. выше) для EAN13) только для Interleaved 2 of 5 Fonts? Файла шрифта я там не нашел :(
...
Рейтинг: 0 / 0
Отрисовка штриховых кодов
    #35331899
Eugene S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Шрифт можно взять отсюда
ссылка
но нужно будет внимательно проверить как формируется строка для этого шрфита. Алгоритм может быть не таким как у Idautomation
...
Рейтинг: 0 / 0
Отрисовка штриховых кодов
    #35332064
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, алгоритм буду проверять.
Я заметил, что для каждого шрифта - свой.
...
Все таки нет в мире совершенства :) - у этого шрифта (по ссылке) нет цифирок внизу, а клиент требуеть ... . А для шрифтов что есть циферки - нет алгоритма :(
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Отрисовка штриховых кодов
    #36809308
1222212221
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот алгоритм перевода числового штрихкода в символьный для шрифта eang000.ttf


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
//********************************************************************************
Функция ЦифрыВБуквыНижнегоРегистра(Цифра)
	БуквыНижнегоРегистра = "abcdefghij";
	Цифра = Число(Прав(Цифра, 1 ));
	Стр = Сред(БуквыНижнегоРегистра, Цифра +  1 ,  1 );
	Возврат Стр;
КонецФункции
//********************************************************************************
Функция ЦифрыВБуквыВерхнегоРегистра(Цифра)
	БуквыВерхнегоРегистра = "ABCDEFGHIJ";
	Цифра = Число(Прав(Цифра, 1 ));
	Стр = Сред(БуквыВерхнегоРегистра, Цифра +  1 ,  1 );
	Возврат Стр;
КонецФункции
//********************************************************************************
Функция СформироватьКодEAN13(код)
	ПервыйФлаг = Число(Сред(код, 1 , 1 ));
	левстр     = Сред(код, 2 , 6 );
	правстр    = Сред(код, 8 , 6 );
	правкод = "";
	Для Поз =  1  По  6 
	Цикл
		правкод = правкод + ЦифрыВБуквыНижнегоРегистра(Сред(правстр,Поз, 1 ));
	КонецЦикла;
	//  Формируем левую часть кода в зависимости от значениа ПервыйФлаг
	Если      ПервыйФлаг =  0 
	Тогда //•••  0  ••• AAAAA •••
		левкод = "#!"+Лев(левстр, 1 )+Сред(левстр, 2 , 1 )+Сред(левстр, 3 , 1 )+Сред(левстр, 4 , 1 )+Сред(левстр, 5 , 1 )+Сред(левстр, 6 , 1 );
	ИначеЕсли ПервыйФлаг =  1 
	Тогда //•••  1  ••• AABABB •••
		левкод = "$!"+Лев(левстр, 1 )+Сред(левстр, 2 , 1 )+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 3 , 1 ))+Сред(левстр, 4 , 1 )+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 5 , 1 ))+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 6 , 1 ));
	ИначеЕсли ПервыйФлаг =  2 
	Тогда //•••  2  ••• AABBAB •••
		левкод = "%!"+Лев(левстр, 1 )+Сред(левстр, 2 , 1 )+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 3 , 1 ))+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 4 , 1 ))+Сред(левстр, 5 , 1 )+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 6 , 1 ));
	ИначеЕсли ПервыйФлаг =  3 
	Тогда //•••  3  ••• AABBBA •••
		левкод = "&!"+Лев(левстр, 1 )+Сред(левстр, 2 , 1 )+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 3 , 1 ))+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 4 , 1 ))+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 5 , 1 ))+Сред(левстр, 6 , 1 );
	ИначеЕсли ПервыйФлаг =  4 
	Тогда //•••  4  ••• ABAABB •••
		левкод = "'!"+Лев(левстр, 1 )+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 2 , 1 ))+Сред(левстр, 3 , 1 )+Сред(левстр, 4 , 1 )+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 5 , 1 ))+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 6 , 1 ));
	ИначеЕсли ПервыйФлаг =  5 
	Тогда //•••  5  ••• ABBAAB •••
		левкод = "(!"+Лев(левстр, 1 )+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 2 , 1 ))+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 3 , 1 ))+Сред(левстр, 4 , 1 )+Сред(левстр, 5 , 1 )+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 6 , 1 ));
	ИначеЕсли ПервыйФлаг =  6 
	Тогда //•••  6  ••• ABBBAA •••
		левкод = ")!"+Лев(левстр, 1 )+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 2 , 1 ))+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 3 , 1 ))+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 4 , 1 ))+Сред(левстр, 5 , 1 )+Сред(левстр, 6 , 1 );
	ИначеЕсли ПервыйФлаг =  7 
	Тогда //•••  7  ••• ABABAB •••
		левкод = "*!"+Лев(левстр, 1 )+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 2 , 1 ))+Сред(левстр, 3 , 1 )+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 4 , 1 ))+Сред(левстр, 5 , 1 )+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 6 , 1 ));
	ИначеЕсли ПервыйФлаг =  8 
	Тогда //•••  8  ••• ABABBA •••
		левкод = "+!"+Лев(левстр, 1 )+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 2 , 1 ))+Сред(левстр, 3 , 1 )+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 4 , 1 ))+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 5 , 1 ))+Сред(левстр, 6 , 1 );
	ИначеЕсли ПервыйФлаг =  9 
	Тогда //•••  9  ••• ABBABA •••
		левкод = ",!"+Лев(левстр, 1 )+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 2 , 1 ))+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 3 , 1 ))+Сред(левстр, 4 , 1 )+ЦифрыВБуквыВерхнегоРегистра(Сред(левстр, 5 , 1 ))+Сред(левстр, 6 , 1 );
	КонецЕсли;
	// Возвращаем результат
	кодстр = левкод + "-" + правкод + "!";
	Возврат кодстр;
КонецФункции
//********************************************************************************
...
Рейтинг: 0 / 0
4 сообщений из 29, страница 2 из 2
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Отрисовка штриховых кодов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]