Redian新闻
>
求教:从条形码扫描器Scanner读数据到VB .NET程序
avatar
求教:从条形码扫描器Scanner读数据到VB .NET程序# DotNet - 窗口里的风景
t*a
1
请教怎样能让扫描器扫的数据自动就传送到VB.NET程序里(扫描器那边一响,读出的条
形码就自动显示
在VB程序的textbox里)? 菜鸟刚开始.NET 和event driven programming
主要是“自动”,我现在能做到:扫描器响/扫描器里有数据之后 --〉用户必须按“读
数据”button 要
求 --〉button_click() 读数据并显示到textbox里。怎么能把用户按button那一步省
掉?难道
要程序不停的去查询Scanner?
是那种手持式的barcode Scanner,可以读并存储最多5个条形码。我的VB程序通过它自
带的DLL读数
据。DLL提供了下列功能:
readData():从Scanner读数据并报告条形码个数
isDataAvailable():查询Scanner有没有数据
clearData():删除Scanner所有数据
万分感激。
avatar
a9
2
isDataAvailable()

【在 t*****a 的大作中提到】
: 请教怎样能让扫描器扫的数据自动就传送到VB.NET程序里(扫描器那边一响,读出的条
: 形码就自动显示
: 在VB程序的textbox里)? 菜鸟刚开始.NET 和event driven programming
: 主要是“自动”,我现在能做到:扫描器响/扫描器里有数据之后 --〉用户必须按“读
: 数据”button 要
: 求 --〉button_click() 读数据并显示到textbox里。怎么能把用户按button那一步省
: 掉?难道
: 要程序不停的去查询Scanner?
: 是那种手持式的barcode Scanner,可以读并存储最多5个条形码。我的VB程序通过它自
: 带的DLL读数

avatar
t*a
3
可是难道要程序不停地循环检测吗?
while ( true )
if (isDataAvailable() )
retrieve & process data
end if
end while
这个isDataAvailable()也消耗scanner电池,照这样不很快就用完了?我的想法是来了
新数据才去读取,没数据程序就呆着;不可能吗?

【在 a9 的大作中提到】
: isDataAvailable()
avatar
k*i
4
Use a timer to call isDataAvailable

【在 t*****a 的大作中提到】
: 可是难道要程序不停地循环检测吗?
: while ( true )
: if (isDataAvailable() )
: retrieve & process data
: end if
: end while
: 这个isDataAvailable()也消耗scanner电池,照这样不很快就用完了?我的想法是来了
: 新数据才去读取,没数据程序就呆着;不可能吗?

avatar
a9
5
看你的dll文档,isDataAvaliable()是不是阻塞的。
如果不是,可能要线程休眠,要不然你的cpu可能就100%了。

【在 t*****a 的大作中提到】
: 可是难道要程序不停地循环检测吗?
: while ( true )
: if (isDataAvailable() )
: retrieve & process data
: end if
: end while
: 这个isDataAvailable()也消耗scanner电池,照这样不很快就用完了?我的想法是来了
: 新数据才去读取,没数据程序就呆着;不可能吗?

avatar
a9
6
从来不用timer,呵呵。

来了

【在 k****i 的大作中提到】
: Use a timer to call isDataAvailable
avatar
t*a
7
timer不还是不停地查询吗?只是频率低一点。 ?

【在 k****i 的大作中提到】
: Use a timer to call isDataAvailable
avatar
t*a
8
俺是菜鸟,也没编过线程 :(
需要用线程吗?
这儿是DLL中关于DataAvailable(),可不可以请您帮我看一下?
NoMangle long DLL_IMPORT_EXPORT csp2DataAvailable( void )
The csp2DataAvailable() function queries the CSP device and returns an
indication if data is available in the device. By using this function, the
user application can poll the DLL for a device with data, without running
down the battery of a device that may be left connected.
NOTE: When the CSP device is powered down, the csp2DataAvailable() function
will ALWAYS return NO_DATA_A

【在 a9 的大作中提到】
: 看你的dll文档,isDataAvaliable()是不是阻塞的。
: 如果不是,可能要线程休眠,要不然你的cpu可能就100%了。

avatar
a9
9
你就100ms读一次就行了。

function
the

【在 t*****a 的大作中提到】
: 俺是菜鸟,也没编过线程 :(
: 需要用线程吗?
: 这儿是DLL中关于DataAvailable(),可不可以请您帮我看一下?
: NoMangle long DLL_IMPORT_EXPORT csp2DataAvailable( void )
: The csp2DataAvailable() function queries the CSP device and returns an
: indication if data is available in the device. By using this function, the
: user application can poll the DLL for a device with data, without running
: down the battery of a device that may be left connected.
: NOTE: When the CSP device is powered down, the csp2DataAvailable() function
: will ALWAYS return NO_DATA_A

avatar
t*a
10
谢谢指教。

【在 a9 的大作中提到】
: 你就100ms读一次就行了。
:
: function
: the

avatar
g*y
11
if your barcode has fixed length, try text changed event of the textbox, in
the handler check if length is reached and if so do your work.
avatar
a9
12
不读读卡器text怎么会变?

in

【在 g***y 的大作中提到】
: if your barcode has fixed length, try text changed event of the textbox, in
: the handler check if length is reached and if so do your work.

avatar
d*l
13
能否sleep(200)啥的?
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。