メーリングリストのソート

飯島康之
目的


matheduのようなメーリングリストの場合, cmd address 命令をメールすると,リストが送られてきます。しかし,登録順のままで送付されるため,全体として,どのようなメンバーが入っているのか,よく分かりません。
理解するためのの方法は,そのリスト自体を分析することですが,もう一つの方法は,そのリストをソートすることでしょう。しかし,メールアドレスをそのままソートしても,使い物になりません。そこで,二つの方法を考えて実装してみました。


QBでなくVBで作ってみる


これまでは,この手のツールはQBで作ってきました。
しかし,今回は,次の理由で,VBにしてみることにしました。
  • ソースはMailで,Windows環境の中で使っているから,Winアプリになっているが便利。
  • 今後の開発がVB中心になるであろうことを考えると,「練習」になる。
  • ゼミの学生なども,VBなどを使う人が出てくるが,今まで,あまり手作りの事例を持っていなかったので,そういう事例として使うために。


    QBとVBの違い


    次のような点が異なるように感じました。
  • QBでは「ファイル」の入出力が基本だが,VBでは,「クリップボード」経由が多そう。
  • QBでは,テキストデータは「改行」ごとに別のデータだが,VBでは,改行コードも含めて,一つのテキストとして扱う。 特に,後者の方は,慣れないときは,ちょっと面倒でした。しかし,ユーザーの目から見れば,テキストボックスがあって,マルチラインで使う方が自然なわけですから,「移行せざるをえないな」という感じです。


    Reverse & Sort 1.0


    まず,最初のものは,
  • テキストボックス1に入力
  • それぞれの行の文字列を Reverse して,テキストボックス2へ出力。
  • テキストボックス2のリストをソートしたものをテキストボックス3へ出力。 ということにしました。文字列を Reverse するだけでも,メールアドレスの場合,ある程度実用的なソートになりました。



    Reverse & Sort 1.1


    しかし, Reverse のソートという機能は,やはりちょっといやです。
    そこで,メールアドレスに適した形でReverseするようにしたのが,次の1.1です。
  • テキストボックス1に入力
  • それぞれの行の文字列を Reverse して,テキストボックス2へ出力。
  • テキストボックス2のリストをソートしたものをテキストボックス3へ出力。 という形態は変えません。

    本来は,ファイル入出力も考慮するといいのでしょうが,「ソフト作りとしての簡単さ」を重視して,ここまでで,一旦終わりにすることにしました。


    データなど