2016-05-03 6 views
5

私はRebolに単一のテキストファイルに基づいた簡単なチャットアプリケーションを書こうとしています。 "リアルタイム"でそのファイルを読むにはどうすればよいでしょうか?チャットアプリケーションのファイルをリアルタイムで読み取る方法は?

t1: text 600x300 wrap green black font-name font-fixed rate 1 feel[ 
    engage: func [face action event][ 
     if action = 'time [ 
      face/text: read chatText 
      show face 
     ] 
    ] 
] 

テキストフィールドは、ファイルの内容に毎秒更新される: は今、私はそれがこれで作業を持っています。これは複数のユーザーでも機能しますが、ファイル全体はすべてのユーザーごとに毎秒読み取られます。 このようなことをするより良い方法はありますか?

+1

ファイルを読み取る前にファイルが変更されているかどうかをチェックするだけではどうですか? –

答えて

2

info?の機能をご覧ください。 あなたはこのような何か行うことができます。

REBOL [] 
chat-file: %file.txt 
file-info: info? chat-file 
update-date: file-info/date 

view layout [ 
    t1: text read chat-file 600x300 wrap green black font-name font-fixed rate 1 feel [ 
     engage: func [face action event] [ 
      if all [ 
       action = 'time 
       file-info: info? chat-file 
       update-date < file-info/date 
      ] [ 
       update-date: file-info/date 
       face/text: read chat-file 
       show face 
      ] 
     ] 
    ] 
] 

をしかし、あなたは、あなたが複数のアプリケーションからファイルへの書き込みをする場合は注意する必要があります。

関連する問題