社区
嵌入开发(WinCE)
帖子详情
关于PDA扫码效率的问题
w583193259
2011-10-27 03:15:01
我之前解决了PDA无焦点扫码的问题,现在又有新的问题了:我必须要在每一个界面上写上代码或者放一个Barcode控件来启动扫码,这样才能监控到扫码的动作,但是现在如果我同时打开2个或2个以上界面的同时,这时候PDA就会卡机。后来这个问题算是解决了,我在每一个窗体的激活和未激活的事件里面停用扫码,但是每次停用扫码设备的时候会很慢(大约要3-4秒),那我在多个窗体之间切换的同时,就很慢了,而且PDA设备还会很卡!我想请教各位大虾们,有没有什么好的办法来解决这些问题?
...全文
640
17
打赏
收藏
关于PDA扫码效率的问题
我之前解决了PDA无焦点扫码的问题,现在又有新的问题了:我必须要在每一个界面上写上代码或者放一个Barcode控件来启动扫码,这样才能监控到扫码的动作,但是现在如果我同时打开2个或2个以上界面的同时,这时候PDA就会卡机。后来这个问题算是解决了,我在每一个窗体的激活和未激活的事件里面停用扫码,但是每次停用扫码设备的时候会很慢(大约要3-4秒),那我在多个窗体之间切换的同时,就很慢了,而且PDA设备还会很卡!我想请教各位大虾们,有没有什么好的办法来解决这些问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
w583193259
2011-10-31
打赏
举报
回复
嗯 我试试
w583193259
2011-10-29
打赏
举报
回复
扫码后 根本就不会走keydown、keypress这两个事件呢!条码是扫到了 但是就是不走这个事件 那我在哪去加载这个条码呢?
w583193259
2011-10-29
打赏
举报
回复
[Quote=引用 13 楼 skylkj 的回复:]
那不就简单了?
你设置一个全局变量标识当前哪个窗体被激活,然后在每个窗体的Activated事件里更新这个变量。
然后控件的onread事件里根据这个变量决定读到的string提交给哪个窗体,比如:
switch(WhichFormActived)
{
case 1:
form1.textbox1.text=barcodeText;
break;
case 2:……
[/Quote]
嗯 感觉可行 我现在找找PDA上按键的ASCII 再试试
skylkj
2011-10-29
打赏
举报
回复
那不就简单了?
你设置一个全局变量标识当前哪个窗体被激活,然后在每个窗体的Activated事件里更新这个变量。
然后控件的onread事件里根据这个变量决定读到的string提交给哪个窗体,比如:
switch(WhichFormActived)
{
case 1:
form1.textbox1.text=barcodeText;
break;
case 2:
form2.textbox1.text=barcodeText;
break;
…………
}
也可以onread里只管把条码读到一个全局的string里。各个窗体监视扫码动作,检测到有扫码,就去取这个全局string(要注意下延时)
检测扫码动作其实就是检测键盘按键,把form的keypreview属性设为true,那么只要当前窗体激活,有任何按键的话就会触发keydown或者keypress(我确实遇到过按键只触发keydown不触发keypress的情况)
w583193259
2011-10-29
打赏
举报
回复
Barcode控件:启用是设置它的EnableScanner属性
启用的代码很简单: this.barcode1.EnableScanner = true;
关闭就是: this.barcode1.EnableScanner = false;
然后我获取扫码的信息是它的OnRead事件:
代码就是:string barcodeText = readerData.Text;
这样barcodeText就是扫码获取到的信息了。
skylkj
2011-10-29
打赏
举报
回复
[Quote=引用 8 楼 w583193259 的回复:]
不对呀 那我其他窗体在扫码的话,我怎么知道当前是那个窗体,或者说我在其他窗体获取它扫码的信息?
[/Quote]
你的barcode控件是用什么方式调用的?
一般我接触过两种,一种是作为服务运行,然后把条码作为键盘消息发给前端界面;(这种不需要编程)
一种是会提供一些主动调用方法,类似(c#举例):
bool ScanerOpen();
bool ScanClose();
string Scan();
那只要放一个控件,然后在主窗体创建的时候open,在程序退出的时候close
期间要进行任何扫描的时候都是调用scan方法。
我觉得这么说已经很清楚了,我不太清楚你的困扰在哪里,或者你把你那个barcode控件的调用方法贴出来看看
woshi_ziyu
2011-10-29
打赏
举报
回复
[Quote=引用 9 楼 w583193259 的回复:]
引用 3 楼 woshi_ziyu 的回复:
在线程中监视UI,设置一个FLAG
你的方法我感觉不行 这样子还是要判断FLAG的值来启用扫码 如果同时打开两个界面 那还是要停掉一个啊!一样的
[/Quote]
恩 不能同时操作
skylkj
2011-10-29
打赏
举报
回复
首先你form的preview要是true,否则只触发当前焦点所在控件(比如textbox)的keydown和keypress
然后,你也可以用我说的第一个方法
你设置一个全局变量标识当前哪个窗体被激活,然后在每个窗体的Activated事件里更新这个变量。
然后控件的onread事件里根据这个变量决定读到的string提交给哪个窗体,比如:
switch(WhichFormActived)
{
case 1:
form1.textbox1.text=barcodeText;
break;
case 2:
form2.textbox1.text=barcodeText;
break;
…………
}
w583193259
2011-10-28
打赏
举报
回复
[Quote=引用 3 楼 woshi_ziyu 的回复:]
在线程中监视UI,设置一个FLAG
[/Quote]
你的方法我感觉不行 这样子还是要判断FLAG的值来启用扫码 如果同时打开两个界面 那还是要停掉一个啊!一样的
w583193259
2011-10-28
打赏
举报
回复
[Quote=引用 6 楼 skylkj 的回复:]
最简单的方法就是放到一个form上,然后别的form都调用这个form上的这个控件
比如放在mainfrm上,其他界面调用就用mainfrm.barcode.scan()
[/Quote]
不对呀 那我其他窗体在扫码的话,我怎么知道当前是那个窗体,或者说我在其他窗体获取它扫码的信息?
w583193259
2011-10-28
打赏
举报
回复
[Quote=引用 6 楼 skylkj 的回复:]
最简单的方法就是放到一个form上,然后别的form都调用这个form上的这个控件
比如放在mainfrm上,其他界面调用就用mainfrm.barcode.scan()
[/Quote]
这样行吗?我试试啊!我刚才在弄用户控件 没弄好
skylkj
2011-10-28
打赏
举报
回复
[Quote=引用 5 楼 w583193259 的回复:]
嗯 ,我感觉你的方法可行!但这是控件啊,怎么放到公共的地方,做成用户控件?
[/Quote]
最简单的方法就是放到一个form上,然后别的form都调用这个form上的这个控件
比如放在mainfrm上,其他界面调用就用mainfrm.barcode.scan()
w583193259
2011-10-28
打赏
举报
回复
[Quote=引用 4 楼 skylkj 的回复:]
Barcode控件放到一个公共的地方,每个界面都去调用同一个Barcode控件
一般pda的扫码头都是串口连接的,独占方式,编程自然也不能放多个,否则切换肯定会很麻烦
[/Quote]
嗯 ,我感觉你的方法可行!但这是控件啊,怎么放到公共的地方,做成用户控件?
skylkj
2011-10-28
打赏
举报
回复
Barcode控件放到一个公共的地方,每个界面都去调用同一个Barcode控件
一般pda的扫码头都是串口连接的,独占方式,编程自然也不能放多个,否则切换肯定会很麻烦
woshi_ziyu
2011-10-27
打赏
举报
回复
在线程中监视UI,设置一个FLAG
w583193259
2011-10-27
打赏
举报
回复
但是用线程的话,具体应该怎么做呢?
QQ515311445
2011-10-27
打赏
举报
回复
像这种问题都是开一个线程来做,这样就不会阻塞UI线程,所以就不会感觉到卡
LED照明中的一种手机与
PDA
应用LED照明驱动电路的设计和实现
由于具备高照明
效率
、长效性与小体积,LED已成为便携式设备,如移动电话与
PDA
等的必然选择,约0.1W的低功耗白光LED目前正广泛应用在LCD显示面板的背光与键盘照明上,当然也可通过连接多颗LED带来较高的亮度作为临时...
和智云仓库管理系统(WMS)高保真原型设计 演示网页
2)利用
PDA
进行
扫码
核验,通过系统对库位进行计算,得到系统推荐库位,进行货品上架作业; 3)系统可预设多种常用上架规则,满足80%以上的使用场景。 2、出库功能: 1)操作区域接收包装完毕的订单,并对...
【uni-app】
PDA
扫码
枪获取
扫码
数据APP(通俗易懂),频繁弹软键盘等各种坑完美解决方法,附完整代码
uniapp
PDA
扫码
枪获取
扫码
数据APP(通俗易懂),频繁弹软键盘等各种坑完美解决方法
pda
扫码
焦点换成广播模式后的
效率
提升
uniapp
pda
【转】uni-app在手持
PDA
上的激光
扫码
完美解决方案
Celaraze25 9 月发布 #1 2020-09-25 16:16:45 已编辑手持
PDA
是 Android 平台,其
扫码
的解决方案也有摄像头和激光扫描等多种解决方案,这里结合 uni-app 的开发特性,以及自己踩过的坑,聊一聊具体的实现方案。...
嵌入开发(WinCE)
19,500
社区成员
41,567
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章