board


このプログラムは、クリップボードにコピーされたテキストデータの履歴情報を管理します。Unicode版とANSI版があり、Unicode版はboarduという名前になっていますが、使われている文字コードの違いを除けば、両者の動作は同じです。

 

概要

Windowsのクリップボードに同時に格納されているデータは1つだけです。今クリップボードにあるデータがクリップボードにセットされる前にクリップボードにあったデータは、今のデータがクリップボードにコピーされたときに消されてしまっています。は、この通常なら消されてしまうデータを取っておいて、あとで再び使えるようにします。

ウィンドウは、大きく上半分と下半分に分かれます。上半分には、かつて(そして現在)クリップボードにセットされていたデータのリストが表示されます。1番のデータは、現在クリップボードにセットされているデータで、ワープロやテキストエディタなどのプログラムで「貼り付け」コマンドを選択すると、この内容が貼り付けられます。クリップボードが空の場合や、クリップボードにテキスト形式のデータが含まれていない場合には、1番の内容は空になります。2番以下のデータは、かつてクリップボードにセットされていたデータです。クリップボードに新しいデータがセットされるたびに、1番が2番、2番が3番というように下に移動していきます。つまり、番号が大きいほど古いデータ、小さいほど新しいデータと言うことができます。

リストにはカーソルがあり(上の図では2番のデータのところにセットされています)、カーソルがセットされているデータを選択されているデータと呼びます。下半分のウィンドウには、選択されているデータの先頭4KB分が表示されます。また、ステータスバーには、選択されているデータのサイズが表示されます。

F6」キーを押すと、上のウィンドウと下のウィンドウの間で入力フォーカスが切り替えられます(キーボードの入力が送られるウィンドウを入力フォーカスを持つウィンドウと呼びます)。入力フォーカスが上のウィンドウにあるときには、「」、「」、「Page Up」、「Page Down」、「Home」、「End」キーでカーソルを移動できます。また、「Enter」キー(あるいは、「Ctrl」を押しながら「C」)を押すと、そのときに選択されていたデータがクリップボードにセットされます。たとえば、10番のデータが選択されているときに「Enter」キーを押すと、10番が1番に移動し、1番は2番、2番は39番は10番に移動します。ワープロやテキストエディタで「貼り付け」コマンドを選択すると、新しく1番になったデータが貼り付けられます。「Delete」キーを押すと、選択されていたデータがリストから消去されます。

入力フォーカスが下のウィンドウにあるときには、「Shift」キーを押しながら「」、「」キーを押すことによって、テキストの一部を選択できます。テキストを選択した状態で「Ctrl」を押しながら「C」を押すと、選択された部分だけがクリップボードにセットされます。「Delete」キーを押すと、上のウィンドウで選択されているデータが消去されます(つまり、上のウィンドウが入力フォーカスを持っているときと同じ動作になります)。

ファイルメニュー

特に指定しなければ、が管理しているデータは、が終了したときに捨てられてしまいます。しかし、「ファイル」メニューの「名前を付けて保存」コマンドを選択すると、お馴染みの「名前を付けて保存」ダイアログボックスがオープンされます。ここで、出力ファイル名を指定すると、そのときのが管理しているすべてのデータがそのファイルに格納されます。

名前を付けて保存」コマンドの上にある「上書き保存」コマンドの意味は、通常のアプリケーションとは異なります。には、デフォルト保存ファイルという概念があります。特に名前を指定しなければ、このデフォルト保存ファイルが読み書きされます。「ファイル」メニューの「開く」、「上書き保存」コマンドはこのデフォルト保存ファイルの読み書きを指示するコマンドになっています。デフォルト保存ファイル以外のファイルを読み出すときには、「名前を指定して開く」コマンドを使います。

デフォルト保存ファイルは、「設定」ダイアログボックスで指定します。「設定」ダイアログボックスは、「編集」メニューの「設定」コマンドを選べばオープンされます。「設定」ダイアログボックスでデフォルト保存ファイルを設定すると、自動保存、自動ロードを行うかどうかも指定できるようになります。自動保存、自動ロードを行うように指定すると、起動時にかならずデフォルト保存ファイルを読み出し、終了時にかならずデフォルト保存ファイルに履歴データを保存します。なお、起動時には、自動ロードが指定されているかいないかにかかわらず、リストの1番にかならずそのときのクリップボードの状態が表示されます。テキスト形式のデータがセットされていたらその内容が表示され、そうでなければ1番は空欄になります。

