|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
как встроить в печатную форму штрихкод CODE 128 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2014, 16:15 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
там искал http://vfpx.codeplex.com/wikipage?title=FoxBarcode&referringTitle=Home Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2014, 17:26 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
У меня есть функция, которая переворачивает в code 128. Потом просто полученно число печатаешь шрифтом barcode.ttf ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2014, 09:31 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
А. С., Поделитесь? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2014, 14:11 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
Vladimir M Sklyar, платная заморочка. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2014, 14:16 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
FUNCTION Code_128 PARAMETERS A PUBLIC ARRAY BCode(1024) STORE 0 TO BInd,Ch,Ch2,I,LenA,CCode STORE '' TO CurMode,S LenA = LEN(A) FOR I=1 TO LenA STEP 0 Ch = ASC(SUBSTR(A, I, 1)) I = I + 1 IF Ch <= 127 IF I <= LenA Ch2 = ASC(SUBSTR(A, I, 1)) ELSE Ch2 = 0 ENDIF IF (48 <= Ch) And (Ch <= 57) And (48 <= Ch2) And (Ch2 <= 57) I = I + 1 IF BInd = 0 CurMode = "C" BCode(BInd+1) = 105 BInd = BInd + 1 ENDIF IF CurMode <> "C" CurMode = "C" BCode(BInd+1) = 99 BInd = BInd + 1 ENDIF BCode(BInd+1) = VAL(Chr(Ch)+Chr(Ch2)) BInd = BInd + 1 ELSE IF BInd = 0 IF Ch < 32 CurMode = "A" BCode(BInd+1) = 103 BInd = BInd + 1 ELSE CurMode = "B" BCode(BInd+1) = 104 BInd = BInd + 1 ENDIF ENDIF IF (Ch < 32) AND (CurMode <> "A") CurMode = "A" BCode(BInd+1) = 101 BInd = BInd + 1 ENDIF IF ((64 <= Ch) AND (CurMode <> "B")) OR (CurMode = "C") CurMode = "B" BCode(BInd+1) = 100 BInd = BInd + 1 ENDIF IF (Ch < 32) BCode(BInd+1) = Ch + 64 BInd = BInd + 1 ELSE BCode(BInd+1) = Ch - 32 BInd = BInd + 1 ENDIF ENDIF ENDIF ENDFOR CCode = MOD(BCode(1),103) FOR I = 1 To BInd -1 CCode = MOD((CCode + BCode(I+1) * I),103) ENDFOR BCode(BInd+1) = CCode BInd = BInd + 1 BCode(BInd+1) = 106 BInd = BInd + 1 S = "" FOR I = 0 TO BInd - 1 S = S+Code_Char(Code_128_ID(BCode(I+1))) ENDFOR Code_128 = S RETURN Code_128 ENDFUNC FUNCTION Code_128_ID PARAMETERS ID LocID=" " LocID=ICASE(ID=0 ,"212222",; ID=1 ,"222122",; ID=2 ,"222221",; ID=3 ,"121223",; ID=4 ,"121322",; ID=5 ,"131222",; ID=6 ,"122213",; ID=7 ,"122312",; ID=8 ,"132212",; ID=9 ,"221213",; ID=10 ,"221312",; ID=11 ,"231212",; ID=12 ,"112232",; ID=13 ,"122132",; ID=14 ,"122231",; ID=15 ,"113222",; ID=16 ,"123122",; ID=17 ,"123221",; ID=18 ,"223211",; ID=19 ,"221132",; ID=20 ,"221231",; ID=21 ,"213212",; ID=22 ,"223112",; ID=23 ,"312131",; ID=24 ,"311222",LocID) LocID=ICASE(ID=25 ,"321122",; ID=26 ,"321221",; ID=27 ,"312212",; ID=28 ,"322112",; ID=29 ,"322211",; ID=30 ,"212123",; ID=31 ,"212321",; ID=32 ,"232121",; ID=33 ,"111323",; ID=34 ,"131123",; ID=35 ,"131321",; ID=36 ,"112313",; ID=37 ,"132113",; ID=38 ,"132311",; ID=39 ,"211313",; ID=40 ,"231113",; ID=41 ,"231311",; ID=42 ,"112133",; ID=43 ,"112331",; ID=44 ,"132131",; ID=45 ,"113123",; ID=46 ,"113321",; ID=47 ,"133121",; ID=48 ,"313121",; ID=49 ,"211331",; ID=50 ,"231131",LocID) LocID=ICASE(ID=51 ,"213113",; ID=52 ,"213311",; ID=53 ,"213131",; ID=54 ,"311123",; ID=55 ,"311321",; ID=56 ,"331121",; ID=57 ,"312113",; ID=58 ,"312311",; ID=59 ,"332111",; ID=60 ,"314111",; ID=61 ,"221411",; ID=62 ,"431111",; ID=63 ,"111224",; ID=64 ,"111422",; ID=65 ,"121124",; ID=66 ,"121421",; ID=67 ,"141122",; ID=68 ,"141221",; ID=69 ,"112214",; ID=70 ,"112412",; ID=71 ,"122114",; ID=72 ,"122411",; ID=73 ,"142112",; ID=74 ,"142211",; ID=75 ,"241211",LocID) LocID=ICASE(ID=76 ,"221114",; ID=77 ,"413111",; ID=78 ,"241112",; ID=79 ,"134111",; ID=80 ,"111242",; ID=81 ,"121142",; ID=82 ,"121241",; ID=83 ,"114212",; ID=84 ,"124112",; ID=85 ,"124211",; ID=86 ,"411212",; ID=87 ,"421112",; ID=88 ,"421211",; ID=89 ,"212141",; ID=90 ,"214121",; ID=91 ,"412121",; ID=92 ,"111143",; ID=93 ,"111341",; ID=94 ,"131141",; ID=95 ,"114113",; ID=96 ,"114311",; ID=97 ,"411113",; ID=98 ,"411311",; ID=99 ,"113141",; ID=100,"114131",; ID=101,"311141",; ID=102,"411131",; ID=103,"211412",; ID=104,"211214",; ID=105,"211232",; ID=106,"2331112",LocID) RETURN LocID ENDFUNC FUNCTION Code_Char PARAMETERS A II=0 B=" " LocID=" " LocID=ICASE(A="211412","A",; A="211214","B",; A="211232","C",; A="2331112","@",LocID) IF LocID=" " FOR II = 0 TO LEN(A)/2-1 FF=SUBSTR(A, 2 * II + 1, 2) LocID=ALLTRIM(LocID)+ICASE(FF="11","0",; FF="21","1",; FF="31","2",; FF="41","3",; FF="12","4",; FF="22","5",; FF="32","6",; FF="42","7",; FF="13","8",; FF="23","9",; FF="33",":",; FF="43",";",; FF="14","<",; FF="24","=",; FF="34",">",; FF="44","?",LocID) ENDFOR ENDIF RETURN LocID ENDFUNC ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2014, 15:27 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
А. С., Т.е. такая конструкция должна работать? Posled = Code_128(ALLTRIM('QWERTY1234')) thisform.text14.Value=Posled И установить шрифт barcode.ttf ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2014, 15:57 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
А. С., Сканер не читает такую конструкцию. Что-то не так делаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2014, 16:36 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
А. С., Спасибо!!!! Вот, есть ведь у нас фоксисты - разгрыз тему и выдал элементарное и удобное решение, без выверта мозгов! Все работает, но надо применять именно barcode.ttf ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2014, 17:33 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
Этот пример просто у меня работает, я эту функцию переписал с Visual Basic в свое время, немного переделал правда. Рад что получилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2014, 13:40 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
Я этот форум весь перечитал - решения не было нормального. Вот сам и разобрался, теперь не нарадуюсь. ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2014, 13:43 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
А. С., А готовое решение здесь не опубликуете? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2014, 15:29 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
а в 5 ответе не оно? http://www.sql.ru/forum/1108883/kak-vstroit-v-pechatnuu-formu-shtrihkod-code-128#16396872 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2014, 19:10 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2014, 19:11 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
По поводу платного - вроде на том сайте все бесплатное. Тот урл, что я привел выше - компонента используеся у меня на квитанциях по жкг (правда штрихкод EAN13). Работает без сторонних шрифтов и всяких доп. запорочек, тупо картинка в репорте. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2014, 19:44 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
ping_09, Еще раз благодарю А.С !!!! Все работает - просто гора с плеч! ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2014, 14:41 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
на то форум и нужен)) потом мне поможете. Сам тут много ответов нашел. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2014, 15:55 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
Вот теперь вы мне помогайте. На форме контрол textbox, в методе LostFocus которого стоит запуск процедуры с переменой, в которую пишется значение этого контрола. Ну то есть вбиваем к примеру число 12345 и Enter и стартуется некая процедура. Теперь со штрих сканером. Я это число печатаю на бумаге, предварительно переворачиваю его в CODE 128, потом ставлю фокус на textbox, сканирую и получаю 12345. Вопрос 1. Как мне при этом автоматически запустить метод LostFocus с полученным значением? -- как вариант поставить на контроле в свойстве MaxLenght к примеру 10, а в штрихе сохранять не 12345, а значение, которое равно MaxLenght, то есть 0000012345. При этом будет заполнено все и автоматически textbox покинет фокус. Но мне этот способ не нравится. То есть хочется как то перехватывать значение, которое считали сканером. Вопрос 2. Тут сложнее. Надо зашифровать не 12345, а перед ним еще какое-то дополнительное значение. К примеру 2;12345. Но при этом сперва перехватить отсканированное значение, распарсить к примеру ALINES() в массив, первый элемент "2" не отображать, а использовать его для анализа, а "12345" уже отобразить в контроле. И потом автоматом запустить LostFocus. Если у кого есть идеи, прошу не стесняться, подойдут любые гипотезы. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2014, 23:06 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
А. С., Сканер включается в разрыв клавиатуры, т.е. 12345 - это как бы последовательно нажатые клавиши? Тогда можно ловить их в textbox.KeyPress и при необходимости подменять до попадания в textbox.Value. Если сканер позволяет настроить префикс / суффикс кода, т.е. последовательности символов, которые он пришлёт до и после отсканированного значения, то можно по ним в KeyPress определять начало / конец кода. Если нет, то можно использовать в качестве префикса / суффикса элементы самого кода. Например, если со сканера приходит 2;12345, а в контрол надо записать 12345, то в KeyPress забираем все символы для анализа, пока не придёт ";", затем переключаемся в режим формирования textbox.Value. LostFocus() можно вызывать и явно (по обнаружению окончания кода), необязательно выходить из поля, но лучше сделать анализ готового значения контрола отдельным методом и вызывать его как в LostFocus, так и в KeyPress при получении суффикса кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2014, 11:22 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
А. С., 1. Привяжите к объекту переменную и обрабатывайте ее значение. 2. KeyPres Не идет? 3. И еще: попробуйте боксы - в них тоже можно писать, но там есть событие Change ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2014, 14:12 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
А. С., Создаем таблицу (курсор) из одного столбца c READWR и грид. Работаем собственно с объектами грида. В данном случае TEXT. 1. Проверяем OldVAl/ NewVal 2. Запрещаем запись в курсор, но нагло пишем в текстбокс. Получаем ошибку и в TRY CATCH ее обрабатываем - запускаем нужные процедуры. Т.е. идея через сброс исключения генерировать событие, может и при работе в других схемах. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2014, 14:22 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
Спасибо за ответы. Вот нашел подходящее для данного случая. считывание штрих-кода ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2014, 23:03 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
Все получилось,супер. Единственный момент, если в коде ставить разделители, то стоит учитывать что в разных раскладках, они будут считываться согласно текущей раскладки клавиатуры. Я сперва поставил ^ и ; если раскладка текущая стоит EN - то все хорошо. Если текущая стоит RU - то читаются символы : и ж соответственно. Я сменил на ! и + - все наладилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2014, 16:07 |
|
как встроить в печатную форму штрихкод CODE 128
|
|||
---|---|---|---|
#18+
В методе keypress контрола textbox - все отрабатывает великолепно. Вопрос: На форме много разных элементов, но если я этот метод распространяю на всю форму - то не работает. То есть keypress запускается на том контроле, на котором в данный момент фокус находится. Мне же нужно чтобы это распространялось на всю форму. В каждом элементе прописывать одинаковый keypress - не вариант. Напомню что у меня первый символ в штрих коде стоит ! (код 33) то есть код выглядит так !1+0000004578 ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2014, 10:39 |
|
|
start [/forum/topic.php?fid=41&msg=38714090&tid=1582554]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 163ms |
0 / 0 |