SSブログ

リスナーの一括登録 [python]

昨日はリスナーは一つ一つのように書いてしまいましたが、1つのリスナーに多くのメモリーを監視させることが出来ました。


memoriList = ['IM:AUTO:0005', 'IM:AUTO:0004', 'IM:AUTO:0020', 'IM:AUTO:0019', 'IM:AUTO:0018', 'IM:AUTO:0014', 'IM:AUTO:0013', 'IM:AUTO:0012', 'IM:AUTO:0021', 'IM:AUTO:0022', 'IM:AUTO:0011', 'IM:AUTO:0010', 'IM:AUTO:0009', 'IM:AUTO:0023', 'IM:AUTO:0024', 'IM:AUTO:0001', 'IM:AUTO:0002', 'IM:AUTO:0003', 'IM:AUTO:0015', 'IM:AUTO:0016', 'IM:AUTO:0017', 'IM:AUTO:0008', 'IM:AUTO:0007', 'IM:AUTO:0006']

a = mListener()

for i in memoriList:

     memories.provideMemory(i).addPropertyChangeListener(a)


たった、これだけ。(リストは既存のスクリプトから)

読み出すためのクラスは

class mListener(java.beans.PropertyChangeListener):

     def propertyChange(self, event):

          if event.newValue != "":

               print event.newValue


event.newValueで新しく入った値を読み出せます。
どれに入ったかは
event.source.systemNameで取り出せます。

print event.source.systemName, "が", event.oldValue, "から", event.newValue, "に変わりました。"
のように使えます。
event.newValueには制御すべき列車のIDがはいってますから、これを使ってスロットル値を変えます。

タグ:Python
nice!(1)  コメント(1)  トラックバック(0) 

nice! 1

コメント 1

pururu

トータン様、niceありがとうございました。
by pururu (2013-05-17 09:07) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。