ファイルは、間にNULL文字(\0)を挟んで個々のアイテムを並べただけの単純な形式です。テキストエディタでもオープンできますが、編集して保存すると、おそらくNULL文字が取り去られてしまいますので、の入力ファイルとしては役に立たないものになってしまいます。od –s)の入力ファイルとして通常のテキストファイルを渡しても何も表示されませんが、このファイルにはNULL文字が含まれていますので、すべての内容が表示されます。

編集メニュー

ファイル」メニューコマンドは、ファイルについて説明したところですべて説明しましたので、メニューコマンドの説明は「編集」メニューから始めます。「コピー」、「削除」コマンドは、概要で説明したキーボードの「Ctrl+C」、「Delete」キーと同じ意味を持ちます。つまり、「コピー」コマンドは、入力フォーカスが上のウィンドウにあれば、カーソルがセットされているアイテムをクリップボードにコピーし、入力フォーカスが下のウィンドウにあれば、下のウィンドウで選択されているテキストをクリップボードにコピーします。「削除」コマンドは、入力フォーカスが上下のどちらのウィンドウにある場合でも、カーソルがセットされているアイテムを削除します。「コピー」操作は、上のウィンドウのアイテムをダブルクリックすることによっても実行できます。

コピー」、「削除」操作には、微妙なポイントが1つあります。それは、再三説明してきたように、リストの1番は実際にクリップボードにセットされているのに対し、2番以下はただの履歴データに過ぎないという違いによるものです。今まで説明してきたのは、2番以下のアイテムのコピー、削除の動作でしたので、ここで1番アイテムのコピー、削除について説明しておきます。1番のアイテムのコピーは、実際には何もしません。プログラムが壊れたり、そんなことをしてはいけないというメッセージが表示されたりはしませんが、1番のアイテムをコピーしようとしても、何もしないのと同じです。1番のアイテムの削除は、クリップボードを空にします。リストの1番は空欄になり、ワープロやテキストエディタで「貼り付け」コマンドを実行しようとしても、実行できなくなります。「削除」操作でクリップボードが実際に変更されるのは、この1番アイテムの削除のときだけです。

全削除」コマンドは、2番以下のアイテムを削除します。このコマンドでわざわざクリップボードを空にする必要は感じなかったので、1番のアイテムは削除されないという動作にしました。これは、「ファイル」メニューの「開く」、「名前を指定して開く」を選択したときに、ファイルの内容を読み出す前に行う処理と同じです。

エントリ追加休止」コマンドをチェックすると、クリップボードに新しいテキストデータがコピーされてきても、リストを更新しなくなります。また、「コピー」コマンドが無効になります。「エントリ追加休止」コマンドがチェックされているときには、次のようにタイトルバーに(エントリ追加休止中)という文字列が追加されます。同じコマンドをもう1度選択すれば、リストの更新を再開します。「F8」キーを押せば、「エントリ追加休止」コマンドを選択したのと同じ効果になります。

 

検索

 

編集」メニューの「検索」、「下候補」、「前候補」コマンドは、リスト内で特定の文字列を含むアイテムを探します。まず、「検索」コマンドを選択すると、上に示すような標準の検索ダイアログボックスが表示されます。ここに探したい文字列を入力し、検索する方向を指定して、「次を検索」ボタンを押すと、指定した文字列を含むアイテムにカーソルが移動します。「大文字と小文字を区別する」をチェックしなければ、大文字/小文字の違いだけではなく、ひらがなとカタカナの違いも区別せずに探します。しかし、1バイト文字と2バイト文字の区別はします。

検索」ダイアログボックスは、いわゆるモードレスダイアログですので、クローズしなくても、メインダイアログに入力フォーカスを戻して、リストを操作することができます。しかし、「検索」ダイアログボックスをクローズしても、「下候補」、「前候補」コマンドを実行すれば(あるいは、同じ意味を持つ「F3」、「Shift」を押しながら「F3」キーを押せば)、前回「検索」ダイアログボックスで指定した文字列を検索します。

設定

 

