Подключение да, примерно так. Лучше вариант, который поддерживает более одной цифры в номере com порта. После запуска процедуры инициализация класса:
Код: Выделить всё
if FsComScan.Init('\\.\COM' & PAR:DevScanCom)=0
message('Ошибка подключения сканера: ' & clip(FsComScan.LastError))
else
if FsComScan.SetUpString('baud=9600 parity=N data=8 stop=1')=0
message('Ошибка при установке параметров порта: ' & clip(FsComScan.LastError))
.
.
Перед завершением процедуры:
Для чтения надо на окно повесить таймер. В событии обработки EVENT:Timer прописать код чтения, типа такого:
Код: Выделить всё
window{PROP:TIMER}=0
Loc:BarCode=''
loop
if FsComScan.Read(Loc:Buffer,1,Loc:BytesRead)=0
break
.
if Loc:BytesRead=0
break
.
if Loc:Buffer[1] = '<10>'
cycle
.
if Loc:Buffer[1] = '<02>'
cycle
.
if Loc:Buffer[1] = '<03>'
cycle
.
if Loc:Buffer[1] = '<13>' !завершение штрих-кода
break
.
Loc:BarCode = clip(Loc:BarCode) & Loc:Buffer[1]
.
if Loc:BarCode<>''
loc:shtrih=Loc:BarCode
.
window{PROP:TIMER}=100
В примере переменные
Код: Выделить всё
loc:shtrih string(150)
Loc:BarCode string(150)
Loc:Buffer cstring(255)
Loc:BytesRead ulong
Последний раз редактировалось
finsoftrz 09 Март 2026, 7:40, всего редактировалось 1 раз.
C6/C12, ШВС, tps/btrieve.