作者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
→ eva5418:好像會跟player的enter快捷鍵衝突, 05/03 14:45
→ eva5418:所以偵測不到按下enter,有辦法取消player的快捷鍵嗎 05/03 14:45
→ eva5418:自己解答:控制 / 停用快捷鍵 05/03 14:50