編集」メニューの「設定」コマンドを選択すると、上のようなダイアログボックスが表示されます。上半分は、「ファイル」の項でも説明したデフォルト保存ファイル関連の設定をします。「選択」ボタンを押すと、「名前を付けて保存」ダイアログボックスが表示されます。ファイルを選択して「OK」ボタンを押して「boardの設定」ダイアログボックスに戻ると、「選択」ボタンの下の読み出し専用エディットボックスにデフォルト保存ファイルのパスが表示されます。「名前を付けて保存」ダイアログボックスを使っていますが、ファイルを選択してもすぐにデータが保存されるわけではありません。「クリア」ボタンを押すと、エディットボックスは空欄になります。エディットボックスが空欄のまま「OK」ボタンを押して「boardの設定」ダイアログボックスをクローズすると、デフォルト保存ファイルは指定されていないということになり、「ファイル」メニューの「開く」、「上書き保存」コマンドを選択しても、エラーメッセージが表示されるようになります。しかし、「キャンセル」ボタンを押して「boardの設定」ダイアログボックスをクローズした場合には、「boardの設定」ダイアログボックスで操作した内容はすべてキャンセルされます。「boardの設定」ダイアログボックスをオープンする前にデフォルト保存ファイルが設定されていれば、デフォルト保存ファイルを空欄にしても、「キャンセル」ボタンを押して「boardの設定」をクローズすれば、デフォルト保存ファイルの設定は残ります。

デフォルト保存ファイルを設定すると、「自動保存、自動ロードを行う」チェックボックスが有効になります。このボックスをチェックすると、を起動したときにデフォルト保存ファイルを読み出し、終了したときにそのときの履歴情報の内容をデフォルト保存ファイルに書き出します。

管理する履歴数の上限」は、10から2000までの間の数字にすることができます。たとえば300個の履歴情報があるときに、この数字を200にしても、201個目から300個目までの履歴情報をただちに削除するようなことはしません。次に保存されている履歴情報を読み出そうとしたときに、新しい上限の数までしか履歴情報をロードしなくなるだけです。逆に、大きくした上限はただちに有効になります。

履歴に追加するデータの最大サイズを設定する」をチェックすると、下のエディットボックスとラジオボタンが有効になります。この数値以上のサイズのデータは、履歴に追加されません。単位は、バイト、Kバイト、行から選ぶことができます。たとえば、1行にした場合、改行が含まれているデータは履歴リストに新しく追加されません(ただし、既存のリストに含まれているものは、新しい条件設定によってリストに追加されるべきでないデータになったとしても、すでにリストに追加されていますので、リストから取り除かれることはありません)。

履歴に追加するデータの最小サイズを設定する」は、最大サイズではなく、最小サイズを指定することを除けば、「履歴に追加するデータの最大サイズを設定する」と同じです。

重複するエントリを追加しない」をチェックすると、すでに履歴データに含まれているものとまったく同じデータは追加されなくなります。すでに履歴内にある重複は取り除かれません。

表示メニュー

このメニューでは、チェックされているコマンドを選択するとチェックが外れ、チェックされていないコマンドを選択するとチェックが付きます。

ツールバー」、「ステータスバー」コマンドがチェックされているときにはツールバー、ステータスバーが表示されます。ツールバーには、「ファイル」メニューの「名前を指定して開く」、「上書き保存」、「編集」メニューの「コピー」、「削除」、「検索」、「ヘルプ」メニューの「boardのバージョン情報」コマンドと同じ意味を持つボタンが含まれています。

一番上へ」コマンドをチェックすると、ほかのアプリケーションを選択しているときにも、そのアプリケーションの上にのウィンドウが表示されるようになります。「F2」キーを押せば、「一番上へ」コマンドを選択したのと同じ効果になります。

わかっている問題点

プログラムのなかでは「編集」メニューの「エントリ追加休止」コマンドを無効にするような処理は行っていないのですが、何かの加減でこのコマンドが無効になっていることがあります。この場合、リスト内でカーソルを移動すると、復旧されることが多いようです。また、リストからクリップボードに戻したはずのアイテムがリストの1番に表示されないこともあります。このような場合には、1度終了してまだ起動してください。当然ながら、これらがシステム全体に悪影響を及ぼすようなことはありませんが、まだ問題を起こす原因が特定できておりません。申し訳ありませんが、一応そういう問題点があるということを意識してお使いいただければ幸いです。