(58)【調査した分野】(Int.Cl.,DB名)
前記スライド方向検知手段で検知したスライド方向が第1の方向である場合に前記切替手段で切り替えられるブロックと、前記スライド方向検知手段で検知したスライド方向が第2の方向である場合に前記切替手段で切り替えられるブロックとが異なるブロックであることを特徴とする請求項1または2に記載の情報処理装置。
前記抽出手段は、既に前記切替手段で切り替えられたブロックの文字列を前記入力候補データから抽出済みであった場合には、抽出を行わないことを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
【発明を実施するための形態】
【0013】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【0014】
図1は、本発明の情報処理システム100のシステム構成の一例を示す図である。本発明の情報処理システム100は、情報処理装置101、サーバ102が設置されており、それら装置はLAN(Local Area Network)等のネットワーク103を介して相互にデータ通信可能に接続されている。
図1のネットワーク103上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例がある。
【0015】
情報処理装置101は、業務アプリケーションを実行する装置である。業務アプリケーションは後述する
図2のROM202または外部メモリ211に記憶されており、ユーザからの指示に応じて、CPU201がRAM203に読み出して各種動作を行う。
【0016】
業務アプリケーションは、ユーザからの操作に応じて、各種データの登録や管理を行う。具体的には会計業務に必要なデータやコードの登録や管理である。本実施例では会計業務に特化した業務アプリケーションとして説明を行うが、これに限らない。生産管理であっても人事給与であってもよい。尚、業務アプリケーションで利用する各種データは、情報処理装置101の外部メモリ211に記憶されているものとして説明を行うが、これに限らない。
【0017】
サーバ102は、情報処理装置101で登録された各種データを記憶管理するための装置である。業務アプリケーションで登録される各種データは、複数のユーザによって登録、管理される場合があり、その場合にはサーバ102で登録された各種データを一元管理する。本実施例では、各種データは情報処理装置101で管理されているものとして説明を行う。
【0018】
尚、情報処理装置101が、サーバ102の構成を含んでもよいし、サーバ102が情報処理装置101の構成を含んでもよい。装置の構成はこれに限らない。
【0019】
図2は、本発明の実施形態における各種端末のハードウェア構成を示す図である。
【0020】
CPU201は、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
【0021】
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / OutputSystem)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
【0022】
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。
【0023】
また、入力コントローラ(入力C)205は、キーボード209や不図示のマウス等のポインティングデバイスからの入力を制御する。
【0024】
ビデオコントローラ(VC)206は、CRTディスプレイ(CRT)210等の表示器への表示を制御する。表示器はCRTだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。
【0025】
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフレキシブルディスク或いはPCMCIAカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ211へのアクセスを制御する。
【0026】
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
【0027】
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0028】
本発明の情報処理装置101が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。
【0029】
次に、情報処理装置101及びサーバ102のモジュール構成を示す機能構成図について、
図3を用いて説明する。尚、
図3の各種端末あるいはサーバのモジュール構成は一例であり、用途や目的に応じて様々な構成例がある。
【0030】
情報処理装置101は、記憶モジュール301、画面表示モジュール302、テーブル管理モジュール303、第1の指示受付モジュール304、第2の指示受付モジュール305、第1の指示再受付モジュール306を備える。
【0031】
記憶モジュール301(記憶手段)は、情報処理装置101の業務アプリケーションによって作成された各種データを記憶するモジュールである。特に会計処理を行い業務アプリケーションにおいては、科目コードや部門コード、仕訳データといった会計処理に必要な各種データが記憶モジュール301で記憶される。記憶モジュール301によって記憶された各種データは、情報処理装置101の外部メモリ211等に記憶され、必要に応じて、記憶モジュール301によって読みだされる。
【0032】
画面表示モジュール302は、各種情報を情報処理装置101のCRT210に表示させるためのモジュールである。特に、後述する第1の指示受付モジュール304や、第2の指示受付モジュール305、第1の指示再受付モジュール306によって受け付けた入力候補を所定の表示形態で表示させる。
【0033】
テーブル管理モジュール303は、後述する
図11の会計部門マスタ1420やユーザマスタ1430、コード使用履歴マスタ1440、
図16の入力候補リスト1600の記憶や更新等を行うためのモジュールである。各種テーブルは、外部メモリ211に記憶され、必要に応じてRAM203に読み出す。
【0034】
第1の指示受付モジュール304(第1の指示受付手段)は、画面表示モジュール302によって表示された入力フォーム(リスト入力部品)に対して、所定の方向、例えば垂直方向(上下方向)に対する入力指示を受け付けるモジュールである。垂直方向に対する入力指示を受け付けた場合には、所定の表示順で入力候補を表示したり、入力候補の一部分を抽出して選択を受け付けたりさせる。
【0035】
第2の指示受付モジュール305(第2の指示受付手段)は、画面表示モジュール302によって表示された入力フォーム(リスト入力部品)に対して、第1の指示受付モジュール304とは異なる所定の方向、例えば水平方向(左右方向)に対する入力指示を受け付けるモジュールである。水平方向に対する入力指示を受け付けた場合には、第1の指示受付モジュール304とは異なる所定の表示順で入力候補を表示したり、第1の指示受付モジュール304とは異なる入力候補の一部分を抽出して選択を受け付けたりさせる。
【0036】
第1の指示再受付モジュール306は、画面表示モジュール302によって表示された入力フォーム(リスト入力部品)に対して、入力候補が表示されている状態で再度所定の方向、例えば垂直方向に対する入力指示を受け付けるモジュールである。再度入力を受け付けると、第1の指示受付モジュール304で入力を受け付けた場合と同様の動作を行う。
【0037】
サーバ102は、記憶モジュール311を備える。記憶モジュール311は、前述した情報処理装置101の記憶モジュール301と同様である。情報処理装置101に業務アプリケーションで使用する各種データを記憶管理させる場合には情報処理装置101の記憶モジュール301を利用し、サーバ102に業務アプリケーションで使用する各種データを記憶管理させる場合にはサーバ102の記憶モジュール311を利用する。本実施例では、情報処理装置101の記憶モジュール301を利用するものとして説明を行う。
【0038】
次に、本発明の実施例における情報処理装置101によって行われる一連の処理について、
図4に示すフローチャートを用いて説明する。尚、ステップS401乃至ステップS453の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。
【0039】
また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている業務アプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、業務アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【0040】
ステップS401では、情報処理装置101のCPU201は、情報処理装置101に記憶された業務アプリケーションを起動し、ユーザからの指示に応じてログインを実行する。このとき、
図11に示すユーザマスタ1430のユーザID1431が入力され、所定のボタンの押下を検知することでログインするものとする。
【0041】
ユーザマスタ1430(
図11参照)は、ユーザID1431、ユーザ名1432、コード表示順1433から構成される。ユーザID1431は、ユーザごとに一意に割り振られた識別情報である。ユーザ名1432は、ユーザの名前を示す情報である。コード表示順1433は、後述する処理において使用する入力候補の表示順を示す設定情報である。コード表示順1433は、
図9に示すユーザマスタ編集画面900の表示順設定ボタン1201が押下された場合に表示される表示順設定画面1300(
図10参照)でユーザから設定された表示順を当該ユーザのコード表示順1433に格納しておく。ユーザマスタ編集画面900及び表示順設定画面1300の構成はこれに限らない。他の設定画面があってもよいし、他の方法でもよい。
【0042】
ステップS405では、情報処理装置101のCPU201は、ユーザマスタ1430からコード表示順1433を取得し、RAM203に記憶しておく。
【0043】
ステップS410では、情報処理装置101のCPU201は、ユーザからの選択を検知して、どの入力画面を起動すべきなのかを決定する。そして、ステップS415では、ステップS410で選択された入力画面を起動する。ここで入力画面とは、
図7に示すようなリスト入力部品を備えた画面のことである。リスト入力部品とは参照ボタン602が押下されると
図8に示すような入力候補のリストが表示され、その中から対象項目を選択可能な部品である。
【0044】
ステップS420では、情報処理装置101のCPU201は、ステップS415で表示された入力画面に備えられたリスト入力部品上で、ユーザからの操作によって、スライド操作を検知する。スライド操作とは、いわゆるドラッグ操作と同様である。マウスをクリックされた状態で当該マウスを移動された場合にはスライド操作と判定される。本実施例では、リスト入力部品上をスタート地点として、スライド操作がなされたか否かを検知する。尚、本実施例ではマウスを用いたスライド操作について説明を行うが、タッチパネルを備えた装置であれば、タッチパネルに指がタッチされたまま移動したか否かを検知する。いわゆるフリック操作がなされたかどうかを検知することになる。
【0045】
ステップS425では、情報処理装置101のCPU201は、ステップS420で検知したスライド操作の操作方向が上下(垂直方向)なのか、左右(水平方向)なのかを判定する。上下(垂直方向)であると判定された場合には、ステップS430に処理を進め、左右(水平方向)であると判定された場合には、ステップS445に処理を進める。
【0046】
ステップS430では、情報処理装置101のCPU201は、続いてステップS420で検知したスライド操作の操作方向が上であるのか、下であるのかを判定する。上であると判定された場合には、ステップS435に処理を進め、下であると判定された場合には、ステップS440に処理を進める。
【0047】
ステップS435では、情報処理装置101のCPU201は、リスト入力部品に表示する1つ前の入力候補を取得するための処理を行う。前の項目を取得処理の詳細は、後述する
図5に示す。
【0048】
ステップS440では、情報処理装置101のCPU201は、リスト入力部品に表示する1つ後の入力候補を取得するための処理を行う。次の項目を取得処理の詳細は、後述する
図6に示す。
【0049】
ステップS445では、情報処理装置101のCPU201は、ステップS405で取得したコード表示順1433に基づいて、入力候補として表示する会計部門マスタ1420を並び替える。「使用回数順」であれば、コード使用履歴マスタ1440の使用回数1444を参照して使用回数が多い順に並び替え、「最新使用順」であれば、コード使用履歴マスタ1440の最終入力日付1445を参照して、最近使用した順番に並び替え、「名称順」であれば、会計部門マスタ1420の部門名1423を参照して、名前順に並び替える。こうすることで、上下(垂直方向)にスライド操作された場合と、左右(水平方向)にスライド操作された場合で異なる順序で入力候補を表示させることができる。
【0050】
会計部門マスタ1420(
図11参照)は、会社コード1421、部門コード1422、部門名1423から構成される。会社コード1421は、会社ごとに一意に割り振られる識別情報である。部門コード1422(入力候補データ)は、部門ごとに一意に割り振られる識別情報である。部門名1423は、部門の名称を示す情報である。
【0051】
また、コード使用履歴マスタ1440(
図11参照)は、ユーザID1441、対象1442、コード1443、使用回数1444、最終入力日付1445から構成される。ユーザID1441は、ユーザマスタ1430のユーザID1431と同一である。対象1442は、対象となるマスタを定義した情報である。コード1443は、会計部門マスタ1420の部門コード1422と同一である。使用回数1444は、コード1443がユーザによって設定された回数を示す情報である。最終入力日付1445は、コード1443を最後に使用した年月日を記憶する情報である。
【0052】
ステップS450では、情報処理装置101のCPU201は、続いてステップS420で検知したスライド操作の操作方向が左であるのか、右であるのかを判定する。左であると判定された場合には、ステップS455に処理を進め、右であると判定された場合には、ステップS460に処理を進める。
【0053】
ステップS455では、情報処理装置101のCPU201は、リスト入力部品に表示する1つ前の入力候補を取得するための処理を行う。前の項目を取得処理の詳細は、後述する
図5に示す。
【0054】
ステップS460では、情報処理装置101のCPU201は、リスト入力部品に表示する1つ後の入力候補を取得するための処理を行う。次の項目を取得処理の詳細は、後述する
図6に示す。
【0055】
ステップS450では、情報処理装置101のCPU201は、ステップS435、ステップS440、ステップS455、ステップS460のいずれかで取得した項目をリスト入力部品に出力する。そして、ステップS451では、情報処理装置101のCPU201は、ステップS415で表示された入力画面に備えられた登録ボタンが押下されたか否かを判定し、登録ボタンが押下された場合には、ステップS452に処理を進め、そうでない場合には、登録ボタンが押下されるまで待機する。
【0056】
ステップS452では、情報処理装置101のCPU201は、ステップS451で登録ボタンが押下されたと判定されると、ステップS450で表示された項目を所定のデータベース等に登録する。
【0057】
そして、ステップS453では、情報処理装置101のCPU201は、ステップS452で登録された項目をコード使用履歴マスタ1440に登録する。つまり、使用履歴として登録しておくことで、次回以降の表示順に利用する。
【0058】
次に、前の項目を取得処理について
図5を用いて説明する。尚、ステップS501乃至ステップS520の各ステップは情報処理装置101おけるCPU201の制御の下、処理が行われる。
【0059】
また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている業務アプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、業務アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【0060】
まず、ステップS501では、情報処理装置101のCPU201は、ステップS415で表示されたリスト入力部品に既に入力候補(項目)が設定済みであるか否かを判定する。つまり、リスト入力部品が空欄ではなく、ユーザから入力されている状態または選択されている状態か否かを判定する。既に項目が設定済みであると判定された場合には、ステップS505に処理を進め、項目が設定されていないと判定された場合には、ステップS525に処理を進める。
【0061】
ステップS505では、情報処理装置101のCPU201は、既に入力設定されている項目の順番を取得する。具体的には、既に入力されている項目を取得し、それが会計部門マスタ1420のどのコードに該当するのかを特定し、当該特定された位置(順番)を保持しておく。尚、会計部門マスタ1420は、ステップS445で処理が実行されていれば、ユーザごとに設定された表示順でソートされている状態である。よって、ステップS435とステップS455ではステップS505で特定する位置が異なってくる。
【0062】
ステップS510では、情報処理装置101のCPU201は、ステップS505で取得した位置(順番)が最初、つまり会計部門マスタ1420の先頭であるか否かを判定する。ステップS505で取得した位置が最初であると判定された場合には、ステップS515に処理を進め、そうでない場合には、ステップS520に処理を進める。
【0063】
ステップS515では、情報処理装置101のCPU201は、会計部門マスタ1420に格納された項目のうち、最後の項目を取得する。つまり、現在項目として入力されている状態の項目は会計部門マスタ1420の先頭に位置しているので、それよりも前の項目が存在しない。よって、最後尾である会計部門マスタ1420の最後の項目を取得するようにする。こうすることで、スライド操作に応じてドラム状に項目を選択させることが可能となる。
【0064】
一方、ステップS520では、情報処理装置101のCPU201は、ステップS505で特定した位置よりも1つ前の項目を会計部門マスタ1420から取得する。例えば、
図11に示す会計部門マスタ1420のうち、「12100」が入力された状態でスライド操作(上方向にスライド)がなされて、1つ前の項目を取得する場合には、「11600」が取得される。つまり、
図7の操作例801に示すような状態になる。また、例えば使用回数順で会計部門マスタ1420がソートされていた場合には、「12100」が入力された状態でスライド操作(左方向にスライド)がなされると、使用回数順でソートしたときの1つ前である「11500」が取得される。つまり、
図7の操作例1001に示すような状態になる。
【0065】
ステップS501で項目が設定済みでないと判定された場合には、ステップS525では、情報処理装置101のCPU201は、会計部門マスタ1420に格納された項目のうち、最後の項目を取得する。つまり、現在はまったく入力されていない状態なので、前の項目として会計部門マスタ1420に格納された項目のうち、最後の項目を取得する。
【0066】
次に、次の項目を取得処理について
図6を用いて説明する。尚、ステップS550乃至ステップS575の各ステップは情報処理装置101おけるCPU201の制御の下、処理が行われる。
【0067】
また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている業務アプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、業務アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【0068】
まず、ステップS550では、情報処理装置101のCPU201は、ステップS415で表示されたリスト入力部品に既に入力候補(項目)が設定済みであるか否かを判定する。つまり、リスト入力部品が空欄ではなく、ユーザから入力されている状態または選択されている状態か否かを判定する。既に項目が設定済みであると判定された場合には、ステップS555に処理を進め、項目が設定されていないと判定された場合には、ステップS575に処理を進める。
【0069】
ステップS555では、情報処理装置101のCPU201は、既に入力設定されている項目の順番を取得する。具体的には、既に入力されている項目を取得し、それが会計部門マスタ1420のどのコードに該当するのかを特定し、当該特定された位置(順番)を保持しておく。尚、会計部門マスタ1420は、ステップS445で処理が実行されていれば、ユーザごとに設定された表示順でソートされている状態である。よって、ステップS435とステップS455ではステップS555で特定する位置が異なってくる。
【0070】
ステップS560では、情報処理装置101のCPU201は、ステップS555で取得した位置(順番)が最後、つまり会計部門マスタ1420の末尾であるか否かを判定する。ステップS555で取得した位置が最後であると判定された場合には、ステップS565に処理を進め、そうでない場合には、ステップS570に処理を進める。
【0071】
ステップS565では、情報処理装置101のCPU201は、会計部門マスタ1420に格納された項目のうち、最初の項目を取得する。つまり、現在項目として入力されている状態の項目は会計部門マスタ1420の末尾に位置しているので、それよりも後の項目が存在しない。よって、会計部門マスタ1420の先頭の項目を取得するようにする。こうすることで、スライド操作に応じてスロットのリールを回すような感覚で項目を順次選択させることが可能となる。
【0072】
一方、ステップS570では、情報処理装置101のCPU201は、ステップS555で特定した位置よりも1つ次の項目を会計部門マスタ1420から取得する。例えば、
図11に示す会計部門マスタ1420のうち、「12100」が入力された状態でスライド操作(下方向にスライド)がなされて、1つ後の項目を取得する場合には、「12200」が取得される。つまり、
図7の操作例701に示すような状態になる。また、例えば使用回数順で会計部門マスタ1420がソートされていた場合には、「12100」が入力された状態でスライド操作(右方向にスライド)がなされると、使用回数順でソートしたときの1つ次である「11100」が取得される。つまり、
図7の操作例901に示すような状態になる。
【0073】
ステップS550で項目が設定済みでないと判定された場合には、ステップS575では、情報処理装置101のCPU201は、会計部門マスタ1420に格納された項目のうち、最初の項目を取得する。つまり、現在はまったく入力されていない状態なので、次の項目として会計部門マスタ1420に格納された項目のうち、最初の項目を取得する。
【0074】
このようにして、上下のような第1の方向と、左右のような第2の方向のそれぞれにおいて、異なる表示順で入力候補を表示するようにすることで、よりユーザに対して柔軟な選択を提供することが可能となる。
【0075】
次に、第2の実施例について説明を行う。前述した実施例では、入力候補の表示を指示した方向によって、当該入力候補の表示順を変える仕組みについて説明したが、第2の実施例では、入力候補の文字列を2つのブロックに分けて、第1の方向と第2の方向でそれぞれブロックの入力候補を選択する仕組みについて説明する。
【0076】
第2の実施例におけるシステム構成、ハードウェア構成、及びモジュール構成は、前述した実施例を同様であるので、説明を省略する。
【0077】
次に、本発明の第2の実施例における情報処理装置101によって行われる一連の処理について、
図12に示すフローチャートを用いて説明する。尚、ステップS1201乃至ステップS1213の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。
【0078】
また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている業務アプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、業務アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【0079】
まず、ステップS1201では、情報処理装置101のCPU201は、情報処理装置101に記憶された業務アプリケーションを起動し、ユーザからの指示に応じてログインを実行する。
【0080】
ステップS1203では、情報処理装置101のCPU201は、ユーザからの指示に応じて入力画面を表示させる。第2の実施例についても入力画面とは、
図7に示すようなリスト入力部品を備えた画面のことである。リスト入力部品とは参照ボタン602が押下されると
図8に示すような入力候補のリストが表示され、その中から対象項目を選択可能な部品である。
【0081】
ステップS1204では、情報処理装置101のCPU201は、ユーザからの入力操作を受け付ける(スライド操作受付手段)。具体的には、マウス等の入力デバイスからの操作を受け付ける状態にする。
【0082】
ステップS1205では、情報処理装置101のCPU201は、ステップS1204で受け付けた操作が第1の方向にスライド操作するものだったか否かを判定する(スライド方向検知手段、切替手段)。例えば、垂直方向(上下)を第1の方向とした場合に、垂直方向にスライド操作がなされたか否かを判定することになる。第1の方向にスライド操作するものであった場合には、ステップS1206に処理を進め、そうでない場合には、ステップS1209に処理を進める。
【0083】
ステップS1206では、情報処理装置101のCPU201は、入力候補を構成するブロックのうち、第2ブロックが既に選択済みか否かを判定する。第2の実施例では、
図17のブロック分割例1720に示すように、入力候補のデータを複数のブロックに分けて選択できるようにしている。第2の実施例では、入力候補を2つのブロックに分けて、それぞれ第1ブロック、第2ブロックと呼ぶことにする。本ステップでは、既に第2ブロックまで選択状態済みか否かを判定するため、リスト入力部品に表示された入力候補を参照して、第2のブロックまで選択されているかどうかを判定する。第2ブロックが選択済みであると判定された場合には、ステップS1208に処理を進め、そうでないと判定された場合には、ステップS1207に処理を進める。
【0084】
ステップS1207では、情報処理装置101のCPU201は、入力候補を構成するブロックのうち、第1ブロックを選択するための処理を行う。第1ブロック選択処理の詳細は、後述する
図13に示す。
【0085】
一方、ステップS1208では、情報処理装置101のCPU201は、既に第2ブロックまで選択が完了している状態でもう一度第1の方向にスライド操作がなされたので、第1ブロックの再選択(再表示)を行う。第1ブロック再選択処理の詳細は、後述する
図15に示す。
【0086】
ステップS1209では、情報処理装置101のCPU201は、ステップS1204で受け付けた操作が第2の方向にスライド操作するものだったか否かを判定する(スライド方向検知手段、切替手段)。例えば、水平方向(左右)を第2の方向とした場合に、水平方向にスライド操作がなされたか否かを判定することになる。第2の方向にスライド操作するものであった場合には、ステップS1210に処理を進め、そうでない場合には、ステップS1212に処理を進める。
【0087】
ステップS1210では、情報処理装置101のCPU201は、入力候補を構成するブロックのうち、第1ブロックが既に選択済みか否かを判定する。第1ブロックが選択済みであると判定された場合には、ステップS1211に処理を進め、そうでないと判定された場合には、ステップS1204に処理を戻す。ステップS1204に処理を戻す場合には、「先に第1ブロックを選択してください。」といったエラーメッセージを表示してから、処理を戻してもよい。
【0088】
ステップS1211では、情報処理装置101のCPU201は、入力候補を構成するブロックのうち、第2ブロックを選択するための処理を行う。第2ブロック選択処理の詳細は、後述する
図14に示す。
【0089】
ステップS1212では、情報処理装置101のCPU201は、入力画面に備えられた入力確定ボタンが押下されたか否かを検知する。入力確定ボタンが押下された場合には、ステップS1213に処理を進め、そうでない場合には、ステップS1204に処理を戻す。
【0090】
ステップS1213では、情報処理装置101のCPU201は、リスト入力部品に表示された入力候補を所定のデータベース等に登録し、処理を終了する。
【0091】
次に、第1ブロック選択処理について
図13を用いて説明する。尚、ステップS1301乃至ステップS1314の各ステップは情報処理装置101おけるCPU201の制御の下、処理が行われる。
【0092】
また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている業務アプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、業務アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【0093】
ステップS1301では、情報処理装置101のCPU201は、
図16に示す入力候補リスト1600から第1ブロックだけを集約した第1ブロックリストを作成する(抽出手段)。入力候補リスト1600の入力コード1601に格納されたデータを抽出し、第1ブロックに相当する部分、つまりハイフンよりも前の部分を抽出する。そして、抽出したデータの重複分を消し込みし、結果、
図17の第1ブロックリスト1700に示すようなリストを作成する。重複分を消し込むことができるので、入力候補リスト1600に記載された入力候補の数よりも少ない数となり、ユーザが探しやすい状態になる。
【0094】
入力候補リスト1600(
図16参照)は、入力コード1601(入力候補データ)、コード名称1602から構成される。入力コード1601は、リスト入力部品に表示する入力候補である。入力コード1601は、所定の文字列から成る複数のブロックに区切ることが可能である。コード名称1602は、入力コード1601に対応する入力候補の名称である。
【0095】
ステップS1302では、情報処理装置101のCPU201は、既に第1ブロックが選択中であるか否かを判定する。既に第1ブロックが選択中であると判定された場合には、ステップS1303に処理を進め、そうでない場合には、ステップS1305に処理を進める。
【0096】
ステップS1303では、情報処理装置101のCPU201は、既に選択中の第1ブロックのデータを特定する。そして、ステップS1304では、情報処理装置101のCPU201は、ステップS1303で特定されたデータを、入力候補を表示する開始位置に設定する。具体的には、ステップS1301で作成された第1ブロックリストのうち、ステップS1303で特定されたデータと一致するデータの位置を特定し、その位置をスライド指示に応じて表示する入力候補の開始位置とする。
【0097】
一方、ステップS1305では、情報処理装置101のCPU201は、第1ブロックがまだ選択されていないので、第1ブロックリストの先頭レコードをスライド指示に応じて表示する入力候補の開始位置とする。
【0098】
ステップS1306では、情報処理装置101のCPU201は、ステップS1204で受け付けたスライド方向を特定する。ここでは第1の方向は垂直方向として説明しているので、上または下のどちらにスライドされたのかを特定することになる。また、ステップS1307では、情報処理装置101のCPU201は、ステップS1204で受け付けたスライド操作が行われた距離と速度を特定する。これらは後述するステップS1309及びステップS1312で使用する。
【0099】
ステップS1308では、情報処理装置101のCPU201は、ステップS1306で特定されたスライド方向が上なのか下なのかを判定する。第2の実施例では、第1の方向を垂直方向としているため、上下の判定となっているが、第1の方向を水平方向とした場合には左右の判定となる。つまり、ステップS1304またはステップS1305で設定された開始位置よりも前の入力候補を表示する指示がなされたのか、後ろの入力候補を表示する指示がなされたのかを判定している。第2の実施例では、下の場合には前の入力候補、上の場合には後ろの入力候補を表示する指示とみなす。ステップS1306で特定されたスライド方向が下であると判定された場合には、ステップS1309に処理を進め、ステップS1306で特定されたスライド方向が上であると判定された場合には、ステップS1312に処理を進める。
【0100】
ステップS1309では、情報処理装置101のCPU201は、ステップS1307で特定されたスライド距離と速度が一定以上であるか否かを判定する。第2の実施例では両方ともが一定以上である場合のみ正と判定されるが、片方だけでもよい。ステップS1307で特定されたスライド距離と速度が一定以上であると判定された場合には、ステップS1310に処理を進め、ステップS1307で特定されたスライド距離と速度が一定以上でないと判定された場合には、ステップS1311に処理を進める。
【0101】
ステップS1310では、情報処理装置101のCPU201は、ステップS1304またはステップS1305で特定された開始位置より後の入力候補を第1ブロックリスト1700から取得し、リスト入力部品に表示して、選択状態にさせる(選択受付手段)。特にステップS1310では、後述するステップS1311で表示される入力候補よりも遠くの入力候補を表示して、選択状態にさせる。例えば、「2010HOKKAIDO」を開始位置としてスライド操作がなされた場合には、「2010HOKKAIDO」よりも後の入力候補を表示する。この時にステップS1311で表示されるものが「2010KANTO」だった場合には、これよりも後、つまり「2010KINKI」や「2011HOKKAIDO」等を表示させる。ステップS1309でスライドした距離や速度が一定以上であるので、勢いよくかつ長い距離をスライドされたので、開始位置よりも遠くの入力候補を表示させることで、直観的な選択を提供する。
【0102】
一方、ステップS1311では、情報処理装置101のCPU201は、ステップS1304またはステップS1305で特定された開始位置より後の入力候補を第1ブロックリスト1700から取得し、リスト入力部品に表示して、選択状態にさせる(選択受付手段)。特にステップS1311では、前述したステップS1310で表示される入力候補よりも近くの入力候補を表示して、選択状態にさせる。
【0103】
図18に示すように、リスト入力部品の上で上方向にスライド操作がなされた場合、第1ブロックリストを生成し、入力候補のデータをスライドさせる。開始位置が「2010HOKKAIDO」であるので、その1つ後の「2010KANTO」が選択される。このスライド操作の距離や速度が一定以上なら、「2010KINKI」や「2011HOKKAIDO」等が選択される。このようにスロットのリールを回すような感覚で入力候補を順次選択することができる。
【0104】
ステップS1312では、情報処理装置101のCPU201は、ステップS1309と同様にステップS1307で特定されたスライド距離と速度が一定以上であるか否かを判定する。第2の実施例では両方ともが一定以上である場合のみ正と判定されるが、片方だけでもよい。ステップS1307で特定されたスライド距離と速度が一定以上であると判定された場合には、ステップS1313に処理を進め、ステップS1307で特定されたスライド距離と速度が一定以上でないと判定された場合には、ステップS1314に処理を進める。
【0105】
ステップS1313では、情報処理装置101のCPU201は、ステップS1304またはステップS1305で特定された開始位置より前の入力候補を第1ブロックリスト1700から取得し、リスト入力部品に表示して、選択状態にさせる(選択受付手段)。特にステップS1313では、後述するステップS1314で表示される入力候補よりも遠くの入力候補を表示して、選択状態にさせる。
【0106】
一方、ステップS1314では、情報処理装置101のCPU201は、ステップS1304またはステップS1305で特定された開始位置より前の入力候補を第1ブロックリスト1700から取得し、リスト入力部品に表示して、選択状態にさせる(選択受付手段)。特にステップS1314では、前述したステップS1313で表示される入力候補よりも近くの入力候補を表示して、選択状態にさせる。以上のようにすることで、まずは第1ブロックを選択させる。
【0107】
次に、第2ブロック選択処理について
図14を用いて説明する。尚、ステップS1401乃至ステップS1416の各ステップは情報処理装置101おけるCPU201の制御の下、処理が行われる。
【0108】
また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている業務アプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、業務アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【0109】
ステップS1401では、情報処理装置101のCPU201は、選択中の第1ブロックのデータを特定する。前述した第1ブロック選択処理や後述する第1ブロック再選択処理で選択されている第1ブロックの入力候補を特定する。
【0110】
ステップS1402では、情報処理装置101のCPU201は、ステップS1401で特定されたデータに基づいて、第2ブロックリストを生成する。例えば、ステップS1401で特定されたデータが「2010KANTO」だった場合には、第1ブロックが「2010KANTO」となっているデータの第2ブロックを抽出して、
図17に示すような第2ブロックリスト1710を生成する。尚、第2の実施例では、第1ブロックのデータも合わせた形で第2ブロックリスト1710を生成しているが、第2ブロックのデータだけでもよい。つまり、
図17で言えば「SHIIRE01」「SHIIRE02」「SHIIRE03」の3つが格納された第2ブロックリスト1710でもよい。
【0111】
ステップS1403では、情報処理装置101のCPU201は、既に第2ブロックが選択中であるか否かを判定する。既に第2ブロックが選択中であると判定された場合には、ステップS1404に処理を進め、そうでない場合には、ステップS1406に処理を進める。
【0112】
ステップS1404では、情報処理装置101のCPU201は、既に選択中の第2ブロックのデータを特定する。そして、ステップS1405では、情報処理装置101のCPU201は、ステップS1404で特定されたデータを、入力候補を表示する開始位置に設定する。具体的には、ステップS1402で作成された第2ブロックリストのうち、ステップS1404で特定されたデータと一致するデータの位置を特定し、その位置をスライド指示に応じて表示する入力候補の開始位置とする。
【0113】
一方、ステップS1406では、情報処理装置101のCPU201は、第2ブロックがまだ選択されていないので、第2ブロックリストの先頭レコードをスライド指示に応じて表示する入力候補の開始位置とする。
【0114】
ステップS1407では、情報処理装置101のCPU201は、ステップS1204で受け付けたスライド方向を特定する。ここでは第2の方向は水平方向として説明しているので、左または右のどちらにスライドされたのかを特定することになる。また、ステップS1408では、情報処理装置101のCPU201は、ステップS1204で受け付けたスライド操作が行われた距離と速度を特定する。これらは後述するステップS1410及びステップS1413で使用する。
【0115】
ステップS1409では、情報処理装置101のCPU201は、ステップS1407で特定されたスライド方向が左なのか右なのかを判定する。第2の実施例では、第1の方向を水平方向としているため、左右の判定となっているが、第2の方向を垂直方向とした場合には上下の判定となる。つまり、ステップS1405またはステップS1406で設定された開始位置よりも前の入力候補を表示する指示がなされたのか、後ろの入力候補を表示する指示がなされたのかを判定している。第2の実施例では、右の場合には前の入力候補、左の場合には後ろの入力候補を表示する指示とみなす。ステップS1407で特定されたスライド方向が右であると判定された場合には、ステップS1410に処理を進め、ステップS1407で特定されたスライド方向が左であると判定された場合には、ステップS1413に処理を進める。
【0116】
ステップS1410では、情報処理装置101のCPU201は、ステップS1408で特定されたスライド距離と速度が一定以上であるか否かを判定する。第2の実施例では両方ともが一定以上である場合のみ正と判定されるが、片方だけでもよい。ステップS1408で特定されたスライド距離と速度が一定以上であると判定された場合には、ステップS1411に処理を進め、ステップS1408で特定されたスライド距離と速度が一定以上でないと判定された場合には、ステップS1412に処理を進める。
【0117】
ステップS1411では、情報処理装置101のCPU201は、ステップS1405またはステップS1406で特定された開始位置より後の入力候補を第2ブロックリスト1710から取得し、リスト入力部品に表示して、選択状態にさせる。特にステップS1411では、後述するステップS1412で表示される入力候補よりも遠くの入力候補を表示して、選択状態にさせる。例えば、「2010KANTO−SHIIRE01」を開始位置としてスライド操作がなされた場合には、「2010KANTO−SHIIRE01」よりも後の入力候補を表示する。この時にステップS1412で表示されるものが「2010KANTO−SHIIRE02」だった場合には、これよりも後、つまり「2010KANTO−SHIIRE03」等を表示させる。ステップS1410でスライドした距離や速度が一定以上であるので、勢いよくかつ長い距離をスライドされたので、開始位置よりも遠くの入力候補を表示させることで、直観的な選択を提供する。
【0118】
一方、ステップS1412では、情報処理装置101のCPU201は、ステップS1405またはステップS1406で特定された開始位置より後の入力候補を第2ブロックリスト1710から取得し、リスト入力部品に表示して、選択状態にさせる。特にステップS1412では、前述したステップS1411で表示される入力候補よりも近くの入力候補を表示して、選択状態にさせる。
【0119】
図19に示すように、リスト入力部品の上で第1ブロックが選択された状態で左方向にスライド操作がなされた場合、第2ブロックリストを生成し、入力候補のデータをスライドさせる。その結果、「2010KANTO−SHIIRE01」が選択される。
【0120】
ステップS1413では、情報処理装置101のCPU201は、ステップS1410と同様にステップS1408で特定されたスライド距離と速度が一定以上であるか否かを判定する。第2の実施例では両方ともが一定以上である場合のみ正と判定されるが、片方だけでもよい。ステップS1408で特定されたスライド距離と速度が一定以上であると判定された場合には、ステップS1414に処理を進め、ステップS1408で特定されたスライド距離と速度が一定以上でないと判定された場合には、ステップS1415に処理を進める。
【0121】
ステップS1414では、情報処理装置101のCPU201は、ステップS1405またはステップS1406で特定された開始位置より前の入力候補を第2ブロックリスト1710から取得し、リスト入力部品に表示して、選択状態にさせる。特にステップS1414では、後述するステップS1415で表示される入力候補よりも遠くの入力候補を表示して、選択状態にさせる。
【0122】
一方、ステップS1415では、情報処理装置101のCPU201は、ステップS1405またはステップS1406で特定された開始位置より前の入力候補を第2ブロックリスト1710から取得し、リスト入力部品に表示して、選択状態にさせる。特にステップS1415では、前述したステップS1414で表示される入力候補よりも近くの入力候補を表示して、選択状態にさせる。以上のようにすることで、第2ブロックを選択させる。
【0123】
そして、ステップS1416では、情報処理装置101のCPU201は、第2ブロックまで選択がなされたので、対応する入力候補のコード名称1602を入力候補リスト1600から取得して、表示させる。コードだけだとわかりにくいため、第2ブロックまで選択されて入力候補が一意に特定できるようになった段階で、コード名称1602を表示する。
【0124】
このように第1の方向にスライドさせることで第1ブロックの選択を受け付け、その後に第2の方向にスライドさせることで、第1ブロックで選択済みの入力候補に関連する第2ブロックの選択が可能となる。これにより、入力候補リスト1600のように多くの入力候補が一覧表示されるよりも誤入力を防ぎつつ、柔軟な入力方法を提供することができる。
【0125】
次に、第1ブロック再選択処理について
図15を用いて説明する。尚、ステップS1501乃至ステップS1513の各ステップは情報処理装置101おけるCPU201の制御の下、処理が行われる。
【0126】
また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている業務アプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、業務アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【0127】
まず、ステップS1501では、情報処理装置101のCPU201は、前述したステップS1416で表示されたコード名称1602を非表示とする。第1ブロック再選択処理では、第2ブロックまで選択されているものを再び第1ブロックから選択し直すため、このような処理を実行している。
【0128】
ステップS1502では、情報処理装置101のCPU201は、ステップS1301と同様に、
図16に示す入力候補リスト1600から第1ブロックだけを集約した第1ブロックリストを作成する。
【0129】
ステップS1503では、情報処理装置101のCPU201は、既に選択中の第1ブロックのデータを特定する。そして、ステップS1504では、情報処理装置101のCPU201は、ステップS1503で特定されたデータを、入力候補を表示する開始位置に設定する。具体的には、ステップS1502で作成された第1ブロックリストのうち、ステップS1503で特定されたデータと一致するデータの位置を特定し、その位置をスライド指示に応じて表示する入力候補の開始位置とする。
【0130】
ステップS1505では、情報処理装置101のCPU201は、ステップS1204で受け付けたスライド方向を特定する。ここでは第1の方向は垂直方向として説明しているので、上または下のどちらにスライドされたのかを特定することになる。また、ステップS1506では、情報処理装置101のCPU201は、ステップS1204で受け付けたスライド操作が行われた距離と速度を特定する。これらは後述するステップS1508及びステップS1511で使用する。
【0131】
ステップS1507乃至ステップS1513の各ステップは、前述したステップS1308乃至ステップS1314と同様であるので説明を省略する。
【0132】
図20に示すように、第2ブロックまで選択された状態でリスト入力部品の上で上方向にスライド操作がなされた場合、第1ブロックから再選択を行うために第1ブロックリストを生成し、入力候補のデータをスライドさせる。選択済みの第1ブロックは「2010KANTO」であるので、ここを開始位置としてその1つ後の「2010KINKI」が選択される。このスライド操作の距離や速度が一定以上なら、「2011HOKKAIDO」や「2011KANTO」等が選択される。このようにスロットのリールを回すような感覚で入力候補を順次選択することができる。
【0133】
以上のようにして、第1の方向と第2の方向にスライド指示を行うと、それぞれ異なるブロックを選択させることができるので、大量の入力候補から1つ1つ探していくよりも効率的に入力候補を選択することが可能となる。
【0134】
次に、第3の実施例について説明を行う。第3の実施例では、入力フォームに対する入力のモード(以下、入力モード)を複数備え、あらかじめユーザから設定された入力モードで情報処理装置101を動作させる仕組みについて説明を行う。第3の実施例では、3つの入力モードを備えており、第1の入力モードは、前述した第2の実施例と同様に、入力候補データを2つのブロックに分けて、第1の方向と第2の方向でそれぞれ異なるブロックの入力候補を選択する入力モードである。第2の入力モードは、スライド操作された際の指の本数に応じて、入力候補データを構成する複数のブロックから第1のブロックを形成し、当該第1のブロックの入力候補を選択する入力モードである。第3の入力モードは、第1の方向にスライド操作された場合に、入力候補データを構成するブロックごとに入力候補の選択を可能とし、第2の方向にスライド操作された場合に、次のブロックの入力候補の選択に移行する入力モードである。このように、複数の入力モードを持たせることにより、ユーザはもっとも入力しやすい入力モードを選択し、効率的にデータ入力を行うことができるようになる。
【0135】
第3の実施例におけるシステム構成、ハードウェア構成、及びモジュール構成は、前述した実施例を同様であるので、説明を省略する。尚、第3の実施例においては、情報処理装置101は、CRT210にタッチパネルを備えており、このタッチパネルに対するユーザからのタッチ操作を受け付ける。タッチパネルは、ユーザからタッチされた位置や、タッチされた指の本数、タッチして移動させるスライド操作の検知、スライド操作された方向や距離、速度といった情報を取得することが可能である。第3の実施形態においては、このタッチパネルに対するタッチ操作を前提として説明を行う。尚、タッチパネルに対するタッチ操作に限らず、情報処理装置101に接続されたタッチパッドでもよい。
【0136】
次に、本発明の第3の実施例における情報処理装置101によって行われる一連の処理について、
図21に示すフローチャートを用いて説明する。尚、ステップS2101乃至ステップS2115の各ステップは情報処理装置101におけるCPU201の制御の下、処理が行われる。
【0137】
また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている業務アプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、業務アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【0138】
まず、ステップS2101では、情報処理装置101のCPU201は、情報処理装置101に記憶された業務アプリケーションを起動し、ユーザからの指示に応じてログインを実行する。そして、ステップS2102では、情報処理装置101のCPU201は、ユーザからの指示に応じて入力画面を表示させる。第3の実施例における入力画面は、第2の実施例と同様にリスト入力部品を備えている。当該リスト入力部品の上でスライド操作されることにより、入力候補データの選択を行える。
【0139】
ステップS2103では、情報処理装置101のCPU201は、入力モードの判定を行う。第3の実施例では、3つの入力モードが存在する。ユーザはどの入力モードで入力候補データの選択を行っていくのかをあらかじめ設定しておき、設定された入力モードが第1の入力モード、第2の入力モード、第3の入力モードのいずれであるかを判定する。尚、リスト入力部品が入力待ち状態になった時に、どの入力モードで入力をするのかを選択させてもよいし、入力モードごとにショートカットキーやジェスチャを設定しておき、当該ショートカットキーやジェスチャが実行された時に、対応する入力モードに切り替えてもよい。ユーザから設定された入力モードが第1の入力モードであると判定された場合には、ステップS2104に処理を進める。ユーザから設定された入力モードが第2の入力モードであると判定された場合には、ステップS2114に処理を進める。ユーザから設定された入力モードが第3の入力モードであると判定された場合には、ステップS2115に処理を進める。
【0140】
第1の入力モードであると判定された場合には、ステップS2104乃至ステップS2113の処理を実行する。ステップS2104乃至ステップS2113の各ステップは、前述した
図12のステップS1204乃至ステップS1213と同様であるので、説明を省略する。
【0141】
第2の入力モードであると判定された場合、ステップS2114では、情報処理装置101のCPU201は、第2の入力モードで入力候補データを選択するための処理を実行する。第2の入力モード処理の詳細は、後述する
図22に示す。また、第3の入力モードであると判定された場合、ステップS2115では、情報処理装置101のCPU201は、第3の入力モードで入力候補データを選択するための処理を実行する。第3の入力モード処理の詳細は、後述する
図25に示す。以上により、設定された入力モードで入力候補データの選択を行うことができる。
【0142】
次に、第2の入力モード処理について
図22を用いて説明する。尚、ステップS2201乃至ステップS2216の各ステップは情報処理装置101おけるCPU201の制御の下、処理が行われる。
【0143】
また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている業務アプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、業務アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【0144】
まず、ステップS2201では、情報処理装置101のCPU201は、ユーザからの入力操作を受け付ける。より具体的には、入力候補データの選択を行うリスト入力部品の上でユーザからスライド操作を受け付けたり、スライド操作により選択された入力候補データの確定指示を受け付けたりする。入力候補データの選択を行うためのスライド操作は、垂直方向に対するスライド操作(以下、第1の方向)、または水平方向に対するスライド操作(以下、第2の方向)のいずれかである。尚、第1の方向が水平方向で、第2の方向が垂直方向でもよい。決められたスライド方向を検知できればどのような方向であってもよい。
【0145】
ステップS2202では、情報処理装置101のCPU201は、ステップS2201で受け付けた入力操作が、第1の方向に対するスライド操作であるか否かを判定する。第1の方向に対するスライド操作であると判定された場合には、ステップS2203に処理を進める。第1の方向に対するスライド操作でないと判定された場合には、ステップS2210に処理を進める。
【0146】
ステップS2203では、情報処理装置101のCPU201は、第1ブロックリストが未生成であるか否かを判定する。第1ブロックリストとは、第1の方向に対してスライド操作された場合に、リスト入力部品に対して選択可能に表示する入力候補の一覧である。第2の実施例と同様に、第3の実施例においても入力候補データである入力コード1601を第1ブロックと第2ブロックに分けて、ユーザに選択させる。つまり、第1の方向で選択可能となる第1ブロックの入力候補の一覧が第1ブロックリストである。
【0147】
第3の実施例においても、前述した第2の実施例と同様に、リスト入力部品において入力候補を表示し、ユーザはスロットマシンのリールを回転させるように、入力候補を選択できる。そのため、第1の方向に対して何度かスライド操作を行う。そのスライド操作が行われる度に、第1ブロックリストを生成するのは、情報処理装置101に負荷がかかってしまうので、第1ブロックリストが未生成の場合、つまり初めて第1の方向にスライド操作がなされた場合には、第1ブロックリストを生成する。そうでない場合には、すでに第1ブロックリストが生成されているので、これを利用する。こうすることで、情報処理装置101の処理負荷を軽減することができる。第1ブロックリストが未生成であると判定された場合には、ステップS2204に処理を進める。第1ブロックリストが未生成でない、つまり生成済みであると判定された場合には、ステップS2207に処理を進める。
【0148】
ステップS2204では、情報処理装置101のCPU201は、情報処理装置101にあらかじめ記憶された入力候補リストを取得する。入力候補リストは、前述した
図16に示すものと同様であるが、第3の実施例では、
図23に示す入力候補リスト1600を利用するものとする。
【0149】
ステップS2205では、情報処理装置101のCPU201は、第1の方向にスライド操作された指の本数を特定する。タッチパネルでは、タッチされた位置の数を検知することができるので、これによってスライド操作された指の本数を特定する。
【0150】
ステップS2206では、情報処理装置101のCPU201は、ステップS2205で特定された指の本数に応じて、第1ブロックリストを生成する。例えば、特定された指の本数が2本であった場合には、入力コード1601に格納された入力候補データの前から2ブロック分を抽出し、第1ブロックリストを生成する。
【0151】
図23と
図24を用いて、ステップS2206の処理を説明する。まず、入力候補データである
図23に示す入力コード1601は、ハイフンによって区切られた4つのブロックで構成されている。本実施例では、ハイフンでブロックを分けているが、ハイフン以外の記号であってもよいし、文字数によって区切ってもよい。入力コード1601のコード体系によってブロックの区切り方は変わってくるので、区切り方は特に問わない。例えば、
図23の入力候補リスト1600の1レコード目にある「2010−HOKKAIDO−SHIIRE−01」は、「2010−」、「HOKKAIDO−」、「SHIIRE−」、「01」という4つのブロックから構成されている。
【0152】
ユーザは、最初に選択したいブロックの数に対応する指の本数で、リスト入力部品上でスライド操作を行う。2ブロック分の入力候補を選択したい場合には2本、3ブロック分の入力候補を選択したい場合には3本となる。
図24の2400は、2本の指で垂直方向(第1の方向)にスライド操作された場合を示している。2本の指でスライド操作されたので、入力コード1601に格納された入力候補データの先頭から2ブロック分を第1ブロックとする。そして、それ以外の残りの部分(
図24では3ブロック目と4ブロック目)を第2ブロックとする。そして、第1ブロックとされた2ブロック分を入力コード1601に格納された入力候補データから抽出し、
図24の第1ブロックリスト2402に示すような形態で格納することで、第1ブロックリスト2402を生成する。また抽出された文字列に重複するものがある場合には、重複分を格納しないようにする。前述したステップS1301と同様である。
【0153】
図22の説明に戻る。ステップS2207では、情報処理装置101のCPU201は、ステップS2206で生成された第1ブロックリスト2402を取得する。そして、ステップS2208では、情報処理装置101のCPU201は、ステップS2201で受け付けたスライド操作のスライドの距離に応じて、ステップS2207で取得した第1ブロックリスト2402に格納される入力候補の表示を切り替える。前述した通り、入力候補をスロットマシンのリールのように回転させることで入力候補を順次表示する。そのため、すでに表示中の入力候補がある場合には、その入力候補を開始点とし、第1ブロックリスト2402に格納された入力候補を順次表示する。例えば、
図24に示す第1ブロックリスト2402の「2010−HOKURIKU」が表示されている状態で、第1の方向にスライド操作がなされると、先頭レコードの「2010−HOKKAIDO」ではなく、「2010−HOKURIKU」の次のレコードである「2011−HOKKAIDO」が表示される。また、スライドの距離に応じてリールの回転速度を変更する。このように第1ブロックリスト2402に格納された入力候補を表示することで、ユーザに第1ブロックの入力候補を選択させる。
【0154】
ステップS2209では、情報処理装置101のCPU201は、第2ブロックの選択をユーザに促すために、第2の方向に対してスライド操作をするよう通知する。通知の方法はどのような方法でもよい。例えば、第1ブロックリスト2402の入力候補を選択したリスト入力部品の左右に第2の方向を示す矢印のマークを表示することで、ユーザに通知してもよいし、第2の方向にスライド操作をした場合に表示される入力候補をリスト入力部品の左右に表示してもよい。これらの通知の表示例を
図24の2404に示す。2405に示す部分を表示することで、ユーザに対して第2の方向にスライド操作をするように通知している。2405に示す、第2ブロックの入力候補は、現在選択されている第1ブロックの入力候補に基づいて表示されている。つまり、2404の例では、「2010−HOKKAIDO−」が第1ブロックの入力候補として選択されているので、この「2010−HOKKAIDO−」を含む入力候補データを入力候補リスト1600の入力コード1601から特定し、特定された入力候補データの第2ブロックに相当する文字列を抽出する。そして、スライド操作された場合に表示する入力候補として、2405に示すように表示する。こうすることで、ユーザは水平方向にもスライド操作をする必要があることを認識させることができる。ステップS2209の処理が終了したら、ステップS2202に処理を戻す。
【0155】
ステップS2210では、情報処理装置101のCPU201は、ステップS2201で受け付けた入力操作が、第2の方向に対するスライド操作であるか否かを判定する。第2の方向に対するスライド操作であると判定された場合には、ステップS2211に処理を進める。第2の方向に対するスライド操作でないと判定された場合には、ステップS2215に処理を進める。
【0156】
ステップS2211では、情報処理装置101のCPU201は、第2ブロックリストが未生成であるか否かを判定する。第2ブロックリストは、第1ブロックリストで抽出されなかった他のブロックの入力候補の一覧である。第2のブロックリストも第1ブロックリストと同様に、スライド操作によって何度か選択することが考えられる。第2の方向にスライド操作される度に第2ブロックリストが生成されると、情報処理装置101に負荷がかかってしまうので、最初に第2の方向にスライド操作されたときだけ、第2ブロックリストを生成するようにする。
【0157】
ステップS2212では、情報処理装置101のCPU201は、リスト入力部品で選択済みの第1ブロックの入力候補(以下、選択済みデータ)を取得する。そして、ステップS2213では、情報処理装置101のCPU201は、ステップS2212で取得した選択済みデータに応じて、第2ブロックリストを生成する。より具体的には、選択済みデータを含む入力コード1601を抽出し、抽出された入力コード1601の第2ブロックに対応する文字列を第2ブロックの入力候補として第2ブロックリストに格納する。選択済みデータを含む入力コード1601を抽出することで、存在しない入力候補データができあがってしまう問題を防ぐことができる。例えば、「2010−HOKKAIDO−」が選択された状態で、「SHIIRE−04」が選択されたとしても、「2010−HOKKAIDO−SHIIRE−04」という入力コード1601は
図23に示す入力候補リスト1600には存在しない。よって、選択済みデータを含む入力コード1601を抽出しておくことで、このような問題を防止することができる。また、第1ブロックリストと同様に抽出された文字列に重複がある場合には、重複分は格納しないようにする。
【0158】
図24の2401では、第1ブロックの「2010−HOKKAIDO−」がユーザから選択された場合に生成される第2ブロックリスト2403を示している。第1ブロックの「2010−HOKKAIDO−」を持つ入力コード1601は、
図23の入力候補リスト1600の先頭3レコードである。よってこれらの第2ブロック(3ブロック目と4ブロック目)を抽出し、第2ブロックリスト2403に格納する。すると、「SHIIRE−01」、「SHIIRE−02」、「SIIRE−03」の3つが格納されることになる。このようにして、第2ブロックリスト2403を生成する。
【0159】
ステップS2214では、情報処理装置101のCPU201は、ステップS2201で受け付けたスライド操作のスライドの距離に応じて、ステップS2213で取得した第2ブロックリスト2403に格納される入力候補の表示を切り替える。ステップS2208と同様の処理であるが、ステップS2214では、選択済みデータは残したまま、第2ブロックリスト2403に格納される入力候補の表示を切り替えることにより、第2ブロックの入力候補の選択を行わせる。
【0160】
ステップS2215では、情報処理装置101のCPU201は、入力画面に備えられた入力確定ボタンが押下されたか否かを検知する。入力確定ボタンが押下された場合には、ステップS2216に処理を進め、そうでない場合には、ステップS2202に処理を戻す。
【0161】
ステップS2216では、情報処理装置101のCPU201は、リスト入力部品に表示された入力候補データを所定のデータベース等に登録し、処理を終了する。以上のようにして、ユーザはまとめて選択したいブロックの数に対応する指の数で、第1の方向にスライド操作がなされると、当該ブロックの数の入力候補が選択でき、第2の方向にスライド操作がなされると、残りのブロックの入力候補が選択する。これにより、ユーザが1ブロックごとに選択することなく、任意のブロックの数で入力候補の選択を行うことができる。また、まとめて選択するブロックの数をユーザが自由に変更することができる。
【0162】
次に、第3の入力モード処理について
図25を用いて説明する。尚、ステップS2501乃至ステップS2515の各ステップは情報処理装置101おけるCPU201の制御の下、処理が行われる。
【0163】
また、この処理を情報処理装置101に実行させるためのプログラムは、情報処理装置101にインストールされている業務アプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、業務アプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【0164】
まず、第3の入力モードの概要について説明を行う。第3の入力モードは、リスト入力部品でユーザから第1の方向にスライド操作を受け付けることで、入力候補の選択を行い、第2の方向にスライド操作を受け付けることで、入力候補のブロックを切り替えるモードである。例えば、
図26の2600に示すような体系の入力コード1601があった場合、4つのブロックに分けることができる。ユーザは、この4つのブロックごとに入力候補を選択していく。
【0165】
まず、
図26の2601に示すように、第1の方向である垂直方向にユーザがスライド操作を行うと、入力コード1601のうち、1つ目のブロックである第1ブロックに含まれる入力候補の選択が行える。前述した第2の入力モードと同様にスロットマシンのリールのように入力候補を切り替えることが可能である。ユーザは、選択したい入力候補が見つかったら、2602に示すように、その状態で水平方向である第2の方向にスライド操作を実行する。すると、2603に示すように、入力候補を表示するブロックが、1つ目のブロックである第1ブロックから、2つ目のブロックである第2ブロックに切り替わる。こうした後に再び第1の方向にスライド操作を行うと、第2ブロックの入力候補が選択できる。このようにすることで、ブロックごとに選択を行うことができるので、ユーザは数多くの入力コードから選択したいコードを探す手間を軽減することができるようになる。以下、この説明を行う。
【0166】
まず、ステップS2501では、情報処理装置101のCPU201は、ユーザからの入力操作を受け付ける。より具体的には、入力候補データの選択を行うリスト入力部品の上でユーザからスライド操作を受け付けたり、スライド操作により選択された入力候補データの確定指示を受け付けたりする。入力候補データの選択を行うためのスライド操作は、垂直方向に対するスライド操作(以下、第1の方向)、または水平方向に対するスライド操作(以下、第2の方向)のいずれかである。尚、第1の方向が水平方向で、第2の方向が垂直方向でもよい。決められたスライド方向を検知できればどのような方向であってもよい。
【0167】
ステップS2502では、情報処理装置101のCPU201は、ユーザからの入力操作を受け付けると、変数iに「1」を代入する。そして、ステップS2503では、情報処理装置101のCPU201は、ステップS2501で受け付けた入力操作が、第1の方向に対するスライド操作であるか否かを判定する。第1の方向に対するスライド操作であると判定された場合には、ステップS2504に処理を進める。第1の方向に対するスライド操作でないと判定された場合には、ステップS2510に処理を進める。
【0168】
ステップS2504では、情報処理装置101のCPU201は、第iブロックリストが未生成であるか否かを判定する。第iブロックリストとは、第1の方向に対してスライド操作された場合に、リスト入力部品に対して選択可能に表示する入力候補の一覧である。第3の入力モードでは入力候補データである入力コード1601をブロックに分けて、ユーザに選択させる。つまり、第1の方向で選択可能となる第iブロックの入力候補の一覧が第iブロックリストである。変数iに代入された値に応じて、どのブロックのブロックリストを作成するのかが決定される。
【0169】
ステップS2505では、情報処理装置101のCPU201は、情報処理装置101にあらかじめ記憶された入力候補リストを取得する。入力候補リストは、第3の入力モードにおいても、
図23に示す入力候補リスト1600を利用するものとする。
【0170】
ステップS2506では、情報処理装置101のCPU201は、リスト入力部品で選択済みの選択済みデータを取得する。第3の入力モードにおける選択済みデータは、iブロックよりも前のブロックで選択済みのデータである。つまり、現在選択中のブロックが3ブロック目である場合には、1ブロック目と2ブロック目で選択された入力候補を指す
【0171】
そして、ステップS2507では、情報処理装置101のCPU201は、ステップS2506で取得した選択済みデータに応じて、第iブロックリストを生成する。より具体的には、選択済みデータを含む入力コード1601を抽出し、抽出された入力コード1601の第iブロックに対応する文字列を第iブロックの入力候補として第iブロックリストに格納する。選択済みデータを含む入力コード1601を抽出することで、存在しない入力候補データができあがってしまう問題を防ぐことができる。また、第iブロックリストと同様に抽出された文字列に重複がある場合には、重複分は格納しないようにする。
【0172】
第iブロックリストが生成されると、ステップS2508では、情報処理装置101のCPU201は、ステップS2507で生成された第iブロックリストを取得し、ステップS2509では、情報処理装置101のCPU201は、ステップS2501で受け付けたスライド操作のスライドの距離に応じて、ステップS2508で取得した第iブロックリストに格納される入力候補の表示を切り替える。前述した通り、入力候補をスロットマシンのリールのように回転させることで入力候補を順次表示する。そのため、すでに表示中の入力候補がある場合には、その入力候補を開始点とし、第iブロックリストに格納された入力候補を順次表示する。
【0173】
次に、ステップS2510では、情報処理装置101のCPU201は、ステップS2201で受け付けた入力操作が、第2の方向に対するスライド操作であるか否かを判定する。第2の方向に対するスライド操作であると判定された場合には、ステップS2511に処理を進める。第2の方向に対するスライド操作でないと判定された場合には、ステップS2514に処理を進める。
【0174】
ステップS2511では、情報処理装置101のCPU201は、第2の方向(水平方向)の具体的な方向を判定する。つまり、右方向にスライド操作がなされたのか、左方向にスライド操作がなされたのかを判定する。第3の実施例では、第2の方向が水平方向を示すため、右方向または左方向のいずれの方向にスライド操作がなされたのかを判定しているが、これらの方向に限らない。後述するステップS2512及びステップS2513で実行される変数iの増減を行う方向であればよい。
【0175】
ステップS2512では、情報処理装置101のCPU201は、変数iに「1」を加算した値を、変数iに代入する。つまり、変数iをインクリメントする。一方、ステップS2513では、情報処理装置101のCPU201は、変数iから「1」を減算した値を、変数iに代入する。つまり、変数iをデクリメントする。ステップS2512及びステップS2513の各処理が終了したら、ステップS2503に処理を戻す。このようにすることで、第2の方向にスライド操作がなされると、変数iの値が変わるので、現在選択しているブロックとは異なるブロックの入力候補を選択できるようになる。また、第2の方向のうち、右にスライド操作されることにより、現在選択しているブロックの次のブロックに選択を移動させることができ、左にスライド操作されることにより、現在選択しているブロックの次のブロックに選択を移動させることができるようになる。すなわち、第1の方向にスライド操作することで入力候補を選択し、第2の方向にスライド操作することで選択するブロックを変更する仕組みを提供することができる。
【0176】
ステップS2514では、情報処理装置101のCPU201は、入力画面に備えられた入力確定ボタンが押下されたか否かを検知する。入力確定ボタンが押下された場合には、ステップS2515に処理を進め、そうでない場合には、ステップS2503に処理を戻す。
【0177】
ステップS2515では、情報処理装置101のCPU201は、リスト入力部品に表示された入力候補データを所定のデータベース等に登録し、処理を終了する。
【0178】
以上説明したように、本実施例によれば、スライド方向に応じて入力候補データを構成する文字列を選択可能に表示するブロックを切り替えることが可能となるので、ブロックごとに入力候補データを構成する文字列の選択を行うことができ、以ってユーザが望む入力候補を素早く入力させることのできる効果を奏する。
【0179】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
【0180】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【0181】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0182】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
【0183】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
【0184】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【0185】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0186】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0187】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0188】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【0189】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。