t*****a 发帖数: 13 | 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所有数据
万分感激。 |
a9 发帖数: 21638 | 2 isDataAvailable()
【在 t*****a 的大作中提到】 : 请教怎样能让扫描器扫的数据自动就传送到VB.NET程序里(扫描器那边一响,读出的条 : 形码就自动显示 : 在VB程序的textbox里)? 菜鸟刚开始.NET 和event driven programming : 主要是“自动”,我现在能做到:扫描器响/扫描器里有数据之后 --〉用户必须按“读 : 数据”button 要 : 求 --〉button_click() 读数据并显示到textbox里。怎么能把用户按button那一步省 : 掉?难道 : 要程序不停的去查询Scanner? : 是那种手持式的barcode Scanner,可以读并存储最多5个条形码。我的VB程序通过它自 : 带的DLL读数
|
t*****a 发帖数: 13 | 3 可是难道要程序不停地循环检测吗?
while ( true )
if (isDataAvailable() )
retrieve & process data
end if
end while
这个isDataAvailable()也消耗scanner电池,照这样不很快就用完了?我的想法是来了
新数据才去读取,没数据程序就呆着;不可能吗?
【在 a9 的大作中提到】 : isDataAvailable()
|
k****i 发帖数: 1072 | 4 Use a timer to call isDataAvailable
【在 t*****a 的大作中提到】 : 可是难道要程序不停地循环检测吗? : while ( true ) : if (isDataAvailable() ) : retrieve & process data : end if : end while : 这个isDataAvailable()也消耗scanner电池,照这样不很快就用完了?我的想法是来了 : 新数据才去读取,没数据程序就呆着;不可能吗?
|
a9 发帖数: 21638 | 5 看你的dll文档,isDataAvaliable()是不是阻塞的。
如果不是,可能要线程休眠,要不然你的cpu可能就100%了。
【在 t*****a 的大作中提到】 : 可是难道要程序不停地循环检测吗? : while ( true ) : if (isDataAvailable() ) : retrieve & process data : end if : end while : 这个isDataAvailable()也消耗scanner电池,照这样不很快就用完了?我的想法是来了 : 新数据才去读取,没数据程序就呆着;不可能吗?
|
a9 发帖数: 21638 | 6 从来不用timer,呵呵。
来了
【在 k****i 的大作中提到】 : Use a timer to call isDataAvailable
|
t*****a 发帖数: 13 | 7 timer不还是不停地查询吗?只是频率低一点。 ?
【在 k****i 的大作中提到】 : Use a timer to call isDataAvailable
|
t*****a 发帖数: 13 | 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%了。
|
a9 发帖数: 21638 | 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
|
t*****a 发帖数: 13 | 10 谢谢指教。
【在 a9 的大作中提到】 : 你就100ms读一次就行了。 : : function : the
|
g***y 发帖数: 27 | 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. |
a9 发帖数: 21638 | 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.
|
d*****l 发帖数: 8441 | |