ruby (windows)

rubyですよ。xpにバーコードリーダをクッツケテ、読み込んでみます。磁気カードリーダみたいですが、バーコードリーダなのです。USB-RS232Cアダプタ経由でRS232Cにします。USB経由だとkeyboardインタフェースで読めるので何も必要ないのですが、windowsの場合、frontに無いと動けないので、backgroudで動作できるようにRS232C経由なのです。
20080808-p1003432.jpg
Ruby-mswin32 (ja)をdonwloadして解凍します。マイコンピュータ・プロパティ→詳細設定→環境変数で解凍した所にpathを通します。
ここのlibraryを使用して、ごにょごにょやります。受信やらCRの処理で手間取りましたが、何とか。rubyは初めてなので変なcodeかもしれませんが、許して。動けば勝ち。

require "wincons"
require "wincom"
class BCR
def initialize
@con1 = Console.new
@com5 = Serial.new
end
def Open
ir = @com5.open(5, 0x1807, 9600, 8, 0, 0, 256, 256)
return ir
end
def Close
@com5.close
end
def main
rc = @com5.receive
if rc != nil
print rc
for ia in 0..(rc.length - 1) do
if rc[ia].chr == "\r"
print "\n"
end
end
end
ca, = @con1.keyin
if ca == "e" || ca == "E"
return 1
end
return nil
end
end
b  = BCR.new
ic = b.Open
if ic != nil
print "open error"
end
while ic == nil
ic = b.main
sleep 0.01
end
b.Close

鎌倉観光 深谷霊園