【コラム】

日本語で10行プログラミング

28 手紙のあいさつ文を作成するプログラム

    クジラ飛行机  [2005/08/19]

    暑中見舞いを書こうと思ったのですが、気づくと、残暑見舞いの季節になってしまいました。そこで、残暑見舞いを書こうと筆をとったのですが、なかなか筆が進みません。友人に書く手紙ならともかく、お世話になった人に書くとなると、一応の形式は取り繕わなくてはと思うものです。そこで、手紙の書き方などの本を手に取ることになります。

    手紙の組み立ての基本は、前文、本文、後付です。そして、前文には、「書き出し」「時候のあいさつ」「あいさつ」があり、よくある手紙の書き方の本には、様々な前文の例が載っています。そこで今回は手紙の前文を手軽に作成するプログラムを作ってみようと思います。

    画面デザインとプログラムの設計に関して

    手軽にあいさつ文が作れるプログラムを作るために、まず、利用画面から考えてみようと思います。こうした、ちょっとしたプログラムの使い勝手は、画面のデザインに左右されます。今回は、画面の大きさに合わせてリストボックスを設置します。そしてユーザーはそれを選択肢の中から選ぶだけであいさつ文をクリップボードにコピー出来るようにします。

    あいさつ文は、「書き出し」と「時候のあいさつ」と「あいさつ」の3つの部分から成り立っていますので、リストボックスを3つ設置します。それからクリップボードにコピーするための決定ボタンを1つ設置します。

    また、選択肢となるあいさつ文の文言は、プログラムと別に外部テキストファイルに用意することにします。このようにしておけば、後から書き加えや修正ができますので、改良が楽になります。

    あいさつ文をリストから選択することで手軽にあいさつ文を作成します

    プログラムの組み立て

    今回のプログラムの仕組みはとても単純です。リストボックスを3つ作り、そこへそれぞれ選択肢のテキストファイルを読み込みます。そして、ユーザーが選択肢を選んだ後、最後に決定ボタンを押した時に、リストボックスの内容をつなげて表示するようにします。

    では、プログラムの手順を箇条書きしてみます。

    1. リスト1を作り「書き出し」のファイルを読み込み表示
    2. リスト2を作り「時候のあいさつ」のファイルを読み込み表示
    3. リスト3を作り「あいさつ」のファイルを読み込み表示
    4. 決定ボタンを作る

    そして、ユーザーが決定ボタンを押したら、以下の処理を行います。

    1. リスト1、リスト2、リスト3のテキストを得て組み合わせる
    2. 作成したあいさつ文を画面に表示する

    10行プログラミング

    今回のプログラムを実行するには、それぞれ、あいさつ文の選択肢であるテキストファイルを用意する必要があります。以下に、あいさつ語句の例を用意しました。プログラムを実行するまえに、以下の「あいさつ.txt」「時候のあいさつ.txt」「書き出し.txt」の3つのファイルを用意してください。

    あいさつ語句の例(template.lzh)

    そして、以下のプログラムをこれらのファイルと同じフォルダに保存して実行します。

    挨拶1とはリスト。その幅は600。#1
    そのアイテムは「書き出し.txt」を読んだもの。#2
    挨拶2とはリスト。その幅は600。#3
    そのアイテムは「時候の挨拶.txt」を読んだもの。#4
    挨拶3とはリスト。その幅は600。#5
    そのアイテムは「あいさつ.txt」を読んだもの。#6
    決定ボタンとはボタン。#7
    これをクリックした時は~#8
      S=挨拶2。Sから「,」まで切り取る。#9
      「{挨拶1} {S}、{挨拶3}」を言う。#10

    プログラムの1行目から6行目までは、あいさつの選択肢であるリストボックスを作成し、そこに外部テキストファイルを読み込んで表示しています。

    「●●とはリスト」と書くことで、リストボックスを作成し、「その幅は●●」と書くことで、そのリストの横幅のサイズを調整します。そして、「そのアイテムは●●」で表示する内容を指定できます。ここでは、「「●●.txt」を読んだもの」と書いていますが、これはテキストファイルの内容を全部読み込んだものを指定するという意味になります。

    そして7行目では決定ボタンを作成し、8行目以降ではこれをクリックした時の動作を設定します。

    9行目では、リスト「挨拶2」の内容を加工しています。時候のあいさつのテキストは「月,内容」の形式にしてあるのですが、あいさつ文に月名は不要なので、月の部分だけ切り取っているのです。

    そして最後10行目では、「言う」命令を使って、画面にあいさつ文を表示しています。「言う」命令で表示した内容は、ダイアログを右クリックすることで、クリップボードにコピーすることもできますし、テキストエディタで編集することもできます。それで、完成したあいさつ文を目で確認してから、内容をコピーするかどうか決めらるのです。

    「言う」命令のダイアログを右クリックしたところ。コピーしたり内容を編集したりできます

    改造のヒント

    さて、10行のプログラムを改造して、より使いやすくする方法を考えてみます。

    まず、ここでは、「時候のあいさつ」の項目に、一年を通して全ての選択肢が並んでしまいました。これを季節ごとに選び出して表示すると選択肢が減って選択が簡単になります。上のプログラムの4行目を以下のように書き換えると、その月の選択肢だけが表示されます。

    「時候の挨拶.txt」を読む。
    0から「{今月}月」を表完全一致ピックアップ
    挨拶2のアイテムはそれ。

    次に、リストボックスの数ですが、「書き出し」「時候のあいさつ」「あいさつ」の3つだけでしたが、よりバラエティーに富んだあいさつ文を作れるようにするには、さらにリストボックスを増やして「ご機嫌伺い」や「当方の状況」などのリストを追加してみてはどうでしょう。

    最後に~自作ソフトで個性を演出

    暑中見舞いも、年賀状も、電子メールで出すという時代になって、あいさつ文は、簡素化され、どうしても、ありきたりの文面になりがちです。しかし、自作のあいさつ文作成ソフトと豊富な語句の選択肢を用意すれば、より心にぴったりくるあいさつ文が作れるだろうと思います。

    新着記事

    特設サイトの情報

      人気記事

      一覧

        イチオシ記事

        新着記事

        特別企画

        マイナビニュースマガジン