作者MrMarcus (请勿忘记密码)
看板Flash
标题Re: [问题] 条码机输入值
时间Sat May 2 23:26:36 2009
※ 引述《eva5418 (DK)》之铭言:
: 想请问条码机扫条码後的数字值
: 要怎麽传到flash里面判断呢
: 用的是AS2
: 谢谢
以前正好有做过一个在Flash里头读取条码机扫描资料的案子。
基本上条码扫瞄机大多都可以切换成模拟键盘输入的模式,
在这个模式下,你就可以在Flash里面透过Key物件的onKeyDown事件
来撷取条码扫瞄机扫描到的字元资料。换句话说,当你使用扫瞄机
扫描一个代表10的字元的条码,那麽在Flash里面你会接收到10次
onKeyDown事件(就类似於使用者在键盘上面按了10个按键)。
我当时搭配的扫瞄机还会在最後面加上一个enter键,因此我可以
透过检查enter键来判断条码是否已经扫描完毕。(你可以在记事本
里面扫描某个条码,然後看画面上出现的字串下面是否有一个空白行)
基本作法类似以下:
var keyBuffer:Array = new Array();
var keyListener:Object = new Object();
keyListener.onKeyDown = function():Void {
if(key.getCode() == Key.ENTER) {
// 条码扫描完毕,此时keyBuffer里面会有此次扫描得到的每个字元,
// 你可以针对这些资料做需要的处理。例如印出扫描得到的字元:
trace(keyBuffer.join(""));
// 处理完记得清除暂存区。
}
else {
// 将扫描到的字元放入暂存区
keyBuffer.push(Key.getCode().toString());
}
}
Key.addListener(keyListener);
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.64.235
1F:→ eva5418:好像会跟player的enter快捷键冲突, 05/03 14:45
2F:→ eva5418:所以侦测不到按下enter,有办法取消player的快捷键吗 05/03 14:45
3F:→ eva5418:自己解答:控制 / 停用快捷键 05/03 14:50