TeamKNOx WEB-Site
Last Update : 2005/Sep/05
NextTrain60
NextTrain60
機能
進捗状況
インストール
使用方法
ダウンロード
トラブルシューティング
FAQ
今後
謝辞
<<戻る

    NextTrain NextTrain

    生活に役立つ小粋なアプリ〜考えてみると、ちょっと難しいかも?日常の行動を思い起こしてみて、こんな時にあんなモノがあれば…と言うのはけっこうある。そんなシーンを回想して作ってみる。

    • 終電の発車を気にしながら、階段を一段飛ばしで駆け上がり、時刻表を確認しながら財布から小銭を出すのももどかしく切符を買う…。

      あるいは

    • 少し早目に会社をハネてから、駅までの帰途で何分の電車に乗れるか…?を考えている。

    こういう時には痛切に時刻表が欲しくなる。ちょっと前までは小さな携帯のディスプレイでブラウザのキーを何回も押したりして確認していたけど、終電を調べるときは既にテンパっている。こういう時にいちいち駅名をフルネームで入れさせるなよ…って感じ。


  • NextTrain60

    Pythonベースの702NK 用のNextTrain は既に開発されている。Python ベースと言うことで俺自身は腰が引けた。(Python そのものは気に入っているし、インストールもしているが…。)ネイティブで作れないだろうか?と言うことで挑戦することにした。生活に役立つ小粋なアプリを開発するわけだ。


  • 機能

    テンパっている状況下で使えるように、極力シンプルにする。

    • 起動時にすぐに時刻表が現れるようにする

    • 複数の時刻表を選べるようにする

    既存のツールで生成した時刻表ファイルを最低限の修正で利用できるようにする


  • 進捗状況

    • 2005/May/11

      基本部分は完成したが、時刻表ファイルを読み込んでリストに展開する部分(CTimeTableEngine)がまだ練りきれていない。以下の不具合がある。

      • データファイルの追加工が必要
      • 1時間単位でしか、データが読めない
      • Eドライブのファイルをうまく読み込めない。
      • **:58, **:59 などそれ以降にデータが無いときは起動しない

      改善点…ロジックの不具合ではないが、使い勝手を向上させるため

      • タイトルを出すときの改行位置を的確にする
      • 時刻表示
      • 残り時間の表示方法(のこり0分からでなく、のこり1分)

    • 2005/May/17

      完成。CTimeTableEngine を全て書き換えて、高速かつコンパクトにした(当社比50%減)。修正点は以下のとおり

      • データファイルの追加工が不要。(UTF-8の必要あり)
      • 直近〜59分後までのデータを連続表示
      • インストールドライブはE:に固定

      改善点と新機能

      • タイトルの途中に "\n" を入れてみたが、改行しなかった。
      • 詳細モード中でOKボタンを押すと時刻表示
      • 任意の曜日・時間に設定可能。

    • 2005/May/18

      改善点

      • 行先や車両名を表す a-z の最後が ; で終わって無くても認識できるようにした。
      • 行先や車両名が組み合わさらない場合もデータを構築できるようにした。

    • 2005/May/19

      改善点

      • default.tbl が制限サイズ(8192バイト)を超えた場合に警告を出すようにした。

    • 2005/May/20

      改善点

      • アルファベットを含んでいない分のみのデータでも表示できるようにした。

    • 2005/May/21

      改善点

      • 辞書バッファの容量増大。
      • 現在時刻確認後に時刻表の残り時間を更新するようにした。

    • 2005/May/22 (Ver.1.3 build 0)

      改善点

      • 選択した時刻表が default.tbl として所定のフォルダにコピーされる。→最後に開いたファイルが起動時に開く。

    • 2005/Jun/03 (Ver.1.3 build 1)

      改善点

      • 時刻表バッファの容量増大。

    • 2005/Jun/27 (Ver.1.3 build 2)

      改善点

      • 2 phase constructor 周りの処理改善

    • 2005/Sep/05 (Ver.1.3 build 3)

      改善点

      • 時刻表ViewのUIの変更。戻るボタンで詳細Viewに移動するようにした。


  • インストール(重要!!)

    インストールに失敗するとシステムに重大な損害が発生する場合があります。

    • データの準備
      • データの作成

        データの作成は時刻表変換エクスプローラ「TrainConv Explorer」を用いて作成する。ぱっと見は難しそうだが、直感的に操作できる。筆者自身はこれで作成したデータしか検証していないため他のソフトで作成したデータでは不具合が出るかもしれない。

      • UTF-8 変換 行末記号CR+LF

        時刻表変換エクスプローラ「TrainConv Explorer」は UTF-8(BOM付) 出力をサポートしていない(現在-2005/May/17 作者の方に対応をお願いしている。)ので自分で変換する。筆者は確認の意味も込めて、エディターで開いて UTF-8(BOM付) でセーブしなおしている。ちなみにエディターは TeraPad である。このエディターは漢字コード行末コードを同じダイアログで確認できるので便利である。

      • データのインストール

        本ソフトはE:ドライブのみに対応している。データの格納場所は決まっているので注意すること。これから、先の作業はメモリカードリーダ・ライターがあると作業しやすい。(以下の作業はPC上のメモリカードR/Werで行っているため、端末上ではE:ドライブがI:となっている。)

        1. フォルダの作成
          • System と同列にNextTrain60を作成する。 NextTrain
          • NextTrain60内にtblsを作成する。 NextTrain
        2. 時刻表のインストール NextTrain

          時刻表変換エクスプローラ「TrainConv Explorer」で作成した時刻表をインストールする。作成時に自由な名前(日本語可)を付けてセーブする。UTF-8(BOM付)への変換を忘れないこと。"E:\NextTrain60\tbls"に格納する。

    • ソフトのインストール

      他のソフトと同様にHalWin でインストールする。インストールドライブはE:にすること。

    • データの消去(アンインストール時)

      HalWin でインストールした場合、ソフトのアンインストールは自動で行われる。データはマニュアルで消去する必要がある。


  • 使用方法

    時刻表のデータテーブルファイルが無事にインストールできれば特に説明しなくても操作できると思う。

    • 時刻表選択モード(インストールして初めて起動したとき)

      NextTrain
      初めて起動したときはこのモードになる。(Ver.1.3 以降)まだ、default.tbl が E:\NextTrain60\ に作成されていない状態である。以降の操作で default.tbl が作成される。

    • 詳細モード(2回目以降の起動時
      • 現在時刻モード

        NextTrain NextTrain
        現在の時刻から60分以内の運行予定を表示する。

      • 閲覧モード NextTrain

        休日が厳密に定義できなかったり、現在時刻とは違う時間の運行を確かめたいときに使う。このモードになっていると残り時間が "*****"で表示される。

        • 曜日

          NextTrain NextTrain
          任意の曜日が設定できる。曜日設定は「現在時刻モード」に戻しても有効。

        • 時間

          NextTrain NextTrain
          任意の時間帯のデータが閲覧できる

    • 時刻表選択モード

      NextTrain
      予め使う予定の時刻表をメモリカードに入れておく。


  • ダウンロード

    ダウンロード


  • トラブルシューティング

    • default.tbl が UTF-8 でない場合

      NextTrain
      対策:UTF-8 でセーブしなおす。

    • default.tbl のサイズが制限サイズを超えたとき

      対策:作者へ連絡


  • FAQ

    1. 時刻表示で **:** ではなく、**.** になっているのはなぜ?

      リストボックスで時刻表示を伴う物はこうなる。

    2. 画面が自動更新しないのはなぜ?

      消費電力を抑えるためにこの仕様にしている。詳細モードの時にOKキーで現在時刻が表示され、詳細モードに戻る時に画面の更新が行われる。

    3. UTF-8(BOM付)を利用しているのはなぜ?

      確実にユーザとシステムにUTF8であることを認識させるためにこの仕様にしている。


  • 今後

    以下のように改良していきたい。

    1. ディレクトリ内のファイルも読めるようにする。→鉄道会社や駅名でフォルダ分けできる。


  • 謝辞

    本ソフトのアイコンには Justani氏のアイコンを利用させてもらっている。まだ、出来るかどうかもわからないソフトでの利用を快諾していただいた。また、データの作成は時刻表変換エクスプローラ「TrainConv Explorer」を利用させてもらっている。作者の方にこの場を借りてお礼を申し上げる。


頁の先頭
織田裕一へメール


Copyright (C) 1998 - 2005 TeamKNOx