以下、本発明の一実施の形態を図面を参照しつつ説明する。なお、以下の説明において、電子機器としてのラベル作成装置1について「上」、「下」、「前」、「後」、「幅」というときは、ユーザの手によって把持された通常の使用状態におけるユーザ目線における図1中に示す矢印方向に各々対応し、ラベル作成装置1について「厚さ」というときは、前後方向の厚さを指すものとする。
<ラベル作成装置の全体構造>
図1に示すように、ラベル作成装置1は、ユーザの手によって把持されるハンディ型の電子機器である。ラベル作成装置1は、装置本体2と、この装置本体2の後部面に着脱自在に取り付けられるカバー3とを備えている。
装置本体2は、薄厚で上下方向に長い扁平な略直方体形状を有しており、装置本体2の前面には、上部に印刷データや設定画面(データベースを含む)等を表示するための液晶表示手段としての液晶表示部4が設けられ、液晶表示部4の下側に、ラベル作成装置1を操作するためのキーボード部5が設けられている。このキーボード部5には、文字や記号、数字等の文字キー、及び種々の機能キーを含むキー群が配置されている。また装置本体2の幅方向一方側(図1中左側)の側壁部2aの上部には、図示しない印刷済みラベル用テープを切断するためのカット操作レバー6が設けられている。
<制御系>
次に、図2を用いて、印字ラベル作成装置1の制御系について説明する。なお、図2中に示す矢印は信号の流れの一例を示すものであり、信号の流れ方向を限定するものではない。
図2において、印字ラベル作成装置1は、所定の演算を行う演算部を構成するCPU10を有している。
CPU10は、RAM11の一時記憶機能を利用しつつROM12に予め記憶されたプログラムに従って信号処理を行い、それによって印字ラベル作成装置1全体の制御を行う。
また、CPU10は、図示しない被印字媒体を搬送する搬送手段としてのプラテンローラ等を駆動する駆動モータ13の駆動制御を行うモータ駆動回路14と、被印字媒体に対し所望の印字を行う印字手段としてのサーマルヘッド15の複数の発熱素子の通電制御を行うサーマルヘッド制御回路16とに接続され、これらを制御している。さらに、CPU10は、液晶表示部4の表示状態を制御する表示制御回路17に表示制御情報を出力する。
これらCPU10、モータ駆動回路14、サーマルヘッド制御回路16に、電源としての乾電池7の正極側が接続され、負極側は接地(グランド)されている。
さらに、CPU10には、キーボード部5と、RAM11と、ROM12と、が接続されている。ROM12には、各種の処理を実行するための制御プログラムが記憶されている。また、ROM12には、複数のフィールドに対し文字列データをそれぞれ割り当てた複数のレコードを含むとともに全文字列データの内容を複数行×複数列のセルによりマトリクス形式に展開して液晶表示部4に表示するためのデータベースを記憶している。そして、液晶表示部4は、所定面積の表示領域を有し、ROM12に記憶されたデータベースの内容のうち表示領域に対応した一部分をマトリクス形式で表示する(後述の表示データベース30)ように表示制御回路17に表示制御される。
また、CPU10は、周知のラベル作成機能に加え、例えば、ROM12に記憶したデータベースの各レコードに含まれる文字列データを適宜に使用して印字ラベル(図示せず)を作成することができる。
一方、液晶表示部4には、例えば、利用者がデータベース表示モードやデータベース編集モード等を選択すると、CPU10は、図3に示すように、表示データベース30を表示させるように表示制御回路17を制御する。この表示データベース30は、例えば、利用者がキーボード部5の『Esc』キーを押下すると、CPU10は、データベース選択モード(データベース検索モード)へと移行する。なお、以下の説明においては、利用者の操作の際にキーボード部5の各種キーを押下することによってCPU10が文字列検索に関する各種制御を実行する。このため、検索文字入力手段としてのキーボード部5を用いて利用者が操作するキーに関しては二重の鍵かっこ『』付のキーとして説明し、キーボード部5に配置しているキーである旨の説明は省略する。また、検索文字を示す場合には単なる鍵かっこ「」で示し、CPU10が検索するROM12に記憶したデータベースの文字列(文字データ)には二重引用符号“”で示す。
なお、図3の左最上段に示した液晶表示部4における表示データベース30の表示状態は、液晶表示部4の表示可能範囲との関係から、ROM12に記憶したデータベース(以下、単に「データベース」と称する)に基づいて、複数のフィールドに対し文字列データをそれぞれ割り当てた複数のレコードを含むとともに全文字列データの内容を複数行複数列のセルによりマトリクス形式に展開した一部を表示するように表示制御回路17によって制御されている。また、図3の左最上段に示した液晶表示部4の表示状態のうち、太枠のセルは選択中のセルを示す。なお、図示はしていないが、その選択中のセル内には、文字の入力位置や挿入・上書きモードを利用者に認識させるためのカーソル(縦線や下線)が点灯又は点滅等により表示される。
ここで、検索文字が「B」であった場合、利用者が『B』キーを入力すると、CPU10はデータベース内の“B”が含まれる文字列のセルをデータベースの先頭から検索する。そして、CPU10は、文字列“B”がヒットした場合は、表示制御回路17に検索結果の制御信号を出力する。表示制御回路17は、その制御信号に基づいて、例えば、図3の左2段目に示すように、先頭に一番近いセルにカーソル(上述した太枠のセル)を移動させるとともに、液晶表示部4においてヒットした検索文字「B」を表示色反転させる。
また、検索文字が「I」であった場合、利用者が『I』キーを入力すると、CPU10はデータベース内の“I”が含まれる文字列のセルをデータベースの先頭から検索する。そして、CPU10は、文字列“I”がヒットしなかった場合は、表示制御回路17に検索結果の制御信号は出力しない。表示制御回路17は、制御信号が入力されないため、図3の右最上段に示すように、カーソル(上述した太枠)の移動及び反転表示は行わず、そのままの表示状態を維持する。
また、CPU10は、検索文字がヒットした場合(例えば、上述した検索文字「B」)、入力した検索文字「B」の文字列“B”をRAM11に記憶する。
次に、利用者が検索文字「B」に加えて検索文字「R」を含ませて絞り込みを行うために『R』キーを入力すると、CPU10は、データベース内の文字列“BR”が含まれるセルをデータベースの先頭から検索する。CPU10は、文字列“BR”がヒットした場合は、表示制御回路17に検索結果の制御信号を出力する。表示制御回路17は、その制御信号に基づいて、例えば、図3の左3段目に示すように、先頭に一番近いセルにカーソルを移動させるとともに、ヒットした検索文字「B」を反転表示させる。
また、利用者が検索文字「B」に加えて検索文字「A」を含ませて絞り込みを行うために『A』キーを入力すると、CPU10は、データベース内の文字列“BA”が含まれるセルをデータベースの先頭から検索する。CPU10は、文字列“BA”がヒットした場合は、表示制御回路17に検索結果の制御信号を出力する。表示制御回路17は、その制御信号に基づいて、例えば、図3の右2段目に示すように、先頭に一番近いセルにカーソルを移動させるとともに、ヒットした検索文字「BA」を反転表示させる。
ここで、利用者は、データベース検索において、検索文字「BA」が間違えであると確認した場合、バックスペースキーである『BS』キーを入力して、検索文字「B」に戻すと、CPU10は、表示制御回路17に制御信号を出力する。表示制御回路17は、その制御信号に基づいて、例えば、図3右3段目に示すように、再び元のセル位置にカーソルを移動させ、他の検索文字を対象とするデータベース検索を継続を可能とする。
さらに、CPU10は、検索文字がヒットした場合(例えば、上述した検索文字「BR」)、入力した検索文字「BR」の文字列“BR”をRAM11に記憶する。
CPU10は、検索文字がある場合は、入力した検索文字をRAM11に記憶する。この例の場合は“BR”をRAM11に記憶する。
また、利用者が検索文字「BR」に加えて検索文字「O」を含ませて絞り込みを行うために『O』キーを入力すると、CPU10は、データベース内の文字列“BRO”が含まれるセルをデータベースの先頭から検索する。CPU10は、文字列“BRO”がヒットした場合は、表示制御回路17に検索結果の制御信号を出力する。表示制御回路17は、その制御信号に基づいて、例えば、図3の左4段目に示すように、先頭に一番近いセルにカーソルを移動させるとともに、ヒットした検索文字「BRO」を反転表示させる。
CPU10は、検索文字がある場合は、入力した検索文字を記憶する。この例の場合は“BRO”をRAM11に記憶する。
利用者は、ここでデータベースの検索文字列を「BRO」とし、現在選択中のセル(行)とは異なる検索文字列を検索する場合には、例えば、『Database』キーを押下する毎に、CPU10は表示制御回路17に制御信号を出力する。表示制御回路17は、その制御信号に基づいて、例えば、図3の左5段目および6段目に示すように、CPU10は、次の検索文字列「BRO」のセルにカーソルが移動させるとともに。移動先のセルの検索文字「BRO」を反転表示させる。
なお、CPU10のデータベース検索は、初めにヒットした検索文字のセルから右方向、すなわち、行方向に順にスキャンを実行し、その後は、ラベルタイプへの流し込まれる順番と同じ方向にスキャンを実行する。また、フィールドの段も検索対象とする。さらに、CPU10は、データベース表示モードの場合には、範囲指定の開始位置を確定した後は、文字列検索はできないようにする。
このように、CPU10は、ROM12にマトリクス形式で記憶したデータベースのレコードに含まれる文字列データに対する検索を実行するための検索条件となる、少なくとも1つの検索文字がキー入力されると、マトリクス形式のデータベース中の複数のセルのうち、検索文字を備えた文字列を含むセルを検索し、その検索結果に応じて、表示制御回路17に検索結果の制御信号を出力する。表示制御回路17は、その制御信号に基づいて、液晶表示部4を制御して表示領域内における検索文字を備えた文字列を含むセルの枠線を太枠で強調表示するとともに、その太枠線のセル(選択セル)中の文字列に含まれる検索文字を他の文字と区別して反転表示させるようになっている。
これにより、利用者は、検索条件に合致したセルを容易に黙視することができるのみならず、その強調表示した太枠セルの文字列のうちどの部分が検索条件に合致したのかを明確に知ることができる。
すなわち、利用者は、例えば、セルの文字列の頭の1文字以上を検索した場合、セルの途中に含まれる文字列は検索対象外としているため、セルの頭を対象とした文字列を確認するといったように、検索実行時における操作者の利便性を向上することができる。
この際、利用者は、検索文字の対象を複数文字とすることができる。すなわち、利用者は、検索文字数を順次増やすだけで、その都度、検索の絞り込みを行うことができる。
この際、CPU10は、最初の1文字(第1検索文字)がキー入力されて対象とする検索文字のスキャンをデータベースの頭から実行し、表示制御回路17に検索結果の制御信号を出力する。表示制御回路17は、その制御信号に基づいて、対応する最初のセルの強調表示と表示反転とを実行する。さらにCPU10は、その最初の1文字をRAM11に記憶したらば、次のキー入力を待機する。ここで、文字キーの追加入力があった場合、CPU10は、さらなる絞り込みの検索であるとして、最初の1文字と2文字(第2検索文字)とを合体した新たな検索文字を用いて、対象とする検索文字のスキャンをデータベースの頭から実行し、以下、同様に表示制御回路17に制御信号を出力し、対応する最初のセルの強調表示と表示反転とを実行する。
したがって、利用者が検索文字を増減するだけで、CPU10によって検索が実行されるとともに、表示制御回路17によって液晶表示部4の表示状態が検索結果に応じて遷移する。これにより、検索文字を増減させるたびに検索実行操作を行う必要がなく、利便性が向上される。
本実施の形態の要部は、液晶表示部4は、複数のフィールドに対し文字列データをそれぞれ割り当てた複数のレコードを含むとともに全文字列データの内容を複数行×複数列のセルによりマトリクス形式でデータベースを表示する。CPU10は、利用者が検索文字を入力するとデータベースの全レコードに対しセルの検索を行い、当該検索文字を備えた文字列を含むセルがヒットしたらば、表示制御回路17に制御信号を出力し、液晶表示部4の表示領域内において、文字列中に当該検索文字を備えたセルの枠線を強調表示させるとともに、当該枠線の中の文字列に含まれる新たな検索文字を他の文字と区別して反転表示するようになっている。
次に、図4及び図5に基づいて、表示制御回路17による表示切り替えのルーチンを含むCPU10による具体的なデータベース検索ルーチンの詳細を順を追って説明する。
図4のメインフロー図に示すように、ステップS1において、CPU10は、ROM12に記憶したデータベースに初期化処理を行ったうえで液晶表示部4に表示データベース30を表示するよう表示制御回路17を制御する。また、CPU10は、例えば、利用者がキーボード部5の『Esc』キーを押下すると、データベース選択モード(データベース検索モード)へと移行する。そして、CPU10は、利用者によってキーボード部5に何らかのキー操作がなされたかを監視する待機モードとなる。
例えば、CPU10は、セル内のカーソルを液晶表示部4の上下左右方向に移動する矢印キーが操作された場合(ステップS2)には、先にデータベース検索が行われていたものとして検索終了制御ルーチンを実行する。また、CPU10は、何らかの文字キーの入力がなされた場合には(ステップS3)、その検索文字に対応したデータベース検索制御ルーチンを実行する。さらに、CPU10は、『BS』キーが操作された場合(ステップS4)、既にデータベース検索を実行しており、先に入力した検索文字の最新入力文字を削除するための検索文字削除制御ルーチンを実行する。そして、これら3種類の制御ルーチンとは関係の無いキー操作の場合、データベース検索とは関係の無いキー操作であるとして、そのキー操作に応じた処理(ステップS5)を実行するとともに、データベース検索としてのルーチンを終了する。
(検索終了制御ルーチン)
ステップS2において、カーソルキーが操作された場合、CPU10は、検索終了制御ルーチンを実行する。
すなわち、CPU10は、ステップS21において、RAM11に記憶した検索文字をクリアしてステップS22へと移行する。
ステップS22では、CPU10は、表示制御回路17に対してヒットしていた検索文字に対する反転表示を解除する反転表示クリア信号を出力し、ステップS23へと移行する。これにより、表示制御回路17は、液晶表示部4の検索文字の反転表示を解除する。
ステップS23では、CPU10は、ステップS2で利用者により操作されたカーソルキー(例えば、『↑』キー、『↓』キー、『→』キー、『←』キー)の種類に対応した方向にカーソルを移動するよう表示制御回路17にカーソル移動信号を出力する。この際、CPU10は、『→』キー又は『←』キーが操作された場合には、同一のセル内の文字列に対しカーソルを左右方向に移動するよう表示制御回路17にカーソル移動信号を出力する。また、『↑』キー又は『↓』キー操作された場合には、CPU10は、当該セルの上又は下に位置するセル内の文字列の先頭文字に対しカーソルを移動するよう表示制御回路17にカーソル移動信号を出力する。なお、CPU10は、セル内の文字列の先頭文字にカーソルが位置している状態で『←』キーが押下された場合には、隣接する左側のセル内の文字列の先頭文字(又は後尾文字)に対しカーソルを移動するよう表示制御回路17にカーソル移動信号を出力する。同様に、CPU10は、セル内の文字列の後尾文字にカーソルが位置している状態で『→』キーが押下された場合には、隣接する右側のセル内の文字列の先頭文字に対しカーソルを移動するよう表示制御回路17にカーソル移動信号を出力する。
表示制御回路17は、上述した各種方向へのカーソル移動信号に基づいて、カーソル位置を変更するよう、画面表示を切り替える。
(データベース検索制御ルーチン)
ステップS3において、CPU10は、利用者によってキーボード部5の何らかの文字キーの入力がなされた場合には、その文字を検索文字とするデータベース検索制御ルーチンを実行する。
すなわち、CPU10は、ステップS31において、入力された文字を検索文字として追加してステップS32へと移行する。この際、CPUは、文字キーの入力によって検索文字が追加される毎に、このステップS31において検索文字を追加する。
また、CPU10は、ステップS32において、ステップS31での検索文字の追加に応じて、データベースの検索開始位置を設定する。
例えば、CPU10は、1文字目の検索文字の追加であった場合、ROM12に記憶したデータベースの冒頭、すなわち、図3に示した表示の場合、“number”を検索開始位置とする。また、CPU10は、例えば、検索文字が「BRO」であった場合、既に検索文字“BR”に関しては検索が終了してRAM11に検索文字“BR”が記憶されていることから、図3に示した表示の場合、左3段目の強調枠で示したセルの“brother”を検索開始位置に設定する。
さらに、CPU10は、検索開始位置が決定したら、ステップS6において、ROM12に記憶したデータベースの検索を実行する。
具体的には、CPU10は、図5に示すように、データベース検索を実行するに当たり、その前段で検索文字列用バッファ処理ルーチンを処理し、中段で比較バッファ処理ルーチンを処理し、後段で検索結果処理ルーチンを実行する。
(検索文字列用バッファ処理ルーチン)
CPU10は、ステップS61において、入力された検索用文字列をRAM11等の一部の領域を利用して検索文字列用バッファ(以下、単に「検索文字列用バッファ」と称する)にコピーし、ステップS62に移行する。
CPU10は、ステップS62において、検索文字列用バッファ内のアクセント文字をベース文字へと変換し、ステップS63へと移行する。
さらに、CPU10は、ステップS63において、検索文字列用バッファ内に小文字があれば、その小文字を大文字へと変換し、ステップS64へと移行する。
(比較バッファ処理ルーチン)
また、CPU10は、ステップS64において、RAM11等の一部の領域を利用して比較用バッファ(以下、単に「比較用バッファ」と称する)に対象セルの内容をコピーしてステップS65に移行する。
CPU10は、ステップS65において、比較用バッファ内の対応していない文字(例えば、外字など)を削除してステップS66に移行する。
CPU10は、ステップS66において、比較用バッファ内のアクセント文字をベース文字へと変換してステップS67に移行する。なお、ここでのアクセント文字とは、例えば、ウムラウト文字等を通常のアルファベット文字に変換するものである。
CPU10は、ステップS67において、比較用バッファ内に小文字があれば、その小文字を大文字へと変換してステップS68に移行する。
CPU10は、ステップS68において、比較用バッファの内容から検索文字列用バッファの内容をセルに対応してサーチしてステップS69に移行する。なお、このサーチそのものは、公知のサーチ技術を用いている。
(検索結果処理ルーチン)
次に、CPU10は、ステップS69において、上記ステップS68でサーチした結果、比較用バッファの内容と検索文字列用バッファの内容とが一致するかいなかを判定し、一致した内容がある場合にはステップS70に移行する。また、一致したものが無かった場合、ステップS71に移行する。
ここで、CPU71は、ステップS69で比較用バッファの内容と検索文字列用バッファの内容とが一致しなかった場合、ステップS71において、ROM12に記憶した全てのデータベース(上述した検索文字列用バッファ処理ルーチンで変換したもの)に対応するセルの検索が終了したか否かが判定され、全セルに対して検索を実行し、検索が終了した場合にはステップS70へと移行する。また、CPU10は、ステップS72において、検索対象とするセルが残っている場合には、検索対象を次のセルに進め、ステップS64へとループし、以降、全てのセルに対して検索を実行するまで、このルーチンを繰り返す。
そして、CPU10は、ステップS69で一致する内容が見つかった場合、又は全てのセルに対しての検索が終了した場合、ステップS70において、ヒットしたものがあったか否かが判定され、ヒットしたものがあった場合にはステップS73へと移行し、ヒットしたものが無かった場合にはステップS74へと移行する。
すなわち、CPU10は、ステップS70において、利用者によりキーボード部5を用いて入力された検索文字と一致するものがあった場合にはステップS73へと移行する。また、CPU10は、一致する検索文字が無い場合には、ステップS74において、検索文字列の最後の一文字を削除してこのルーチンを終了する。なお、検索文字が2文字以上入力されていれば、このルーチンS74において最後の一文字を削除してもヒットする検索文字があることとなる。
次に、CPU10は、ステップS73において、表示制御回路17に、ヒットした検索文字を有するセルにカーソルを移動する旨の制御信号を出力し、液晶表示部4のカーソル位置を移動させ、ステップS75に移行する。
CPU10は、ステップS75において、表示制御回路17に、ヒットした検索文字を有するセルの枠線を太枠表示に変更する旨の制御信号を出力し、液晶表示部4のカーソル位置を移動させたセルの枠線を太枠表示させ、ステップS76に移行する。
CPU10は、ステップS76において、表示制御回路17に、ヒットした検索文字を反転表示する旨の制御信号を出力し、液晶表示部4のカーソル位置を移動させたセルの文字列に含まれる検索文字(又は検索文字列)を反転表示させ、このルーチンを終了する。
(検索文字削除制御ルーチン)
ステップS4において、CPU10は、『BS』キーが操作された場合、既にデータベース検索を実行しており、先に入力した検索文字が存在しており、その先に入力した検索文字のうち最新入力分の文字を削除するための検索文字削除制御ルーチンを実行する。
すなわち、CPU10は、ステップS41において、利用者によるキーボード部5の『BS』キー操作により、検索文字として追加していた文字ではヒットしなかったり入力ミスを修正することができ、この修正が終了したらば、ステップS42へと移行する。
CPU10は、ステップS42において、上記ステップS41で文字削除を行った結果、まだ検索文字が残っているか否かを判定する。この際、CPU10は、例えば、削除前の検索文字の文字数が2文字以上であった場合、その後尾の検索文字を削除しても、前回検索済みの検索文字が残っている場合、その前回検索状態の液晶表示部4の表示状態に復帰するように、表示制御回路17に削除信号を出力して、ステップS43へと移行する。
CPU10は、ステップS43において、上記削除文字を除く残りの検索文字を対象とする検索結果の表示に復帰するよう、表示制御回路17に表示復帰信号を出力する。表示制御回路17は、この表示復帰信号に基づいて表示状態を元に復帰させるとともに、検索開始位置を削除した検索文字を対象として検索開始位置を設定(復帰)する。
このように、本実施の形態の電子機器1は、複数のフィールドに対し文字列データをそれぞれ割り当てた複数のレコードを含むとともに全文字列データの内容を複数行複数列のセルによりマトリクス形式で表示可能なデータベースを記憶するROM12と、所定面積の表示領域を有していてROM12に記憶されたデータベースの内容のうち表示領域に対応した一部分をマトリクス形式により表示するための液晶表示部4と、マトリクス形式のデータベースのレコードに含まれる文字列データに対する検索を実行するための検索条件となる少なくとも1つの検索文字を操作入力するためのキーボード部5と、キーボード部5により検索文字の入力が行われた場合にマトリクス形式のデータベース中の複数のセルのうち該当する検索文字を備えた文字列を含むセルを検索するCPU10と、CPU10による検索結果に応じて、液晶表示部4を制御して表示領域内に検索文字を備えた文字列を含むセルの枠線を強調表示するとともに、その枠線の中の文字列に含まれる検索文字を他の文字と区別して反転表示する表示制御回路17と、を有している。
本実施の形態の電子機器1においては、キーボード部5と液晶表示部4とROM12とを有している。ROM12にはデータベースが記憶されており、そのデータベースには、複数のフィールドに文字列データがそれぞれ割り当てられた複数のレコードが含まれている。液晶表示部4では、上記データベースの内容を、セルが複数行×複数列に配置されるマトリクス形式によって表示することができる(なお、データベースの内容に、電子機器1において対応していない非対応文字等が含まれていた場合には、例えばスペースに置き換えて表示すれば足りる)。
CPU10は、このようにしてマトリクス形式で表示されたデータベースの全レコードに対し、利用者が検索条件を入力することによってセルの検索を行う。すなわち、操作者がキーボード部5を介し少なくとも1つの検索文字を入力すると、CPU10は、データベースの全セルのうち、当該検索文字を備えた文字列を含むセルを検索する。そして、その検索結果(検索ヒット結果)に応じて、表示制御回路17に制御信号を出力し、液晶表示部4の表示領域内において、文字列中に当該検索文字を備えたセルの枠線を強調表示させる。
また、本実施の形態では、表示制御回路17による液晶表示部4の制御により、枠線を強調表示させたセル内の文字列のうち、検索文字が他の文字と区別されて反転表示する。これにより、当該セルが検索条件に合致したことのみならず、当該セルの文字列のうちどの部分が検索条件に合致したのかを操作者が明確に知ることができる。この結果、検索実行時における操作者の利便性を向上することができる。
また、CPU10は、キーボード部5により第1検索文字の入力が行われて対応する検索を実行し、対応する枠線の強調表示及び文字列の反転表示が液晶表示部4で行われた後に、さらにキーボード部5により追加で第2検索文字の入力が行われた場合には、第1検索文字と第2検索文字とを合体した新たな検索文字を用いて、マトリクス形式のデータベース中の複数のセルのうち、新たな検索文字を備えた文字列を含むセルを新たに検索し、表示制御回路17は、CPU10による新たな検索の結果に応じて、液晶表示部4を制御し、表示領域内に、新たな検索文字を備えた文字列を含むセルの枠線を強調表示するとともに、当該枠線の中の文字列に含まれる新たな検索文字を他の文字と区別して反転表示する。
これにより、操作者は、まず少なめの文字数からなる第1検索文字をキーボード部5を介して入力して一次検索を行った後、さらに検索条件を絞り込みたいときは、そのままキーボード部5により第1検索文字に追加して第2検索文字を入力することで、さらに条件を絞り込んだ二次検索を行うことができる。この結果、さらに利便性を向上することができる。
なお、本発明は、上記実施形態に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。以下、そのような変形例を順を追って説明する。
(1)複数セルがヒットした場合は全てのセルで文字列を反転表示
図3に示した例では、複数の検索文字列がヒットしていても、最初のセルに対してのみ、最もレコード番号が若い(又は検索開始位置から近い)該当したセルへのカーソル移動、セルの強調表示、検索文字の表示反転とを実行した例を示したが、これに限らない。
例えば、CPU10による検索結果において検索条件となる検索文字を備えた文字列を含むセルが複数存在した場合には、CPU10は、図6に示すように、当該複数のセルのうち最もレコード番号が若い(又は検索開始位置から近い)1つのセルを強調表示すると同時に、そのセルの文字列に含まれる検索文字の反転表示を行うとともに、該当する複数のセルそれぞれの文字列に含まれる検索文字についても一斉に反転表示を行ってもよい。
このような場合、ヒットした検索文字の一斉反転表示の場合、上述した検索ルーチンに加え、CPU10は、図7に示すように、反転処理制御ルーチンを実行する。
すなわち、CPU10は、上述したステップS70からステップS76までのルーチンを実行した後、ステップS81において、ヒットした検索文字を有するセルのカーソル位置を新たな検索開始位置として設定し、ステップS82に移行する。
CPU10は、ステップS82において、ヒットした検索文字を有するセルの位置から、検索文字の検索を行い、ステップS82へと移行する。
次に、CPU10は、ステップS83において、利用者によりキーボード部5を用いて入力された検索文字と一致するものがあったか否かが判定され、一致する検索文字があった場合には、ステップS84へと移行する。また、CPU10は、検索文字がなかった場合にはステップS86へと移行する。
CPU10は、ステップS84において、表示制御回路17に、ヒットした検索文字を反転表示する旨の制御信号を出力し、ヒットしたセルの文字列に含まれる検索文字(又は検索文字列)を反転表示する設定をして、ステップS85へと移行する。
CPU10は、ステップS85において、ヒットした検索文字を有するセルのカーソル位置を新たな検索開始位置として設定し、ステップS86に移行する。
CPU10は、ステップS86において、全てのデータベースに対して検索が終了したか否かが判定され、終了していない場合には、ステップS82へとループして、以降、全てのデータベースに対する検索が終了するまで上記ルーチンを繰り返す。
CPU10は、全てのデータベースに対して検索が終了したらば、ステップS87において、表示制御回路17に検索終了信号を出力し、液晶表示部4の表示状態を最初にヒットした検索文字を有するセルが画面右上に位置するとともに、表示範囲に含まれるセル中にヒットした検索文字が含まれているもの全てのセル中の検索文字を反転表示させてこのルーチンを終了する。
これにより、検索条件に複数のセルが合致したときに、それら複数のセルのうち所定の1つのセルの文字列においてのみ検索文字の反転表示を行うことで、対応するセルを操作者が1つずつ順番に確認可能となる。一方、それら複数のセルの全てにおいて文字列中の検索文字の一斉反転表示を行うことで、対応する全セルを操作者が一度で確認可能となる。このように反転表示の仕方にバリエーションを設けることで、操作者の好みや用途に応じた種々の活用法が可能となり、さらに利便性を向上することができる。
このように、本変形例では、CPU10による検索結果において検索条件となる検索文字を備えた文字列を含むセルが複数存在した場合には、表示制御回路17は、液晶表示部4を制御し、当該複数のセルのうち所定の1つのセルの文字列に含まれる当該検索文字のみ反転表示を行うか、若しくは、当該複数のセルそれぞれの文字列に含まれる当該検索文字について一斉に反転表示を行うかの表示選択を可能とする。
これにより、検索条件に複数のセルが合致したときに、それら複数のセルのうち所定の1つのセルの文字列においてのみ検索文字の反転表示を行うことで、対応するセルを操作者が1つずつ順番に確認可能となる。一方、それら複数のセルの全てにおいて文字列中の検索文字の一斉反転表示を行うことで、対応する全セルを操作者が一度で確認可能となる。このように反転表示の仕方にバリエーションを設けることで、操作者の好みや用途に応じた種々の活用法が可能となり、さらに利便性を向上することができる。
(2)テンプレートラベル生成時にはテンプレート対応のフィールドのみ検索
また、上記実施形態及び変形例では、データベースの全てのフィールドに対して行ったが、特定のフィールドに対してのみ行うことも可能である。この際、対象となる検索文字は、上述した英文字ではなく、和文字でも可能である。
図8に、表示データベース30の一例を示す。図8に示す表示データベース30では、横1行のデータ群を1つのレコードとして、各レコードに、番号を表す文字列を割り当てた番号フィールド31、名前を表す文字列を割り当てた名前フィールド32、性別を表す文字列を割り当てた性別フィールド33、及び、分類を表す文字列を割り当てた分類フィールド34が含まれている。
例えば、この表示データベース30の1行目のレコードでは、番号フィールド31に番号を表す文字列として「1」、名前フィールド32に名前を表す文字列として「鈴木」、性別フィールド33に性別を表す文字列として「男」、分類フィールド34に分類を表す文字列として「お祝い」が、それぞれ割り当てられている。同様に、2行目のレコードでは、番号フィールド31に番号を表す文字列として「2」、名前フィールド32に名前を表す文字列として「伊藤」、性別フィールド33に性別を表す文字列として「男」、分類フィールド34に分類を表す文字列として「子供」が、それぞれ割り当てられている。同様に、3行目のレコードでは、番号フィールド31に番号を表す文字列として「3」、名前フィールド32に名前を表す文字列として「河合」、性別フィールド33に性別を表す文字列として「女」、分類フィールド34に分類を表す文字列として「ペット」が、それぞれ割り当てられている。同様に、4行目のレコードでは、番号フィールド31に番号を表す文字列として「4」、名前フィールド32に名前を表す文字列として「石田」、性別フィールド33に性別を表す文字列として「男」、分類フィールド34に分類を表す文字列として「キッチン」が、それぞれ割り当てられている。同様に、5行目のレコードでは、番号フィールド31に番号を表す文字列として「5」、名前フィールド32に名前を表す文字列として「友松」、性別フィールド33に性別を表す文字列として「男」、分類フィールド34に分類を表す文字列として「ビジネス」が、それぞれ割り当てられている。
ROM12には、また、上記表示データベース30の各レコードにおいて複数のフィールドにそれぞれ割り当てられた複数の文字列を所定の態様で割り付けるためのテンプレートT(後述の図9参照)が記憶されている。本変形例では、予め、テンプレートTがROM12に記憶されている。
図9に、上記テンプレートTの一例を示す。
図9に示すテンプレートTは、上記図8に示す表示データベース30の各レコードにおいて4つのフィールド31〜34にそれぞれ割り当てられた4つの文字列を所定の態様で割り付けるためのテンプレートである。このテンプレートTでは、固定文字列「NO.」が左側上部に配置されると共に、4つの割付枠F1,F2,F3,F4が所定の態様で割り付けられている。
割付枠F1は、上記図8に示す表示データベース30の各レコードにおいて番号フィールド31に割り当てられた文字列に対応する割り付け枠であり、上記固定文字列「NO.」の後に続くように当該固定文字列「NO.」の右側に配置されている。
割付枠F4は、上記図8に示す表示データベース30の各レコードにおいて分類フィールド34に割り当てられた文字列に対応する割り付け枠であり、上記固定文字列「NO.」及び割付枠F1の下側に配置されている。
割付枠F2は、上記図8に示す表示データベース30の各レコードにおいて名前フィールド32に割り当てられた文字列に対応する割り付け枠であり、上記割付枠F4の下側に配置されている。
割付枠F3は、上記図8に示す表示データベース30の各レコードにおいて性別フィールド33に割り当てられた文字列に対応する割り付け枠であり、上記割付枠F2の下側に配置されている。
そして、CPU10は、データベースのうち、印刷物の作成に関与しない部分については検索を行うことなく、実際に印刷物の作成に係わるテンプレートTに対応する部分の各フィールドを検索対象とすることができる。
また、CPU10は、このテンプレートTのうち、さらに、任意のフィールド、例えば、図8の性別フィールド33のみを対象とすることも可能である。この場合、上述したように、1つのフィールドにおいて、複数のセルに該当するキーワードがヒットした場合、直近(最先)のセルに対してのみ強調表示とするとともに該当文字を反転表示としてもよいし、図8に示すように、直近(最先)のセルに対してのみ強調表示とするとともに全てのセルの該当文字を反転表示としてもよい。
このように、本変形例の電子機器1は、被印字媒体を搬送するプラテンローラと、プラテンローラにより搬送される被印字媒体に対し所望の印字を行うサーマルヘッド15と、データベースの各レコードにおける、特定の少なくとも1つのフィールドにそれぞれ割り当てられた少なくとも1つの文字列データを、所定の態様で割り付けるためのテンプレートを記憶するROM12と、プラテンローラ及びサーマルヘッド15を連携して制御し、ROM12に記憶されたテンプレートに沿って、対応するレコードに含まれる少なくとも1つの文字列を割り付けた印字を被印字媒体に対し実行するCPU10と、を有し、CPU10は、キーボード部5により検索文字の入力が行われた場合に、マトリクス形式のデータベース中の複数のセルのうち、テンプレートに対応した特定の少なくとも1つのフィールドに係わる複数のセルに対してのみ検索を行う。
本変形例の電子機器1は、プラテンローラにより搬送される被印字媒体に対し、サーマルヘッド15により印字を形成する印刷装置である。その際には、CPU10がプラテンローラ及びサーマルヘッド15を制御することにより、ROM12に記憶されたテンプレートを用いて印字形成が行われ、印刷物が作成される。テンプレートは、データベースの各レコードのうち、特定のフィールドに割り当てられる文字列データを、所定の態様で割り付けて印字形成するために用いられる。
そして、本変形例においては、CPU10は、マトリクス形式で表示されたデータベースの全レコードに対して上記入力された検索文字に基づき検索を行うとき、上記のようにテンプレートに対応づけられている(言い換えればテンプレートを用いた印字形成実行時に使用される)フィールドに係わるセルに対してのみ、当該検索を行う。これにより、データベースの全レコードのうち、印刷物の作成に関与しない部分については検索を行うことなく、実際に印刷物の作成に係わる部分に対してのみ効率よく検索を行うことができる。
なお、図4、図5、図6に示すフローチャートは本発明を上記フローに示す手順に限定するものではなく、発明の趣旨及び技術的思想を逸脱しない範囲内で手順の追加・削除又は順番の変更等をしてもよい。
また、以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。
その他、一々例示はしないが、本発明は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。