以下、図面を参照しながら、本発明の実施形態の一例について説明する。
図1は、本発明の実施形態における情報処理装置101のハードウェア構成を示す図である。本発明における情報処理装置101は、業務アプリケーションを起動し、ユーザからの入力を受け付ける装置である。本発明の実施形態では、特に会計業務における仕入先データの入力を受け付ける。
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラム(以下、OS)や、各種装置の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
また、入力コントローラ(入力C)205は、キーボード209や不図示のマウス等のポインティングデバイスからの入力を制御する。
ビデオコントローラ(VC)206は、CRTディスプレイ(CRT)210等の表示器への表示を制御する。表示器はCRTだけでなく、液晶ディスプレイでも構わない。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフレキシブルディスク(FD)或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。本実施形態では、情報処理装置101のみで動作する仕組みとして説明するが、情報処理装置101とサーバとが通信I/FC208を通じて通信可能に接続されていてもよい。
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明の情報処理装置101が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。
次に、情報処理装置101のモジュール構成を示す機能構成図について、図2を用いて説明する。尚、図2のモジュール構成は一例であり、用途や目的に応じて様々な構成例がある。
情報処理装置101は、記憶モジュール301、画面表示モジュール302、テーブル管理モジュール303、入力受付モジュール304、入力候補表示モジュール305から構成される。
記憶モジュール301(記憶手段)は、各種データや画面、テーブルをROM202または外部メモリ211に記憶するためのモジュールである。情報処理装置101に表示する各種データがサーバに記憶管理されている場合には、これらの情報をサーバのROM202または外部メモリ211に記憶させる。情報処理装置101は、記憶モジュール301を通じて、必要に応じてサーバから各種データや画面、テーブルを取得できる。
画面表示モジュール302(表示手段)は、記憶モジュール301が記憶した各種画面をユーザからの指示に応じてCRT210に表示するモジュールである。画面表示モジュール302は、各種画面を表示する際に、記憶モジュール301が記憶した各種データやテーブルを表示内容として設定して表示させることができる。
テーブル管理モジュール303は、記憶モジュール301が記憶した各種テーブルの管理を行うモジュールである。画面表示モジュール302が各種画面を表示する際に、テーブル管理モジュール303が、必要なテーブルを記憶モジュール301から取得して、画面表示モジュール302に渡すことで、画面に各種テーブルの情報を表示させる。
入力受付モジュール304は、画面表示モジュール302が表示した各種画面に対するデータの入力を受け付けるモジュールである。入力の受け付けは、キーボード209やマウス等の入力で倍からの入力を受け付ける。入力されたデータは、画面表示モジュール302に渡し、入力フォームに設定した上で画面表示モジュール302が表示を行う。
入力候補表示モジュール305は、入力受付モジュール304で入力を受け付けたデータに基づいて、入力候補(入力候補データ)を表示させるためのモジュールである。入力候補は、テーブル管理モジュール303が管理するテーブルから取得して、入力候補として表示する。
尚、前述の通り、情報処理装置101がサーバと通信可能に接続され、サーバにおいて各種データの記憶管理を行っていた場合、記憶モジュール301とテーブル管理モジュール303はサーバも備える。情報処理装置101からの要求に応じて、サーバが記憶モジュール301とテーブル管理モジュール303を用いて、適切なデータを情報処理装置101に送信する。
次に、本発明の実施形態における情報処理装置101によって行われる一連の処理について、図3に示すフローチャートを用いて説明する。尚、S101乃至S107の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。
尚、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされているアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
ステップS101では、情報処理装置101は、各種データの登録を行うための業務アプリケーションを起動させる。本実施形態では、仕入先マスタの登録を例にとって説明するが、これに限らない。
ステップS102では、情報処理装置101は、仕入先マスタを登録するための仕入先マスタ登録画面1200をCRT210に表示させ、ユーザからの入力を受け付ける。仕入先マスタ登録画面1200(図12参照)では、仕入先入力フォーム1201と、検索ボタン1202を備える。
ステップS103では、情報処理装置101は、ステップS102で表示された仕入先入力フォーム1201において、仕入先データの入力を受け付ける処理を実行する。仕入先入力処理の詳細は、後述する図4に示す。尚、本実施形態では仕入先入力フォーム1201に入力する形態として説明を行うが、どのような入力フォームでも構わない。
ステップS104では、情報処理装置101は、ステップS103で入力された仕入先データに基づいて検索を行うべく、検索ボタン1202が押下されたか否かを判定する。入力された仕入先データで検索することで、登録済みの仕入先マスタを更新することができる。検索ボタン1202が押下されたと判定された場合には、ステップS105に処理を進め、そうでない場合には、ステップS103に処理を戻す。
ステップS105では、情報処理装置101は、ステップS103で入力された仕入先データに基づいて仕入先マスタテーブル910(図9参照)から情報を取得し、仕入先マスタ登録画面1200に表示し、仕入先マスタに対する変更の入力を受け付ける。ステップS106では、情報処理装置101は、仕入先マスタ登録画面1200に備えられた登録ボタンが押下されたか否かを判定する。登録ボタンが押下されたと判定された場合には、ステップS107に処理を進め、そうでない場合にはステップS105に処理を戻す。
仕入先マスタテーブル910(図9参照)は、仕入先コード911(入力候補データ)、仕入先名称912(名称データ)、その他仕入先に関する情報から構成される。仕入先コード911は、仕入先ごとに一意に割り振られたコードである。後述するが、仕入先コード911は、複数の文字列から構成されている。通常、このようなコードはユーザが何かしらの体系に基づいてコードを作成している場合が多い。そのため、複数の文字列を組み合わせて1つのコードとしている。例えば、「2000HOKKAIDO01SHIIRE01」というコードであれば、「2000」と「HOKKAIDO」と「01」と「SHIIRE01」にわけることができ、「2000」は「2000年」、「HOKKAIDO」は「北海道」、「01」は「01地区」、「SHIIRE01」は「仕入先01」をそれぞれ示すようになっている。つまり、これらの複数の文字列から1つのコードが形成されている。仕入先名称912は、仕入先コード911に対応する仕入先の名称を示す。その他、仕入先ごとに各種情報が記憶管理されている。尚、仕入先コード911と仕入先名称912はそれぞれテキストデータである。
ステップS107では、情報処理装置101は、入力された仕入先マスタに関する情報を仕入先マスタテーブル910に登録する。
次に、本発明の実施形態における情報処理装置101によって行われる仕入先入力処理について、図4に示すフローチャートを用いて説明する。尚、S201乃至S212の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされているアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
ステップS201では、情報処理装置101は、入力を受け付ける入力フォームのコード体系マスタテーブル900(図9参照)を取得する。
コード体系マスタテーブル900(図9参照、区切り情報)は、コード名称901、ブロック番号902、表示桁数903、入力候補表示桁数904(入力候補表示文字数)、背景色905から構成される。コード名称901は、入力フォームに対応する名称を示す。ブロック番号902は、当該入力フォームに入力されるコードを意味のある所定文字数で区切った場合の1つのまとまりを示す。例えば、仕入先コード911として、「2000HOKKAIDO01SHIIRE01」というコードがある。基本的に業務アプリケーションにおけるこういったコードはある程度意味のあるまとまりとしてコードを体系化している。この場合では、「2000HOKKAIDO」と「01SHIIRE01」の2つのブロックに区分可能である。前者は、「2000年度北海道」の意味であり、後者は「01地区仕入先01」の意味である。こういったコードの体系はあらかじめコード体系マスタテーブル900でブロックごとに定義しておく。また、この場合、前者の「2000HOKKAIDO」のブロック番号902が「1」、後者の「01SHIIRE01」のブロック番号902が「2」となる。ブロックは2つ以上存在してもよい。意味のあるまとまりが複数あれば、その分だけブロック番号902を発行しておく。表示桁数903は、当該ブロックを構成する文字列が何ケタ(何文字)あるのかを示す。尚、本実施形態では文字列の桁数によってブロックを区切るものとするが、これに限らない。例えば、ハイフン等の記号によってコードを体系化していた場合(「2000HOKKAIDO−01SHIIRE01」等)には、このハイフンの位置を基準としてブロックを区切ればよい。何かしらの情報に基づいて、この入力候補を所定のブロックに区切れればよい。入力候補表示桁数904は、ブロック単位で入力候補を表示開始する桁数(文字数)を示す。この桁数に達した場合や超えた場合に、入力候補をブロック単位で表示する。例えば、入力候補表示桁数904が「4」となっていた場合には、ユーザから4桁(文字)入力された場合に、1ブロック分、つまり表示桁数903が示す12桁分の表示候補を表示する。「2000HOKKAIDO01SHIIRE01」であれば、「2000HOKKAIDO」までが表示される。背景色905は、入力フォームで何桁入力すれば、入力候補が表示されるのかを明示するために表示する背景の色である。
ステップS202では、情報処理装置101は、仕入先入力フォーム1201の背景色を背景色905と入力候補表示桁数904に基づいて変更する。例えば、入力候補表示桁数904が「4」の場合には、4桁分の背景を背景色905で指定された「シアン」に変更する。また、他のブロックについても同様に実行する。ブロック番号902が「1」の入力候補表示桁数904が「4」で、ブロック番号902が「2」の入力候補表示桁数904が「2」である場合には、各ブロックの先頭から4桁分、2桁分だけ背景色を変更する。こうすることで、どこまで入力すれば入力候補が表示されるのかがわかりやすくなる。
ステップS203では、情報処理装置101は、キーボード209からのキー入力を受け付ける(表示指示受付手段)。ここでは、文字や数字だけでなく、方向キーやEnterキーなど各種キーの操作を受け付ける。
ステップS204では、情報処理装置101は、仕入先入力フォーム1201に対して、キーボード209に備えられた下キーの押下がなされたか否かを判定する。本実施形態の下キーは、仕入先入力フォーム1201に入力済みの入力データに基づいて、入力候補を表示する処理を実行するキーである。このキーは下キーでなくてもよいし、Shiftキーと下キーのように、複数のキーの組み合わせであってもよい。下キーの押下がなされたと判定された場合には、ステップS205に処理を進める。下キーの押下がなされなかったと判定された場合には、ステップS206に処理を進める。
ステップS205では、情報処理装置101は、入力中のブロックに対する入力候補を表示する処理を実行する。ブロック候補表示処理の詳細は、後述する図5に示す。
ステップS206では、情報処理装置101は、仕入先入力フォーム1201に対してデータの入力がなされたか否かを判定する。データの入力がなされたと判定された場合には、ステップS207に処理を進め、そうでない場合には、ステップS208に処理を進める。
ステップS207では、情報処理装置101は、仕入先入力フォーム1201に対して所定桁数(文字数)のデータの入力がなされた場合に入力候補を表示する処理を実行する。桁数候補表示処理の詳細は、後述する図7に示す。
ステップS208では、情報処理装置101は、仕入先入力フォーム1201に対して、キーボード209に備えられたBackSpaceキーの押下があったか否かを判定する。本実施形態のBackSpaceキーは、入力済みのデータを1文字削除する処理を実行するキーである。このキーはBackSpaceキーでなくてもよいし、ShiftキーとBackSpaceキーのように、複数のキーの組み合わせであってもよい。BackSpaceキーが押下されたと判定された場合には、ステップS209に処理を進め、そうでない場合には、ステップS210に処理を進める。
ステップS209では、情報処理装置101は、仕入先入力フォーム1201に入力済みのデータを入力フォーカスのある位置に基づいて1文字削除する(削除手段)。
ステップS210では、情報処理装置101は、仕入先入力フォーム1201に対して、キーボード209に備えられた上キーが押下されたか否かを判定する。本実施形態の上キーは、入力済みのデータを1ブロック削除する処理を実行するキーである。このキーは上キーでなくてもよいし、Shiftキーと上キーのように、複数のキーの組み合わせであってもよい。上キーが押下されたと判定された場合には、ステップS211に処理を進め、そうでない場合には、ステップS212に処理を進める。
ステップS211では、情報処理装置101は、仕入先入力フォーム1201に入力済みのデータを入力フォーカスのあるブロックに基づいて、1ブロック削除する処理を実行する(削除手段)。ブロック削除処理の詳細は、後述する図8に示す。
ステップS212では、情報処理装置101は、キーボード209に備えられたEnterキーが押下されたか否かを判定する。つまり、仕入先入力フォーム1201に対する入力が確定したのか否かを判定する。Enterキーが押下されたと判定された場合には、仕入先入力処理を終了して呼び出し元に処理を戻し、そうでない場合には、ステップS203に処理を戻す。
次に、本発明の実施形態における情報処理装置101によって行われるブロック候補表示処理について、図5に示すフローチャートを用いて説明する。尚、S301乃至S311の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされているアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
ブロック候補表示処理は、入力データに基づいた入力候補の表示が指示されたときに、現在入力中のブロックに関する入力候補を表示する処理である。つまり、図9に示す仕入先マスタテーブル910の仕入先コード911のうち、最初のブロックで当該指示がなされた場合には、「2000HOKKAIDO」、「2000HOKURIKU」、「2010HOKKAIDO」、「2010HOKURIKU」の4つが入力候補として表示されることになる。また、例えば「2000HOKKAIDO」が入力された状態で、次のブロックで当該指示がなされると、「2000HOKKAIDO」と一致する候補である「01SHIIRE01」から「01SHIIRE04」、「02SHIIRE05」から「02SHIIRE08」の8つが入力候補として表示されることになる。以下、ブロック候補表示処理の詳細について、説明する。
ステップS301では、情報処理装置101は、仕入先入力フォーム1201において何桁目を入力中であるのかを特定する。つまり、入力位置を特定する。例えば、「2000H」と入力されていれば5桁目、「2000HOKKAIDO01SH」と入力されていれば、16桁目となる。
ステップS302では、情報処理装置101は、ステップS301で特定された入力位置に基づいて、入力中のブロック番号を特定する。具体的には、入力フォームごとに定められた表示桁数903をコード体系マスタテーブル900から取得し、入力中の入力フォームの何ブロック目を入力中なのか特定する。例えば、仕入先入力フォーム1201は、図9のコード体系マスタテーブル900にも示す通り、12桁と10桁の2つのブロックから構成される。つまり、合計22桁の文字列を入力することになる。そのうち、例えば5桁目を入力中である場合には、ブロック番号902が「1」のブロックを入力中であるということになるし、18桁目を入力中である場合には、ブロック番号902が「2」のブロックを入力中であるということになる。
ステップS303では、情報処理装置101は、ステップ302で特定されたブロック番号902が「1」であるか否かを判定する。ブロック番号902が「1」であると判定された場合には、ステップS304に処理を進め、そうでない場合には、ステップS305に処理を進める。
ステップS304では、情報処理装置101は、ブロック番号902「1」に対応する表示桁数903を特定し、当該表示桁数903が示す桁数分の文字を仕入先コード911に格納された各コードの先頭から取得する。そして、取得した各コードの文字の重複分を取り除き、表示候補とする。つまり、12桁であれば、仕入先コード911に格納された各コードの先頭文字から12桁分それぞれ取得する。そして、取得した文字列のうち重複する文字列が存在する場合には、重複分を取り除いて、表示候補とする。図9に示す仕入先コード911のブロック番号902「1」に関する入力候補は、「2000HOKKAIDO」、「2000HOKURIKU」、「2010HOKKAIDO」、「2010HOKURIKU」の4つとなる。
一方、ステップS305では、情報処理装置101は、ステップS302で特定されたブロック番号902までに入力されたデータを取得する。例えば、ブロック番号902「2」であるということは、ブロック番号902「1」までに入力されたデータがあるはずである。よって、それらの入力されたデータを取得する。
ステップS306では、情報処理装置101は、ステップS305で取得したデータと、ステップS302で特定されたブロック番号902に基づいて、入力候補を取得する。具体的には、ステップS304と同様にブロック番号902に対応する表示桁数903を特定し、当該表示桁数903が示す桁数分の文字を仕入先コード911に格納された各コードの先頭から取得する。そして、取得した各コードの文字の重複分を取り除き、ステップS305で取得したデータと一致する入力候補を取得する。つまり、特定されたブロック番号902よりも前に入力されたデータと一致する入力候補で、かつ特定されたブロック番号902に対応する表示桁数903が示す桁数分の文字を取得することになる。例えば、図9に示す仕入先マスタテーブル910の仕入先コード911のうち、ブロック番号902「1」に「2000HOKKAIDO」と入力されている状態だった場合には、ブロック番号902「1」が「2000HOKKAIDO」となっているコードを抽出し、当該コードのブロック番号902「2」が示す表示桁数903分だけ入力候補として取得する。つまり、後述するステップS307では、「01SHIIRE01」から「01SHIIRE04」、「02SHIIRE05」から「02SHIIRE08」までの8つが入力候補として表示されることになる。
ステップS307では、情報処理装置101は、ステップS302で特定したブロック番号902が最終ブロックであるか否かを判定する。最終ブロックか否かは、コード体系マスタテーブル900に格納されたコード名称901とブロック番号902から判定するようにしてもよいし、コード名称901ごとに最終ブロックが定義されており、その情報を使用して判定するようにしてもよい。最終ブロックであると判定された場合には、ステップS309に処理を進め、そうでない場合には、ステップS308に処理を進める。
ステップS308では、情報処理装置101は、ステップS304またはステップS306で取得した入力候補を選択可能に一覧表示する。
一方、ステップS309では、情報処理装置101は、ステップS304またはステップS306で取得した入力候補に対応する仕入先名称912を仕入先マスタテーブル910から取得する。そして、ステップS310では、情報処理装置101は、ステップS304またはステップS306で取得した入力候補と、ステップS309で取得した仕入先名称912を対応づけて一覧表示する。入力候補はブロックごとに選択可能であるので、最終ブロックが選択されるまで仕入先名称912が確定しない。よって、入力候補に対応する仕入先名称912を合わせて表示することができないが、最終ブロックにおける入力候補の表示であれば、仕入先コード911が一意に特定できるので、仕入先名称912も合わせて表示させることができる。このようにすることで、ユーザに選択させやすくする効果がある。
ステップS311では、情報処理装置101は、ステップS308またはステップS310で表示された入力候補を選択する処理を実行する。選択操作処理の詳細は、後述する図6に示す。
次に、本発明の実施形態における情報処理装置101によって行われる選択操作処理について、図6に示すフローチャートを用いて説明する。尚、S401乃至S408の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされているアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
ステップS401では、情報処理装置101は、前述したステップS307で表示された入力候補を選択するためのキー入力操作を受け付ける(選択受付手段)。
ステップS402では、情報処理装置101は、キーボード209に備えられた下キーの押下がなされたか否かを判定する。下キーが押下されたと判定された場合には、ステップS403に処理を進め、そうでない場合には、ステップS404に処理を進める。
ステップS403では、情報処理装置101は、前述したステップS307で表示された入力候補の選択位置を一つ下に移動させる。表示された入力候補のうち、一番下の入力候補が選択されている状態で下キーが押下された場合には、移動させなくてもよいし、一番上の入力候補に選択位置を移動させてもよい。
ステップS404では、情報処理装置101は、キーボード209に備えられた上キーの押下がなされたか否かを判定する。上キーが押下されたと判定された場合には、ステップS405に処理を進め、そうでない場合には、ステップS406に処理を進める。
ステップS405では、情報処理装置101は、前述したステップS307で表示された入力候補の選択位置を一つ上に移動させる。表示された入力候補のうち、一番上の入力候補が選択されている状態で上キーが押下された場合には、移動させなくてもよいし、一番下の入力候補に選択位置を移動させてもよい。
ステップS406では、情報処理装置101は、ステップS403またはステップS405において入力候補が選択された状態で、キーボード209に備えられたEnterキーの押下がなされたか否かを判定する。Enterキーが押下されたと判定された場合には、ステップS407に処理を進め、そうでない場合には、ステップS401に処理を戻す。
ステップS407では、情報処理装置101は、選択中の入力候補を仕入先入力フォーム1201に設定する。具体的には、仕入先入力フォーム1201に選択された入力候補を入力し、表示させる。
ステップS408では、情報処理装置101は、前述したステップS307で表示された入力候補一覧を閉じて、選択操作処理を終了し、呼び出し元に処理を戻す。
次に、本発明の実施形態における情報処理装置101によって行われる桁数候補表示処理について、図7に示すフローチャートを用いて説明する。尚、S501乃至S511の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされているアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
桁数候補表示処理では、所定桁数(文字数)が入力された場合に、当該ブロックの入力候補を検索し、表示する処理である。図13に示すように、従来では1文字入力するごとに情報処理装置101が入力候補の検索を行い、入力候補一覧として表示させていた。しかし、これでは情報処理装置101の処理負荷が高い上、ユーザが多くの入力候補から検索しなくてはならないので非効率的である。よって、本願発明では、入力フォームに設定された所定桁数が入力されて初めて入力候補を検索し、表示するようにしている。以下、桁数候補表示処理の詳細について説明する。
ステップS501及びステップS502は、前述したステップS301及びステップS302と同様であるので、説明を省略する。
ステップS503では、情報処理装置101は、ステップS502で特定されたブロック番号902に対応する入力候補表示桁数904をコード体系マスタテーブル900から取得する。例えば、図9に示すコード体系マスタテーブル900でブロック番号902が「1」の場合、取得する入力候補表示桁数904は、「4」である。
ステップS504では、情報処理装置101は、仕入先入力フォーム1201に入力された文字列がステップS503で取得した入力候補表示桁数904に達しているか否かを判定する。入力候補表示桁数904に達していると判定された場合には、ステップS505に処理を進め、そうでない場合には、桁数候補表示処理を終了し、呼び出し元に処理を戻す。
ステップS505では、情報処理装置101は、ステップS501で特定された入力位置までに入力されたデータを取得する。つまり、入力候補表示桁数904を満たす桁数分だけ文字の入力があったはずなので、そのデータを取得する。または、当該データと、ステップS503で特定されたブロック番号902までに入力されたデータとを取得する。
ステップS506では、情報処理装置101は、ステップS505で取得した入力データと、ステップS503で特定されたブロック番号902に対応する表示桁数903に応じて、仕入先マスタテーブル910の仕入先コード911から入力候補を取得する。具体的には、まず、ステップS503で特定されたブロック番号902に対応する表示桁数903だけ仕入先コード911から文字列を取得する。例えば、ブロック番号902が「1」だった場合には、表示桁数903は「12桁」なので先頭文字から12桁分取得する。ブロック番号902が「2」だった場合には、表示桁数903は「10桁」なので、ブロック番号902「1」の次の文字から10桁分取得する。そして、取得した仕入先コード911のうち、重複するものは除外する。つまり、ブロック番号902が「1」だった場合には、先頭から12桁分取得するが、「2000HOKKAIDO」が8つ、「2000HOKURIKU」が3つ、「2010HOKKAIDO」が8つ、「2010HOKURIKU」が3つ取得できてしまう。つまり、重複分があるのでこれらを取り除いて、「2000HOKKAIDO」、「2000HOKURIKU」、「2010HOKKAIDO」、「2010HOKURIKU」の4つとする。次に、ステップS505で取得した入力データ、つまり入力候補表示桁数904まで入力された入力データと、重複分を取り除いた入力候補とを比較し、先頭4桁が一致する入力データを取得する。入力候補表示桁数904まで入力された入力データとして、「2000」と入力されていれば、「2000HOKKAIDO」、「2000HOKURIKU」の2つのテキストデータが入力候補となる。
ステップS507では、情報処理装置101は、ステップS502で特定したブロック番号902が最終ブロック(最後に選択される文字列)であるか否かを判定する。最終ブロックか否かは、コード体系マスタテーブル900に格納されたコード名称901とブロック番号902から判定するようにしてもよいし、コード名称901ごとに最終ブロックが定義されており、その情報を使用して判定するようにしてもよい。最終ブロックであると判定された場合には、ステップS509に処理を進め、そうでない場合には、ステップS508に処理を進める。
ステップS508では、情報処理装置101は、ステップS506で取得した入力候補を選択可能に一覧表示する(表示手段)。
一方、ステップS509では、情報処理装置101は、ステップS506で取得した入力候補に対応する仕入先名称912を仕入先マスタテーブル910から取得する。そして、ステップS510では、情報処理装置101は、ステップS506で取得した入力候補と、ステップS509で取得した仕入先名称912を対応づけて一覧表示する。入力候補はブロックごとに選択可能であるので、最終ブロックが選択されるまで仕入先名称912が確定しない。よって、入力候補に対応する仕入先名称912を合わせて表示することができないが、最終ブロックにおける入力候補の表示であれば、仕入先コード911が一意に特定できるので、仕入先名称912も合わせて表示させることができる。このようにすることで、ユーザに選択させやすくする効果がある。
ステップS311では、情報処理装置101は、ステップS308またはステップS310で表示された入力候補を選択する処理を実行する。選択操作処理の詳細は、前述の通りである。
ここで図10を参照して、図7の桁数候補表示処理の具体例の説明を行う。説明例1001は、前述したステップS202で初期化された初期表示状態の仕入先入力フォーム1201である。入力候補表示桁数904が示す桁数分だけ背景色が変更されている。次に、仕入先入力フォーム1201に対してユーザが文字列を入力していく。説明例1002に示す通り、ブロック1の入力候補表示桁数904に達していなければ、入力候補は表示されない。一方、説明例1003に示す通り、入力候補表示桁数904に達すると、入力候補の検索と表示がなされ、ブロック番号902が「1」の分だけ入力候補が表示される。このようにすることで、無駄なサジェスト機能を実行せずに済む。続いて、説明例1004に示す通り、引き続き入力を行い、ブロック2の入力候補表示桁数904が示す桁数に到達するまでは入力候補が表示されない。そして、説明例1005に示す通り、ブロック2の入力候補表示桁数904に達すると、ブロック1で選択された入力データと入力候補表示桁数904まで入力された入力データとに基づいて、ブロック2の入力候補が表示される。ここで、最終ブロックだった場合には、説明例1006に示す通り、仕入先名称912も合わせて表示させる。説明例1007と説明例1008に示す通り、表示された入力候補が選択されると入力が確定され、仕入先入力フォーム1201にデータが入力される。このように、表示桁数903のような区切り情報に基づいて、入力候補を構成するブロックごとに選択可能に表示させれば、似たようなコードが一覧表示されるよりも、ユーザが望むコードを容易に選択できる効果を奏する。
次に、本発明の実施形態における情報処理装置101によって行われるブロック削除処理について、図8に示すフローチャートを用いて説明する。尚、S601乃至S603の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされているアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
ブロック削除処理では、前述したステップS209のように仕入先入力フォーム1201に入力された入力データを1文字ずつ削除するのではなく、ブロックごとに削除するための処理である。以下、ブロック削除処理の詳細について説明する。
ステップS601では、情報処理装置101は、仕入先入力フォーム1201において削除指示された時のカーソル位置が何桁目であるのかを特定する。例えば、「2000H」で削除指示があった場合には5桁目、「2000HOKKAIDO01SH」で削除指示があった場合には、16桁目となる。
ステップS602では、情報処理装置101は、ステップS601で特定された削除位置に基づいて、削除指示のあったブロック番号を特定する。具体的には、入力フォームごとに定められた表示桁数903をコード体系マスタテーブル900から取得し、削除指示のあった入力フォームが何ブロック目なのか特定する。例えば、仕入先入力フォーム1201は、図9のコード体系マスタテーブル900にも示す通り、12桁と10桁の2つのブロックから構成される。つまり、合計22桁の文字列を入力することになる。そのうち、例えば5桁目を入力中である場合には、ブロック番号902が「1」のブロックであるということになるし、18桁目を入力中である場合には、ブロック番号902が「2」のブロックであるということになる。
ステップS603では、情報処理装置101は、ステップS602で特定したブロック番号902に基づいて、入力データを削除する。つまり、ステップS602で特定されたブロック番号902が「2」であった場合には、ブロック2以降(ブロック2、ブロック3、ブロック4・・・)の各ブロックに入力された入力データを削除する。
例えば、図11の説明例1101に示すような入力データが入力されている状態で、ブロック削除の指示(例えば上キーの押下)がなされた場合、削除指示がなされたのは、ブロック2であるので、説明例1102に示すようにブロック2の入力データを削除する。更に削除指示があった場合には、ブロック1で削除指示がなされたことになるので、説明例1103に示す通り、ブロック1の入力データを削除する。このようにすることで、1文字ずつ削除せずに、入力候補を表示するまとまりで入力データの削除ができ、より効率的な入力が可能となる。
以上説明したように、本実施形態によれば、入力フォームに設定された所定桁数分ごとに入力候補を提示することができるので、情報処理装置の処理負荷を減らしつつ、ユーザにとって選択しやすいサジェスト機能を提供でき、入力フォームに対する入力を支援できる効果を奏する。
次に、本発明の第2の実施形態について説明を行う。
第2の実施形態では、情報処理装置101と、サーバ装置102から構成される情報処理システム100を用いて説明する。情報処理システム100は、Webアプリケーションシステムであり、サーバ装置102は、Webアプリケーションサーバである。情報処理装置101は、ユーザからの操作に基づいて、入力フォームを備えた所定の画面の取得要求をサーバ装置102に出すと、サーバ装置102から当該画面が送信される。そして、入力フォームにおける入力候補(以下、入力候補データ)の表示指示をユーザから受け付けると、情報処理装置101はサーバ装置102に対して入力候補データの取得要求を出す。サーバ装置102は、その要求に基づいて、現在入力中のブロックの入力候補データを抽出し、情報処理装置101に送信する。情報処理装置101は、この入力候補データを受信し、ユーザからの選択が可能となるよう、一覧表示する。そして、入力候補データが選択されると、次のブロックの入力候補データを表示すべく、サーバ装置102に入力候補データの取得要求を送信する。
これを繰り返すことで、入力候補データの抽出をサーバ装置102に行わせることができるので、情報処理装置101の負荷を軽減することができる。更に、前述した実施形態では情報処理装置101にあらかじめ入力候補データを保持しておく必要があったが、第2の実施形態ではその必要性がなくなる。また、前述した実施形態と同様に、ユーザは入力候補データをブロックごとに選択することができるようになるので、容易に入力候補データを探索することが可能となる。以下、この第2の実施形態について説明を行う。
図14は、第2の実施形態における情報処理システム100のシステム構成の一例を示す図である。第2の実施形態における情報処理システム100は、情報処理装置101、サーバ装置102が設置されており、それら装置はLAN(Local Area Network)等のネットワーク103を介して相互にデータ通信可能に接続されている。図1のネットワーク103上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
情報処理装置101は、パーソナルコンピュータ(以下、PC)のようなクライアント端末である。情報処理装置101にはWebブラウザがインストールされており、当該Webブラウザを通じて、サーバ装置102から取得した画面(HTML等)を表示する。サーバ装置102は、情報処理装置101と通信可能に接続されたWebアプリケーションサーバである。Webアプリケーションが動作しており、情報処理装置101からの要求に応じて、必要な情報を情報処理装置101に送信する。情報処理装置101とサーバ装置102が動作することにより、Webシステムとして機能する。
尚、第2の実施形態では、情報処理装置101をPCとして説明を行うが、これに限らない。情報処理装置101は、タッチパネルを備えたタブレット型端末であってもよいし、携帯端末であってもよい。また、Webシステムのような形態だけでなく、クライアント・サーバシステムであってもよい。
情報処理装置101とサーバ装置102のハードウェア構成は、前述した実施形態と同様である。つまり、図2で説明した内容と同様である。
次に、情報処理装置101とサーバ装置102のモジュール構成を示す機能構成図について、図15を用いて説明する。尚、図15のモジュール構成は一例であり、用途や目的に応じて様々な構成例がある。
情報処理装置101は、記憶モジュール301、Webブラウザモジュール1501、テーブル管理モジュール303、入力受付モジュール304、入力候補表示モジュール305から構成される。このうち、記憶モジュール301、テーブル管理モジュール303、入力受付モジュール304、入力候補表示モジュール305については、前述した実施形態と同様であるので、説明を省略する。尚、情報処理装置101は、コード体系マスタテーブル900を記憶している。
Webブラウザモジュール1501は、HTML等の画面を表示可能なWebブラウザを制御するモジュールである。サーバ装置102から送信された画面を受信すると、Webブラウザモジュール1501を用いて、当該画面を表示し、ユーザからの入力を受け付ける。
サーバ装置102は、記憶モジュール1511、入力候補生成モジュール1512、入力候補送信モジュール1513から構成される。
記憶モジュール1511(記憶手段)は、各種データや画面、テーブルをROM202または外部メモリ211に記憶するためのモジュールである。情報処理装置101に表示する各種データがサーバに記憶管理されている場合には、これらの情報をサーバのROM202または外部メモリ211に記憶させる。情報処理装置101は、記憶モジュール301を通じて、必要に応じてサーバから各種データや画面、テーブルを取得できる。より具体的には、サーバ装置102ではコード体系マスタテーブル900と仕入先マスタテーブル910を記憶している。
入力候補生成モジュール1512は、情報処理装置101からの要求に応じて、所定の入力フォームに入力された文字列の入力位置や入力済みの文字列から、入力候補データを抽出し、前述した実施形態と同様にブロックごとに区切るためのモジュールである。同じ入力候補データがあった場合に、重複分を削除する処理についても、入力候補生成モジュール1512が実行する。入力候補送信モジュール1513では、入力候補生成モジュール1512で生成された複数の入力候補データを、情報処理装置101に送信するためのモジュールである。入力候補送信モジュール1513で送信された入力候補データを情報処理装置101が受信し、Webブラウザモジュール1501で表示された画面に供えられた入力フォームに入力候補として一覧表示する流れである。
次に、第2の実施形態における情報処理装置101及びサーバ装置102によって行われる一連の処理について説明する。尚、第2の実施形態は第1の実施形態の変形例であるため、前述した実施形態の図3及び図4の各処理は、第2の実施形態においても同様である。第2の実施形態では、図4のステップS205で実行されるブロック候補表示処理と、同じくステップS207で実行される桁数候補表示処理における処理内容が第1の実施形態と異なるため、この2つの処理について、詳細に説明する。
まず、第2の実施形態における情報処理装置101及びサーバ装置102によって行われるブロック候補表示処理について、図16を用いて説明する。尚、ステップS701乃至ステップS703、ステップS708乃至ステップ710、ステップS713乃至ステップS715の各ステップは、情報処理装置101におけるCPU201の制御の下、処理が行われる。また、ステップS704乃至ステップS707、ステップS711、ステップS712の各ステップは、サーバ装置102におけるCPU201の制御の下、処理が行われる。
ステップS701では、情報処理装置101は、仕入先入力フォーム1201において現在ユーザが入力している文字列の位置を特定する。例えば、入力された文字列の桁数がいくつかを特定する。「2000H」と入力されていれば5桁目であるし、「2000HOKKAIDO01SH」と入力されていれば、16桁目である。
ステップS702では、情報処理装置101は、ステップS701で特定された入力位置に基づいて、入力中のブロック番号を特定する。ブロック番号のより具体的な特定方法は、ステップS302で前述した通りであるので、説明を省略する。
ステップS703では、情報処理装置101は、仕入先入力フォーム1201に入力された入力データと、ステップS702で特定したブロック番号とを含めて、サーバ装置102に対して入力候補データの取得要求を送信する(取得要求送信手段)。
ステップS704では、サーバ装置102は、情報処理装置101から送信された入力候補データの取得要求を受信する。そして、ステップS705では、サーバ装置102は、仕入先マスタテーブル910を取得し、受信した取得要求に含まれる入力データとブロック番号に応じて、仕入先マスタテーブル910から入力候補データを取得する(文字列取得手段)。より具体的には、例えば、受信した入力データが「2000」でブロック番号が「1」だった場合、コード体系マスタテーブル900の表示桁数903に基づいて、仕入先マスタテーブル910から入力候補データを抽出すると、「2000HOKKAIDO」と「2000HOKURIKU」が抽出される。つまり、すでに入力されたデータ「2000」に合致するもので、更にブロック番号が「1」に対応する桁数分の「12桁」を抽出。そして重複分を削除すると、この2つが残る。このようにして、サーバ装置102で入力中のブロックの入力候補データを抽出することができる。
尚、第2の実施形態では、情報処理装置101で入力中のブロックの特定を行い、サーバ装置102で特定されたブロックの入力候補データを抽出する形態を示しているが、入力中のブロックの特定もサーバ装置102で行うようにしてもよい。つまり、情報処理装置101は、仕入先入力フォーム1201に入力されたデータをサーバ装置102に送信し、サーバ装置102は当該データを受信すると、その入力データからステップS701と同様に入力位置を特定する。そして、ステップS702と同様に入力位置から入力中のブロック番号を特定する。あとは、ステップS705と同様に処理をすることで、更に情報処理装置101の負荷を軽減することができる。
ステップS706では、サーバ装置102では、入力中のブロック番号が最終ブロックであるか否かを判定する。最終ブロックか否かは、コード体系マスタテーブル900に格納されたコード名称901とブロック番号902から判定するようにしてもよいし、コード名称901ごとに最終ブロックが定義されており、その情報を使用して判定するようにしてもよい。最終ブロックであると判定された場合には、ステップS711に処理を進め、最終ブロックでないと判定された場合には、ステップS707に処理を進める。
ステップS707では、サーバ装置102では、ステップS705で取得した入力候補データを情報処理装置101に送信する(文字列送信手段)。
ステップS708では、情報処理装置101では、サーバ装置102から送信された入力候補データを受信し、ステップS709では、受信した入力候補データを仕入先入力フォーム1201の下部に選択可能に一覧表示させる。そして、ステップS710では、情報処理装置101は、ステップS709で一覧表示された入力候補データの選択をユーザから受け付ける処理を実行する。選択操作処理の詳細は、図6で前述した通りである。選択操作処理が終了すると、ステップS701に処理を戻す。つまり、ユーザが何かしらの入力候補データを選択すると、情報処理装置101から次のブロックの入力候補データの取得要求が送信されることになる。すなわち、入力候補データを次々に選択していくだけで、ユーザが望む入力候補を仕入先入力フォーム1201に入力することが可能となる。
一方、ステップS711では、サーバ装置102は、最終ブロックであると判定されたので、ステップS705で抽出された入力候補データに対応する仕入先名称912を仕入先マスタテーブル910から取得する。そして、ステップS712では、サーバ装置102は、ステップS705で取得した入力候補データと、ステップS711で取得した当該入力候補データに対応する仕入先名称912を情報処理装置101に送信する。
ステップS713では、情報処理装置101は、サーバ装置102から送信された入力候補データとそれに対応する仕入先名称912を受信し、ステップS714では、受信した入力候補データと仕入先名称912とを合わせて、仕入先入力フォーム1201の下部に選択可能に一覧表示させる。尚、仕入先名称912については、入力候補データである仕入先コード911とは異なるフォームに表示するようにする。この表示をする際には、仕入先コード911に対応する仕入先名称912が同じ行に表示されるようにする。そして、ユーザが選択操作処理で一覧表示された入力候補データにフォーカスを移動させると、対応する仕入先名称912もフォーカスされるようにする。このようにすることで、どの入力候補データ(仕入先コード911)がどの仕入先名称912を示すのかをユーザに識別させることができる。
ステップS715では、情報処理装置101は、ステップS714で一覧表示された入力候補データの選択をユーザから受け付ける処理を実行する。選択操作処理の詳細は、図6で前述した通りである。選択操作処理が終了すると、最終ブロックまで選択が完了したので、ブロック候補表示処理を終了する。
次に、図18と図19を用いて、図16に示すブロック候補表示処理について説明する。図18は、第2の実施形態におけるブロック候補表示処理の概要を示す図である。図18を説明する前提として、コード体系マスタテーブル900は、図19に示すものを用いる。つまり、ブロックは3つに区切られるものとして説明を行う。図19に示すように、ブロック1は、「12桁」まで、ブロック2は更に「2桁」まで、ブロック3は更に「8桁」までと区切られている。尚、説明の便宜上、入力候補表示桁数904は使用しないため「NULL」となっている。仕入先マスタテーブル910は図9に示すものを用いる。
まず、1801に示すように、仕入先入力フォーム1201には最初は何も表示されていない。この仕入先入力フォーム1201においてユーザから下キーの入力を情報処理装置101が受け付けると、情報処理装置101からサーバ装置102に対して入力候補データの取得要求を送信する。すると、サーバ装置102においてブロック1の入力候補データの抽出を行い、抽出した入力候補データを情報処理装置101に送信する。情報処理装置101は、当該入力候補データを受信し、1802に示すようにユーザから選択可能に一覧表示させる。ここでは、何も入力せずに入力候補データの取得要求を送信したので、入力データによってブロック1の入力候補データが絞り込まれずに、表示されている。
次に、1803で示すようにユーザから入力候補データの選択操作を受け付ける。ここでは、一覧表示された中から「2000HOKKAIDO」が選択されたものとして説明する。「2000HOKKAIDO」が選択されると、次のブロックの入力候補データを表示すべく、選択された「2000HOKKAIDO」を含めて、入力候補データの取得要求をサーバ装置102に送信する。サーバ装置102は、入力候補データの取得要求を受信すると、「2000HOKKAIDO」に合致するブロック2の入力候補データを抽出する。ここでは、「01」と「02」の2つが抽出されることになる。サーバ装置102は、再び情報処理装置101に対して、抽出した入力候補データを送信し、情報処理装置101は、これを受信する。
1804では、サーバ装置102から送信されたブロック2の入力候補データを選択可能に一覧表示する。前述した実施形態では、図10に示すようにブロック1も含めた入力候補データを一覧表示していたが、1804に示すように、ブロック2だけを表示するようにしてもよい。すでに選択されたブロック1は表示しないようにすることで、入力候補データに対するユーザの視認性を更に向上させることができる。
1805に示すように「01」が選択されたものとして続く説明を行う。「01」が選択されると、再び、次のブロックの入力候補データの取得要求をサーバ装置102に送信する。当該送信でも、すでに入力されている「2000HOKKAIDO01」を含めて、サーバ装置102に送信する。サーバ装置102では、入力候補データの取得要求を受信すると、「2000HOKKAIDO01」に合致する最終ブロックであるブロック3の入力候補データを抽出する。そして、抽出された入力候補データに対応する仕入先名称912も合わせて抽出し、情報処理装置101に送信する。情報処理装置101はこれを受信し、1806に示すような形態で受信した入力候補データを一覧表示させる。仕入先名称912については、当該仕入先名称が表示されるフォームの下部に表示するようにすることで、仕入先コードと仕入先名称をユーザに明確に区別させるようにしてもよい。
そして、1807に示すように、ユーザから「SHIIRE01」が選択されると、それに対応する仕入先名称912である「2000年度北海道01地区仕入先01」も合わせて選択状態となる。この状態でユーザからEnterキーが押下されると、入力が確定し、1808に示すように入力が完了する。このような一連の流れを実現することで、ユーザは希望の入力候補データをブロックごとに次々に選択していくだけで、他の入力候補データを表示する指示を行わずとも、データの入力を行うことができる。また、入力候補データを選択するとごとに、サーバ装置102から次のブロックの選択に必要な入力候補データだけを受信することができるので、情報処理装置101にすべての入力候補データをあらかじめ保持しておく必要がなくなる。また、サーバ装置102で入力候補データの抽出処理等を行うことができるので、情報処理装置101の負荷も軽減することができるようになる。
次に、第2の実施形態における情報処理装置101及びサーバ装置102によって行われる桁数候補表示処理について、図17を用いて説明する。尚、ステップS801乃至ステップS805の各ステップは、情報処理装置101におけるCPU201の制御の下、処理が行われる。また、前述した図16と同様の番号が振られているステップにおける処理の主体は、図16と同様であるので説明を省略する。
ステップS801では、情報処理装置101は、仕入先入力フォーム1201において現在ユーザが入力している文字列の位置を特定する。例えば、入力された文字列の桁数がいくつかを特定する。「2000H」と入力されていれば5桁目であるし、「2000HOKKAIDO01SH」と入力されていれば、16桁目である。
ステップS802では、情報処理装置101は、ステップS801で特定された入力位置に基づいて、入力中のブロック番号を特定する。ブロック番号のより具体的な特定方法は、ステップS302で前述した通りであるので、説明を省略する。
ステップS803では、情報処理装置101は、ステップS802で特定されたブロック番号に対応する入力候補表示桁数904を取得する。図9の例でいえば、ステップS802で特定されたブロック番号が「1」だったなら、取得できる入力候補表示桁数904は「4」である。
そして、ステップS804では、情報処理装置101は、仕入先入力フォーム1201に入力された文字列(入力データ)の桁数が、ステップS803で取得した入力候補表示桁数904が示す桁数に達しているか否かを判定する。入力候補表示桁数904が示す桁数が入力されるまで入力候補データの表示は行わないので、ステップS804でこのような判定を行っている。入力された文字列の桁数が入力候補表示桁数904の示す桁数に達していると判定された場合には、ステップS805に処理を進める。入力された文字列の桁数が入力候補表示桁数904の示す桁数に達していないと判定された場合には、桁数候補表示処理を終了する。あらためてユーザから文字列が入力された場合には、再度桁数候補表示処理が実行されるので、その時に再度入力候補表示桁数904に達しているかどうかを判定する。
ステップS805では、情報処理装置101は、入力候補データの一覧表示を行うべく、仕入先入力フォーム1201に入力済みの入力データと、ステップS802で特定されたブロック番号とを含めて、サーバ装置102に対して入力候補データの取得要求を送信する。以後の動作は、前述した図16で示すステップS704乃至ステップS715と同様である。ただ、ステップS710は、図16とは異なり、選択操作処理が終了すると、桁数候補表示処理も終了する。桁数候補表示処理は、ブロックごとに入力候補データの表示を開始する桁数が定められているので、所定のブロックにおける選択が完了したら、その次のブロックの所定の桁数が入力されるまで入力候補データの表示は行われない。こうすることで、不要な入力候補データの表示を避け、処理負荷を低減することができるようになる。
以上説明したように、第2の実施形態によれば、ユーザが入力候補データを選択する操作を行うだけで、追加の指示を行うことなく次のブロックの入力候補データを表示することができ、更に入力候補データを選択するごとに、次のブロックの入力候補データをサーバ装置102から取得するので、あらかじめすべての入力候補データを情報処理装置101に保持しておく必要がなく、更にサーバ装置102で処理を代替させることで情報処理装置101の処理負荷を軽減することのできる効果を奏する。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。