powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Передача маркировки товара в драйвер ККМ Штрих-М
15 сообщений из 40, страница 2 из 2
Передача маркировки товара в драйвер ККМ Штрих-М
    #40134541
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010
Может в настройках сканера дело?
Шестнадцатеричный cимвол 1D невозможно передать в эмуляции клавиатуры, нет такого сканкода клавиатуры. Переключи сканер в ком порт и читай из ком порта, все будет.
...
Рейтинг: 0 / 0
Передача маркировки товара в драйвер ККМ Штрих-М
    #40134554
V.Borzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в нотпад+ берет, значит работает передача GS через клавиатуру у автора. Разные сканеры по-разному выдают, но мы тоже везде отказываемся от клавиатурного режима, через COM - надежнее. А у автора, видимо, драйвер в программе свою лепту вносит и всякие непонятные знаки удаляет.
...
Рейтинг: 0 / 0
Передача маркировки товара в драйвер ККМ Штрих-М
    #40134557
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
V.Borzov, да согласен, это единственное объяснение
Ivan_Pisarevsky, на ком-порт не вариант, он один и на нем висит ККТ
Придется добавлять программно
...
Рейтинг: 0 / 0
Передача маркировки товара в драйвер ККМ Штрих-М
    #40134559
V.Borzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010, Сканер же USB-шный? Тогда его не надо в COM-порт втыкать, да и не получится, если слишком сильно не стараться. Его надо запрограммировать в режиме эмуляции COM-порта, и дальше в системе появится виртуальный COM-порт (ну, или после доустановки драйвера, по-разному у разных сканеров). Другое дело, что драйвер программы должен уметь работать с COM-овскими сканерами.
...
Рейтинг: 0 / 0
Передача маркировки товара в драйвер ККМ Штрих-М
    #40134562
арт2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
V.Borzov, есть и старые под com и новые usb
Слишком велики трудозатраты как по мне, легче программно добавлять символ
...
Рейтинг: 0 / 0
Передача маркировки товара в драйвер ККМ Штрих-М
    #40134564
V.Borzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
арт2010, В-общем и целом если, то местоположение разделителя групп будет разное в разных марках, это зависит от порядка групп, который производитель завел в своей марке. Хоть ЧЗ и пытался это систематизировать, но, по крайней мере, год назад, каждый лепил как хотел и заводил группы на своё усмотрение, какие надо и не надо, в разном порядке. Что там прямо сейчас творится в новых марках - я не изучал, но не думаю, что кардинально что-то поменялось. Количество символов разделителя тоже может быть больше чем 1. Так что, вставлять руками, скорее всего, не получится.
...
Рейтинг: 0 / 0
Передача маркировки товара в драйвер ККМ Штрих-М
    #40134565
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky
арт2010
Может в настройках сканера дело?
Шестнадцатеричный cимвол 1D невозможно передать в эмуляции клавиатуры, нет такого сканкода клавиатуры. Переключи сканер в ком порт и читай из ком порта, все будет.
Абсолютно любой символ можно передать через сканкод клавиатуры с помощью ALT (VK_MENU). Так все сканеры, которые я видел, и делают.
Делается keyboardState(TKeyboardState), и потом ToAscii*/ToUnicode (с загруженной необходимой KeyboardLayout) для всего добра посимвольно, что сканнер прислал.
...
Рейтинг: 0 / 0
Передача маркировки товара в драйвер ККМ Штрих-М
    #40134566
V.Borzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock, некоторые сканеры в клавиатурном режиме подло съедают символы, которые считают некорректными с точки зрения возможности ввода с клавиатуры. Возможно, что это даже где-то у них там и настраивается, но не находили.
...
Рейтинг: 0 / 0
Передача маркировки товара в драйвер ККМ Штрих-М
    #40134567
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
V.Borzov
YuRock, некоторые сканеры в клавиатурном режиме подло съедают символы, которые считают некорректными с точки зрения возможности ввода с клавиатуры. Возможно, что это даже где-то у них там и настраивается, но не находили.
Я не спорю, бывают сканеры, которые не умеют.
...
Рейтинг: 0 / 0
Передача маркировки товара в драйвер ККМ Штрих-М
    #40134579
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
V.Borzov
некоторые сканеры в клавиатурном режиме подло съедают символы

YuRock
бывают сканеры, которые не умеют.

В итоге проще наладить работу через виртуальный ком порт. И с фокусом ввода не надо упражняться.
Впрочем мы забили в десктопном клиенте на чтение марок со сканера и все сделали на андроиде.

арт2010
на ком-порт не вариант, он один и на нем висит ККТ

V.Borzov
Его надо запрограммировать в режиме эмуляции COM-порта
достаточно считать настроечный штрих, паять ничего не надо. :)
...
Рейтинг: 0 / 0
Передача маркировки товара в драйвер ККМ Штрих-М
    #40134611
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky
В итоге проще наладить работу через виртуальный ком порт.
Чем всё переделывать (и обновлять парк сканеров), гораздо проще не покупать сканеры, которые не могут передавать любые символы.
Ivan_Pisarevsky
И с фокусом ввода не надо упражняться.

Тут я вообще не понял проблемы. Фокус всегда один.
...
Рейтинг: 0 / 0
Передача маркировки товара в драйвер ККМ Штрих-М
    #40134612
V.Borzov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Тут я вообще не понял проблемы. Фокус всегда один.

Часто, когда работают с клавиатурными сканерами, заставляют пользователя ставить курсор в определенное поле, чтобы не разбираться с контекстом, откуда пришли данные: действительно ли со сканера, или с клавиатуры. Но у такого подхода серьезная проблема: если курсор (фокус) окажется не там, где надо, то результаты могут быть самые превеселые, вплоть до увольнения программиста. Конечно, лучше ловить контекст, понимая, что пришло с клавы, а что - со сканера, и вносить данные туда, куда им положено вноситься. Тот еще геморрой, так-то...
...
Рейтинг: 0 / 0
Передача маркировки товара в драйвер ККМ Штрих-М
    #40134639
Близнец1980
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вставлю свои 5 копеек.

Работаем с шинами.
Имеется сканер чуть ли не самый дешевый, атол какой-то, в эмуляции клавиатуры работает. Не знаю как другие, но для этого нужно обязательно, что-бы раскладка была английская.
Вот так переключаю:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
procedure TfMarking.FormShow(Sender: TObject);
var S : String;
begin
   edCodeMarking.Text:=''; //edCodeMarking: TEdit;
   ActiveControl :=edCodeMarking;

   //поменяем раскладку клавиатуры, если нужно, т.к. сканер работает только с анлийскими символами
   SetLength(S, KL_NAMELENGTH);
   GetKeyboardLayoutName(PChar(S));
   S:=Trim(S);
   KeyboardLayoutName:=S;

   if S <> '00000409' then
     begin
        LoadKeyboardLayout('00000409', KLF_ACTIVATE);
     end;

end;


добавление в таблицу после считки
Код: pascal
1.
2.
3.
mtMarking.Append;
mtMarking.FieldByName('codemark').Value:=edCodeMarking.Text;
mtMarking.Post;



вот так код передаю:
Код: pascal
1.
2.
3.
4.
5.
6.
//mtMarking.FieldByName('codemark') содержит минимум 32 символа кода
// DrvFR:= CreateOleObject('AddIn.DrvFR');
DrvFR.MarkingType := $444D; //Data Matrix
DrvFR.GTIN := Copy(mtMarking.FieldByName('codemark').AsString,3,14);
DrvFR.SerialNumber := Copy(mtMarking.FieldByName('codemark').AsString,19,13);
DrvFR.FNSendItemCodeData;


...
Рейтинг: 0 / 0
Передача маркировки товара в драйвер ККМ Штрих-М
    #40134685
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
V.Borzov
YuRock
Тут я вообще не понял проблемы. Фокус всегда один.

Часто, когда работают с клавиатурными сканерами, заставляют пользователя ставить курсор в определенное поле, чтобы не разбираться с контекстом, откуда пришли данные: действительно ли со сканера, или с клавиатуры. Но у такого подхода серьезная проблема: если курсор (фокус) окажется не там, где надо, то результаты могут быть самые превеселые, вплоть до увольнения программиста. Конечно, лучше ловить контекст, понимая, что пришло с клавы, а что - со сканера, и вносить данные туда, куда им положено вноситься. Тот еще геморрой, так-то...
Не замечал проблем, с 2003 с клавиатурными сканерами работаю.
Впрочем, оконного режима давно не использую, у меня одно окно и все контролы - рисованные.
...
Рейтинг: 0 / 0
Передача маркировки товара в драйвер ККМ Штрих-М
    #40134686
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Близнец1980,

Сканер возвращает всегда одни и те же коды клавиш, независимо от выбранной раскладки.
Просто переводи их в нужную раскладку (например, в английскую - 409) в событии KeyDown.
...
Рейтинг: 0 / 0
15 сообщений из 40, страница 2 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Передача маркировки товара в драйвер ККМ Штрих-М
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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